MV-2110: Using an NLFE Helical Spring in a Cam-Follower Mechanism. |
|||||
MV-2110: Using an NLFE Helical Spring in a Cam-Follower Mechanism. |
In this tutorial, you will learn the following:
• | Using a pre-defined NLFE Helical Spring sub-system component in a model. |
This will be demonstrated by replacing the traditional coil spring in a Cam follower mechanism.
Cam Follower Mechanism
You can add NLFE bodies in MotionView version 14.0 (onwards) using the traditional Body icon in toolbars or through the browser. In addition to this, ready-to-use sub-systems or Components have been provided. These are components (MotionView system definition) that can be added to the model using very few user inputs such as, for example for a Helical Spring: wire diameter, coil diameter, material properties, number of coils, etc. MotionView will automatically create the building block entities (such as points, bodies, and joints) and standard outputs needed to represent such a subsystem.
The following components are made available:
1. | Helical Spring |
2. | Stabilizer Bar |
3. | Belt-Pulley |
An NLFE sub-system offers the following advantages:
• | The spring component is added as a body, which means the mass and inertia of the spring is included in the model. |
• | The dynamics induced by the mass of the spring can be modeled and simulated (for example, surge in springs). |
• | If the deformations in the model are likely to go beyond the linear assumptions, NLFE will account for it. |
• | Stress strain and deformation contours can be visualized. |
• | Coil-to-coil clash is modeled automatically. |
Exercise
Copy the CamFollower_stg1.mdl and CamProfile.h3d files, located in the mbd_modeling\nlfe\helicalspring folder, to your <working directory>.
Step 1: Reviewing the Model.
1. | Start a new MotionView session. |
2. | Load the CamFollower_stg1.mdl file from your working directory. |
3. | Review the model. From the Project Browser the following can be seen - the Model is organized using a CamFollower system which contains: |
• | A Cam, Follower, Joints, Graphics, and a Spring which make the complete topology. |
• | The spring with a pre-load is acting between the Follower and Ground Body. |
Browser showing the model topology
4. | Click on the Run Solver toolbar icon , and Run the model with the settings as shown in the Run panel image below. This will be the initial run which will be used to compare the results with the NLFE spring model. |
5. | Click Animate to visualize the animation. |
The coil spring will now be replaced with an NLFE Helical Spring component in the next section.
Step 2: Adding an NLFE Helical Spring.
1. | Deactivate the Coil spring in the model by right-clicking on the Spring and selecting the Deactivate option from the context menu. |
2. | An NLFE spring will be added between Ground Body on the top and Follower at the bottom. The corresponding points that will be used are: Spring_top_relaxed and Spring_bottom. |
NLFE spring interface bodies and points
3. | Add an NLFE Helical Spring Subsystem by clicking the NLFE Helical Spring Subsystem icon in the Subsystems toolbar as shown: |
Note | This toolbar may not be turned on by default. From the View menu, select Toolbars > MotionView and then click on the toolbar name to turn the display on/off. |
The Add an NLFEHelicalSpring Subsystem dialog is displayed.
Add an NLFEHelicalSpring Subsystem dialog
4. | Assign an appropriate Label and Variable. |
5. | Double click on the parent System collector to bring up the model tree. Select CamFollower as the parent system. |
Resolving the parent System
6. | Resolve the other collectors for attachments as shown below: |
- | Body 1: Resolve to Ground Body. |
- | Point 1: Resolve to Spring_top_relaxed. |
- | Body 2: Resolve to Follower. |
- | Point 2: Resolve to Spring_bottom. |
- | MaterialProperty: Select Steel. |
7. | Fill in the spring parameters and details for label and varnames as shown below and click on OK in the dialog. |
Spring parameters |
||
Wire diameter |
Specify the coil spring wire diameter. |
3 |
Spring diameter |
Specify the coil mean diameter: center-to-center. |
20 |
Num. of inactive coils |
Specify the inactive/dead coils at each end. |
1 |
Num. of active coils |
Specify the active coils which contribute to spring stiffness. |
7 |
Additional parameters |
||
Number of elements per coils |
Specify the element density per coil. |
10 |
Variable |
Specify varname prefix for the spring profile points created. |
p_spr_ |
Label |
Specify label prefix for the spring profile points created. |
Point Spring |
Note | These parameters have been chosen for the following reasons: |
• | The stiffness of the coil spring being replaced is: 14.6 N/mm. |
• | The equation for the coil spring stiffness: G.d4/[8.n.D3] (Where: G = Modulus of rigidity; d = Wire dia.; n = No. of active coils; D = Spring mean diameter). |
• | Substituting the values from the table above in the equation and using Steel with 80769 N/mm2 for material: |
Spring stiffness k = 80769x34/[8x7x203] = 14.6 N/mm
Completed dialog
8. | The spring will be added between the Follower and Ground Body. |
The spring overshoots the upper plate as shown above. This is because the spring has been created with no pre-load on it.
9. | Review the NLFE Spring systems added. The following entities are available in the System: |
• | An NLFE Spring. |
• | DataSet with spring parameters that were used to create the spring. |
• | Fixed joints connecting the spring to the suspension. |
• | Markers for reference. |
• | Points that define the spring profile. |
• | Template with unsupported elements. These are automatically created and include elements that define coil-to-coil contacts. |
NLFE spring topology in the browser
10. | Next, the pre-loaded positions for the spring will be added. To do this, |
- | Select the NLFE Spring 0 body under the subsystem. |
- | Go to the Connectivity tab. In this tab there is a View drop-down menu with two options available: No Load and Loaded. The No Load view shows the unloaded positions of the spring. |
- | Select the Loaded option. In this view the Import Loaded Profile button can be used to browse a .csv file containing the pre-loaded positions and gradients of the spring. |
- | Click on the Import Loaded Profile button to invoke the Import Loaded Points Information From File dialog. |
NLFE Connectivity tab - Loaded View
- | Browse the file PreLoaded_positions.csv from the working directory and click OK to import the loaded positions. |
The spring will be displayed in wireframe and solid. The one in wireframe is the No Load position (free/relaxed configuration) and the solid representation is that of pre-loaded spring.
Note | Refer to the Appendix in the NLFE Body Panel – Connectivity Tab topic to learn how you can generate a preloaded position CSV file. |
Free/Relaxed and Pre-loaded position of the spring
11. | The pre-loaded positions can be viewed using the expansion button in the panel. |
Pre-loaded positions and gradients imported from the .csv file
12. | The fixed joints created by the NLFEHelicalSpring Component utility will be at the free positions. You need to move one of these to the pre-loaded positions. Inspecting the spring positions reveals that the spring is compressed at the top while the bottom position is the same in both the configurations. |
13. | Change the origin point of the joint Spring_toUpperBody_att in the NLFE Helical Spring 0 system from Spring_top_relaxed to Spring_top (in the parent CamFollower system). |
Changing the connection to pre-loaded position
14. | Save the model as CamFollower_nlfe_spring.mdl. |
Step 3: Solving the Model and Post-processing.
The model is now complete and can be solved in MotionSolve.
1. | To solve the model, invoke the Run panel using the Run Solver button in the toolbar. |
2. | Assign a name for the .xml file and click on the Run button. |
3. | After the simulation is completed, click on the Animate button to view the animation in HyperView. |
4. | Use the Start/Pause Animation button to play the animation. |
5. | Coil-to-coil clash can be viewed at the bottom/top set of coils. |
Coil-to-coil contact visualization in HyperView
6. | Click the Contour icon on the toolbar to activate the Contour panel. |
7. | Under Result type: select NLFE Stress (t), Averaging method: Simple, and click Apply to view stress contours. |
Viewing results in HyperView
Contours in HyperView
Similarly, you can view Displacement, Strain, etc. for an NLFE body in HyperView. All FE contours and types are available for an NLFE body.
Step 4: Comparing Results.
Now we will compare the results from NLFE spring and the regular spring (generated in Step 1) against each other.
1. | Use the Add Page button, , to add a new page. |
2. | Change the client to HyperGraph 2D . |
3. | Split the window into two using the Page Window Layout button on the toolbar. |
4. | In the left window open the .abf file corresponding to the solver run with the original spring (created in Step 1), make the selections shown below and click Apply. |
X Type |
Time |
Layout |
Use current plot |
Y Type |
Marker Displacement |
Y Request |
REQ/70000003 FollowerDisplacement- (on Follower) |
Y Component |
DY |
Plot selections – Follower displacement
5. | Select the right window, make the following selections and click Apply. |
X Type |
Time |
Layout |
Use current plot |
Y Type |
Marker Force |
Y Request |
REQ/70000002 Spring(ForcesOnFollower) |
Y Component |
FY |
Plot selections – Spring force on follower: regular spring
6. | Select the left window, browse to the .abf file of NLFE results and plot the corresponding displacement. |
7. | Select the right window, make selections as shown below and click Apply. |
X Type |
Time |
Layout |
Use current plot |
Y Type |
Marker Force |
Y Request |
REQ/70000002 Spring_toLowerBody_att(ForcesOnFollower) |
Y Component |
FY |
Plot selections – Spring force on follower: NLFE spring
8. | Apply axis labels and formatting as appropriate. The comparison is shown below: |
Result comparison: Regular spring versus NLFE spring
Upon closer inspection there are some differences in the results, especially in the Spring Forces. These could be attributed to the following reasons:
• | NLFE spring has mass and inertias associated with it as it is represented as a body. A regular spring is a force entity without any mass/inertias. |
• | The difference in force outputs is particularly seen when the spring displacement is high. This is the point where the coil-to-coil contact happens. During this event, the effective number of coils reduces, thus increasing the spring stiffness marginally and hence the force outputs. |
9. | Save your work in a session file named camfollower_nlfe.mvw. |