Reference: Flexible Body Data
Model ElementReference_FlexData contains the condensed representation of the flexibility characteristics of a flexible body. The flexibility data is calculated using a finite element solver, where the complete finite element model is available.
Format
<Reference_FlexData
! General Data
id = "integer"
num_nodes = "integer"
num_sel_modes = "integer"
num_sel_nodes = "integer"
! Frequency and damping data for each selected mode:
<ModeData>
!ID Frequency Eigenvalue Damping
integer real real real
... ... ... ...
... ... ... ...
integer real real real
integer real real real
</ModeData>
! Coordinates for nodes in the FE model that are attachment points in MMBS model:
<NodeData>
!ID X Y Z
integer real real real
... ... ... ...
... ... ... ...
integer real real real
! Mode participation at each node:
! Mode Shape Date
real real real real real real
... ... ... ... ... ...
... ... ... ... ... ...
real real real real real real
</NodeData>
! Mode load data
<ModeLoad
loadcase_id = "integer">
real real real real real real
... ... ... ... ... ...
... ... ... ... ... ...
real real real real real real
</ModeLoad>
</Reference_FlexData>
Attributes
 id
 Element identification number (integer>0). This number is unique among all Reference_FlexData elements.
 num_nodes
 The total number of nodes in the finite element model. This is used solely for generating an animation H3D file and is not used by the solver during its analysis.
 num_sel_modes
 The number of modes selected to approximate the structural deformation.
 num_sel_nodes
 The number of selected interface nodes in the flexible body. These are the only locations at which the rest of the multibody system can connect to the flexible body.
 ModeData
 This block contains the frequency, eigenvalue, and damping content for each mode. Each line contains the data for one mode. The total number of lines in the block is therefore equal to the number of modes selected for the approximation (num_sel_modes).
 NodeData

This block contains two types of data.
 For each connection or attachment, the first section contains a node ID and the x, y, and zcoordinates are specified. The total number of lines in this section block is therefore equal to the number of selected interface nodes in the flexbody.
 The second section contains a submatrix of the modal matrix (the matrix of eigenvectors) corresponding to the selected interface nodes. The eigenvectors describe a mode shape using six numbers for each node. The six numbers represent the three translations and three rotations along the directions xyzrxryrz. The total amount of data written out is: m x 6 x n real numbers where m is the number of modes and n is the number of interface nodes.
 ModeLoad
 This block defines any distributed loads that may be acting on the flexible body. Those
contained in this block include:
 A load case ID to uniquely identify each load case.
 A load shape, expressed in the modal domain, for each of the interface nodes. Six numbers are required for each interface node. These represent the three translational and three rotational load shapes along the directions xyzrxryrz. The total amount of data written out is: m x 6 x n real numbers where m is the number of modes and n is the number of interface nodes.
 See Force: FlexModal for more information on applying these modal loads.
