OS-T: 1920 Large Displacement Analysis of a Cantilever Beam

In this tutorial, you will perform a multibody dynamics analysis (simulation type: Transient Analysis) of a slender cantilever beam using OptiStruct.

Before you begin, copy the file(s) used in this tutorial to your working directory.
Using HyperMesh, you will import an existing finite element model of a cantilever beam and setup the model (creation of joint, loading, and so on). You will use HyperView to post-process the large displacement results of the cantilever beam model.

modeling_reb2
Figure 1.

In this tutorial, you learn how to create a JOINT, a PFBODY, an MBMNTC and a multi-body dynamics subcase.

The beam model consists of 10 different flexible bodies (PFBODY) and each body is to be connected through a fixed joint and rigid element (RBE2).

coincident_node_locations
Figure 2. Modeling RBE2

There are two RBE2's defined at the boundary of each body (one for each body at this boundary). The fixed joint will be created using coincident nodes which are independent nodes of each of the RBE2s.

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 cantilever_beam_MBD.hm file you saved to your working directory.
  3. Click Open.
    The cantilever_beam_MBD.hm database is loaded into the current HyperMesh session, replacing any existing data.

Set Up the Model

Create Joints

In this step you will define all of the necessary joints required for this model. Only fixed joints for this model are needed. The fix joint at the left corner of body_1 will be created to represent clamped boundary condition. This fixed joint will be created using coincident nodes, so that coincident nodes need to be created first at the left corner of body_1.
  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. Create coincident nodes.
    1. From menu bar, click Geometry > Create > Nodes > XYZ to open the Create Nodes panel.
    2. In the modeling window, on the upper left corner of body_1, click three times.
      The nodal coordinates (x=, y=, z=) of that node will be populated.

      co_nodes
      Figure 3. Location of Coincident Nodes
    3. Click create.
    4. Create another coincident node on the lower left corner of body_1.
    5. Click return.
  3. From the menu bar, click Mesh > Create > 1D Elements > Joints.
    The Joints panel opens.
  4. Create a fixed joint at the left corner of body_1.
    1. Set joint type to fixed.
    2. Select the coincident node in the upper, left corner as the first terminal and select the other coincident node at the same location as the second terminal.
      Tip: Use coincident node picking in the options panel > graphics subpanel to help you select these coincident nodes in the modeling window.
    3. Click create.

    fixed_joint_2
    Figure 4. Fixed Joint
  5. Create a fixed joint at the lower left corner of body_1.
  6. Create a fixed joint at the boundary of each component.
    1. Set joint type to fixed.
    2. Zoom in to the boundary between Body_1 and Body_2.
    3. Select one of the coincident nodes as first terminal and select the other coincident nodes as second terminal.
    4. Click create.

    fixed_joint_B
    Figure 5. Fixed Joint
  7. Create a fixed joint for the boundary of each body.
  8. Click return.

Create PFBodies

PFBODY is the Flexible Body Definition for Multibody Simulation. PFBODY defines a flexible body out of a list of finite element properties, elements, and grid points.

You will have ten bodies apart from the ground body in your model.

  1. From the Analysis page, click bodies.
  2. Select the create subpanel.
  3. In the body= field, enter pfbdy_1.
  4. Click type= and select PFBODY.
  5. Using the props selector, select body_1.
  6. Click elems > bycollector, and select rigid_1.
  7. Set number of modes to nmodes=, and enter 3.
  8. Click create.
  9. Select the parameters subpanel.
  10. Set damping to dval=, and enter 10.0.
  11. Click update.
  12. Create a PFBODY for each flexible body.
    For body_2: define the following:
    • For body=, enter pfbdy_2.
    • For props=, select body_2.
    • For elems=, select rigid_2.
    Make sure that all PFBODY have a damping of 10.0 defined in parameters subpanel. For pfbody_4, enter a value of 7 in the nmodes= field.
  13. Click return.

Create DTI, UNITS

  1. From the menu bar, click Setup > Create > Control Cards to open the Control Cards panel.
  2. Click DTI_UNITS.
  3. Define the unit system, as shown in Figure 6.

    dti
    Figure 6.
  4. Click return twice to return to the main menu.

Create MBSIM Load Collector

The moment applied at the end of the beam, the gravity force that applies to the model and MBSIM Bulk Data card, which is to specify the parameter for multibody simulation, will be created in this step.
  1. Create the mbmoment load collector.
    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 mbmoment.
    3. Set the Card Image to None.
  2. Create the sim load collector.
    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 sim.
    3. Set the Card Image to MBSIM.
    4. Set TTYPE to END.
    5. For TIME, enter 0.5.
    6. Set STYPE to DELTA.
    7. For DELTA, enter 2.0e-04.
    8. Set ITYPE to VSTIFF.

Create an MBMNTC

  1. Change the load type for moment to MBMNTC.
    1. From the Analysis page, select load types.
    2. Click moment= and select MBMNTC.
    3. Click return.
    MBMNTC is the moment based on the curve.
  2. Create a curve.
    1. From the menu bar, click XYPlots > Curve Editor to open the Curve editor window.
    2. Click New.
    3. For name =, enter mycurve.
    4. Click proceed.
    5. From the Curve List, select my curve.
    6. Populate the X Y table, as shown in Figure 7.
      curve_list Figure 7.
    7. Click Update.
    8. Click Close.
  3. In the Model Browser, Load Collectors folder, right-click on mbmoment and select Make Current from the context menu.
  4. Create moments.
    1. From the Analysis page, click moments.
    2. Using the nodes selector, select the 2 nodes at right tip of a beam.

      mbmntc
      Figure 8. MBMNTC
    3. Click the switch beside magnitude= and select curve, components.
    4. In the z comp= field, enter 1.0.
      The x comp and y comp fields should remain at 0.
    5. Click curve and select mycurve.
    6. Click create.
    7. Click return.
  5. Click OptiStruct. This launches an OptiStruct run in a separate shell (DOS or Unix) which appears.

    If the optimization was successful, no error messages are reported to the shell. The optimization is complete when the message Processing complete appears in the shell.

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 MBSIM.
    1. For MBSIM, click Unspecified > Loadcol.
    2. In the Select Loadcol dialog, select SIM and click OK.
  5. Define MLOAD.
    1. For MLOAD, click Unspecified > Loadcol.
    2. In the Select Loadcol dialog, select mbmoment 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 cantilever_beam_MBD 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 cantilever_beam_MBD.fem was written. The cantilever_beam_MBD.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 will be launched from within the OptiStruct panel of HyperMesh.

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

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

    The path and filename for cantilever_beam_MBD.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 the Contour panel toolbar icon resultsContour-16.
  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.


    Figure 11.
  6. In the Contour panel, under Results type, select Element Stresses [2D & 3D].
  7. Click Apply.
  8. Click the Start/Pause Animation icon to start the animation.


    Figure 12.