fe2ss
Purpose
Build state-space or normal mode form from FE model.
Syntax
[sys,basis] = fe2ss('command [modifiers]',MODEL)
[sys,basis] = fe2ss('command [modifiers]',MODEL,C)
[sys,basis] = fe2ss('command',m,k,mdof,b,rdof,C,c)
[nor,basis] = fe2ss('command -nor', ...)
basis = fe2ss('command -basis', ...)
Description
fe2ss is meant to allow users to build state-space (see section 2.4) and normal mode models (see section 2.2) from full order model matrices. The procedure is always decomposed in the following steps
-
call fe_reduc build a reduction basis T (see section 6.1). This usually includes a call to fe_eig with options EigOpt provided in the fe2ss command
- call fe_norm to orthonormalize T with respect to mass and stiffness (obtain a model in the normal mode form (2.4), see section 2.2) and eliminate collinear vectors if any
- call nor2ss or project model matrices depending on the number of outputs
The basis output argument is given so that the user can call nor2ss repeatedly without computing the basis again. This is in particular useful for changes in the sensor configuration which have no effect on the retained basis.
High level input arguments are a MODEL (see section 5.3) with a case defined in the model (see section 5.3.3) which must contain load and sensor entries (see fe_case). Damping can be specified in the model (using a DefaultZeta case entry for example), or given as an additional argument C which can be a system damping matrix, a scalar uniform damping ratio or a vector of damping ratios.
Low level input arguments are those of fe_reduc with the additional damping and output shape matrix information.
| m, k |
symmetric real mass and stiffness matrix |
| mdof |
associated DOF definition vector describing DOFs in m and k |
| b |
input shape matrix describing unit loads of interest. Must
be coherent with mdof. |
| bdof |
alternate load description by a set of DOFs (bdof and
mdof must have different length) |
| rdof |
contains definitions for a set of DOFs forming an isostatic
constraint (see details below). When rdof
is not given, it is determined through an LU decomposition
done before the usual factorization of the stiffness.
This operation takes time but may be useful with certain
elements for which geometric and numeric rigid body modes
don't coincide. |
| C |
damping model. Can specify a full order
damping matrix using the same DOFs as the system mass M
and stiffness K or a scalar damping ratio to be used in a
proportional damping model. |
| c |
output shape matrix describing unit outputs of interest (see section 2.1). Must be coherent with mdof. |
Standard bases used for this purpose are available through the following commands.
Free [ , Float] [ , -dterm] EigOpt
The standard basis for modal truncation with static correction discussed in section 6.1.3. EigOpt are fe_eig options used to compute the modeshapes (typically 6 nm Shift for Lanczos with no reordering, nm number of desired modes, Shift mass shift for structures with rigid body modes).
Computation of the static correction for structures with rigid body modes is a standard problem discussed in section 6.1.4. fe2ss uses the mass-shift value in EigOpt to select the method. If the shift is zero, it is assumed that the structure has no rigid body modes. If the shift is non-zero, the shifted attachment modes (6.11) are used as a default. You can obtain the standard attachment modes (6.10) by adding the Float modifier to the command.
With the -dterm modifier, the static correction is given as a D term rather than additional modes.
CraigBampton nm
It is really a companion function to fe_reduc CraigBampton command. The retained basis combines fixed interface attachment modes and constraint modes associated to DOFs in bdof.
This basis is less accurate than the standard modal truncation for simple predictions of response to loads, but is often preferred for coupled (closed loop) predictions.
Example
mdl=demosdt('demo ubeam mix');
mdl=fe_case(mdl,'SensDof','Out',[343.01 343.02 347.03]')
mdl=stack_set(mdl,'info','Freq',linspace(10,1e3,2500)');
[sys,T] = fe2ss('free 6 10',mdl,[.01;.02;.03]);
nor2xf(T,[.01;.02;.03],mdl,'hz iiplot XF(1)');
See also
demo_fe, fe_reduc, fe_mk, nor2ss, nor2xf
©1991-2007 by SDTools