MotionView User's Guide

MV-2100: Introduction to Non-Linear Finite Element (NLFE) Analysis in MotionSolve

MV-2100: Introduction to Non-Linear Finite Element (NLFE) Analysis in MotionSolve

Previous topic Next topic No expanding text in this topic  

MV-2100: Introduction to Non-Linear Finite Element (NLFE) Analysis in MotionSolve

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:

A brief introduction to Non-Linear Finite Element formulation used in MotionSolve.
Modeling NLFE bodies in MotionView.

Introduction

Starting in version 14.0, MotionSolve introduced a new form of flexible body referred as Non Linear Finite Elements (NLFE).  Unlike the conventional flexible body, where the body is represented in a modal form, NLFE is modeled in a direct Finite Element form.

NLFE Formulation

MotionSolve uses Absolute Nodal Coordinate Formulation (ANCF) to model large displacement and large deformation (NLFE) bodies. The absolute nodal coordinate formulation[1] is developed based on finite element formulation and is designed for large deformation multibody analysis. In the absolute nodal coordinate formulation, slopes and displacements are used as the nodal coordinates instead of infinitesimal or finite rotations.

ANCF uses the shape function matrix, together with the nodal coordinates to describe arbitrary rigid body motion. For these reasons, the absolute nodal coordinate formulation leads to a constant mass matrix in two- and three-dimensional cases. The constant mass matrix simplifies the nonlinear equations of motion and, consequently, accelerates the time integration of the nonlinear equations of motion.

Below is a standard beam model[2] described in 2D plane using ANCF.

mv-2100_euler_bernoulli_beam_element_diagram

Euler–Bernoulli beam element

Displacement field, y(x) = s1(x)y0+ s2(x)y’0 +s3(x)y1+ s4(x)y’1

Where,

s1 to s4 are shape functions of beam.

x0, y0, x1, and y1 are nodal coordinates of 2 grids.

y’0 and y’1 are slope coordinates (gradients) at 2 grids.

The absolute nodal coordinate formulation has been applied to a wide variety of challenging nonlinear dynamics problems that include belt drives, rotor blades, elastic cables, leaf springs, and tires.

Non-linear finite element capabilities of MotionSolve

All type of linear and non-linear elasticity is supported i.e. Isotropic, Orthotropic, Anisotropic and Hyper elasticity.
Geometric stiffening induced due to elastic forces.

 

Modeling non-linear behavior above the elasticity limit (like plastic deformation, strain hardening, fracture etc.) is not supported. In the current version, MotionView supports modeling of 1D line elements only (Beam and Cable elements).  Beam elements can have 18 types of cross-sections and the dimensions of the cross-section can be changed linearly in the axial direction. Beam elements can resist axial, shear, torsion and bending loads.  The Cable element maintains a constant cross-section, thus it can resist only axial and bending loads.

This tutorial has two exercises:

1.Cantilever beam bending.
2.Uniaxial tension of rubber.

Exercise 1

In this exercise, you will model a 1m long cantilever beam with a cross-section dimension of 110mmx14mm to perform a bending test and compare it with an analytical solution.

Copy the centerline.csv file, located in the mbd_modeling\nlfe\intro folder, to your <working directory>.

mv-2100_cantilever_beam_end_load

Cantilever beam under end load condition

Step 1: Modeling a Beam with Linear Elastic Material.

1.Start a new MotionView session.
2.Right-click on the Body icon in the Model-Reference toolbar.

The Add Body or BodyPair dialog is displayed.

3.Specify the label as Cantilever Beam.
4.Specify the variable name as nlfeb_cantilever.
5.Select NLFE Body from the drop-down menu.

mv-2100_add_body_bodypair_dialog

6.Click OK to close the dialog.

The NLFE Body is displayed with the Properties tab active.

The following table lists the various tabs available in the NLFE Body panel:

Tab name

Sets NLFEBody

Properties

Type (Beam/Cable), Cross-section, and material properties

