OS-T: 1910 Dynamic Analysis of a Slider Crank with Flexible Connecting Rod

In this tutorial you will work with a slider crank model, which consists of a rigid crank, a flexible connecting rod, and a rigid sliding block. The objective of this analysis is to determine the deformation and stress of a flexible connecting rod under the high speed motion of the system.

This tutorial includes the creation of PRBODY (rigid body definition), PFBODY (flexible body definition), and JOINT in HyperMesh.

An existing finite element model is used in this tutorial.

slider_crank_model
Figure 1.

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 slider_crank.hm file you saved to your working directory from the optistruct.zip file. Refer to Access the Model Files.
  3. Click Open.
    The slider_crank.hm database is loaded into the current HyperMesh session, replacing any existing data.

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 support component.
    1. In the body= field, enter support.
    2. Click type= and select PRBODY.
    3. Using the props selector, select support.
    4. Click create.
  4. Define PROBDY for the crank component.
    1. In the body= field, enter crank.
    2. Click type= and select PRBODY.
    3. Using the props selector, select crank.
    4. Using the nodes selector, select the node (ID 25231) at the center of RBE2 spider between connecting rod and crank.

      prbody_crank
      Figure 2.
    5. Click create.
  5. Define PROBDY for the block component.
    1. In the body= field, enter block.
    2. Click type= and select PRBODY.
    3. Using the props selector, select block.
    4. Using the nodes selector, select the node (ID 25232) at the center of RBE2 spider between connecting rod and block.

      prbody_crank
      Figure 3.
    5. Click create.
  6. Click return.

Create Flex Bodies (PFBODY)

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.
  1. From the Analysis page, click the bodies panel.
  2. Select the create subpanel.
  3. In the body= field, enter Rod.
  4. Click type= and select PFBODY.
  5. Using the props selector, select Rod.
  6. Using the elems selector, select two RBE2 elements that are inside a hole on the connecting rod.
    Tip: You could also use 'elems by id' and input the IDs 18795 and 18796 to select the two RBE2 elements.

    prbody_con_rod
    Figure 4.
  7. Set CMS Method to Craig-Bampton.
  8. Toggle number of modes to nmodes=, and enter 10.


    Figure 5.
  9. Click create.
  10. Click return.

Create Joints

You will create three revolute joints, one fixed joint, and one translational joint are created to constrain the degrees of freedom.
Type of Joint Removes Translational dof Removes Rotational dof Removes Total Number of dof
Revolute 3 2 5
Fixed 3 3 6
Translational 2 3 5

model_joints
Figure 6.
  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 fixed joint between ground and support.
    1. Set joint type to fixed.
    2. Select node ID 25313 as first terminal and select node ID 25543 as second terminal.
      Tip: Nodes 25313 and 25543 are coincident. Use coincident node picking in the options panel > graphics subpanel to help you select these coincident nodes in the modeling window.
    3. Click create.

    nodes_fixed_j
    Figure 7.
  4. Create the revolute joint between support and crank.
    1. Set joint type to revolute.
    2. Select node ID 25472 as first terminal and select node ID 15124 as second terminal.
    3. Set first orientation to coordinates, then enter x= 0.0, y= 0.0, z= 1.0.
      The z-axis will be the axis of rotation of revolute joint.
    4. Click create.

    support_crank
    Figure 8.
  5. Create the revolute joint between the crank and connecting rod.
    1. Set joint type to revolute.
    2. Select node ID 25229 as first terminal and select node ID 25231 as second terminal.
    3. Set first orientation to coordinates, then enter x= 0.0, y= 0.0, z= 1.0.
      The z-axis will be the axis of rotation of revolute joint.
    4. Click create.

    crank_rod
    Figure 9.
  6. Create the revolute joint between the connecting rod and sliding block.
    1. Set joint type to revolute.
    2. Select node ID 25230 as first terminal and select node ID 25232 as second terminal.
    3. Set first orientation to coordinates, then enter x= 0.0, y= 0.0, z= 1.0.
      The z-axis will be the axis of rotation of revolute joint.
    4. Click create.

    rod_block
    Figure 10.
  7. Create the translational joint between the sliding block and ground.
    1. Set joint type to translational.
    2. Select node ID 14519 as first terminal and select node ID 25228 as second terminal.
    3. Set first orientation to coordinates, then enter x= 1.0, y= 0.0, z= 0.0.
      The x-axis will be the direction of translation.
    4. Click create.

    block_ground
    Figure 11.
  8. 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 12.

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

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 SIM.
  3. Click Color and select a color from the color palette.
  4. Set Card Image to MBSIM.
  5. Input the values as illustrated below.


    Figure 13.
  6. Create another load collector.
    1. For Name, enter Velocity.
    2. For Card Image, select INVELB.
    3. Input the values as illustrated below.


      Figure 14.

Create Load Steps

  1. In the Model Browser, right-click and select Create > Load Step from the context menu.
    A default load step displays in the Entity Editor.
  2. For Name, enter Dynamic.
  3. Set Analysis type to Multibody dynamics.
  4. Define MBSIM.
    1. For MBSIM, click Unspecified > Loadcol.
    2. In the Select Loadcol dialog, select SIM and click OK.
  5. Define INVEL.
    1. For INVEL, click Unspecified > Loadcol.
    2. In the Select Loadcol dialog, select Velocity and click OK.

Submit the Job

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

    OS_1000_13_17
    Figure 15. Accessing the OptiStruct Panel
  2. Click save as.
  3. In the Save As dialog, specify location to write the OptiStruct model file and enter slider_crank_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 slider_crank_complete.fem was written. The slider_crank_complete.out file is a good place to look for error messages that could help debug the input deck if any errors are present.
Also, the following files will be output and which are specific to the random response analysis.
slider_crank_complete_mbd.abf
Binary plotting file.
slider_crank_complete_mbd.h3d
Binary results file (Modal results).
slider_crank_complete_mbd.log
Log file from OS-Motion containing the information on the joints and markers, simulation etc., which are specific to MBD analysis.
slider_crank_complete_mbd.mrf
Binary results file for plotting.
slider_crank_complete_mbd.xml
Model file in .xml format – solver intermediate input deck.

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 slider_crank_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 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 16.
    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 17.
  6. In the Contour panel, under Results type, select Element Stresses [2D & 3D].
  7. Set Stress type to von Mises.
  8. Click Apply.
  9. Click the Start/Pause Animation icon to start the animation.


    Figure 18.