SolidPractices: Modeling Nonlinear Problems

Revision History

Rev #DateDescription
1.0May 2019Updated and revised for use by customers. Reset as document version 1.0.
1.1August 2021Added a section with examples from the SOLIDWORKS Knowledge Base. Implemented the terminology updates of SOLIDWORKS Simulation 2021
1.2March 2023Document Validated for 2023 SP1.Document updated to mention Q&As instead of Solutions. Other minor updates, in particular section “Detailed explanation of the Displacement control technique”.

Note

All SolidPractices are written as guidelines. It is a strong recommendation to use these documents only after properly evaluating your requirements. Distribution of this document is limited to Dassault Systèmes SolidWorks employees, VARs, and customers that are on active subscription. You may not post this document on blogs or any internal or external forums without prior written authorization from Dassault Systèmes SolidWorks Corporation.

This document was updated using version SOLIDWORKS 2023 SP01. If you have questions or need assistance in understanding the content, please get in touch with your designated reseller.

Preface

Before reading this document, you should first familiarize yourself with SOLIDWORKS Simulation and the principles of linear static and nonlinear analysis.

Recommended reading includes:

The requirements for running a nonlinear analysis are:

  • SOLIDWORKS Simulation Premium
  • Good material properties and input data
  • Well-defined geometry
  • A clear objective for your simulation
  • Experience and time
  • Patience and resistance to frustration (definitely a plus)

There is a fundamental difference between linear static analysis and nonlinear analysis. With a linear static analysis, you can usually predict the results and outcome. By comparison, you enter unexplored territory with each new nonlinear analysis. As a common phrase goes, you are “boldly going where no one has gone before”.

This document details best practices that will help you be more successful with your nonlinear analyses.

Your Feedback Requested

We would like to hear your feedback and also suggestions for new topics. After reviewing this document, please take a few minutes to fill out a brief survey. Your feedback will help us create the content that directly addresses your challenges.

Basics of Nonlinear Analysis

What is Nonlinear Analysis

A nonlinear analysis is a simulation where results are not proportional to inputs.

  • The displacements and rotations are small.
  • Stress is directly proportional to strain.
  • Loads maintain their original directions as the structure deforms.

However, any of the convenient assumptions of a linear analysis may not apply in real life situations. For example:

  • A contact area may change as the load changes.
  • A material may no longer exhibit an elastic behavior after it starts to yield and flows into the plasticity region.
  • The stiffness of the structure may increase with the application of loads (stress stiffening), or decrease until buckling occurs.
  • The displacements and rotations may become too large and thus there is a need to develop equations describing the equilibrium at various intervals instead at of one single configuration.
  • The direction and magnitude of the applied force can change in large rotation problems.

Therefore, for various reasons, a problem may become nonlinear and the load versus displacement plot ceases to be a straight line. The following figures depict two types of nonlinear problems:

shows an elastic beam with a force F load that acts normal to the axis of the beam at all times. The graph between F and the vertical displacement y represents the actual nonlinear displacement, which occurs because of geometric nonlinearity. This means that because of significant changes in the geometry of the structure as it deforms, the deflection y is not proportional to the applied force F.

In Figure 2, the contact area between the bodies increases as the load F increases. Unlike the first example in Figure 1, the displacements and the strains are significantly smaller here. Nevertheless, the problem is nonlinear because of the change in contact surface area.

SOLIDWORKS Simulation solves nonlinear problems in several steps by updating the tentative solution after each step and repeating the procedure until satisfying a convergence criterion. The application of loads occurs gradually in each step, and an iterative procedure is used to ensure that the equilibrium conditions are satisfied. Therefore, every load step is a separate linear analysis by itself!

Typical nonlinear scenarios include:

  • Materials that exhibit viscoelastic, viscoplastic, or creep behavior (the deformation is a function of the load rate)
  • Problems with large strains, large displacements, or large rotations
  • No-penetration contacts

    When to Use Nonlinear Analysis

For a linear analysis, the solver calculates the stiffness of the structure from its undeformed shape and assumes that the stiffness remains constant no matter what load is applied.

You can perform a Linear Static analysis on a problem if the following assumptions are true:

  • The material is linear elastic, where the geometry will return to its original shape upon removal of the load.
  • Deformations are small in relation to the dimensions of the model.
  • Loads and restraints are applied to the model slowly, and then remain constant with no change in magnitude or direction. In addition, the loads do not cause separate parts to come into contact with one another.

A Linear Static solution is not valid if any of these assumptions is not true. The relationship between the loads (generalized force) and the response (generalized displacement) would then become nonlinear. You would therefore have to run a nonlinear analysis to achieve accurate results that reflect true-to-life behavior.

To determine if you need to run a nonlinear analysis, answer the following key questions:

  • Does the maximum stress exceed the yield stress for the material? Or, do any of the material properties change as a consequence reaching the stress level?
  • Are the deflections large? As a rough guide, if deflections are close to the thickness of the parts, then the deflections are large.
  • Is stress stiffening or stress softening occurring?
  • Are there dynamic or inertial effects?
  • Is it an expectation that a no-penetration contact area will change shape or size during the simulation?
  • Is a material experiencing creep or viscoelasticity?
  • Does the load direction or magnitude vary due to the deflection of the model?

