Connecting Rod as a Flexible Body

This tutorial will help you learn to work with flexible bodies in MotionView.

Topics covered include:
  • Introduction to flexible bodies
  • FlexPrep – Flexible Body Generation tool
  • Creating a flexible body
  • Adding a flexible body to a model
  • Solving and post-processing

Introduction to Flexible Bodies

Traditional multibody dynamic (MBD) analyses involve the simulation of rigid body systems under the application of forces and/or motions. In the real world, a body deforms under the application of force. Rigid body simulations do not capture such deformations, and this may lead to inaccurate results. Inclusion of flexible bodies in MBD simulations accounts for flexibility.

MotionView provides the modeling tools required to create and incorporate flexible bodies in your MBD model. Flexible MBD simulations allow you to:
  • Capture body deformation effects in simulations
  • Acquire greater accuracy in load predictions
  • Study stress distribution in the flexible body
  • Perform fatigue analysis
However, flexible bodies introduce an additional set of equations in the system and consequently, have a higher computational cost compared to rigid body systems.

What is a Flexible Body?

  • A flexible body (flexbody for short) is a modal representation of a finite element (FE) model. The finite element model is reduced to a representation with very few modal degrees of freedom through a reduction process called Component Mode Synthesis (CMS) by a FE solver such as Altair/OptiStruct.
  • Finite element models have a very high number of degrees of freedom. It is hard for MBD solvers to handle these.
  • The nodal displacement in physical coordinates is represented as a linear combination of a small number of modal coordinates.
    U = Φ Q

    where:

    U is nodal displacements vector

    Φ is modal matrix

    Q is matrix of modal participation factors or modal coordinates to be determined by the MBD analysis.

  • Component Mode Synthesis (CMS) reduces a finite element model to set of orthogonal mode shapes.

Additional details on the theory of CMS for Flexible Body Generation can be found here.

Flexbody Generation Using OptiStruct

There are two ways to generate flexible bodies using OptiStruct in HyperWorks:
  • Use the FlexPrep utility in MotionView
    1. Create the FE model in HyperMesh with assigned material and property cards.
    2. Export as OptiStruct file (*.fem).
    3. Use the exported.fem in FlexPrep tool in MotionView.
    4. Provide additional inputs in FlexPrep.
    5. FlexPrep will invoke OptiStruct and generate the flexible body (*.h3d) file.
  • Use HyperMesh:
    1. Create the FE model in HyperMesh with assigned material and property cards.
    2. Create load collector with CMSMETH card.
    3. Create ASET1 card using Constraints tool.
    4. Create DTI_UNITS card and Global Case Control CMSMETH.
    5. Export OptiStruct file (*.fem) and submit it to OptiStruct to generate the flexible body (*.h3d) file.
The following data is included in a flexbody H3D file:
  • Nodal positions
  • Element connectivity
  • Eigenvalues of all modes
  • Inertia invariants (optional)
  • Nodal mass
  • Nodal inertia (optional)
  • Translational displacement mode shapes
  • Rotational displacement mode shapes
  • Interface node IDs (optional)
  • Element stress/strain tensors (optional)
  • Global (rigid) inertia properties (optional)

Using the FlexPrep Utility in the MotionView Interface

FlexPrep is a MotionView utility which facilitates generating a flexible body from a finite element mesh. It also allows mirroring a flexbody and translation between various flexbody formats.

Using FlexPrep, you can:
  • Mirror an existing flexible body H3D file about a plane
  • Translate an MNF file to an Altair H3D file
  • Translate an H3D file to an MTX file
  • Translate an Altair H3D file to MNF file
  • Translate a PCH file to an Altair H3D file
  • Translate an Altair H3D file to a DADS DFD file

Once the flexbody H3D is created, it can be used in an MBD model, and the model can be submitted to either MotionSolve or ADAMS.

This tutorial will focus on generating a flex body using the FlexPrep tool in MotionView and using it in a multi-body model solved in MotionSolve.

Exercise: Connecting Rod as a Flexible Body

This exercise shows how to convert an existing rigid body in a model to a flexbody using MotionView.

Note: It is recommended to create a separate working directory for working through the tutorials.
Before you begin, copy the file(s) used in this tutorial to your working directory.

