Contents     Functions         Previous Next     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)

  [MN× N {ψjN× 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)

  [
CM 
M
]2N × 2N [
ψ 
ψΛ 
]2N × 2N [Λ]2N × 2N + [
K
0M 
] [
ψ 
ψΛ 
]= [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

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


©1991-2014 by SDTools
Previous Up Next