Connectivity

Center line data or body profile

Orientation

Start and End orientations

Mass Properties

Displayed for information only

Initial conditions

Initial velocities

7.From the Properties tab, define the properties as listed below:
-Type: Beam
-Cross section: Bar
-dim1: 14.0
-dim2: 110.0

The panel also displays the image of the cross-section indicating what the different dimensions (dim1 and dim2) refer to.

NoteThe Properties tab has two sub-tabs called Start and End.  These sub-tabs are used to set the dimensions at two different ends of the beam.  By default, the End dimensions are parametrically equated to the Start dimensions.  If a different set of dimensions are provided at the start and end, the cross section varies linearly along the length of the beam.
8.Click on the End sub-tab and review dim1 and dim2.

mv-2100_nlfe_body_panel_prop_tab_end_tab_beam_bar

9.Click on the Manage Materials button located in the upper right corner of the Properties tab.

mv-2100_nfle_body_panel_beam_bar_material_prop_button

The Material Properties dialog is displayed.

material_properties_dialog_lrge_def_bodies_mv

Note        The Material Properties dialog can also be accessed from the Model menu.

MotionView provides a list of commonly used Linear Elastic, as well as Hyper Elastic material by default.

10.Select Steel from the Material list.
11.Review the property values and notice that the Elastic line check box for Approach is selected.
12.Click Close to close the dialog.

The default standard materials provided are defined with the Elastic Line option checked on.  Materials without the Elastic Line are solved using the continuous mechanics approach, where in the cross-section deformation is taken into consideration.  The Elastic Line approach ignores cross-section deformation effects, which gives results closer to an analytical solution.

13.From the Connectivity tab, define the beam centerline by importing point data from a CSV file.  Click on the Import Points button located in upper right corner.

mv-2100_nlfe_body_panel_conn_tab_import_points_button

The Import Points From Coordinates In File dialog appears.

14.Browse and select the centerline.csv file from your working directory.

mv-2100_import_points_frm_coord_in_file_dialog

15.Click OK to import the points.

The .csv file must be in the following format:  the first column must hold the X-coordinates, the second column the Y-coordinates, and the third column the Z-coordinates.  There can also be a header row that begins with a # indicating a commented line.

mv-2100_csv_file_format_example

16.Fit the model (by hitting 'F' on the the keyboard) to view the NLFE Body that was created.

mv-2100_fit_model_in_graphics_area_example

17.Click on the Orientation tab to review the Start and End orientations.

mv-2100_nlfe_body_panel_orientation_tab_start_subtab

mv-2100_nlfe_body_panel_orientation_tab_end_subtab

NoteThe Orientation tab is used to set the cross section orientation (YZ plane of the beam).  Use the XY Plane or XZ Plane option to position the Y or the Z-axis (the remaining axis will be positioned so that it is orthonormal to the remaining two axes).

Use the default orientation for this exercise.

Intermediate Beam elements orientation is linearly varied from Start orientation to End orientation.  The Orientation option is useful in defining twist along the beam length.

 

18.Click on Mass Properties tab to review the calculated values.

mv-2100_nlfe_body_panel_mass_properties_tab

19.Click on Initial Conditions tab to review the NLFEBody initial velocities.

mv-2100_nlfe_body_panel_initial_conditions_tab

Leave initial velocities equal to zero.

 

Step 2: Adding a constraint and force.

1.Create a Fixed joint at the beam origin point (Point_1) as specified in the table below:

S.No

Label

Variable name

Type

Body 1

Body 2

Origin(s)

Orientation Method

Reference 1

Reference 2

1

Fix Joint

j_fix

Fixed Joint

Cantilever Beam

Ground Body

Point_1

 

 

 

 

 

NoteEach grid on an NLFE body has 12 DOFs:  3 translational, 3 rotational, and 6 related to the length and angle between the gradient vectors.  Using a fixed joint constrains the positions of the grid and the rigid body rotations. However, the gradients at the grid are free.  This means that the cross-section at the fixed joint can twist about the grid and also deform based on Poisson’s ratio.  To arrest these DOFs, an NLFE element called “CONN0” can be used.