If the answer is yes to any of these questions, then you can expect a nonlinear behavior, and should therefore run a nonlinear study.

Examples of What You Can and Cannot Simulate in SOLIDWORKS Simulation

TypeExampleFeasible?
Large bending
Metal stamping and cuttingNo
Analysis of rubber/plasticYes

Analysis of behavior after part starts to break

(Appearance of a crack, tearing of material, etc.)

No
Post buckling behavior when contacts are present

Yes

(2017 and later)


 

TypeExampleFeasible?
CreepYes
Nonlinear material with contactsYes
Impact analysis during which matter is broken or tornNo
Buckling analysis
Impact analysisYes

Nonlinear Analysis Options

Time Increment

General considerations

What you need to know about the time increment (time step) in nonlinear static analysis:

  • It is pseudo time
  • Time steps control the loading increment and the solution steps
  • If the time step size is too large just prior to a difficulty in a solution (change in stiffness or behavior), then then analysis may fail

General recommendations

In general, it is better to use the default Automatic (autostepping) option. This is because the optimal time step size may vary throughout the solution process depending on local singularities, changes in loads, and other nonlinearities. This option gives the solver the freedom to adjust the step as necessary to smoothly get through any points in time where the solver encounters convergence difficulties.

If you encounter convergence issues in the first few steps, the following change can help:

  • Decrease the Initial time increment. As an example, instead of the default value of 0.01, try 0.001.

If you encounter convergence issues in later steps, the following change can help:

  • Decrease the Max time increment. For example, instead of the default 0.1, you might want to change the value to 0.05 or even 0.01.

Please note that making these changes will most likely significantly increase the total number of steps and the size of the result data (.cwr) file. Therefore, the study will likely take more time to solve as well.

It is possible to limit the increase in solution time and result file size by using the Save data for restarting the analysis option in conjunction with the Restart option. For example, if you know that in a study with an end time of 1, there will be convergence difficulty requiring smaller and tighter time steps at t = 0.3, you can reduce the initial and maximum step sizes, making sure that the Save data for restarting the analysis option is active. After the solver gets past this time, you can cancel the analysis > return to the Study Properties > relax the time step settings somewhat > and enable the Restart option before continuing the run. This should cause the solver to resume solving from the last time step, now using the new changes to the stepping parameters.

The Min and No. of adjustments settings in the Automatic (autostepping) options are usually less helpful in resolving convergence issues. This is because by default, the minimum is equal to 1e-8. Increasing it will almost never help with convergence. Conversely, making it even smaller is also unlikely to help because if such minuscule time steps are necessary, then there are probably issues causing the analysis to fail regardless of the time step.

The No. of adjustments setting controls how many times in a given step the solver can retry the same step in a new iteration with a reduced time step. The actual "new" step that the solver chooses depends on the range that the minimum and maximum time step settings allow. By default, the number of adjustments is equal to 5, which should help the solver get through most issues. If the solver needs to adjust the time step more than 5 times in a given step, there are probably issues that adjusting the time step parameters cannot resolve. Sometimes, the issue is also that the time steps were too large just prior to this localized problem, and no amount of reduction in the time step at this point will help the solver move further. In this case, the recommended approach is to rerun with a decrease to the maximum time step. It can also help to use the Save data for restarting the analysis and Restart options as mentioned previously in this document.

Using the Fixed option is generally not useful except in certain cases. One reason to use this option might be if you need results at very specific times. However, be aware that if a time curve is applied for a load or restraint, any point in time specified in the curve will force the solver to insert a step at that specific time. This approach is a possible alternative to using the Fixed option. It is also possible to use the Save data for restarting the analysis and Restart options along with fixed time steps to closely control the analysis. However, this approach requires careful supervision of solver progress and can ultimately be time consuming and inconvenient.

Which settings should you try?

In the case of difficulties in convergence, adjusting some parameters can help. However, there are other parameters that you should not change.

■ Best to leave unchanged

■ Sometimes requires change

■ Typically requires adjustment

Nonlinear dynamic analysis

For a nonlinear dynamic analysis, the time step value:

  • Is crucial
  • Must be constant (no autostepping)
  • Should be chosen using the following three criteria:
    • Time resolution of the highest important modal wave
    • Time resolution of the loading
    • Resolution of the shock wave propagation (optional)

Time resolution of the highest important modal wave

The time step must be sufficiently small to represent the highest important modal wave correctly.

Ts ≤ 0.1 × Tmin

Where:

Ts = Max time step size (s)

Tmin = Period(s) of the highest important vibration mode

Time resolution of the loading

The time step must be sufficiently small to represent the load correctly.

0 Tload

0 Tload/2

Ts ≤ 0.1× Tload

Where:

Ts = Max time step size (s)

Tload = Characteristic time of the load (duration for shock, period of oscillation, etc.)

Example: For a load that is a full sinusoidal cycle, you need at least 10 points to represent the curve correctly. 5 points is not enough, and 20 is a luxury that you may not be able to afford.

