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)
        ...  = 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

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-2019 by SDTools
Previous Up Next