There is no graphical user interface support for creating this constraint.  By default, MotionView creates a CONN0 element at all of those grids of the NLFE body through which it is attached to a constraint/force entity.

2.Create a load at the cantilever beam end point (Point_11) as specified in the table below:

S.No

Label

Variable name

Force

Properties

Action force on

Apply force at

Ref. Marker

1

Load

frc_load

Action only

Scalar Force along Z axis of Ref Frame

Cantilever Beam

Point_11

Global Frame

 

 

3.From the Trans Properties tab, specify the expression for force as ` -1000*time`.

mv-2100_force_panel_trans_properties_tab

NoteNegative value is specified to apply load along negative Z-axis direction.

mv-2100_cantilever_beam_end_load_example

Cantilever beam with end load

4.Turn off gravity to eliminate deflection due to beam self-weight.

mv-2100_project_browser_solver_gravity_datatset

mv-2100_gravity_dataset_panel

Step 3: Creating outputs to measure cantilever beam end deflection.

Cantilever beam end deflection from linear-elasticity theory.

Deflection for load applied at end = mv-2100_deflection_load_applied_at_end_equation

Where,

mv-2100_load_equation = Load (N)

mv-2100_beam_length_equation = Beam length = 1000mm

mv-2100_youngs_modulus_equation = Youngs Modulus = 2.1e+05 N/mm2

mv-2100_2nd_moment_of_area_equation = Second Moment of Area = mv-2100_2nd_moment_of_area_fraction1_equation = 114 * mv-2100_2nd_moment_of_area_fraction2_equation = 25153.33mm4

1.Add an Output entityOutputs-24 of the Type Expressions with the following:
-For Label, enter Deflection - Analytical (F2), NLFE(F3).
-For F2, enter `-1*SFORCE({frc_load.idstring},0,1,0)*1000^3/(3*2.1e5*25153.33333)`.
-For F3, enter `{frc_load.DZ}`.

mv-2100_output_panel_expression

2.Click on Check Model check_model_icon_mv to verify the model.
3.Add an output request Load to measure the magnitude of the applied Load.

mv-2100_output_panel_load

4.Save fileSaveModel-24 your model as nlfe_cantilever.mdl.

Step 4: Solving the model and post-processing.

The model is now complete and can be solved in MotionSolve.

1.Invoke the Run panel by clicking on the Run Solver button run_solver_icon_mv on the toolbar.
2.Specify MotionSolve file name as Cantilever_beam.xml.
3.Select the Simulation type as Quasi-static, the end time as 1 sec, and the Print interval as 0.01.
4.Click on the Run button.
5.After the simulation is completed, click on the Animate button to view the animation in HyperView.
6.Click the Start/Pause Animation icon, animationStart-24, on the Animation toolbar to start the animation.
7.Click the Plot button in the MotionView Run panel to load the .abf file in HyperGraph.
8.Plot Deflection vs Load calculated from linear elasticity theory and NLFE by selecting the data below in HyperGraph.

 

Select following for X-axis data:

X Type

Marker Force

X Request

REQ/70000001 Load- (on Cantilever Beam)

X Component

FZ

Select the following Y-axis data:

Y Type

Expression

Y Request

REQ/70000000 Deflection – Analytical (F2), NLFE (F3)

Y Component

F2 & F3

 

 

9.Click on the Define Curves toolbar icon curvesCreate-24.
10.Rename the two curves as Analytical and NLFE as shown below:

mv-2100_hypergraph_define_curves

Define Curves panel

It can be observed from the plot that the NLFE and Analytical curves almost overlap.

mv-2100_hypergraph_curve_plot_example

Deflection versus load plot

11.Activate the Hyperview animation window.
12.Click on the Contour button resultsContour-24 on the toolbar to activate the Contour panel.
13.Under Result type, select NLFE Stress (t) and XX.
14.Click Apply to view bending stress contours.