Resolution of the shock wave propagation

Time resolution of the shock wave propagation

The time step must be sufficiently small to represent the shock wave propagating along the model correctly.

Ts ≤ 0.1× LCharacteristic / Cl

Where:

Ts = Max time step size (s)

LCharacteristic = Characteristic length of the model – the length along which the waves will propagate

Cl = Speed of sound (and of wave) in the material

Cl (steel) = 5900m/s

🡺 Ts max = 1.6 µs for a 100mm long steel plate

Spatial resolution of the shock wave propagation

The element size must be sufficiently small to represent the shape of the propagating shock wave correctly.

0 d/2

0 d

Es ≤ 0.1× Cl / f

Where:

Es = element size

f = load frequency. For a shock of duration d, f = 1/d

Cl = Speed of sound (and of wave) in the material

Cl (steel) = 5900m/s

🡺 Es max = 4.72 mm for a steel plate and a shock duration of 4µs

Geometry Nonlinearity Options

Uses the large displacement formulation.

Always keep this option ON.

Update load direction with deflection

When active, the solver updates the direction of the applied load (only for normal uniform pressure or normal uniform force) for every solution step.

It is a requirement for loads like pressure caused by gas or liquid.

This option was previously available also for 2D simplification analyses until the release of SOLIDWORKS 2011 SP2.0, at which time it was removed and then reinstated in SOLIDWORKS 2013 SP2.0.

Large strain option (for plasticity material models only)

Only activate this option if the expected strain is 5% or more, and only for the von Mises plasticity and Tresca plasticity material models.

Do not activate this option every time you expect large displacements.

This option only affects the formulation of bodies with the von Mises plasticity and Tresca plasticity material models.

The Drucker-Prager model in SOLIDWORKS Simulation is limited to the small strain formulation.

The hyperelastic models (Mooney-Rivlin, Ogden) always take large strains into account.

Keep bolt pre-stress

Effective with the release of SOLIDWORKS 2017, a new Keep bolt pre-stress option appears in the Properties of nonlinear studies. With this option ON, the solver performs (for the first time step) a procedure similar to the one for static analysis, with two successive runs of the analysis:

  1. The software applies the user-defined Pre-load value to pre-stress the Bolt Connectors. The analysis runs without any other load applied. Then, the tensile forces in the bolts are obtained and are compared with the pre-load values for each bolt.
  2. Based on the difference between the tensile forces in the bolts and the pre-load value specification for each bolt, a new adjusted pre-load value is calculated internally such that when used in a new similar run, the new tensile forces obtained in each bolt will match the initially desired pre-load.
  3. The analysis is run once again with all the loads and the internally adjusted pre-load for each Bolt Connector.

    Solver Choice

Five solvers are available for nonlinear studies: the Direct Sparse, the FFEPlus, the LPDS, the Intel Direct Sparse, and the Intel Network Sparse solvers.

The Intel Direct Sparse and the Direct Sparse are the most stable and reliable solvers. The Intel Direct Sparse is generally faster.

  • Use the Intel Direct Sparse solver whenever possible (if the memory requirements are within the capabilities of your system), especially when Contacts interactions are present.
  • Use the FFEPlus solver if the model is too large, or if you have a mesh the does not contain any bonding with independent meshing or any Contact interactions.
  • In other cases, use the LPDS solver.

With regard to memory usage:

  • Sparse solver: For every 200,000 DOF you need a GB of RAM for linear static analysis.
  • FFEPlus solver: This iterative solver is less demanding of memory (approx. 2,000,000 DOF/GB of RAM).
  • LPDS solver: Uses files written on the hard drive to avoid using too much RAM. Requires a lot of disk space.

    Control Method

    Summary

All three methods consist in ultimately applying the loads that you defined in the study. The methods differ in how they incrementally apply the loads, and in the limitations inherent to each method.

Many analyses presenting some kind of buckling may fail using a nonlinear study with Force control once the simulation reaches the onset of buckling. This is because the force control method is somewhat sensitive to localized instability, which often occurs with buckling. Force control is still suitable to detect the occurrence of buckling, but not to simulate the buckling phenomenon itself.

In general, to simulate the buckling phenomenon itself, the Arc-length control method is preferable.

The Arc-length control method is not available for models with prescribed displacement. The Displacement control method then becomes the preferred method. The Displacement control technique can go through the snap through region and provides the buckling load factor and the load factor vs displacement curve like the Arc-length control technique.

Prior to the release of SOLIDWORKS 2017, when Contact interactions are present, only the Force control method is available. This is why analyses with contacts interactions were not possible when buckling occurs.

In SOLIDWORKS 2017, the Arc-length control method is available when Contact interactions are present.

In SOLIDWORKS 2018, the Displacement control method is also available when Contact interactions are present.

Here is a summary of the choice of the control method:

 ExplanationWhen to use it:Should not be used when:
Force controlUses the time curve associated to Loads and Fixtures to determine the model’s environment at each time step.
  • By default
  • If Contact or Shrink fit interactions are present
  • There is a sudden change in stiffness (buckling, sudden movement, discontinuity in stress/strain curve)