Example
The following example defines how to define a sample Reference_FlexData block for a flexible beam modeled in a finite element package.
In this example, five modes are selected to represent the system. There are only two nodes of interest. The ModeData block thus contains only five lines, one for each mode. The frequency, eigenvalue and damping for each mode are specified.
The first section of the NodeData block contains only two lines, one for each interface node. Each line contains the x, y and z coordinates for the interface node in the finite element coordinate system.
The beginning of the second section of the NodeData block is marked by the comment line < !  Mode Shape  >. This section contains a submatrix of the modal matrix (the matrix of eigenvectors) corresponding to the selected interface nodes. The eigenvectors describe a mode shape using six numbers for each node. The six numbers represent the three translations and three rotations along the six directions xyzrxryrz. Hence, for our example, this block contains a total of 2 (nodes) x 6 (directions) x 5 (modes) = 60 real numbers.
<Reference_FlexData
id = "30102"
num_nodes = "1022"
num_sel_modes = "5"
num_sel_nodes = "2"
<ModeData>
<! ID Frequency Eigenvalue Damping >
7 6.4452575E+01 1.6399900E+05 1.0000000E02
8 1.0338486E+02 4.2196318E+05 1.0000000E01
9 2.1686170E+02 1.8566343E+06 1.0000000E01
10 2.6774032E+02 2.8300116E+06 1.0000000E01
11 3.1573500E+02 3.9355563E+06 1.0000000E01
</Modedata>
<NodeData>
<! ID X Y Z >
1 0.0000000E+00 4.5000000E+02 1.0000000E+02
2 2.0000000E+03 4.5000000E+02 1.0000000E+02
< ! – Mode Shape  >
2.0016610E12 3.1146127E11 1.0463994E12 7.8818224E02 9.9948183E16 5.0132529E14
2.0316470E12 1.3624248E11 4.6190430E12 7.8818224E02 2.2976755E15 1.0490459E13
8.4480757E13 9.5041924E+00 5.7284218E13 3.7457561E13 4.8099391E16 2.1921467E02
8.6558880E13 9.5041924E+00 4.6474500E13 2.9942899E13 2.7965653E16 2.1921467E02
1.4047549E12 3.7081165E11 1.0573571E12 7.8937836E02 4.0407423E15 1.8104730E13
1.4437841E12 5.3658567E11 2.5281771E11 7.8937836E02 2.3966120E14 2.2441784E13
1.8954132E11 8.8077688E+00 2.0888794E11 6.8721417E13 8.4458821E14 3.2114021E02
1.9762763E11 8.8077688E+00 2.9536124E11 1.4556200E12 9.5128353E14 3.2114021E02
9.9804008E14 1.7957006E01 1.5757001E10 9.6734036E14 3.7112091E13 4.5129815E03
1.0267903E13 1.7957006E01 2.0778279E10 1.0701907E13 4.0733611E13 4.5129815E03
</NodeData>
<ModeData>
<ModeLoad
<! Modal load case data >
loadcase_id = "1">
1.6243920E+02 2.8073610E+02 3.6285810E+01 1.3069250E+01 6.5632910E+00 1.3598110E+01 1.5307840E11 4.9815570E10
3.6324160E12 4.7501320E10 3.7660410E11 9.9559950E+00 1.8458920E10 2.0054970E11 4.5258490E09 1.1509760E09
1.7201510E11 4.4843990E10 1.0502730E11 2.2920620E09 1.0390600E09 5.6987730E10 2.3400710E09 3.8906670E08
6.2068710E08 1.8886070E10 5.1388250E05 1.6765650E+01 1.3354440E+01 6.2365120E09 3.6475840E+01 1.9832710E10
3.1167670E+02 1.9295680E04 8.7259110E+01
</ModeLoad>
</Reference_FlexData>
Comments

MotionSolve supports three different kinds of condensation
using component mode synthesis (CMS):
 CraigBampton (CB): This approach uses two distinct sets of modes: the fixed interface Eigen modes and the fixed interface constraint static modes.
 CraigChang (CC): This approach uses two distinct sets of modes: the freefree Eigen modes and the inertialrelief attachment static modes.
 Guyan reduction: This is a special case of the CraigBampton approach when normal modes are not computed. Only constraint static modes are computed and all the modes are chosen. The mass matrix is approximated with lumped masses.
 The data in Reference_FlexData is organized
into four different blocks of information:
 General data block: Contains general information about the number of modes selected, rigid body properties, number of interface modes, and so on.
 Mode data block: Contains frequency, eigenvalue, and damping for each mode.
 Node data block: Contains the coordinates of the interface nodes chosen and the mode shapes corresponding to each of the interface nodes selected.
 Modal load data block: Contains a modal description of the distributed load acting on the flexible body. This block is populated only if there are distributed forces acting on the flexible body.
 CMS data is automatically generated whether you use MotionView or HyperMesh to build