Similarly, you can view Displacement, Strain, etc. for an NLFE body in HyperView.  All FE contours and types are available in HyperView for an NLFE body.

mv-2100_hyperview_contour_plot_example

Bending stress contour of NLFE beam

15.Save fileSaveSession-24 this session as nlfe_cantilever.mvw.

Exercise 2: Tensile test of Elastomer

Hyper-elastic materials are large strain materials when compared to metals. In case of hyper-elastic materials the non-linear relation between stress and strain is derived from a strain energy density function.  Currently MotionSolve supports three hyper-elastic material models:  Neo-Hookean, Mooney–Rivlin, and Yeoh.

In this exercise, a uni-axial tensile test on a rubber strip (2mmx25mmx50mm) will be performed.  Hyper-elastic material constants have been sourced from reference[3].

Clear the existing session through File>New>Session fileNewSession-24.

Step 1: Adding a new material property.

1.From the Main menu, select Model>Materials.
2.In Material Properties dialog:
-For Elasticity type, select Hyper Elastic.
-Click on the Add button.

mv-2100_mat_prop_dialog_hyperelastic

Adding new HyperElastic material

3.From Add a MaterialProperty dialog:
-Specify the Label as Yeoh Model and Variable name as propmat_yeoh.
-For Source for values, select Rubber (Yeoh).
-Click OK to add the material property.

mv-2100_add_a_matprop_dialog_rubber

Selecting source values for new material

4.Specify the following values for this material:
-Element shear modulus (c10): 0.545235
-Element shear modulus (c20): 0.0610498
-Element shear modulus (c30): −0.000802537
-Poisson ratio (mv-2100_poisson_ratio_equation): 0.48
-Density (mv-2100_density_equation): 1.1e-6
-Elastic strain limit L): 2.0

mv-2100_mat_prop_dialog_yeoh_model

Specifying material constant values

5.Click Close.

Step 2: Modeling the rubber strip.

1.Create two points for the rubber strip length profile with the details show in the table below.

S.No

Label

Variable name

x

y

z

1

Rubber End 1

p_rub_end1

0.0

0.0

0.0

2

Rubber End 2

p_rub_end2

50.0

0.0

0.0

2.Create 9 intermediate points between the above points using the Create Points Along a Vector create_points_along_a_vector_icon_mv macro.

mv-2100_create_points_along_a_vector

Creating intermediate points using “Create Points along a Vector” macro.

3.Right-click on the Body icon entityMultibodies-24 in the Model-Reference toolbar.  Add a new NLFE body with the Label as Rubber Strip and the Variable name as nlfeb_rubber_yeoh.

In the Properties tab, specify the properties below:

-Type as Beam
-Cross-section as Bar
-dim1 = 2
-dim2 = 25
-Select the Yeoh Model created in previous step as the MaterialProperty.

mv-2100_nfle_body_panel_beam_bar_yeoh

Specifying beam properties

-Go to Connectivity tab; Append 8 more points to the displayed table.
-Activate the first Point collector and select the point Rubber End 1.
-Select the next available intermediate points one by one into other collectors, with the last point being Rubber End 2.

mv-2100_rubber_strip_model

Rubber strip model

Step 3: Adding constraints.

1.Create Fix joint at one end and Translation joint at other as specified in below table:

S.No

Label

Variable name

Type

Body 1

Body 2

Origin(s)

Orientation Method

Reference 1

Reference 2

1

Fix Joint

j_fix

Fixed Joint

Rubber Strip

Ground Body

Rubber End 1

 

 

 

2

Translation Joint

j_trans

Translational joint

Rubber Strip

Ground Body

Rubber End 2

Alignment axis (Vector)

Global X

 

2.Create motion on the Translation joint to apply axial pull.

S.No

Label

Variable name

Define Motion

Joint

Property

1

Axial Motion

mot_axial

On Joint

