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