Contents     Functions     Index     Previous Next     PDF

fe_eig



Purpose

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

Syntax
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)
Description

The normal modeshapes phi= and frequencies wj= sqrt(diag(W2)) are solution of the undamped eigenvalue problem (see section 2.2)
- [M] {j}j2+[K] {j}={0}

and verify the two orthogonality conditions
[] T [M] N× N [] N× N= [I] N× N and [] T [K] []= [\ Wj2 \ ]

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 DEF.data 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])

method 2 default full matrix solution. Cannot be used for large models.
6 IRA/Sorensen solver. Faster than 5 but less robust.
5 Lanczos solver allows specification of frequency band rather than number of modes. To turn of convergence check add 2000 to the option (2105, 2005, ...).
50 Callback to let the user specify an external sover method using setpref('SDT','ExternalEig').

  106, 104 same as the corresponding methods but no initial DOF renumbering. This is useless with the default ofact('methodspfmex') which renumbers at factorization time.
Obsolete methods
0 SVD based full matrix solution
1 subspace iteration which allows to compute the lowest modes of a large problem where sparse mass and stiffness matrices are used.
3 Same as 5 but using ofact('methodlu'). 4 Same as 5 but using ofact('methodchol').
nm number of modes to be returned. A non-integer or negative nm, is used as the desired fmax in Hz for iterative solvers (method 5 only).
shift value of mass shift (should be non-zero for systems with rigid body modes, see notes below). The subspace iteration method supports iterations without mass shift for structures with rigid body modes. This method is used by setting the shift value to Inf.
print level of printout (0 none, 11 maximum)
thres threshold for convergence of modes (default 1e-5 for the subspace iteration and Lanczos methods)

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



Notes

Example

Here is an example containing a high level call
 model =demosdt('demo gartfe');
 cf=feplot;cf.model=model;
 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=feplot;cf.model=model;
 cf.def=fe_eig({m,k,mdof},[5 20 1e3]);fecom chc10
See also

fe_ceig, fe_mk, nor2ss, nor2xf

©1991-2007 by SDTools
Previous Up Next