OS-T: 1950 Curve to Curve Constraint
In this tutorial, you learn how to model a CVCV (curve-to-curve) joint using HyperMesh
![rd4040_rigid_body_model](../../../images/solvers/rd4040_rigid_body_model.png)
In this tutorial, a Curved Pentagon Positive Return Cam system is modeled with the help of a CVCV constraint.
Launch HyperMesh and Set the OptiStruct User Profile
-
Launch HyperMesh.
The User Profile dialog opens.
-
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
- Click .
- Select the for_cvcv_tutorial.hm file you saved to your working directory.
-
Click Open.
The for_cvcv_tutorial.hm database is loaded into the current HyperMesh session, replacing any existing data.
Set Up the Model
Create Rigid Bodies (PRBODY)
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.
- From the Analysis page, click the bodies panel.
- Select the create subpanel.
- In the body= field, enter stand.
- Click type= and select PRBODY.
- Using the props selector, select Stand1.
- Double-click nodes and select by id, then enter 2, 19392, and 19402.
- Click create.
-
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 Not required 19401 - Click return.
Create Joints
In this step you will create all of the joints needed for the model.
Joint Type | 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 |
![rd4040_joint_locations](../../../images/solvers/rd4040_joint_locations.png)
-
Create the component, joints.
-
From the menu bar, click .
The Joints panel opens.
-
Create a fixed joint between the stand and ground.
-
Create a fixed joint between the slider and the circle.
- Set joint type to fixed.
- Select node ID 19399 as the first terminal and node ID 19400 as the second terminal.
- Click create.
-
Create a revolute joint between the stand and driver.
- Set joint type to revolute.
- Select node ID 19391 as the first terminal and node ID 19392 as the second terminal.
- Set the first orientation selector to vector, then select y-axis.
- Click create.
-
Create a revolute joint between the driver and pentagon body.
- Set joint type to revolute.
- Select node ID 19395 as the first terminal and node ID 19396 as the second terminal.
- Set the first orientation selector to vector, then select y-axis.
- Click create.
-
Create a translational joint between the slider and stand.
- Set joint type to translational.
- Select node ID 2 as the first terminal and node ID 4 as the second terminal.
- Set the first orientation selector to vector, then select x-axis.
- Click create.
-
Create a CVCV joint.
Pre-defined curves will be used in order to add a CVCV joint. These curves are defined from the Analysis page, entity sets by choosing a set of nodes. The curve on the pentagon body is named main and the curve on the circle body is named secondary.
- Set joint type to cvcv.
- Select 4246 as the first terminal and 414 as the second terminal.
- For the first curve, click set= and select main.
- For second curve, click set= and select secondary.
- Click create.
- Click return to exit the panel.
Define the Motion Constraint
- From the menu bar, click to open the Constraints panel.
- Double-click nodes and select by id, then enter node id 19392.
-
Uncheck all degrees of freedom; except for dof5. In the
dof= field, enter 1.
Figure 3. Constraints Panel - Motion
- Click load types = and select MOTNG(V).
- Click create to create the constraint.
- Click return to go to the Analysis page.
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.
-
In the Model Browser, right-click and select from the context menu.
A default load collector displays in the Entity Editor.
- For Name, enter gravity.
- Click Color and select a color from the color palette.
- Set Card Image to GRAV and click Close.
-
Input the values as illustrated below.
Figure 4.
-
Create another load collector.
Create Load Steps
- In the Model Browser, right-click and select from the context menu.
- For Name, enter Dynamic.
- Set Analysis type to Multi-body dynamics.
-
Define MLOAD.
- For MLOAD, click to open Advanced Selection.
- In the dialog, select gravity and click OK.
- In Subcase Options, select .
- For MBSIM, click to open Advanced Selection.
- In the dialog, select SIM and click OK.
-
Define MOTION.
- For MOTION, click .
- In the Select Loadcol dialog, select auto1 and click OK.
Submit the Job
-
From the Analysis page, click the OptiStruct
panel.
Figure 6. Accessing the OptiStruct Panel
- Click save as.
-
In the Save As dialog, specify location to write the
OptiStruct model file and enter
for_cvcv_tutorial for filename.
For OptiStruct input decks, .fem is the recommended extension.
-
Click Save.
The input file field displays the filename and location specified in the Save As dialog.
- Set the export options toggle to all.
- Set the run options toggle to analysis.
- Set the memory options toggle to memory default.
- Click OptiStruct to launch the OptiStruct job.
- for_cvcv_tutorial.html
- HTML report of the analysis, providing a summary of the problem formulation and the analysis results.
- for_cvcv_tutorial.out
- OptiStruct output file containing specific information on the file setup, the setup of your optimization problem, estimates for the amount of RAM and disk space required for the run, information for each of the optimization iterations, and compute time information. Review this file for warnings and errors.
- for_cvcv_tutorial.h3d
- HyperView binary results file.
- for_cvcv_tutorial.res
- HyperMesh binary results file.
- for_cvcv_tutorial.stat
- Summary, providing CPU information for each step during analysis process.
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.
-
From the OptiStruct panel of the Analysis page,
click HyperView.
The path and filename 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.
The model and results are loaded in the current HyperView window.
-
Click the Contour panel toolbar icon
.
- Under Results type: select Displacement(v).
- Click Apply.
-
Start/stop the animation using the Animation Controls in the panel next to the
playback controls.
Figure 7.
-
Verify Animate Mode is set to
(Transient).
- Click the Start/Pause Animation icon to start the animation.
- With the animation running, use the bottom slider bar to adjust the speed of the animation.
- Click the Start/Pause Animation icon again to stop the animation.
-
Verify Animate Mode is set to