MotionView User's Guide

MV-2110: Using an NLFE Helical Spring in a Cam-Follower Mechanism.

MV-2110: Using an NLFE Helical Spring in a Cam-Follower Mechanism.

Previous topic Next topic No expanding text in this topic  

MV-2110: Using an NLFE Helical Spring in a Cam-Follower Mechanism.

Previous topic Next topic JavaScript is required for expanding text JavaScript is required for the print function  

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.

mv-2110_cam_follower_example

Cam Follower Mechanism

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 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

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.

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.

mv-2110_project_browser_spring

Browser showing the model topology

4.Click on the Run Solver toolbar icon run_solver_icon_mv, 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.

mv-2110_run_solver_panel

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.

mv-2110_project_browser_context_menu_deactivating_coil_spring

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.

mv-2110_nlfe_spring_with_bodies_and_points_example

NLFE spring interface bodies and points

3.Add an NLFE Helical Spring Subsystem by clicking the NLFE Helical Spring Subsystem icon nlfe_helical_spring_subsystem_icon in the Subsystems toolbar as shown:

mv-2110_nlfe_helical_spring_subsystem_toolbar

NoteThis 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.

mv-2110_add_an_nlfehelicalspring_subsystem_dialog

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.

mv-2110_slct_sys_or_assmbly_or_analysis_dialog_cam

Resolving the parent System

6.Resolve the other collectors for attachments as shown below:
-Body 1: Resolve to Ground Body.

mv-2110_select_a_body_dialog

-Point 1: Resolve to Spring_top_relaxed.

mv-2110_select_a_point_dialog_spring_top

-Body 2: Resolve to Follower.

mv-2110_select_a_body_dialog_follower

-Point 2: Resolve to Spring_bottom.

mv-2110_select_a_point_dialog_spring_bottom

-MaterialProperty: Select Steel.

mv-2110_select_a_materialproperty_dialog_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

NoteThese 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

mv-2110_add_an_nlfehelicalspring_subsystem_dialog_complete

Completed dialog

8.The spring will be added between the Follower and Ground Body.

mv-2110_spring_added_to_follower_example

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.

mv-2110_nlfe_spring_topology_in_browser

NLFE spring topology in the browser

10.Next, the pre-loaded positions for the spring will be added.  To do this,
-Select the entityMultibodies-16 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.

mv-2110_nlfe_spring_body_panel_connectivity_tab_loaded

NLFE Connectivity tab - Loaded View

-Browse the file PreLoaded_positions.csv from the working directory and click OK to import the loaded positions.

mv-2110_import_loaded_point_info_from_file_dialog

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.

NoteRefer to the Appendix in the NLFE Body Panel – Connectivity Tab topic to learn how you can generate a preloaded position CSV file.

mv-2110_spring_free_and_preload_example

Free/Relaxed and Pre-loaded position of the spring

11.The pre-loaded positions can be viewed using the expansion button expansion_button in the panel.

mv-2110_preload_positions_expansion

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).

mv-2110_joint_panel_spring_changing_to_preload

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 run_solver_icon_mv 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 animationStart-24 to play the animation.
5.Coil-to-coil clash can be viewed at the bottom/top set of coils.

mv-2110_coil_to_coil_examples

Coil-to-coil contact visualization in HyperView

6.Click the Contour icon resultsContour-24 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.

mv-2110_hv_contour_panel

Viewing results in HyperView

mv-2110_hv_contour_plot_example

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, pageNew-24 , to add a new page.
2.Change the client to HyperGraph 2D clientHyperGraph-24.
3.Split the window into two using the Page Window Layout button pageLayout2Vertical-24 on the toolbar.
4.In the left window openfile_small 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

mv-2110_hg_build_plots_panel_follower_displacement

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

mv-2110_hg_build_plots_panel_regular_spring

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

mv-2110_hg_build_plots_panel_nlfe_spring

Plot selections – Spring force on follower: NLFE spring

8.Apply axis labels and formatting as appropriate.  The comparison is shown below:

mv-2110_hg_reg_spring_vs_nlfe_spring_example

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.