MV-2110: Use an NLFE Helical Spring in a Cam-Follower Mechanism
In this tutorial, you will lean how to use a pre-defined NLFE Helical Spring sub-system component in a model.
Before you begin, copy the
CamFollower_stg1.mdl and CamProfile.h3d
files, located in the
mbd_modeling\nlfe\helicalspring folder, to your
<working directory>.
![](../../../images/tutorials/mv/mv_2100_cam_follower_mechanism.png)
Figure 1.
- What Are NLFE Components in MotionView?
- 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 subsystems 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:
- Helical Spring
- Stabilizer Bar
- Belt-Pulley
- Why Use an NLFE Spring?
- 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.
Review the Model
In this step, you will review the provided cam follower model.
- Start a new MotionView session.
- Load the CamFollower_stg1.mdl file from your <working directory>.
-
Review the model.
In the Project Browser, the Model is organized using a CamFollower system, which contains the following:
- 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.
Figure 2. Browser showing the model topology -
Click the
(Run) icon. In the panel, specify the settings shown in Figure 3. Then click Run.
Figure 3.
You will use the results from this initial run to compare with the NLFE spring model results. - When the solver is finished, click Animate to visualize the animation.
Add an NLFE Helical Spring
In this step, you will replace the coil spring with an NLFE Helical spring component.
-
In the Project Browser, right-click on the
Spring and select Deactivate
from the context menu.
Figure 4.You will add the NLFE spring between the Ground Body (on top) and the Follower (at the bottom). The corresponding points you will use are Spring_top_relaxed and Spring_bottom.
Figure 5. -
In the Subsystems toolbar, click
(NLFE Helical Spring Subsystem).
Figure 6.Tip: This toolbar may not be turned on by default. From the menu bar, click View > Toolbars > MotionView and then click on the toolbar name to turn the display on/off. -
In the Add an NLFEHelicalSpring Subsystem dialog, assign
an appropriate Label and Variable.
Figure 7. -
Double-click on the parent System collector to bring up
the Model Tree. Select
CamFollower as the parent system.
Figure 8. -
Resolve the other collectors.
-
For
, select Ground Body.
Figure 9. -
For
, select Spring_top_relaxed.
Figure 10. -
For
, select Follower.
Figure 11. -
For
, select Spring_bottom.
Figure 12. -
For
, select Steel.
Figure 13.
-
For
-
Fill in the spring parameters and details for label and varnames as shown in
Table 1. Then click
OK.
Table 1. Spring Parameters Wire diameter Specify the coil spring wire diameter. 3 Spring diameter Specify the coil mean diameter: center-tocenter. 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.
Figure 14.The spring will be added between the Follower and Ground Body.
Figure 15. -
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.
Figure 16. NLFE spring topology in the browser -
Add the pre-loaded positions for the spring.
- Under the subsystem, select the NLFE Spring 0 body to open the body panel.
-
From the Connectivity tab, in the View drop-down
menu select the Loaded option.
This will show the Import Loaded Profile button, which you can use to load a .csv file containing the pre-loaded positions and gradients of the spring.
-
Click the Import Loaded Profile button.
Figure 17. NLFE Connectivity tab - Loaded View -
In the Import Loaded Points Information From File
dialog, browse to your <working directory> and
select PreLoaded_positions.csv.
Figure 18. -
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.
Figure 19. Free/Relaxed and Pre-loaded position of the spring
-
Click the
(Expansion) button to view the pre-loaded positions.
Figure 20. Pre-loaded positions and gradients imported from the .csv file -
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).
Figure 21. Changing the connection to pre-loaded position -
From the Properties tab, click Manage Materials.
The Material Properties dialog opens.
Figure 22. -
Deselect the Elastic Line check box to capture
non-linear effects due to deformation of the spring.
The Elastic Line check box is selected by default for the Steel material.
Figure 23. - Click Close to exit the Material Properties dialog.
-
Click
and save the model as CamFollower_nlfe.mdl.
Solve and Post-Process the Model
In this step, you will solve the model and plot the results.
-
Click the
(Run) panel icon.
- Specify a name for the .xml file and click on the Run button.
- After the simulation is completed, click on the Animate button to view the animation in HyperView.
-
Use the
(Start/Pause Animation) button to play the animation.
You can see coil-to-coil clash at the bottom/top set of coils:
Figure 24. Coil-to-coil contact visualization in HyperView -
Click the
(Contour panel) icon to activate the Contour panel.
-
In the panel, for Result type select NLFE Stress (t) and
for Averaging method select Simple. Then click
Apply.
Figure 25. Viewing results in HyperView
Figure 26. Contours in HyperViewNote: You can also view Displacement, Strain, etc. for an NLFE body in HyperView. All FE contours and types are available for an NLFE body.
Compare Results
Now you will compare the results from the NLFE spring and the regular spring.
-
Click
to add a new page.
-
Change the client to HyperGraph 2D
.
-
On the Page Window Layout toolbar, click
>
to split the window.
-
In the left window, click
and load the .abf file corresponding to the solver run with the original spring (created in the step Review the Model). Make the selections for the plot shown in Table 2 then click Apply.
Table 2. X Type Time Layout Use current plot Y Type Marker Displacement Y Request REQ/70000003 Follower from Ground Body(FollowerDisplacement) Y Component DY
Figure 27. Plot selections – Follower displacement -
In the right window, make the selections in Table 3 and click
Apply.
Table 3. X Type Time Layout Use current plot Y Type Marker Force Y Request REQ/70000002 Spring on Follower(ForcesOnFollower) Y Component FY
Figure 28. Plot selections – Spring force on follower: regular spring - In the left window, browse to the .abf file (created in step 4) to plot the corresponding displacement for the NLFE results.
-
In the right window, make the selections shown in Table 4 and click
Apply.
Table 4. X Type Time Layout Use current plot Y Type Marker Force Y Request REQ/70000002 Spring_toLowerBody_att on NLFE Spring0(ForcesOnFollower) Y Component FY
Figure 29. Plot selections – Spring force on follower: NLFE spring -
Apply axis labels and formatting as appropriate.
The comparison is shown in Figure 30:
Figure 30. Result comparison: Regular spring versus NLFE springUpon 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.
-
Click
and save your work in a session file named camfollower_nlfe.mvw.