Contents  
Functions  
Index
 
 PDF |
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},eigopt)
... = fe_ceig({m,c,k,T,mdof},eigopt)
... = fe_ceig(model,eigopt)
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)
| [ |
| ]2N × 2N [ |
| ]2N × 2N [Λ]2N × 2N + [ |
| ] [ |
| ]= [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 CeigMethod can be 0 (full matrices), 1 (real modes then complex ones on the same basis) 2 and 3 are refined solvers available with the VISCO extension. EigOpt are standard fe_eig options.
Here is a simple example of fe_ceig calls.
femesh('reset');
model=femesh('testubeam');model.DOF=[];
model=fe_case(model,'fixdof','Base','z==0');
[m,k,model.DOF]=fe_mk(model,'options',[0 2]);
Case=fe_case(model,'gett');
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,Case.DOF},[1 6 10 1e3]); % fixed modes
See also
fe_eig, fe_mk, nor2ss, nor2xf, section 5.3
©1991-2008 by SDTools