Generate Flexbody Using FlexPrep Utility

The ConnRod.fem file used in this tutorial (previously copied to your <working directory>) comprises an FE model of a rod with its interface nodes as shown in the figure below.
Figure 1. Finite Element model of Connecting rod


  1. Start a new MotionView session.
  2. From the Analyze ribbon, select the FlexPrep tool to open the FlexBodyPrep dialog.
    Figure 2.


    Figure 3.


  3. From the FlexBodyPrep dialog, verify that Optistruct Flexbody generation is set to Create Optistruct prep (preparation) file and generate the h3d flexbody (default) and retain this selection.
    The FlexPrep utility generates an input deck (_prp.fem) for the OptiStruct solver with all the required cards, and then it calls OptiStruct to run the job and create a h3d flexbody to be used in MotionView.
  4. Click next to Select Bulk Data file (fem/nas/bdf/dat) and select the input bulk data file ConnRod.fem from your <working directory>.
  5. Click next to Save the h3d file as, choose your <working directory>, and enter the name of the output h3d file as ConnRod_Flexbody.h3d.
  6. Verify that Component mode synthesis type is set to Craig-Bampton.
  7. From the Specify interface node information section, verify that Specify nodes (6:8+10) is selected.
  8. Enter 8392+8395 in the Specify nodes field.
    These are interface nodes where constraints or forces are applied in the MBD analysis.
    Note: If the node numbers are in a range, “:” can be used to provide the nodes in the range. For example, 10001:10004. Node numbers can be specified with combination of “:” (for range) and “+” (individual). For example, 10001:10004+2598+5230:5236.
  9. Verify that Cutoff type and value is set to Highest Mode # and enter a value of 15.
  10. Next to Eigen Value Solver Mode, select Additional Options button to open the Additional Options dialog.
    1. Select the Perform stress recovery check box.
      Note: With this option set, Flex Prep puts relevant cards in the OptiStruct input deck to calculate the modal stresses while processing your bulk data file.
    2. Select the Perform strain recovery check box.
      Note: With this option set, Flex Prep puts relevant cards in the OptiStruct input deck to calculate the modal strains while processing your bulk data file.
    Figure 4.


    Note: The Create Recovery H3D option is useful in fatigue analysis. A smaller flex H3D file is generated that contains the minimum amount of information required for MBD simulation in MotionSolve. A larger file, *_recov.h3d, is also generated that contains additional information for displacement, velocity, acceleration, stress, and strain. Refer to Recovering MBD Analysis Results in OptiStruct to learn more about using this method for fatigue analysis.
  11. From the Specify units in bulk data file section, configure the units.
    1. Set Mass units to Megagram.
    2. Verify that Length units is set to Millimeter.
    3. Verify that Force units is set to Newton.
    4. Verify that Time units is set to Second.
    Note: Most often, FE models are created using mm-N-sec as Length-Force-Time units. Mass is a derived unit in FE, hence N-sec^2/mm is equivalent to tonne/mm^3 or MEGAGRAMS. In the given input file, the geometry is in millimeters and the mass density used is in unit Mg/mm^3. Hence, this tutorial uses Megagram as the mass unit as units in bulk data file. Make sure you use consistent units as per the FE model created, or the flexbody generated may have incorrect size or modal frequencies.
  12. Click OK to launch OptiStruct in a command window.
    Based on the inputs provided in the dialog, FlexPrep creates a new FEM file by appending _prp to the input filename (ConnRod_prp.fem) and submits it to OptiStruct. Messages from the FlexPrep translator are displayed in the Output window.
  13. Check the status of the OptiStruct run and look for any error messages in the Output dialog.
    Flexbody file ConnRod_Flexbody.h3d gets created in the chosen location and can be used in the next step.
    Figure 5.


  14. Click OK in the Output dialog to close it.

Switch From Rigid to Flex