your flexible multibody model. In both cases, the data is generated automatically and
in general, you should not have to modify it.
 MotionView computes the Reference_FlexData information from the H3D file supplied for the flexible body and writes it to the MotionSolve XML input file.
 With HyperMesh, the model is first submitted in a bulk data file format to OptiStruct. OptiStruct scans the bulk data file for CMSMETH card, and if found, a component mode synthesis solution is performed and an H3D file is obtained. Subsequently, a MotionSolve XML input file containing Reference_FlexData is generated and submitted to MotionSolve.
 For more information on how to perform component mode synthesis, please refer to the Finite Element Analysis topic in the OptiStruct User's Guide.
 The flexibility information is linear. This implies that although the flexible body can undergo large rigid body motion, it can only undergo small deformation in the linear regime. The physical deformation is mathematically represented as a linear combination of the product of modal deformations and modal states. Results are not accurate if this assumption is violated.
 Linear representations are suitable for many physical phenomena, like the deformation in a connecting rod in an engine during its operation, the bending of a lower control arm during a vehicle simulation or the deflection of a wing during normal operation.
 Phenomena such as buckling, centrifugal stiffening, and large deformation contact require additional data and cannot be accurately modeled using this implementation.
 All attachments to the flex body must be contained in the NodeData block. Constraints and applied forces (and torques) should always act through the interface nodes. While MotionSolve allows you to define connectors at other nodes, the deformation at the nodes are ignored if the connectors are not at interface nodes.
 All frequencies in the ModeData block must be nonzero. In other words, rigid body modes must not be contained in the ModeData block.
 It is good practice to critically damp or overdamp the high frequency modes. If these are not critically or overdamped, the simulation may slow down drastically when these modes are excited.
 Preload is not supported.
 Currently, only proportional modal damping is supported.
 A comparison of the CraigBampton and CraigChang CMS methods
is shown in the table below.
Table 1. Table1: A comparison of CraigBampton and CraigChang modes Item CraigBampton CMS CraigChang CMS Description Fixed interface eigenmodes and the fixed interface constraint static modes. Freefree eigenmodes and the inertialrelief attachment static modes. Handling of Rigid Body Modes Embedded inside the full set of static modes. Integral part of the freefree eigen modes. Normal Modes A subset of the full normal modes can be selected. CraigBampton provides an exact solution if all normal modes are retained.
A subset of the full normal modes can be selected. CraigChang does not provide an exact solution even if all normal modes are retained.
Static Modes The full set of constraint modes must always be included. A subset of the full attachment static modes can be selected. Inertia Relief CraigBampton has no provision for using inertia relief modes. CraigChang uses inertia relief modes to account for the elasticity of the discarded normal modes. This may have the effect of improving convergence. Inertia relief modes are more expensive to compute than the calculation of constraint modes.
Usage CraigBampton is particularly suitable for analysis when the high frequencies are not of interest  The CraigBampton method has the following
advantages:
 It is a simple formulation and is easy to implement. For example, it can handle explicit boundary conditions and direct assembly of the stiffness matrix is possible.
 It possesses good accuracy, especially at the interface nodes where it provides exact solutions when all normal modes are retained.
 The CraigBampton process is numerically robust and does not require matrix inversion.
 The CraigBampton method has the following
disadvantages:
 When there are a large number of interface nodes (for example when the number of interface modes >> the number of normal modes), the method favors the static modes, to the detriment of the normal modes for the description of the behavior of the flexible body.
 When there are a large number of interface nodes, the modal representation of a flex body can become large.
 The method is hard to test and validate experimentally because a fixed boundary is harder and more delicate to manage.
 The CraigChang method has the following advantages:
 It possesses good accuracy, especially at the interface nodes where it provides exact solutions.
 It is insensitive to the number of interface nodes, because the connection DOF are removed from the solution process.
 It is quite compatible to experimental validation  a free connection is easier to manage than a fixed boundary.
 The CraigChang method can be implemented to be very efficient, so it is suitable for large systems.
 The following references can provide more useful
information on component mode synthesis:
 R.R. Craig and M.C. Bampton. Coupling of substructures for dynamic analyses. AIAAJournal, 6:13131319, 1968.
 R.R. Craig and C. Chang. Freeinterface methods of substructure coupling for dynamic analysis. AIAA Journal, 14:16331635, 1976.
 A.A. Shabana. Substructure synthesis methods for dynamic analysis of multibody systems. Computers & Structures, 20:737744, 1985.
 R.H. MacNeal. A hybrid method of component mode synthesis. Computers & Structures, 1(4):581601, 1971.