Displacement controlUses ONE time curve associated to the displacement Ud of a USER-SELECTED vertex V in a specific direction d. All loads are scaled by a LOAD FACTOR so that V experiences Ud.
  • If buckling happens
  • To answer the question “How much force is needed to get this deformation?”
  • There are Contact or Shrink fit interactions (until the release of SOLIDWORKS 2018)
Arc-length controlIncrements all loads equally to generate a certain length of segment on the equilibrium path of the structure.
  • If buckling happens
  • If the post-buckling behavior is complex
  • There are Contact interactions and Force control fails
  • Force control does the job

In addition, for a hypothetic model that all three methods could solve, the resolution (density of calculation points) on the response curve would be low for horizontal portions of the curve with Force control, and low for very vertical portions of the curve with Displacement control. It would be more uniform with Arc-Length control.

Refer to the following:

ForceDisplacementArc-length

Detailed explanation of the Displacement control technique

In the Displacement control method:

  • The Variation with Time (Linear or Curve) of the loads does not play any role. Only the load value matters. During the simulation, at each increment of the solution, the solver applies the same load factor to all the loads.
  • In Properties > Advanced tab > Displacement control options, you define a location (the control node), a direction of displacement and a time curve. All together, these inputs determine both the incremental and final displacement of the control node.
    Note: It is customary to use a linear curve so that the displacement is proportional to time. This makes the results more readily understandable.
  • The solver follows your Displacement control options: At each increment of the solution, the solver increments the time in the displacement curve of the control node. Then the solver determines what value of the load factor corresponds to that displacement value. In doing so, the solver also calculates the displacements and stresses in the model.
  • The solver uses the Stepping options you defined in Properties > Solution tab to increment the time value and to determine the finish condition for the simulation.

When you use the Displacement control method:

  • You can only have Contact interactions of the Surface to surface type of Contact formulation.
  • You can only use the Intel Direct Sparse solver (or the Direct Sparse solver).
  • There cannot be any prescribed displacement in the study.
  • It is impossible to apply loads sequentially.

Obtaining the value of the Load Factor at each time step

In the .OUT file (output file)

At the end of the analysis, the program writes in the output file the values of the load factor at each time step. In the output file, the term in use is the Load parameter.

Example:

D i s p l a c e m e n t s f o r s t e p 13 (Time = 0.1000E+01)
Load parameter = 0.99378E+00

Here is how to understand these two lines:  At time step 13, the solution time is 1s. At that solution time, the displacement of the controlled node in the specified direction is what you defined in the Displacement control options. This displacement corresponds to the application of 99.378% of the value of the loads. 

In a response graph

It is possible to create a Time History Graph showing the variation of the Load Factor as a function of the Displacement of the controlled vertex:

dialog box, click File, Save As... to save the data points of the curve as a .CSV file.

Detailed explanation of the Arc-length control technique

The Arc-length control method is primarily useful for tracing the equilibrium path from the pre-limit to the post-limit range of the nonlinear response of structural systems. For example, the snap-through of a cylindrical shell as shown in the Snap-Through/Snap-Back of a Cylindrical Sheet tutorial of SOLIDWORKS Simulation.

To determine the limit load for the snap-through buckling, follow these steps:

  1. Right-click the Results folder.
  2. Select Define Time History Plot.
  3. Select to plot the Load Factor versus the Displacement of a meaningful node.
  4. Determine the limit value of the load factor from the response plot as the loading at which the system starts to snap-through.
  5. You can obtain the actual limit loading of the system by multiplying this load factor with the pattern of the applied loads.

Notes:

  • There are limitations to the use of the Arc-Length control technique. For instance, you cannot use this control technique when non-zero prescribed displacements are present in the model. Other limitations apply.
  • Up to the release of SOLIDWORKS 2016, you cannot use this control technique when gaps or contacts are present in the model. This limitation was removed in SOLIDWORKS 2017. Other limitations apply.

    Determination of the required inputs

    If you can run a static and a buckling analysis

In any nonlinear analysis, prior information about the level of the applied loads and the induced displacements can be very helpful in reducing the cost and effort necessary to solve the problem. The following procedure is an example of how you can obtain such information.

  1. Perform a linearized buckling analysis under the pattern of the applied loads and determine the buckling load multiplier, λ b (it is important to note that this multiplier is not the same as the one you will obtain from the Arc-length method). λ b should be positive and 10 < λ b < 100. If that is not the case, then multiply all of the loads by the same positive factor such that 10 < λ b < 100. These load values will be used in the subsequent studies and the value of λ b will be used in the parameters of the nonlinear analysis.

