In this tutorial, you learn how to:
• | Model Contacts using HyperMesh 2017 |
Contact constraints are very common in the mechanisms/general machinery domain. MotionSolve uses the penalty-based Poisson contact force model for calculating the magnitude and direction of the contact and friction forces. For more information on this, refer to the MotionSolve help.
The Curved Pentagon Positive Return Cam system is used to define the contacts. In this system the curved pentagon rolls inside the circle and translates the slider.
Rigid body model
Step 1: Retrieve the structural model and define the OptiStruct template
1. | Launch HyperMesh Desktop. |
2. | Select OptiStruct in the User Profiles dialog and click OK. |
3. | Click File > Open > Model. An Open file browser window opens. |
4. | Select the for_contact_tutorial.hm file you saved to your working directory from the optistruct.zip file. Refer to Accessing the Model Files. |
5. | Click Open. The model has five components and a few free nodes that will be used to create bodies and joints for the MBD model. |
Step 2: Creating PRBodies
PRBODY is the Rigid Body Definition for Multi-body Simulation. PRBODY defines a rigid body out of a list of finite element properties, elements and grid points.
There will be five bodies apart from the ground body in our model via: the stand, the slider, the driver, the pentagon and the circle. Pre-defined free nodes will be used to define the bodies and joints.
1. | From the Analysis page, enter the bodies panel. |
2. | Select the create subpanel using the radio buttons on the left-hand side of the panel. |
3. | Click body= and enter stand. |
4. | Click type= and select PRBODY. |
5. | Click props and select Stand1. |
6. | Click props and select by id option and enter 2, 19391, and 19402. |
7. | Click create. |
8. | Use the table to repeat the above operation to define PRBODY for the remaining components. |
body= |
type= |
props |
free nodes |
---|---|---|---|
Slider |
PRBODY |
Slider2 |
4, 19399 |
Driver |
PRBODY |
Driver3 |
19392, 19395 |
Pentagon |
PRBODY |
Pentagon4 |
4246, 19396 |
Circle |
PRBODY |
Circle5 |
414, 19400 |
Ground |
GROUND |
- |
19401 |
|
9. | Click return. |
Here, all the necessary joints required for this model will be defined. Five joints for the model are required, as shown in the table below.
Type of Joint |
Body 1 |
Body 2 |
---|---|---|
Fixed |
Stand |
Ground |
Revolute |
Stand |
Driver |
Translational |
Stand |
Slider |
Revolute |
Driver |
Pentagon |
Fixed |
Slider |
Circle |
Step 3: Create the component for the joints
1. | In the Model browser, right-click and select Create > Component. |
2. | For Name, enter joints. |
3. | Click Color and select any color. |
In this tutorial step, two revolute joints, two fixed joints, and one translational joint are created to constrain the degrees of freedom (shown in the following figure), such that the remaining degree of freedom will be just 2.
DOF = 5*6 – (5+5+6+6+5+1) = 2
Type of Joint |
Removes translational dof |
Removes |
Removes total number of dof |
---|---|---|---|
Revolute |
3 |
2 |
5 |
Fixed |
3 |
3 |
6 |
Translational |
2 |
3 |
5 |
Motion (rev) |
3 |
2 |
1 |
Joint locations in the model
Step 4: Create the joints
1. | Click Mesh > Create > 1D Elements > Joints to open the Joints panel. |
First, the fixed joint between the stand and ground will be created.
2. | Click the joint type: selector switch and select fixed. |
3. | Select node ID 19401 as the first terminal. |
4. | Select node ID 19402 as the second terminal. |
|
5. | Click create. |
Next the fixed joint between the slider and the circle is created.
6. | Select node ID 19399 as the first terminal. |
7. | Select node ID 19400 as the second terminal. |
8. | Click create. |
To create the revolute joints in the model (b/w stand-driver and driver-pentagon bodies), refer to the image below and follow the steps.
Defining a revolute joint
9. | Click the joint type: selector switch and select revolute. |
10. | Select the node ID 19391 as the first terminal. |
11. | Select the node ID 19392 as the second terminal. |
12. | Select the vector option and for the first orientation, select y-axis. |
13. | Click create. |
14. | Click the joint type: selector switch and select revolute. |
15. | Select the node ID 19395 as the first terminal. |
16. | Select the node ID 19396 as the second terminal. |
17. | Select the vector option and for the first orientation, select y-axis. |
18. | Click create. To create the translational joint in the model (b/w slider-stand), refer to the image below and follow the steps. |
Defining a translational joint
19. | Click the joint type: selector switch and select translational. |
20. | Select the node ID 2 as the first terminal. |
21. | Select the node ID 4 as the second terminal. |
22. | Select the vector option and for the first orientation, select x-axis. |
23. | Click create. |
24. | Click return to exit the panel. |
Step 5: Defining a Contact in the model
Use pre-defined element sets to add a Contact to the model.
|
1. | From the Analysis page, enter the interfaces panel. |
2. | Click the create radio button. |
3. | Click name= and enter Contact. |
4. | Click type= and select MBCNTR. |
5. | Click create. |
6. | Click the add radio button. |
7. | Select sets option for both master: and slave:. |
8. | Click on the sets for the master: and select the entity set named mas and click update. |
9. | Click on the sets for the slave: select the entity set named Sla, and click update. |
Interfaces panel – contact
10. | Click the card image radio button and click edit. |
11. | Select POISSON for CNFTYPE and enter the values, as shown in the image below: |
12. | Click return twice to close the Interface panel. |
The motion which drives the mechanism, the gravity force that applies to the model and MBSIM bulk data card, which is to specify the parameter for multi body simulation, will be created in this step.
Step 6: Define the motion constraint
1. | Click BCs > Create > Constraints to open the Constraints panel. |
2. | Click nodes and select the option by id and enter node id 19392. |
3. | Uncheck all fields; except for dof5 and enter a value of 1 (refer to the image below). |
Constraints panel - motion
4. | Click load types = and select MOTNG(V). |
5. | Click create to create the constraint. |
6. | Click return to go to the Analysis page. |
|
Step 7: Create the gravity force
1. | In the Model browser, right-click and select Create > Load Collector. |
2. | For Name, enter gravity. |
3. | Click Color and select any color. |
4. | For Card Image, select GRAV. |
5. | Input the values, as illustrated below. |
A new load collector, gravity is created.
Step 8: Create an MBSIM card
1. | In the Model browser, right-click and select Create > Load Collector. |
2. | For Name, enter SIM. |
3. | Click Color and select any color. |
4. | For Card Image, select MBSIM. |
5. | Input the values, as illustrated below. |
Step 9: Create an OptiStruct subcase
1. | Click Setup > Create > LoadSteps to open the LoadSteps panel. |
2. | Set the Analysis type to Multi-body dynamics. |
3. | For Name, enter Dynamic. |
4. | For MLOAD, click Unspecified > Loadcol. |
5. | In the Select Loadcol dialog, select Gravity from the list of load collectors and click OK. |
6. | For MBSIM, click Unspecified > Loadcol. |
7. | In the Select Loadcol dialog, select SIM from the list of load collectors and click OK. |
8. | For MOTION, click Unspecified > Loadcol. |
9. | In the Select Loadcol dialog, select auto1 from the list of load collectors and click OK. |
Step 10: Submit the job
1. | From the Analysis page, enter the OptiStruct panel. |
2. | Click save as following the input file: field. A Save As browser window opens. |
3. | Select the directory where you would like to write the OptiStruct model file and enter the name for the model, for_contact_tutorial.fem, in the File name: field. The .fem filename extension is the suggested extension for OptiStruct input decks. |
4. | Click Save. |
The name and location of the for_contact_tutorial.fem file displays in the input file: field.
5. | Set the memory options: toggle to memory default. |
6. | Set the run options: toggle to analysis. |
7. | Set the export options: toggle to all. |
8. | Click OptiStruct. This launches an OptiStruct run in a separate command prompt (DOS or UNIX). |
The default files written to the directory are:
for_contact_tutorial.html |
HTML report of the analysis, giving a summary of the problem formulation and the results from the final iteration. |
for_contact_tutorial.out |
OptiStruct output file containing specific information on the file set up, estimates for the amount of RAM and disk space required for the run, and compute time information. Review this file for warnings and errors. |
for_contact_tutorial.log |
Log file containing the information on the joints and markers, simulation etc., which are specific to MBD analysis. |
for_contact_tutorial.xml |
Model file in .xml format – solver intermediate input deck. |
for_contact_tutorial.h3d |
Binary results file. |
for_contact_tutorial.mrf |
Binary results file for plotting. |
for_contact_tutorial.stat |
Summary of analysis process, providing CPU information for each step during analysis process. |
|
Step 11: View the Results in HyperView
This step describes how to view the results in HyperView which will be launched from within the OptiStruct panel of HyperMesh.
HyperView provides 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. |
|
2. | Click the Contour panel toolbar icon . |
3. | For Results type:, select Displacement(v). |
4. | Click Apply. |
5. | Verify that the Animate Mode is set to Transient . |
6. | Click the Start/Pause Animation icon to start the animation. |
7. | The Animation Controls are in the panel next to the playback controls. |
The HyperView playback controls
8. | With the animation running, use the bottom slider bar to adjust the speed of the animation. |
9. | Click the Start/Pause Animation icon again to stop the animation. |
See Also: