HM-4910: Set up a MADYMO Occupant Safety Analysis in HyperMesh

In this tutorial, you will load the MADYMO user profile and import XML files.

Before you begin, copy the following files from <hm.zip>/interfaces/madymo/ to your working directory:
  • truck_model.xml
  • steering_column.xml
  • seatbelt_system.xml
  • dummy_pulse.dat
The MADYMO HyperMesh interface supports the import and export of MADYMO files. A MADYMO XML file can be read using the Import tab. The model will be displayed. The model can be altered and the finished model can be written using the Export tab.

Load the MADYMO User Profile

In this step, you will load the MADYMO profile in HyperMesh.

The MADYMO user profile configures the user interface to be MADYMO specific. The user profile also loads the XML import reader and MADYMO template file. The template file defines MADYMO specific entity types and attributes versus generic entities.
  1. Start HyperMesh Desktop.
  2. In the User Profiles dialog, set the user profile to Madymo.
  3. Set the template drop-down to Madymo 70.
  4. Click OK.
  5. Open the Utility menu by clicking View > Browsers > HyperMesh > Utility from the menu bar.

Retrieve and View the Model File

In this step, you will open the model file and view it in HyperMesh.

The truck_model.xml file was created by converting an NCAC LS-DYNA truck model to MADYMO within the HyperMesh interface.
  1. Click File > Import > Solver Deck.
  2. In the File: field, select the truck_model.xml file and click Open.
  3. Click Import Options to expand the panel and display the advanced importing options.
  4. Click on the Display Import Errors checkbox to deactivate this function.
  5. Leave all other default settings as they are and click Import to import the model.
  6. Remain in the Import tab.

Import the Steering Column File

In this step, you will open the steering column file and view it in HyperMesh.

The steering_column.xml file was created from scratch within the HyperMesh interface.
  1. In the File: field, select the steering_column.xml file and click Open.
  2. Leave all other default settings as they are and click Import to import the model.

Position the Steering Column

In this step, you will position the steering column.

The Set Joints panel contains functionality for defining joint rotations, joint orientations for all joints, and global positioning for the highest joint in any system of bodies.
  1. From the Analysis page, click safety and then select the set joints subpanel.
  2. Select the H-point subpanel.
    The H-point subpanel is used for defining global positioning for the highest joint in the system of bodies.
  3. Ensure the yellow entity selection is set to multibody.
    To change, click on the triangle switch button next to the yellow entity selection box and select multibodies from the pop-up list. Comp is used to position finite element and facet dummy models. Multibody is used for positioning ellipsoidal rigid body models.
  4. Click on any ellipsoid in the steering column.
  5. In the Position fields, enter the following:
    • For x, enter 3.30.
    • For y, enter 0.41.
    • For z, enter 0.98.
  6. Click the green position button to set the position of the steering column.
  7. Enter 180.00 in the increment field.
  8. Click the triangle switch next to N1, N2, N3 and select z-axis from the pop-up window.
  9. Click the green rotate+ button to rotate the steering column.


    Figure 1.
  10. Click return to exit the panel.

Import File

In this step, you will import the file.

The d_hyb350el_usr.xml file is taken directly from your MADYMO installation. These files can be found in the path ...\share\dbs\dummies\3d folder in typical MADYMO installation.
  1. Click File > Import > Solver Deck.
  2. In the File: field, select the d_hyb350el_usr.xml file and click Open.
  3. Click Import to import the model.

Position the Dummy H-Point

In this step, you will position the dummy H-point.

  1. From the Analysis page, click safety and then select the dummy subpanel.
  2. Select the H-point subpanel.
  3. Click on any ellipsoid in the dummy.
  4. In the Position fields, enter the following:
    • x = 2.16
    • y = 0.41
    • z = 0.88
  5. Click the green position button to set the position of the dummy.
  6. Enter 18 in the increment field.
  7. Click the triangle switch under rotate: and select y-axis from the pop-up window.
  8. Click the green rotate- button to rotate the dummy back against the seat.
  9. Remain in the Dummy Positioning panel.

Position the Dummy Limbs

In this step, you will position the dummy limbs.

You can quickly find the dummy limbs used in the steps below by using the Model Browser. Right-click on any entity and select Isolate to display only the part being manipulated.