Note:

  • Linearized buckling analysis usually overestimates the critical buckling load compared to proper nonlinear analysis. For instance, in the Snap-Through/Snap-Back of a Cylindrical Sheet tutorial of SOLIDWORKS Simulation, the linearized buckling analysis overestimates the buckling load by a factor of 2.1.
  1. Run a linear static analysis with the same loads and determine the maximum induced displacement in the model, dmax.
  2. Create a nonlinear analysis with the same loads. In the Advanced Options tab of the Properties dialog box, activate the Arc-length control method.
  3. For the Arc-Length completion options in the Advanced Options tab of the Properties dialog box, you may use:
    • A value of 0.7 * λ b as the maximum load-pattern multiplier
    • A value of 2 * λ b * dmax as the maximum displacement
    • A maximum number of 100 time steps
    • An initial arc length multiplier of λ b / 100 (within the limit of 0.1 to 1)
    • A value of λ b / 20 for the maximum time step size
  4. Create sensors at the critical locations of your model (where maximum stress and maximum displacement will occur for instance). Define the Result Options that correspond to your needs, including the Response Plots.
  5. From the Response plot of the load factor versus displacement, determine the load factor multiplier for the limit loading (horizontal tangency of the curve):
     

  6. Determine the approximate step at which this condition occurs. If that step was not selected to be stored by the Result Options, you may rerun the analysis again after selecting it along with some steps before and after to accurately trace the behavior of the system before and after the limit loading. Be aware that there is no way to determine the step at which buckling will occur before performing the analysis. 
  7. The buckling load is then the load factor at that time step multiplied by the applied loads in the nonlinear study.

Note:

For an example of the above setup and procedure, see the attachment to QA00000108895.

If you cannot run a static and a buckling analysis

If you do not have the ability to perform some preliminary analysis, use this as an alternative procedure:

  1. Try the value of the maximum load parameter such that the load pattern multiplied by the maximum load parameter is about three times the maximum load you expect on the structure.
  2. Try about half the characteristic length of your model for the maximum displacement
  3. Try a very large number of load steps, about 1,000.

    Step/Tolerance Options

For information about fine-tuning analysis options for better convergence in the case of convergence problems, see section 7)b)iv).

] steps

Sets the frequency of performing equilibrium in the number of solution steps.

Always leave the default value of 1.

Maximum equilibrium iterations

Sets the maximum number of equilibrium iterations for any solution step.

The default value of 20 is generally sufficient.

The solver automatically increases the value by 5 if it estimates this could be helpful.

Convergence tolerance

Relative displacement tolerance used for equilibrium convergence.

Default value is 0.001 = 0.1%. If difficulties arise, you may either decrease or increase the value. However, the value should not be larger than 0.01 = 1%. Use of larger values will compromise the accuracy of results.

Maximum increment strain

The Maximum incremental strain sets the tolerance for strain increment for models with creep or plasticity.

It is mainly useful for small strain analysis (assuming linear summations between two consecutive steps).

The thing to remember is that if you can get a solution using a number higher than 0.01, either the problem has been resolved throughout iterations, or it may involve some local instability while the overall solution is ok, otherwise convergence would not be reached.

Support of material types and overwritten values.

Material typeValue taken into accountRemark
Rubber (Mooney Rivlin and Ogden)NoNot used
Nonlinear ElasticNoNot used
Plasticity with Large Strain option OFFYesThe default 0.01 value is a good number but it could be set up to 0.05 if necessary
Plasticity with Large Strain option ONNoValue changed to 1 internally
NitinolNoValue changed to 1 internally

Notes:

  • For the large strain formulation, any number is acceptable because the formulation is designed for large strains.
  • A large value for the Maximum incremental strain may cause the simulation to fail due to non-convergence, stiffness singularity, etc.

    Singularity elimination factor (0-1).

SOLIDWORKS Simulation takes the Singularity elimination factor (SEF) into account only when the Large Displacement option is ON. The SEF can help the solution pass through local singularities on the equilibrium path. When a standard non-linear solution (SEF=1) fails to complete successfully (at a step >1) and termination is due to one of the following:

  • stiffness singularities
  • incremental strain is too large
  • incremental rotations are too large
  • contact iterations are non-converging

…then a SEF value of less than 1 can help the non-linear solution proceed further to completion. The most effective SEF values are 0 and .5 (0 for maximum effect).

When SEF is less than 1, it activates a technique to reduce the singularity of the structural stiffness due to highly or badly deformed elements. However, a decrease in SEF usually results in an increase in the number of equilibrium iterations and the time it takes to complete the analysis. Only consider modifying the SEF if all other attempts to converge fail. Most problems are due to an improper setup, which can be corrected.

Material Models and Constitutive Relations

The SOLIDWORKS Simulation Premium: Nonlinear training manual explains quite well the different material models and their constitutive relations. Please refer to the 25-page Material models and constitutive relations section.

Stress and Strain Curves

Stress and strain input

Depending on the settings, nonlinear analysis may require the input of stress-strain curves. When that is the case, the curve should be entered using the correct definition and values for stress and strain. In fact, there are several definitions of stress including true stress, and engineering stress. Moreover, there are several definitions of strain as well include, engineering strain, and logarithmic strain.

The following table summarizes the type of stress and strain to be used for the stress-strain curve, depending on the analysis option and the type of material model used.

 Analysis options
