This section describes the format of the FEM input to the modal joint of MBDyn, as resulting from the femgen utility. The usage of that utility has been already detailed in Section 8.15.21; in short, it processes binary output from NASTRAN, as defined by means of appropriate ALTER files provided with MBDyn sources, into a file that is suitable for direct input in MBDyn. Since it is essentially a plain ASCII file, it is straightforward to generate it from analogous results obtained with a different FEM software, from experiments or manually generated from analytical or numerical models of any kind.
The format is:
<comments>
** RECORD GROUP 1,<any comment; "HEADER">
<comment>
<REV> <NNODES> <NNORMAL> <NATTACHED> <NCONSTRAINT> <NREJECTED>
<comments; NMODES = NNORMAL + NATTACHED + NCONSTRAINT - NREJECTED>
** RECORD GROUP 2,<any comment; "FINITE ELEMENT NODE LIST">
<FEMLABEL> [...<NNODES>]
<comments; FEM label list: <NNODES> integers>
** RECORD GROUP 3,<any comment; "INITIAL MODAL DISPLACEMENTS">
<MODEDISP> [..<NMODES>]
<comments; initial mode displacements: <NMODES> reals>
** RECORD GROUP 4,<any comment; "INITIAL MODAL VELOCITIES">
<MODEVEL> [..<NMODES>]
<comments; initial mode velocities: <NMODES> reals>
** RECORD GROUP 5,<any comment; "NODAL X COORDINATES">
<FEMX> [...<NNODES>]
<comments; FEM node X coordinates>
** RECORD GROUP 6,<any comment; "NODAL Y COORDINATES">
<FEMY> [...<NNODES>]
<comments; FEM node Y coordinates>
** RECORD GROUP 7,<any comment; "NODAL Z COORDINATES">
<FEMZ> [...<NNODES>]
<comments; FEM node Z coordinates>
** RECORD GROUP 8,<any comment; "NON-ORTHOGONALIZED MODE SHAPES">
<comment; NORMAL MODE SHAPE # 1>
<FEM1 X> <FEM1 Y> <FEM1 Z> <FEM1 RX> <FEM1 RY> <FEM1 RZ>
<... NNODES>
<comment; NORMAL MODE SHAPE # 2>
<FEM1 X> <FEM1 Y> <FEM1 Z> <FEM1 RX> <FEM1 RY> <FEM1 RZ>
<... NNODES>
<... NMODES>
<comments; for each MODE, for each NODE: modal displacements/rotations>
** RECORD GROUP 9,<any comment; "MODAL MASS MATRIX. COLUMN-MAJOR FORM">
<M_1_1> <...> <M_1_NMODES>
<...>
<M_NMODES_1> <...> <M_NMODES_NMODES>
<comments; the modal mass matrix in column-major (symmetric?)>
** RECORD GROUP 10,<any comment; "MODAL STIFFNESS MATRIX. COLUMN-MAJOR FORM">
<K_1_1> <...> <K_1_NMODES>
<...>
<K_NMODES_1> <...> <K_NMODES_NMODES>
<comments; the modal stiffness matrix in column-major (symmetric?)>
** RECORD GROUP 11,<any comment; "DIAGONAL OF LUMPED MASS MATRIX">
<M_1_X> <M_1_Y> <M_1_Z> <M_1_RX> <M_1_RY> <M_1_RZ>
<...>
<M_NNODES_X> <...> <M_NNODES_RZ>
<comments; the lumped diagonal mass matrix of the FEM model>
Optionally, RECORD GROUP 12 can be used as an alternative to RECORD GROUP 11; it contains:
** RECORD GROUP 12,<any comment; "GLOBAL INERTIA PROPERTIES"> <MASS> <X_CG> <Y_CG> <Z_CG> <J_XX> <J_XY> <J_XZ> <J_YX> <J_YY> <J_YZ> <J_ZX> <J_ZY> <J_ZZ> <comments; the global inertia properties of the modal element>
An arbitrary number of comment lines may appear within records; the beginning of a record is marked
** RECORD GROUP <RID>where the number <RID> indicates what record is being read. The size of each record, i.e. the number of values that are expected, is defined based on the header record, so MBDyn should be able to detect incomplete or mis-formatted files.
The record contain:
** NORMAL MODE SHAPE # <N>for readability;
| (A.2) |
Note that RECORD GROUP 11 and RECORD GROUP 12 are mutually exclusive. The reason for accepting RECORD GROUP 12 format is that in many applications the FEM nodal inertia may not available and, at the same time, a zero-order approximation of the inertia is acceptable.
Although the format loosely requires that no more than 6 numerical values appear on a single line, MBDyn is very forgiving about this and can parse the input regardless of the formatting within each record. However this liberality may lead to inconsistent or unexpected parsing behavior, so be careful.
01 ** MBDyn MODAL DATA FILE 02 ** NODE SET "ALL" 03 04 05 ** RECORD GROUP 1, HEADER 06 ** REVISION, NODE, NORMAL, ATTACHMENT, CONSTRAINT, REJECTED MODES. 07 REV0 3 2 0 0 0 08 ** 09 ** RECORD GROUP 2, FINITE ELEMENT NODE LIST 10 1001 1002 1003 11 12 ** 13 ** RECORD GROUP 3, INITIAL MODAL DISPLACEMENTS 14 0 0 15 ** 16 ** RECORD GROUP 4, INITIAL MODALVELOCITIES 17 0 0 18 ** 19 ** RECORD GROUP 5, NODAL X COORDINATES 20 0 21 0 22 0 23 ** 24 ** RECORD GROUP 6, NODAL Y COORDINATES 25 -2. 26 0 27 2. 28 ** 29 ** RECORD GROUP 7, NODAL Z COORDINATES 30 0 31 0 32 0 33 ** 34 ** RECORD GROUP 8, MODE SHAPES 35 ** NORMAL MODE SHAPE # 1 36 0 0 1 0 0 0 37 0 0 0 0 0 0 38 0 0 1 0 0 0 39 ** NORMAL MODE SHAPE # 2 40 1 0 0 0 0 0 41 0 0 0 0 0 0 42 1 0 0 0 0 0 43 ** 44 ** RECORD GROUP 9, MODAL MASS MATRIX 45 2 0 46 0 2 47 ** 48 ** RECORD GROUP 10, MODAL STIFFNESS MATRIX 49 1 0 50 0 1e2 51 ** 52 ** RECORD GROUP 11, DIAGONAL OF LUMPED MASS MATRIX 53 1 1 1 1 1 1 54 1 1 1 1 1 1 55 1 1 1 1 1 1
The corresponding global inertia properties are:
| m | = 3 | (A.3) |
| xCM | = |
(A.4) |
| J | = ![]() |
(A.5) |
01 ** MBDyn MODAL DATA FILE 02 ** NODE SET "ALL" 03 04 05 ** RECORD GROUP 1, HEADER 06 ** REVISION, NODE, NORMAL, ATTACHMENT, CONSTRAINT, REJECTED MODES. 07 REV0 3 2 0 0 0 08 ** 09 ** RECORD GROUP 2, FINITE ELEMENT NODE LIST 10 1001 1002 1003 11 12 ** 13 ** RECORD GROUP 3, INITIAL MODAL DISPLACEMENTS 14 0 0 15 ** 16 ** RECORD GROUP 4, INITIAL MODALVELOCITIES 17 0 0 18 ** 19 ** RECORD GROUP 5, NODAL X COORDINATES 20 0 21 0 22 0 23 ** 24 ** RECORD GROUP 6, NODAL Y COORDINATES 25 -2. 26 0 27 2. 28 ** 29 ** RECORD GROUP 7, NODAL Z COORDINATES 30 0 31 0 32 0 33 ** 34 ** RECORD GROUP 8, MODE SHAPES 35 ** NORMAL MODE SHAPE # 1 36 0 0 1 0 0 0 37 0 0 0 0 0 0 38 0 0 1 0 0 0 39 ** NORMAL MODE SHAPE # 2 40 1 0 0 0 0 0 41 0 0 0 0 0 0 42 1 0 0 0 0 0 43 ** 44 ** RECORD GROUP 9, MODAL MASS MATRIX 45 0 0 46 0 0 47 ** 48 ** RECORD GROUP 10, MODAL STIFFNESS MATRIX 49 1 0 50 0 1e2 51 ** 52 ** RECORD GROUP 12, GLOBAL INERTIA 53 3 54 0 0 0 55 11 0 0 56 0 3 0 57 0 0 11
The same global inertia properties of the model in Section A.1.1 have been used; as a result, the two models show the same rigid body dynamics behavior, but the dynamic model also shows deformable body dynamic behavior, while the static one only behaves statically when straining is involved.