Note: The following steps will utilize the model that was saved in the Introduction to MotionView - Part 2 tutorial. Alternatively, if you do not have the model, please download the required files to your <working directory> from Exercise: Connecting Rod as a Flexible Body.
  1. Click the Open Model icon in the Home group (or use the File > Open > Model), browse to your working directory, and select mv_intro2_complete.mdl to open the model.
    The model is displayed in the modeling window.
    Figure 6.


  2. Select the PistonRod body from the Model Browser or in the modeling window.
  3. From the Properties section of the Entity Editor, select the Flex check box to convert the PistonRod from a rigid body to a flexbody.
    Note: If the Entity Editor is not visible by default, enable it by right-clicking on the PistonRod body and selecting Show Properties option from the context menu.
    Two new fields, H3D file and Graphic File, appear under the Flex check box.
  4. Click next to the H3D file option and select the ConnRod_Flexbody.h3d file generated in Generate Flexbody Using FlexPrep Utility.
    Figure 7.


    Note: The Graphic File field is automatically populated with the same H3D file. It is possible to provide a different graphic file. This option can be used to provide alternate graphics for the flexbody with reduced size when the original flexbody size is too large. Observe the mass, center of gravity, and inertia properties of PistonRod as a flexbody are similar to that of PistonRod as a rigid body.
  5. Scroll down and click the Nodes & Modes... button to open the Nodes & Modes dialog.
    Note: The Nodes tab is used to resolve the flexbody's attachments with the parts connected to it. This tab lists all markers of the connections (joints/forces) on the body which is now flexible. These markers can interact with the flexible body only through a node. This tab is used to map each of the markers to a node. The tab also displays the point coordinates of the marker origin.
  6. From the Nodes tab, click Find to find nodes on the flexible body that are located closest to the interface points on the cylinder model within the tolerance specified in Node tolerance.
    Figure 8.


    Note: Observe a small offset for both the attachments. It suggests a difference in the coordinate values between the point at which the connections are defined and its corresponding location of the interface nodes. The points can be aligned with the node locations using the Align button. MotionView moves the connection point in the model to the node location on the flexible body. This could affect other entities that reference this point. Hence, this option should be used with caution. Generally, it is common to have minor offsets (values between 0.001mm to 0.01mm). If the offset is more than the tolerance value, MotionView inserts a dummy body between the flexible body and the nearest connection point. If the offset value is too high, it could indicate a mismatch of the FE model information with respect to the MBD model. In such an event, it is recommended to review the models and reconcile the differences.
    Note: Find and Align actions can be performed on individual attachments by selecting the specific attachment row.
  7. Select Modes to switch to the Modes tab.
    Figure 9.


    Note: Use this tab to review and select the modes that will be active during the simulation. By default, the rigid body modes are deactivated. Default Damping is used as a standard. With this setting, the solver applies a 1% damping for frequencies under 100Hz. For frequencies greater than 100Hz and less than 1000Hz, 10% damping is used. Modes greater than 1000 Hz use critical damping.
  8. Click the Close button.
  9. From the menu bar, select File > Save As > Model.
    1. From the Save As Model dialog, browse to your working directory and name the file MV_intro_flexbody.mdl.
    2. Click Save.

Run and View Results

  1. From the Analyze ribbon, select the Analysis Settings tool from the Run tool group to open the Run Motion Analysis dialog.
    Figure 10.


  2. Enter mv_intro_flexbody_Run for Run name and accept the defaults for the remaining settings.
  3. Click Run.
  4. Once the run is complete, click Animate on the Run Status dialog to review results in HyperView.
    Note: A new page gets added to the session with HyperView as an active client. Also, the model with results file of the current simulation is automatically loaded.
  5. From the Results ribbon in HyperView, select the Contour tool to bring up the Contour panel.
    Figure 11.


    Figure 12. The Contour Panel


    Tip: If the panel is not displayed, turn it on from the menu bar by selecting View > Panels.
  6. Verify that the Result type drop-down menu is set to Displacement (v) and that Mag is selected in the second drop-down menu.
  7. Click Apply.
    Figure 13.


    Note: The displacement contour is shown with respect to the instantaneous CG of the flexbody.
  8. From the Animation Toolbar, click the Play button to review the animation of deformation variation during the simulation.
  9. From the Contour panel, select Stress (t) from the drop-down menu for Result type.
  10. Click Apply to display the contour plot.
    Figure 14.


  11. From the menu bar, select File > Session > Save As and name the session file mv_flexbody_sess.mvw.