Type of material modelSmall Strain,
Small Displacement
Small Strain, 
Large Displacement
Large Strain, 
Large Displacement
Non Linear ElasticTrue Stress,
Engineering Strains
True Stress,
Engineering Strains
N/A
Elasto - Plastic
von Mises Plasticity, Tresca Plasticity, Drucker Prager
True Stress,
Engineering Strains
True Stress,
Engineering Strains
True Stress,
Logarithmic Strains
Hyper Elastic:
Mooney-Rivlin, Ogden, Blatz Ko
Engineering Stress,
Stretch ratio
Engineering Stress,
Stretch ratio
Engineering Stress,
Stretch ratio
Super ElasticTrue Stress,
Logarithmic Strains
True Stress,
Logarithmic Strains
True Stress,
Logarithmic Strains
ViscoelasticTrue Stress,
Engineering Strains
True Stress,
Engineering Strains
N/A

For the definition of true stress, engineering stress, engineering strain, logarithmic strain and stretch ration, please refer to QA00000105580.

Notes:

  • Engineering strain is a small strain measure, which is not valid once the strain in your model is no longer "small" (approximately 5%). Logarithmic strain (which is a nonlinear strain measure that is dependent upon the final length of the model) is used for larger strain simulations.
  • For viscoelastic models, relaxation function versus time replaces the definition of stress versus strain.
  • Extrapolation of the stress-strain curve after the curve's last data point: for plasticity or non-linear elastic material definition, it takes the last couple of data points and uses that to extrapolate linearly
        

    Stress and strain output

The results given by the nonlinear solver are as follows:

Stress output

Cauchy Stress, which is the true stress in the deformed configuration

Strain output

  • Non hyper-elastic material models (Non Linear Elastic, von Mises Plasticity, Tresca Plasticity, Drucker Prager, Super Elastic, Viscoelastic):
    • Small strain option: infinitesimal strains.
    • Large strain option: logarithmic strains.
  • Hyper-elastic material models:
    • Unit extensions

Note:

  • Please refer to the Nonlinear solver manual (NSTAR.pdf) in the COSMOSM Manuals. The definition of strain output appears on pages 3-64 to 3-66.

    Interactions

You can use the Interaction Viewer to view all the types of interactions and decide whether you need to make adjustments or not. It is a good practice to review the interactions this way to ensure that their definition is correct.

To learn more about the different types of Contact interactions, see QA00000105073.

Contact Interactions

Note:

  • Contact with Node to node formulation was removed from static and nonlinear studies in version 2021.

    Geometry selection

When creating local Contact interactions, you can use select geometrical entities as either the Source (Set 1) or Target (Set 2) for the defined contact set. When you define a contact between Face 1 and Face 2, you can make Face 1 the source and Face 2 the target or you can make Face 2 the source and Face 1 the target. Which is best?

  • For Free condition and Bonded with Common nodes condition, the Source or Target choice has no effect. It is the same for Contact with Node to node formulation.
  • For all other contact conditions that involve either Shrink fit, Node to surface or Surface to surface formulation or Bonded with Independent mesh condition, the Source and Target choice can be critical.
  • In recent versions, the Source and Target sets appear as Set 1 and Set 2 respectively.

Recommendations:

  • Position your parts to establish initial contact, especially when the driving load is a force or pressure.

F

F

  •  

    interactions with only one Source and one Target. Instead, you should create fewer local Contact interactions. In each of these, include all faces that make physical sense to group together. For example, this will be the case for contiguous faces on the same part. In addition, if a part A touches simultaneously parts B and C, then it probably makes sense to define a single contact set for it.

     

  • Consequently, it is generally not recommended to use the Automatically find contact interactions option because it will create contact pairs and will not group them together. This option creates a very large number of local Contact interactions , which may be impractical if troubleshooting becomes necessary.
  • Deactivate friction unless is it an absolute requirement to stabilize the model.
  • When defining local Contact interactions between faces that belong to components with considerably different moduli of elasticity, use the surface with the higher modulus of elasticity as the Target. In general, the stiffer face should be the Target.
  • In general, the Source entities can be faces, edges, and vertices, except for the Node to node and Surface to surface option, which only allow faces for the Source.
  • The Target faces should be flatter and larger than Source entities. You can mesh Target faces coarser than Source entities. Not doing so will result in a decrease in accuracy when using Node to surface contact.

teeth

spring

Set 1 = teeth

Set 1 = spring

0.2*pi rad = 2 teeth

Fixed

Effect of swapping curves in Set 1 and 2

  • There is no need to cut Target faces with split lines to make them smaller. Doing so does not increase analysis speed.
  • If you expect contact in or around the corner area, there should be no 90° angle on Target faces. If that is the case and you cannot switch Source and Target entities, you should create a reasonably large round to cut the sharp angle. A very small round would create more problems. An alternative is to create two sets.
A 90° angle will cause problemsA small round may also cause problemsA reasonably large round is better
  • Although possible, it is generally not recommended to define an entity as a Source in one local Contact interactions and as a Target in another local Contact interaction. In complex models, doing so may lead to divergence of the contact iterations.

Node to surface and Surface to surface

There is no general rule about how to choose between the Node to surface and Surface to surface options in nonlinear studies.

The Surface to surface option is more accurate for very curved source geometry (Set 1), but you can compensate for this by using the Node to surface option and a finer mesh.

