Contents     Functions         Previous Next     PDF Index



Computation of normal modes associated to a second order undamped model.


def = fe_eig(model,EigOpt)
def = fe_eig({m,k,mdof},EigOpt)
def = fe_eig({m,k,T,mdof},EigOpt)
[phi, wj] = fe_eig(m,k)
[phi, wj, kd] = fe_eig(m,k,EigOpt,imode)


The normal modeshapes phi=φ and frequencies wj=sqrt(diag(Ω2)) are solution of the undamped eigenvalue problem (see section 5.2)

  − [M] {φjj2+[K] {φj}={0}

and verify the two orthogonality conditions

  [φ] T [MN× N [φ] N× N= [IN× N  and  [φ] T [K] [φ]= [\ Ωj2 \ ]

The outputs are the data structure def (which is more appropriate for use with high level functions feplot, nor2ss, ... since it keeps track of the signification of its content, frequencies in are then in Hz) or the modeshapes (columns of phi) and frequencies wj in rad/s. Note how you provide {m,k,mdof} in a cell array to obtain a def structure without having a model.

The optional output kd corresponds to the factored stiffness matrix. It should be used with methods that do not renumber DOFs.

fe_eig implements various algorithms to solve this problem for modes and frequencies. Many options are available and it is important that you read the notes below to understand how to properly use them. The option vector EigOpt can be supplied explicitely or set using model=stack_set(model, 'info','EigOpt',EigOpt). Its format is

[method nm Shift Print Thres] (default values are [2 0 0 0 1e-5])

Finally, a set of vectors imode can be used as an initial guess for the subspace iteration method (method 1).



Here is an example containing a high level call

 model =demosdt('demo gartfe');
 cf.def=fe_eig(model,[6 20 1e3 11]);
 fecom chc10

and the same example with low level commands

 model =demosdt('demo gartfe');
 [m,k,mdof] = fe_mknl(model);
 cf.def=fe_eig({m,k,mdof},[5 20 1e3]);fecom chc10

See also

fe_ceig, fe_mk, nor2ss, nor2xf

©1991-2014 by SDTools
Previous Up Next