You will use the Dummy Positioning panel for this step.

  1. Rotate the femur ellipsoids.
    1. Select the incremental subpanel.
    2. Enter 10 in the increment field.
    3. Click on a femur ellipsoid (FemurR_bod).
      HyperMesh automatically searches up to the next joint in the hierarchy.
    4. Rotate the hip child joint coordinate system about the x, y, and z axes of the hip parent joint coordinate system by using y rot >.
    5. Click the reset button next to the multibody selection option.
    6. Repeat steps 1.a through 1.e for the other femur ellipsoid (FemurL_bod).
  2. Rotate the upper tibia.
    1. Select the right upper tibia ellipsoid (tibiaUpR_bod).
    2. In the y rot row, set the current field to -60 and click Enter.
    3. Repeat steps 2.a and 2.b for the left upper tibia ellipsoid (tibiaUpL_bod).
  3. Rotate the upper arm.
    1. Select left upper arm ellipsoid (ArmUpL_bod).
    2. In the x rot row, set the current field to -30 and click Enter.
    3. Repeat steps 3.a and 3.b for the right upper arm ellipsoid (ArmUpR_bod).
  4. Rotate the lower arm.
    1. Select the left lower arm ellipsoid (ArmLowL_bod).
    2. In the x rot row, set the current field to -5 and click Enter.
    3. In the y rot row, set the current field to -70 and click Enter.
    4. Select the right lower arm ellipsoid (ArmLowR_bod).
    5. In the x rot row, set the current field to 5 and click Enter.
    6. In the y rot row, set the current field to -70 and click Enter.
    7. Remain in the Dummy Positioning panel.

Set the Steering Wheel Tilt

In this step, you will set the tilt of the steering wheel.

You will complete this step in the Dummy panel.
  1. Activate the incremental radio button.
  2. Enter 10 in the increment field.
  3. Select an ellipsoid in the steering wheel.
    HyperMesh automatically searches up to the next joint in the hierarchy.
  4. Click the rotate: toggle to change the joint dof to joint orientation.
    Joint dof rotates the child joint coordinate system locally about its axes. Joint orientation rotates the parent joint coordinate system. Rotating the child joint coordinate system instead of the parent joint coordinate system to set the tilt will initiate an undesired initial torque. Rotating the parent joint coordinate system will temporarily "unlock" the joint.
  5. Use the < button next to x rot to set the tilt.
  6. Set the rotate: toggle back to joint dof.
  7. Click return to exit the panel.

Define the MADYMO/SYSTEM/FE MODEL Hierarchy

In this step, you will define the MADYMO/SYSTEM/FE MODEL Hierarchy.

Since three running MADYMO models were imported, extra INERTIAL_SPACE and MADYMO_MODEL blocks were defined.
  1. Click on the Model Browser.
  2. Drag and drop truck_system and steering_system from ASSEMBLY.MADYMO and ASSEMBLY.MADYMO.1 respectively into the ASSEMBLY.MADYMO.2 folder.
  3. Right-click and select delete on ASSEMBLY.MADYMO and ASSEMBLY.MADYMO.1.

Apply a Pulse Function

In this step, you will apply a pulse function.

A pulse function is applied by reading vector data from an external file source and applying the vector to a system of bodies in the Card Editor.
  1. Read the pulse data from an external file.
    HyperMesh can read vector data from the same file formats supported by HyperGraph. HyperMesh recognizes file types based on the file’s contents and automatically selects the correct reader to import the data.
    1. Click XYPlots > Create > Plots.
    2. In the plot= field, enter acceleration_data.
    3. Click create plot to create an empty plot window.
    4. Click return to leave the Plots panel.
    5. Click XYPlots > Edit > Plots.
    6. Click on create to open the create subpanel.
    7. In the file field, click load.
    8. Browse to the /hm/interfaces/madymo directory and select the dummy_pulse.dat file.
    9. Activate the y= radio button.
    10. Click the + button next to comp= to set the y component to Column 2.
    11. Click create.
    12. Remain in the Edit Curves panel.
  2. Apply the pulse vector to the dummy.
    The pulse vector is applied by card editing the HyperMesh assembly which represents the dummy system of bodies.
    1. Right-click Hybrid_III_50th in the Model Browser and click Card Edit.
    2. Activate the LOAD.SYSTEM_ACC checkbox.
    3. Click once on the yellow AX_FUNC curve selection box.
    4. Click on the pulse curve (curve1) in the plot window.
    5. Click return to save the changes and leave the card image.

Apply Gravity

In this step, you will apply gavity using a gravity vector.

