fe_ceig

fe_ceig#

Purpose

Computation and normalization of complex modes associated to a second order viscously damped model.

Syntax

[psi,lambda] = fe_ceig( ... )
lambda       = fe_ceig(m,c,k)
def          = fe_ceig( ... )
        ...  = fe_ceig(m,c,k)
        ...  = fe_ceig({m,c,k,mdof},ceigopt)
        ...  = fe_ceig({m,c,k,T,mdof},ceigopt)
        ...  = fe_ceig(model,ceigopt)
        ...  = fe_ceig( ... ,flag)

Description

Complex modes are solution of the second order eigenvalue problem (see section 5.5 for details)

 
    (10.6)

where modeshapes psi=ψ and poles Λ=[\ λj \ ] are also solution of the first order eigenvalue problem (used in fe_ceig)

 
    (10.7)

and verify the two orthogonality conditions

 
    (10.8)

If matrices are non-symmetric, the left eigenvectors differ from the right eigenvectors. One can then set input flag to 'lr' to obtain the left eigenmodes in the output def structure. See section 7.8 to get more information about the def structure.

[psi,lambda] = fe_ceig(m,c,k) is the old low level call to compute all complex modes. For partial solution you should use def = fe_ceig(model,ceigopt) where model can be replaced by a cell array with {m,c,k,mdof} or {m,c,k,T,mdof} (see the example below). Using the projection matrix T generated with fe_case('gett') is the proper method to handle boundary conditions.

Options give [CeigMethod EigOpt] where EigOpt are standard fe_eig options and CeigMethod can be

  • 0 (full matrices)
  • 1 real modes then complex ones on the same basis (equivalent to NASTRAN SOL 110)
  • 2 real modes and first order correction for viscous and hysteretic damping part.
  • 3 is a refined solvers available with the VISCO extension.

Here is a simple example of fe_ceig calls.

model=demosdt('demoubeam'); cf=feplot;
[Case,model.DOF]=fe_mknl('init',model);
m=fe_mknl('assemble not',model,Case,2);
k=fe_mknl('assemble not',model,Case,1);

kc=k*(1+i*.002); % with hysteretic damping def1=fe_ceig({m,[],kc,model.DOF},[1 6 10 1e3]); % free modes def2=fe_ceig({m,[],kc,Case.T,model.DOF},[1 6 10 1e3]); % fixed modes

cf.def=def1; % show def1 in feplot figure

See also

fe_eig, fe_mk, nor2ss, nor2xf, section 5.3