# Flexible Body Generation

The following information is common to all flexible body generation methods and details the initial partitioning step involved.

Dynamic Reduction is used to reduce a finite element model of an elastic body to the interface degrees of freedom and a set of normal modes for inclusion as a flexible body in a multibody dynamics analysis.

Here, the subscript $o$ denotes the inner degrees of freedom, and the $a$ denotes the interface degrees of freedom (for example, ASET entry).

The interface nodes that are used in the component mode synthesis process for the construction of mode shapes should be coincidental to the set of force-bearing nodes in the subsequent multibody dynamics analysis. In a multibody dynamics model, the flexible body interacts with other components of the model through joints, constraints, or force elements, which are connected or applied on the nodes of the flexible body. Except for body forces due to gravity or acceleration of the flexible body, all nodes that are subject to constraint or applied forces in the multibody dynamics analysis are denoted as force-bearing nodes.

The purpose of specifying the interface nodes for CMS is mainly to account for the static deformation due to constraints or applied forces acting on the interface nodes. A huge number of eigenmodes is required if these static modes are omitted. The flexible deformations due to constraint forces, compared to the deformation due to the body inertia forces, are often dominant in most constrained models; therefore, the inclusion of all force-bearing nodes as interface nodes is an essential step to get accurate results from subsequent flexible multibody dynamics analysis.

- $K$
- Stiffness matrix
- $f$
- Force vector with the corresponding subscripts depicting the partitioning based on the inner/interface degrees of freedom

Where, $A$ are the partitioned eigenvectors of the system. Only eigenvectors pertaining to the non-attachment degrees of freedom, ${A}_{o}$, are used in the subsequent generation of the combined modal matrix.

Where, $q$ is the matrix of modal participation factors or modal coordinates which are to be determined by the analysis.

The Craig-Bampton and Craig-Chang methods of Dynamic Reduction are available.

## Craig-Bampton Method

Normal modes analysis of the fixed-interface system yields the diagonal matrix of eigenvalues, $${D}_{\omega}$$ and the matrix of eigenmodes, ${A}_{\omega}$.

In the normal mode analysis, you can select the cut-off frequency or the number of modes to be solved. This determines the column dimension of ${A}_{\omega}$.

In addition, a static analysis is performed to generate the static modes. With constrained interface degrees of freedom, a unit displacement in each interface degree of freedom is applied while all other interface degrees of freedom are fixed. With unconstrained (freed) interface degrees of freedom, the inertia relief will be performed by applying a unit force in each interface degree of freedom. This yields the static displacement modes/matrix ${A}_{s}$ and the interface forces, ${f}_{a}$.

Reduced modal stiffness, ${K}_{reduced}$ , and mass, ${M}_{reduced}$ , matrices are now generated as:

An orthogonalization step that transforms $$S$$ into a set of orthogonal modes ${A}_{ort}$ is now performed. See Eigenvector Orthonormalization for more information.

## Craig-Chang Method

This method uses a system that is unconstrained (free-free) and therefore has six rigid body modes. Normal modes analysis of the system yields the diagonal matrix of eigenvalue, $${D}_{\omega}$$ and the matrix of eigenmodes, ${A}_{\omega}$.

The resulting modes ${A}_{s}$ are called the inertia relief attachment modes.

An orthogonalization step that transforms $$S$$ into a set of orthogonal modes ${A}_{ort}$ is now performed. Refer to Eigenvector Orthonormalization for more information.

## Eigenvector Orthonormalization

The orthonormalized modes are input to other multibody dynamics solvers (like MotionSolve), as modal representations of the flexible body in the subsequent analysis.

## Load on Flexible Body

If loading is applied to the flexible body in OptiStruct, then it will be reduced out as modal distributed loads and provided as an input to MotionSolve.

The conversion is performed as:

Where, $q$ is the $m$ by 1 modal participation vector.

^{th}distributed load defined in the FE model ($f$ is an $n$ by 1 vector, where $n$ is the number of nodes on which the load is applied), ${u}_{i}$ is the corresponding displacement field, and $u$ is any arbitrary displacement field of the flexible body, as mentioned above. The virtual work, due to ${f}_{i}$ is:

Each modal distributed load is a $m$ by 1 vector.

The above modal distributed loads, along with their load ID in the FE model, should be pre-computed in OptiStruct and written as new modal distributed load blocks in the .h3d file. In addition, the corresponding displacement fields ${u}_{i}$ should enter the mode shapes $S$ in the CMS process.

## Input and Output

Flexible Body Generation is activated by the presence of the I/O Option CMSMETH.

The I/O Option references a CMSMETH Bulk Data Entry which defines the method, frequency range or number of modes to be calculated. CC and CB methods are used to generate flexible bodies for some Multibody Dynamics solvers, like MotionSolve. Additionally, the CBN method can be used to generate CMS superelements for some third party solvers (refer to Create Output for Third Party Software for more information).

In general, offsets should not be used in flexible body generation. However,
PARAM, `CMSOFST` may be used to allow small
offsets for shell elements.

The orthogonal modes ${A}_{ort}$ and the corresponding eigenvalues are exported to a flexh3d file by default. The modal stresses and strains can be output optionally using the STRESS and STRAIN output statements. Sets can be applied to reduce the amount of data. The export of the model to this file can be controlled using the MODEL output statement.

## Recover MBD Analysis Results

After MotionSolve is run, it is possible to recover displacements, velocities, accelerations, stresses, and strains for the flexbody in OptiStruct in order to create .op2 and .h3d results files for fatigue analysis.

The procedure is explained below.

```
ASSIGN,H3DMBD,30101,’pfbody_1_recov.h3d'
ASSIGN,H3DMBD,30102,’pfbody_2_recov.h3d'
ASSIGN,MBDINP,10,’pfbody.mrf'
```

Where, the `10`

in the ASSIGN,`MBDINP` data
references the SUBCASE for which the MotionSolve results
will be used. In `SUBCASE 10`

, instead of performing a transient
analysis, OptiStruct will just use the results from
MotionSolve.

The `30101`

and `30102`

in the
ASSIGN,`H3DMBD` data refer to the Flex Body
ID's in the .mrf file.

```
OUTPUT OP2
OUTPUT H3D
ASSIGN,H3DMBD,30103,MBD_pfbody_BODY_2_PROP_6_recov.h3d
ASSIGN,H3DMBD,30102,MBD_pfbody_BODY_1_PROP_9_recov.h3d
ASSIGN,H3DMBD,30104,MBD_pfbody_BODY_3_PROP_10_recov.h3d
ASSIGN,MBDINP,1,MBD_pfbody_mbd.mrf
SUBCASE 1
TSTEP(TIME) = 4
DLOAD = 3
DISPLACEMENT = ALL
STRESS = ALL
SPC = 1
$
BEGIN BULK
GRID 9999999 $ Dummy GRID since at least one GRID is required
$------+-------+-------+-------+-------+-------+-------+-------+-------
TSTEP 4 300 .0003333 1
TLOAD1 3 3 DISP 2
TABLED1 2 LINEAR LINEAR
+ 0.0 1.0 10.0 1.0ENDT
$
$ Dummy load on the dummy grid
SPC 1 9999999 1
SPCD 3 9999999 1 -200.0
ENDDATA
```

A dummy grid and a dummy load has been added for the OptiStruct analysis run.