Translation Joint

Displacement

3.In Properties tab, specify the following properties:
-Define by: Expression
-Expression: `50*time`

mv-2100_translational_joint

Motion expression

4.Go to the Solver Gravity entityDatasets-24 dataset and change the Gravity option to Off.
5.Click the Save Model icon fileSaveModel-24 on the Standard toolbar and save your model as rubber_strip.mdl in your <working directory>.

Step 4: Adding outputs.

Create outputs to measure engineering strain and engineering stress values.

Engineering Strain = mv-2100_engineering_strain_equation

Engineering Stress = mv-2100_engineering_stress_equation

1.Add an Output entityOutputs-24 of the Type Expressions with the Label as Eng strain(F2), Eng Stress (F3) and the expressions as shown below:
-F2: `(DM({j_trans.i.idstring},{j_fix.i.idstring})-50)/50`
-F3: `MOTION({mot_axial.idstring},{0},{2},{0})/50`

mv-2100_output_panel_properties_tab_expressions

Output requests

NoteIn the above expression F2, the solver function DM() measures the distance magnitude between two markers;  the I marker of the Translation Joint and the I marker of the Fix Joint.  Expression F3 uses the solver function MOTION() which measures the reaction force due to the imposed motion Axial Motion.

Step 5: Solving the model and post-processing.

1.To solve the model, go to Run panel run_solver_icon_mv.
2.Specify the MotionSolve file name as rubber_yeoh.xml.
3.Select the Simulation type as Transient; the End time: 4, and the Print interval: 0.01.
4.Click Run.
5.As the solver is executing, a warning message similar to the one shown below may be displayed:

WARNING: Maximum vonMises strain exceeded maximum strain (YS) specified for NLFE element BEAM12 (id=20000000) on Body_Flexible (id=30102) at time=1.183E+00

        Maximum strain Computed : 2.015E+00

        Maximum strain Specified: 2.000E+00

        Future warning for yield strain violation suppressed.

This message states that the maximum vonMises strain in your NLFE component exceeded what was specified (2.0) at time 1.18s.  This message lets you know if your component is deforming more than what you would expect it to, which allows you to inspect your results and make corrections in modeling your system if required.

6.After the simulation is completed, click on Animate to view the animation in HyperView.
7.Click the Start/Pause Animation animationStart-24 button to play the animation.
8.Go to the Contour panel and select NLFE Stress (t), XX, and click Apply.

mv-2100_hyperview_contour_plot_ancf_stress_example

Stress contour

9.Return to MotionView Run panel and click on Plot button to load the .abf file in HyperGraph.
10.Plot Engineering Stress vs Engineering Strain by selecting the data below in HyperGraph.
-Select following for X-axis data:

X Type

Expression

X Request

REQ/70000000 Eng strain(F2), Eng Stress(F3)

X Component

F2

-Select the following Y-axis data:

Y Type

Expression

Y Request

REQ/70000000 Eng strain(F2), Eng Stress(F3)

Y Component

F3

mv-2100_hypergraph_curve_plot_eng_strain_example

Stress versus strain curve

NoteThe animation shows the true stress due to cross-section deformation.
11.Save fileSaveModel-24 the model.
12.Save fileSaveSession-24 this session as hyperelastic.mvw.

References:

1)JUSSI T, SOPANEN and AKI M. MIKKOLA: Description of Elastic Forces in Absolute Nodal Coordinate Formulation. Journal of Nonlinear Dynamics 34: 53–74, 2003.
2)Oleg Dmitrochenko:Finite elements using absolute nodal coordinates for large-deformation flexible multibody dynamics. Proceedings of the Third International Conference on Advanced Computational Methods in Engineering (ACOMEN 2005).
3)Sung Pil Jung, TaeWon Park, Won Sun Chung: Dynamic analysis of rubber-like material using absolute nodal coordinate formulation based on the non-linear constitutive law. Journal of Nonlinear Dyn (2011) 63: 149–157.