Uploaded by Osama bin Laden

ls-dyna convergence-tips

advertisement
Support Database | Livermore Software Technology Corp.
1 of 4
http://www.lstc.com/sdb/364
LST
[364] Tips for addressing solution instability
Note
Article 373 contains additional troubleshooting advice.
Explicit time step drops significantly.
When mass scaling is employed, LS-DYNA reports "termination due to mass increase."
LS-DYNA reports "out-of-range (or NaN) velocities."
LS-DYNA reports "negative volume in brick element."
2.1. Use a Recent Production Version of LS-DYNA
First and foremost, use the latest or at least a very recent production version of LS-DYNA.
Comparing results from a newer version to an older version will tell you if changes/improvements to
code are of significance in your situation. A chronological list of production versions and links to
download them are here. In some cases, very recent bug fixes may not be in the latest production version and use of a development ("dev") version may be warranted. Dev executables are available here.
2.2. Identify Source of Instability
1. Write plot states frequently enough to see the evolution of the instability.
2. Steep jumps in energy values reported in matsum or sleout can help to isolate the part or contact, respectively, that is responsible for the instability.
3. The location where an instability originates can often be seen by plotting velocity vectors (Post
→ Vector → Velocity in LS-PrePost).
12/23/2020, 6:48 PM
Support Database | Livermore Software Technology Corp.
2 of 4
http://www.lstc.com/sdb/364
2.3. Precision
Try running a double precision LS-DYNA executable. Comparing results from single precision and
double precision (being sure to run the same version of each) will tell you if precision is affecting the
results.
2.4. Time Step
Try reducing the time step scale factor TSSFAC in *CONTROL_TIMESTEP (even if mass-scaling is
invoked with DT2MS).
2.5. Shell Elements
For under integrated formulations try hourglass type 4 with a hourglass coefficient of 0.03 or replace under-integrated shell formulations with shell formulation -16 having hourglass type 8.
For an impact simulation, turn on shell bulk viscosity by setting TYPE = -2 in *CONTROL_BULK_VISCOSITY.
Unless thinning due to in-plane stretching is an important effect, do not turn on shell thinning,
meaning, leave ISTUPD = 0 in *CONTROL_SHELL.
If thinning due to plasticity is important, set ISTUPD = 4 and select the parts where thinning is to
be considered by defining PSTUPD.
Invoke invariant node numbering for shells by setting INN = 2 in *CONTROL_ACCURACY.
2.6. Solid Elements
For under integrated formulations try hourglass type 4 with a hourglass coefficient of 0.03.
If using under-integrated hex elements (solid formulation 1), meshing with one element through
the thickness of a part is appropriate only if the material is elastic and only if hourglass type 6 is
used with hourglass coefficient equal to 1.0. For any inelastic material, at least three type 1 solids
through the thickness of a part is suggested and two elements is the bare minimum.
If deformation is not extreme and you prefer an 8-integration-point hex formulation, use solid formulation -1 (-2 for implicit). Formulation 2 solids should be avoided unless the elements have
very good aspect ratios.
For solids with aniso/orthotropic materials, invoke invariant node numbering by setting INN=4 in
*CONTROL_ACCURACY.
2.7. Element Deletion or Erosion
Elements that become unstable due to excessive deformation or distortion can be deleted onthe-fly through material failure criteria or various other criteria. The most common commands for in-
12/23/2020, 6:48 PM
Support Database | Livermore Software Technology Corp.
3 of 4
http://www.lstc.com/sdb/364
voking such criteria include:
*MAT_option (many material models include their own failure criteria)
*MAT_ADD_EROSION
Using ERODE in *CONTROL_TIMESTEP together with DTMIN in *CONTROL_TERMINATION to delete elements based on a specified reduction in time step and/or delete solid elements
based on negative volume. See related variable PSFAIL in *CONTROL_SOLID.
*CONTROL_SHELL (see variables NFAIL1, NFAIL2, PSNFAIL, KEEPCS, DELFR,
W-MODE, STRETCH)
*SENSOR_CONTROL (TYPE = "ELESET")
*DEFINE_ELEMENT_DEATH
2.8. Contact
Set number of cycles between bucket sorts to zero so that the default sort interval will be used. If
the relative velocity between two parts in contact is exceptionally high, it may be necessary to reduce the bucket sort interval (for instance to 5, 2, or even 1). See variable BSORT for SMP and
BCKT for MPP.
If finite contact penetrations become apparent during the simulation, switch to *CONTACT_AUTOMATIC_SURFACE_TO_SURFACE or *CONTACT_AUTOMATIC_SINGLE_SURFACE.
Use SOFT = 1 or SOFT = 2.
Setting SOFT = 1 may be sufficient and it's cheaper than SOFT = 2.
If SOFT = 1 proves to be inadequate, set SOFT = 2 and set variables SBOPT = 3 and
DEPTH = 13 or 23. You can also try other DEPTH values, for example, sometimes DEPTH
= 35 helps when you are dealing with particularly stubborn contact problems. If contact segments include added mass (due to mass scaling) or discrete lumped masses, also set PSTIFF
= 1, either in *CONTROL_CONTACT or on Card F of *CONTACT.
Make sure the mesh takes into account shell thickness since the AUTOMATIC contact types consider shell thickness. If shells are very thin, meaning less than 1 mm, scale up or set the contact
thickness to a more reasonable (larger) value.
For solids in contact, assigning a solid contact thickness SLDTHK, which offsets the contact surface from the solid surface, can help.
Avoid redundant contact definitions, that is, don't treat contact between the same two parts using
more than one contact definition.
2.9. Other Issues
Typos. Look for mistakes (typos, inconsistent units, etc.) in material input of parts that go unsta-
12/23/2020, 6:48 PM
Support Database | Livermore Software Technology Corp.
4 of 4
http://www.lstc.com/sdb/364
ble.
Damping. Remove all *DAMPING_GLOBAL commands or at least confirm that a reasonable
damping coefficient is being used. Try including *DAMPING_PART_STIFFNESS(_SET) with a
COEF of 0.1 or 0.05, especially in the case of stiff (elastic) shell elements.
Process of Elimination. Debug by process of elimination, that is, simplify your model until stability is achieved. This will help to isolate the cause of the instability.
Replace complex material models with simpler ones that you are familiar with.
Or, test out the questionable material models with a small model to gain confidence in the
proper use and behavior of the material model.
Eliminate loads and/or contacts, one by one, to identify the trigger for the instability.
NaNs. Set ISNAN = 1 in *CONTROL_SOLUTION to identify node IDs where out-of-range
forces first appear. The command option "checknan = 1" or the sense switch control "swn"
can activate this option as well. When the option is invoked, LS-DYNA will report nodes where
NANs occur first to the messag (or mes**** files), write a plot state and terminate the job. The
node list can be found in the mes* file(s) under "*** termination due to out-of-range forces."
Nodes appearing in that message should be examined closely for anything out of the ordinary.
The following is a brief list of some things to consider with regard to those nodes.
Is the material model of the parent elements well defined?
Are there any special connections at those nodes such as nodal rigid bodies?
Is contact occurring on those nodes?
Is mass artificially added to the nodes with *ELEMENT_MASS?
Warnings. Look through and think about the warning messages written to the mes* file(s).
These warnings are sometimes benign, but not always so.
Implicit. If you're using the implicit solver, apply the recommendations provided in Implicit
Modeling Guidelines.
Copyright © 2011-2020 LST, an Ansys company. LS-DYNA, LS-OPT, and LS-PrePost are registered trademarks of LST.
12/23/2020, 6:48 PM
Download