When getting messages about contact iterations non-converging, you can try switching between Node to surface and Surface to surface along with a better definition of the contact geometry and selections.

Bonded Interaction

The traditional thought has been that a Bonded interaction enforced with common nodes between touching boundaries (Compatible Mesh) was generally more robust and accurate than an Bonded interaction using Independent mesh. Common practice was to favor the use of Bonded interaction enforced with common nodes between touching boundaries whenever possible.

Improvements of the underlying technology in Bonded interaction using Independent mesh has made the tradition obsolete. You can now use of Bonded interaction with Independent mesh whenever possible.

Solving Initial Interferences

Principles

Initial interferences in the model are a source of difficulty. The natural way to resolve them seems to be the Shrink Fit interaction. However, the Shrink Fit interaction try to resolve the interference entirely during time step 1. This may be very difficult or impossible for the solver depending on the amount of penetration and the geometry of the parts. It would be much easier for the solver to establish contact forces gradually over several steps. To do so, you must modify the setup so that the analysis begins with a model without any interference. How to clear initial interferences?

  • Move parts in a different configuration
  • Use non-zero initial displacement
  • Use thermal expansion/shrinkage
  • Shrink Fit can also work pretty nicely

For additional information, refer to the “Best Practices for Getting Quality Results from Nonlinear Analysis in SOLIDWORKS Simulation” by Julien Boissat and Jay Seaglar from SOLIDWORKS World 2014. This information is available in QA00000121588.

Troubleshooting Techniques

You can improve convergence by using regular methods of making your setup as clean and lean as possible. These methods are general techniques that apply to all types of analyses. However, because most types of analysis are inherently more robust than nonlinear analyses, engineers and designers can usually obtain correct results without implementing them entirely. Nonlinear analysis, however, is a more sensitive matter, and you usually need to establish a careful and rigorous setup.

Some other techniques are unique to nonlinear analysis and this document will explain them separately.

General Techniques

Meshing and modeling tips and tricks - Overall procedure

This section comes from the Meshing and Modeling tips and tricks document from the same Solid Practices series as this one.

  1. Decide on the area of interest in the model = the components in which you want to determine stress and displacements under the given conditions.
  2. Remove all components that will not participate in the simulation because:
    • They will bear no load
    • They can be replaced in the model by their effect on the areas of interest (replaced by a load, a boundary condition, a connector)
    • They are purchased components and therefore only load levels are important in them, not stress. Select components based on the supplier's allowable loads. Use connectors to replace them.
  3. Among the remaining components, assume use of a solid mesh for all of them. Then, study each component one after the other. Imagine it as a shell, and ask:
    • Would a surface representation be truthful to the geometry (not the case for bulky parts for instance)?
    • Would a surface representation allow sufficient accuracy for the interaction between other parts and the application of loads, fixtures and connectors?
    • Do the benefits outweigh the work necessary to convert the solid geometry to surface when compared to the benefit (decrease of memory requirements and computational time)?
  4. Ask the same questions about beam elements, while fully understanding the consequences of beam modeling (extreme simplification of geometry, different types of stress outputs, connection with other components).

Each time you decide to change the type of elements used for a component, it affects the geometry required to mesh that component, as well as other components that connect to it. It is an iterative process where each decision can invalidate other decisions and eventually leads to a compromise.

Notes:

  • Before the release of SOLIDWORKS 2012, the Global Bonded Interaction condition was only applicable to elements of the same type (solid to solid, shell to shell) for touching bodies. Consequently, it was necessary to define local contact sets for each bonded condition between bodies meshed with different elements (solid, shell, or beam). Even for less-complex models, this process was tedious and subject to errors and omissions. Therefore, it was necessary to take extra care with mixed mesh models. This would sometimes lead users to stick with a pure solid or shell mesh just to avoid the trouble of managing contact sets, even though this may not have been the best approach.
  • Effective with the release of SOLIDWORKS 2012, the Global Bonded Interaction condition applies to all combinations of element types. It is a great improvement, which allows for more freedom in the choice of elements. If you activate the Enforce common nodes between touching boundaries option, SOLIDWORKS Simulation only creates common nodes between parts meshed with the same type of element.

    Other general techniques

  • Take advantage of all symmetries.
  • Use 2D Planar simplification whenever possible.
  • Simplify setup of the model and analysis. The Meshing and Modeling tips and tricks Solid Practice document addresses this in part.

    Techniques Specific to Nonlinear Analysis

    Nonlinear materials

You should include sources of nonlinearity one at a time in your analysis. First, add only geometrical nonlinearities and make sure it runs. Then add nonlinear material properties.

For example, if your analysis already contains no-penetration contacts and large displacements, then as a first step, treat all materials as linear isotropic. When it runs, you can use the Plasticity – von Mises material model, using first a bilinear model (not a stress-strain curve) with values for Yield Strength and Tangent Modulus. Finally, if it still runs, you can use the actual stress-strain curve.

