In this tutorial, you learn how to:
• | Model a CVCV (curve-to-curve) joint using HyperMesh 2017 |
A CVCV (curve-to-curve) joint is a higher pair constraint. The constraint consists of a planar curve on one body rolling and sliding on a planar curve on a second body. The curves are required to be co-planar. This constraint can act as a substitute to contact modeling in many cases where the contact occurs in a plane. One such case is the Curved Pentagon Positive Return Cam system in which the curved pentagon rolls inside the circle and translates the slider. Instead of modeling the contact between the pentagon and the circle, a CVCV constraint between their profiles will be specified.
Rigid body model
In this tutorial, a Curved Pentagon Positive Return Cam system with the help of a CVCV constraint is modeled.
Exercise
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 Model browser window opens. |
4. | Select the for_cvcv_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 should be used to create bodies and joints for the MBD model. |
Step 2: Creating PRBodies
There will be five bodies apart from the ground body in the 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.
Define the parts as PRBODY (Rigid Body definition)
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 below type= and select Stand1. |
6. | Click free nodes and select by id option and enter 2, 19392, and 19402. |
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, 19398, 19400
|
Driver
|
PRBODY
|
Driver3
|
19391, 19395
|
Pentagon
|
PRBODY
|
Pentagon4
|
19396
|
Circle
|
PRBODY
|
Circle5
|
19397, 19399
|
Ground
|
GROUND
|
-
|
19401
|
Note: | To define the ground body the selection of props is not required. |
|
Creating Joints (Steps 3 - 5)
Here, you will define all the necessary joints including the CVCV joint. Five joints for the model are needed. The first joint is the fixed joint between the stand and ground body. The second joint is a revolute joint between the stand and driver, the third joint is the translational joint that connects the slider to the stand, the fourth joint is the revolute joint between the driver and the pentagon, and the fifth joint is the fixed joint between the slider and the 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. |
A new component named joints is created.
In this 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
rotational dof
|
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: selection switch and select fixed. |
3. | Select node ID 19401 as the first terminal. |
4. | Select node ID 19402 as the second terminal. |
Note: | Nodes 19401 and 19402 are coincident. Coincident node picking is in options panel > graphics subpanel in HyperMesh will help select these coincident nodes in the HyperMesh screen. |
|
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. |
To create the revolute joints between (stand-driver and driver-pentagon) in the model, 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 select y-axis for the first orientation. |
13. | Click create to create the joint. |
14. | Select the node ID 19395 as the first terminal. |
15. | Select the node ID 19396 as the second terminal. |
16. | Select the vector option and select y-axis for the first orientation. |
17. | Click create to create the joint. |
To create the translational joint between (slider-stand) in the model, refer to the image below and follow the steps.
Defining a translational joint
18. | Click the joint type: selector switch, and select translational. |
19. | Select the node ID 2 as the first terminal. |
20. | Select the node ID 4 as the second terminal. |
21. | Select the vector option and select x-axis for the first orientation. |
22. | Click create to create the joint. |
Step 5: Defining a CVCV joint
Pre-defined curves will be used in order to add a CVCV joint.
Note: | These curves are defined from the Analysis page, entity sets by choosing a set of nodes. The curve on the pentagon body is named master and the curve on the circle body is named slave. |
|
1. | Click the joint type: selector switch and select cvcv. |
2. | Select the node ID 4246 as the first terminal. |
3. | Select the node ID 414 as the second terminal. |
4. | Click on set = for the first curve, select master. |
5. | Click on set = for the second curve, select slave. |
Joints panel – CVCV joint
7. | Click return to exit the panel. |
Defining External Inputs and Simulation Parameters (Steps 6 - 8)
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 twice and select the option by id and enter node id 19392. |
3. | Check the field next to dof5 and enter a value of 1.0 (refer to 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. |
Note: | You can find a new load collector (auto1) added to the model after completing this step. The motion is assigned to this load collector and will be used to reference in the OptiStruct subcase. |
|
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. |
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, select SIM from the list of load collectors and click OK. |
7. | For MOTION, 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_cvcv_tutorial.fem, in the File name: field. The .fem filename extension is the suggested extension for OptiStruct input decks. |
The name and location of the for_cvcv_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 shell (DOS or UNIX) which appears. |
The default files written to the directory are:
for_cvcv_tutorial.html
|
HTML report of the analysis, giving a summary of the problem formulation and the results from the final iteration.
|
for_cvcv_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_cvcv_tutorial.log
|
Log file containing the information on the joints and markers, simulation etc., which are specific to MBD analysis.
|
for_cvcv_tutorial.xml
|
Model file in .xml format – solver intermediate input deck.
|
for_cvcv_tutorial.h3d
|
Binary results file.
|
for_cvcv_tutorial.mrf
|
Binary results file for plotting.
|
for_cvcv_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 is a complete post-processing and visualization environment for finite element analysis (FEA), multi-body system simulation, video and engineering data.
View the animation
1. | While in the OptiStruct panel of the Analysis page, click HyperView. |
Note: | That the path and file name for for_cvcv_tutorial.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. |
|
2. | Click the Contour panel toolbar icon . |
3. | For Results type:, select Displacement(v). |
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:
OptiStruct Tutorials