Contents     Functions              PDF Index

## 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)

Description

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

 [M] N× N {ψj} N× 1 λj2 + [C]  {ψj} λj +  [K]  {ψj} = 0

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

[
 C M M 0
]2N × 2N [
 ψ ψΛ
]2N × 2N [Λ]2N × 2N + [
 K 0 0 −M
] [
 ψ ψΛ
]= [0]2N × 2N

and verify the two orthogonality conditions

 ψTCψ + ΛψTMψ + ψTMψ Λ = I    and   ψTKψ − ΛψTMψΛ = −Λ

[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