Contacts

  • Suppress friction
  • Instead of using Shrink fit interactions, try using a different approach to establish gradual contact by using one of these methods:
    • Use thermal shrinkage/expansion to create clearance at time step 1 + no penetration contact.
    • Use non-zero initial displacement to move the parts and clear the interference at time step 1 + gradually put the parts back in place + contact interaction.
    • Create a new configuration with distance mates to clear the interference + gradually put the parts back in place + contact interaction .
  •  

    in Set1 and the faces of A and C in Set2.

     

  • In case of contact failure, try to switch the contact options (between Node to surface and Surface to surface)

    Mesh

    Bad quality elements

Check for bad quality elements (Aspect ratio and Jacobian) and modify the geometry if necessary to eliminate them. To remove bad elements, you can merge narrow and pointy faces with a surrounding face. Another way to eliminate bad elements is to use the Tolerance parameter of the Standard mesher as a tool to merge nodes of highly skewed elements.

Optimized mesh

When troubleshooting, it is important to have an optimized mesh that will result in an analysis duration that is short enough to rerun a large number of times, but at the same time, sufficiently refined to avoid causing any divergence and /or hide any phenomena that could result from a coarse mesh.

You can obtain a good mesh by either:

  • Running a static analysis with the H-Adaptive method, and then copying the mesh to a nonlinear study.
  • Using as many Mesh controls as necessary. Note that you cannot use mesh controls to create a locally coarse mesh. Any mesh control element size larger than the global size is ignored. Instead, increase the global size and create mesh control on the whole bodies.

    Draft quality elements

In nonlinear analysis, it is okay to use draft quality elements and a finer mesh instead of high quality elements.

Nonlinear analysis options

Try the following suggestions only when difficulties remain after trying the previous troubleshooting techniques.

  • The following settings have proven successful in many cases:
     

  • Reduce the step size or use autostepping:
    • If there are convergence issues in the first few steps, decrease the Initial time increment value. For example, try using a value of 0.001 instead of the default value of 0.01.
    • If there are convergence issues in later steps, decrease the Max time increment value. For example, instead of the default value of 0.1, you might want to change it to 0.05 or even 0.01.
  • Change the solution control method. When contacts are not considered, try switching to Displacement control and monitoring when load factor is 1. This is useful when the solver detects limit state of buckling behavior. You can detect this type of behavior by displaying a response graph of displacement vs time for nodes with large displacements. A vertical tangency when the analysis fails indicates a local buckling. You can overcome a local buckling by using the Displacement or Arc-Length controlled methods.
  • Slightly increase Convergence tolerance (no more than 0.01) or the Maximum incremental strain (no more than 0.05).
  • Adjust the Singularity Elimination Factor value (to 0.5 or 0 for maximum effect).

    How to help convergence for a visco-elasticity problem

It is better to use a sparse solver, because this solver is more stable for this type of problem. The Intel Direct Sparse and the Direct Sparse solvers are direct solvers, which are preferable for this type of nonlinear problems. Although the FFEPlus solver also performs very well for most nonlinear problems, it more useful for large problems. For small size problems (below 50-100K DOF), it is a recommendation to use a sparse solver.

The default singularity elimination factor is 1. However, for highly nonlinear problems, it is recommended to start with a factor of 0.

Try not to change the tolerance values such as: 
Convergence tolerance (default = 0.001) 
Maximum incremental strain (default = 0.01)

For small strain analysis, a smaller Maximum incremental strain may improve accuracy. However, sometimes during equilibrium iterations, the strains may go higher until reaching the time convergence, where it then reduces.

Examples From the SOLIDWORKS Knowledge Base

The following table lists solutions from the SOLIDWORKS Knowledge Base that contain or refer to example models with nonlinear studies.

Solution IdTopic
QA00000119279Where can I find an example of a nonlinear analysis of several Belleville washers under compression until they buckle?
QA00000124333Where can I find an example of using a ‘Link’ connector in a nonlinear study?
QA00000111588Where can I find an example of Creep Analysis?
 Where can I find an example of the "springback" effect (elastic recovery after plastic deformation) in a nonlinear study?
QA00000111708Where can I find an example of releasing ("turning off") a fixture / restraint in nonlinear analysis?
QA00000118356Where can I find an example showing a use of the "Update load direction with deflection" function in nonlinear analysis?
QA00000121511How do I use the ‘Arc length’ control method in a nonlinear analysis combined with contacts interactions contacts?
QA00000121339Q&A Is there a validation example of the stress, strain and displacement of a bar with a bilinear von Mises plasticity material model in tension as calculated in a SOLIDWORKS® Simulation nonlinear study?
QA00000114948Is there an example model available showing how a sheet can be wrapped around a roll in SolidWorks Simulation?
QA00000122484In a Nonlinear study, what could cause the axial bolt force that is caused by a bolt pre-load to be lower than specified?

Final Words

You can improve convergence by using good practices:

And keep in mind:

YOUR RESULTS WILL NEVER BE

ANY BETTER

THAN YOUR SETUP

We hope that you find this document informational and useful and request that you leave a brief feedback about the topics that you want us to cover in the next revision of this document. Click here for a complete list of SolidPractices documents available from DS SOLIDWORKS Corp.