OS-T: 1900 Dynamic Analysis of a Three-body Model

In this tutorial, dynamic analysis on a simple three rigid bodies model is performed using OptiStruct. The force of gravity acts along the global Y axis, and the system has one degree of freedom.

Before you begin, copy the file(s) used in this tutorial to your working directory.
This exercise includes the creation of PRBODY (rigid body definition), JOINT and boundary conditions in HyperMesh. An existing finite element model is used in this tutorial problem.

rigid_bodies_model
Figure 1. Rigid Bodies Model

Launch HyperMesh and Set the OptiStruct User Profile

  1. Launch HyperMesh.
    The User Profile dialog opens.
  2. Select OptiStruct and click OK.
    This loads the user profile. It includes the appropriate template, macro menu, and import reader, paring down the functionality of HyperMesh to what is relevant for generating models for OptiStruct.

Open the Model

  1. Click File > Open > Model.
  2. Select the 3bodies_dynamics.hm file you saved to your working directory.
  3. Click Open.
    The 3bodies_dynamics.hm database is loaded into the current HyperMesh session, replacing any existing data. The model has three components and a few free nodes that will be used to create bodies and joints for the MBD model.

Set Up the Model

Create PRBodies

PRBODY is the Rigid Body Definition for Multibody Simulation. PRBODY defines a rigid body out of a list of finite element properties, elements and grid points.
  1. From the Analysis page, click the bodies panel.
  2. Select the create subpanel.
  3. Define PRBODY for the body1 component.
    1. In the body= field, enter blue.
    2. Click type= and select PRBODY.
    3. Using the props selector, select body1.
    4. Click create.
  4. Define PROBDY for the body2 component.
    1. In the body= field, enter lime.
    2. Click type= and select PRBODY.
    3. Using the props selector, select body2.
    4. Click create.
  5. Define PROBDY for the body3 component.
    1. In the body= field, enter orange.
    2. Click type= and select PRBODY.
    3. Using the props selector, select body3.
    4. Click create.
  6. Click return.

Create Joints

You will create two revolute joints, one ball joint, and one universal joint to constrain the degrees of freedom, such that the remaining degree of freedom will be just 1.

DOF = 3*6 - (5+5+4+3) = 1
Type of Joint Removes Translational dof Removes Rotational dof Removes Total Number of dof
Revolute 3 2 5
Universal 3 1 4
Ball (Spherical) 3 0 3

6000_joints_in_model
Figure 2. Joints in the Model
  1. Create the component, joints.
    1. In the Model Browser, right-click and select Create > Component from the context menu.
      A default component template displays in the Entity Editor.
    2. For Name, enter joints.
  2. From the menu bar, click Mesh > Create > 1D Elements > Joints.
    The Joints panel opens.
  3. Create the revolute joint at the lower right corner of body3.
    1. Set joint type to revolute.
    2. Select node ID 12319 as the first terminal and node ID 13158 as the second terminal.
      Tip: Nodes 12319 and 13158 are coincident. Use coincident node picking in the options panel > graphics subpanel to help you select these coincident nodes in the modeling window.
    3. Select node ID 12910 as a node for first orientation.
    4. Click create.
      The vectors 12319 to 12910 define the axis of rotation of the revolute joint.

      j_body3
      Figure 3.
  4. Create the revolute joint at the lower left corner of body1.
    1. Select node ID 11115 as the first terminal and node ID 13159 as the second terminal.
    2. Select node ID 11706 as a node for first orientation.
    3. Click create.
    The vectors 11115 to 11706 define the axis of rotation of the revolute joint.

    j_body1
    Figure 4.
  5. Create the universal joint between body3 and body2.
    1. Set joint type to universal.
    2. Select node ID 12330 as first terminal which belongs to body3, and select node ID 7589 as second terminal which belongs to body2.
    3. Select node ID 12921 as a node for first orientation, and select node ID 11944 as a node for second orientation.
    4. Click create.
    The vectors 12330 to 12921 define the first cross pin axis, and the vectors 7589 to 11944 define second cross pin axis.

    univ_joint
    Figure 5.
  6. Create a ball (spherical) joint between body1 and body2.
    1. Set joint type to ball.
    2. Select node ID 11104 as first terminal which belongs to body1, and select node ID 7578 as second terminal which belongs to body2.
    3. Click create.

    ball_joint
    Figure 6. Ball Joint between body1 and body2

Apply Loads and Boundary Conditions

The gravity force that applies to the model and MBSIM Bulk Data card, which is to specify the parameter for multi body simulation, is created in the following steps.

Create Load Collectors

In this step you will create the gravity force that applies to the model and MBSIM Bulk Data card, which is to specify the parameter for multibody simulation.

  1. In the Model Browser, right-click and select Create > Load Collector from the context menu.
    A default load collector displays in the Entity Editor.
  2. For Name, enter gravity.
  3. Click Color and select a color from the color palette.
  4. Set Card Image to GRAV.
  5. Input the values as illustrated below.


    Figure 7.
  6. Create another load collector.
    1. For Name, enter SIM.
    2. For Card Image, select MBSIM.
    3. Input the values as illustrated below.


      Figure 8.

Create Load Steps

  1. In the Model Browser, right-click and select Create > Load Step from the context menu.
  2. For Name, enter Dynamic.
  3. Set Analysis type to Multi-body dynamics.
  4. Define MLOAD.
    1. For MLOAD, click Unspecified > Loadcol.
    2. In the Select Loadcol dialog, select gravity and click OK.
  5. Define MBSIM.
    1. For MBSIM, click Unspecified > Loadcol.
    2. In the Select Loadcol dialog, select SIM and click OK.

Submit the Job

  1. From the Analysis page, click the OptiStruct panel.

    OS_1000_13_17
    Figure 9. Accessing the OptiStruct Panel
  2. Click save as.
  3. In the Save As dialog, specify location to write the OptiStruct model file and enter 3bodies_dynamics_complete for filename.
    For OptiStruct input decks, .fem is the recommended extension.
  4. Click Save.
    The input file field displays the filename and location specified in the Save As dialog.
  5. Set the export options toggle to all.
  6. Set the run options toggle to analysis.
  7. Set the memory options toggle to memory default.
  8. Click OptiStruct to launch the OptiStruct job.
If the job is successful, new results files should be in the directory where the 3bodies_dynamics_complete.fem was written. The 3bodies_dynamics_complete.out file is a good place to look for error messages that could help debug the input deck if any errors are present.

View the Results

In this step you will view the results in HyperView, which can be launched from within the OptiStruct panel of HyperMesh.

HyperView is a complete post-processing and visualization environment for finite element analysis (FEA), multi-body system simulation, video and engineering data.

  1. While in the OptiStruct panel of the Analysis page, click HyperView.
    1. Optional: If a window appears with a warning message, click OK.

    The path and file name for 3bodies_dynamics_complete.h3d appears in the fields to the right of Load model and Load results. This is fine because the .h3d format contains both model and results data.

    The model and results are loaded in the current HyperView window.

  2. Click resultsContour-16 to open the Contour panel.
  3. Under Results type, select Displacement(v).
  4. Click Apply.
  5. Start/stop the animation using the Animation Controls in the panel next to the playback controls.

    animation_toolbar
    Figure 10.
    1. Verify Animate Mode is set to animationTransient-24 (Transient).
    2. Click the Start/Pause Animation icon to start the animation.
    3. With the animation running, use the bottom slider bar to adjust the speed of the animation.
    4. Click the Start/Pause Animation icon again to stop the animation.

rd4000_contourplot
Figure 11.