A gravity vector is applied by defining the vector in HyperMesh then applying the vector to a system of bodies in the card image.
  1. Create vector data in HyperMesh.
    1. From the XY Plots menu, click on Curve Editor....
    2. Click on New... at the bottom of the window.
    3. In the Name= field, enter gravity.
    4. Click proceed.
    5. In the Curve Editor window, select gravity on the top left corner.
    6. In the first row of the table, enter:
      • In the X column, enter 0.
      • In the Y column, enter -9.81.
    7. In the second row of the table, enter:
      • In the X column, enter 2.
      • In the Y column, enter -9.81.
    8. Select a color.
    9. Activate the Display checkbox.
    10. Set the Symbol field to Triangle.
    11. Set the Line style field to Solid, and activate the Thick line checkbox.
    12. Click Update.
    13. Click Close to close the Curve Editor.
  2. Apply the gravity vector to the dummy.
    The gravity vector is applied by card editing the HyperMesh assembly which represents the dummy system of bodies.
    1. Right-click the Hybrid_III_50th assembly in the Model Browser and click Card Edit.
    2. Click once on the yellow AZ_FUNC curve selection box.
    3. Click on the gravity curve (gravity) in the plot window.
    4. Click return to save the changes and leave the card image.

Define Contacts

In this step, you will define the Contacts using the contacts panel.

Contacts are created in the contacts panel. A MADYMO GROUP consists of a single entity LIST or multiple LIST cards. LIST and GROUP cards are defined in the HyperMesh Entity Sets panel.
  1. Create a contact entity.
    1. Click BCs > Create > Interfaces.
    2. In the name= field, enter seat_to_dummy.
    3. Click type= and select MB_MB from the pop-up list.
    4. Click create/edit to create the entity and bring up the Card Editor.
  2. Define contact attributes.
    1. In the FRIC_COEF field, enter 0.1.
    2. Click on the box under CONTACT_TYPE and select MASTER from the pop-up list.
    3. Click return to save the changes and close the Card Editor.
  3. Add master and slave surfaces.
    1. Click add to open the add subpanel.
    2. Next to the master: field, click the yellow sets entity selection box twice to bring up a list of sets.
    3. Activate the check box next to seat_gmb to make seat_gmb the master surface.
    4. Click select.
    5. Click update to the right of master: to update the master surface definition.
    6. Next to the slave: field, click the yellow sets entity selection box twice to bring up a list of sets.
    7. Activate the checkbox next to thorax_gmb and pelvis_gmb to use these as the slave surface.
    8. Click select.
    9. Click update to the right of slave: to update the slave surface definition.
    10. Repeat steps 1 through 3.i for the other contacts.

Add Seatbelts

In this step, you will create a seatbelt system using the seatbelt routing panel.

A seatbelt system can be created by scratch, or by importing and modifying an existing system. This exercise focuses on creating a seatbelt system in the seatbelt routing panel. When creating seatbelts from scratch, create a component of type BELT for each BELT_TYING or RETRACTOR point then connect the belt points in the seatbelt routing panel.
  1. Import a file.
    The seatbelt_system.xml contains a running model of a single belt system.
    1. Click File > Import > Solver Deck.
    2. In the File: field, select the seatbelt_system.xml file and click Open.
    3. Click Import to import the model.
  2. Delete existing belt elements.
    1. Press the F2 key to enter the Delete panel.
    2. Set the yellow entity selector to elements.
    3. Click elements and select by collector from the pop-up list.
    4. Activate the check boxes next to fe_shoulder_belts and fe_lap_belts and click select.
    5. Right-click on the last lap belt LINE2 element attached to the constraint in the floor (left end of pelvis) to deselect it.
    6. Click delete entity to delete the selected entities.
    7. Click return to exit the panel.
  3. Route the should belt.
    1. Enter the Seatbelt panel from the Safety panel.
    2. Click G to open the Global panel.
    3. Click component= and click fe_shoulder_belts in the component list.
    4. Click return to leave the Global panel.
    5. Select the node at the end of the BELT_SEGMENT element near the left shoulder.
    6. Select the node at the end of the higher BELT_SEGMENT element near the buckle.
    7. Click the ellipsoids entity selection button to make it active.
    8. Click the ellipsoids in the thorax.
      Alternatively click the ellipsoids button again to display the ellipsoid list, select ellipsoids by collector, and click on all the bodies in the thorax.
    9. Click orient to display the belt routing line segments.
    10. Click on one of the red end segments to activate it.
    11. While holding the left mouse button, drag the mouse up and down to adjust the location of the belt segment.
    12. Repeat steps 3.j and 3.k for the other end segment and the middle segment.
    13. Click mesh to create the mesh.
    14. Set the using size= to 0.03.
    15. Click return.
    16. Remain in the Seatbelt panel.
  4. Route the lap belt.
    1. Click G to open the Global panel.
    2. Click component= and click fe_lap_belts in the component list.
    3. Click return to close the Global panel.
    4. In the Seatbelt panel, select the node at the end of the LINE2 element near the floor constraint.
    5. Select the node at the end of the lower BELT_SEGMENT element near the buckle.
    6. Select the ellipsoids in the pelvis and abdomen.
    7. Click orient to display the belt routing line segments.
    8. Click on one of the red end segments to activate it.
    9. While holding the left mouse button, drag the mouse up and down to adjust the location of the belt segment.
    10. Repeat steps 4.h and 4.i for the other end segment and the middle segment.
    11. Click mesh to create the mesh.
    12. Set the using size= to 0.03.
    13. Click return to close the Seatbelt panel.

Equivalence Duplicate Nodes

In this step, you will equivalence duplicate nodes.

Many times it is preferred to use a duplicate node as the to or from node to define BELT_TYING. However, sometimes this feature is not preferred. Because inserting a coincident node is more difficult than equivalencing nodes, the seatbelt panel always uses a duplicate node. This training exercise does not use the duplicate node option in BELT_TYING so the duplicated nodes must be equivalenced.
  1. Replace nodes.
    1. Click O to open the Options panel.
    2. Click on the graphics subpanel.
    3. Activate the coincident picking checkbox.
    4. Click return to leave the Options panel.
    5. Press F3 to enter the Replace panel.
    6. Click a node selected as a to or from node in the Seatbelt panel.
    7. In the selection circle, select the node with the lower ID.
    8. Click on the same node location and select the other node from the coincident selection circle.
    9. Repeat steps 1.a through 1.h for the other three to and from nodes.
    10. When finished, click return to close the panel.
  2. Create a group multi-body for Contacts.
    1. Click Tolls > Create > Sets.
    2. Set the yellow entity selector to nodes.
    3. In the name= field, enter seatbelt_node_list.
    4. Click on the nodes selection box and select by collector from the pop-up list.
    5. Activate the fe_shoulder_belts and fe_lap_belts checkboxes and click select.
    6. Click create to create the entity set.
    7. Set the yellow entity selector to sets.
    8. In the name= field, enter seatbelt_group.
    9. Click on the sets selection box.
    10. Activate the seatbelt_node_list checkbox and click select.
    11. Click create to create the entity set.
    12. Click return to leave the Entity Sets panel.
  3. Define the contact.
    Applying MB_FE Contacts is very similar to applying MB_MB Contacts.
    1. Click BCs > Create > Interfaces.
    2. In the name= field, enter dummy_to_belts.
    3. Click type= and select MB_FE from the pop-up list.
    4. Click create/edit to create the contact definition and bring it up in the Card Editor.
    5. Set CONTACT_FORCE to KINEMATIC.
    6. Under FRIC_COEF., enter 0.1.
    7. Click return to save the changes and close the Card Editor.
    8. Click the add subpanel.
    9. Click the master sets selection box.
    10. Activate the Shoulders_gmb, Thorax_gmb, Abdomen_gmb, and Pelvis_gmb checkboxes and click select.
    11. Click the master update button.
    12. Click the slave sets selection box.
    13. Activate the seatbelt_group checkbox and click select.
    14. Click the slave update button.
    15. Click return to close the Contacts panel.
  4. Update the MADYMO/SYSTEM/FE Model hierarchy.
    Since three running MADYMO models were imported, extra INERTIAL_SPACE and MADYMO_MODEL blocks were defined.
    1. Click on the Model Browser.
    2. Click and drag the Vehicle folder from its ASSEMBLY.MADYMO folder to the top ASSEMBLY.MADYMO.2 folder.
    3. Click and drag slipring_seg and buckle_seg from their ASSEMBLY.MADYMO folder to the top ASSEMBLY.MADYMO.2 folder.
    4. Right-click and select delete on ASSEMBLY_MADYMO.

Export and Run the Model

In this step, you will export and run the model.

  1. Right-click on the ASSEMBLY.MADYMO.2 assembly in the Model Browser and click Card Edit.
  2. In the card image, enter 0.05 in the TIME_END field.
  3. Click return to save the changes and exit the card image.
  4. Click File > Export > Solver Deck.
  5. In the file: field, enter an .xml file name.
  6. Click Export.