Our website uses cookies. By using the website you agree ot its use. More information can be found in our privacy policy.

LS-DYNA R9.3.1 (R9.140922; 2019/10) released

New version of LS-DYNA is released for all common platforms.

Release notes for LS-DYNA R9.3.1

Herein are summarized new features and enhancements in version 9.3.1.  The changes are primarily just bug fixes.

The items are arranged by category.  Understand that in many cases, a particular item could fall under more than one category, but in the interest of brevity, each item is listed only once, under a single category.

Excluding the "Miscellaneous" category, the categories are arranged alphabetically.


  • *AIRBAG_HYBRID_JETTING: Fix a bug that occurs when the cone angle, CA, or efficiency factor, BETA, is defined as a function of time.


    • Support Autoliv porous leakage model (*MAT_034, VOPT=-1,-2) under CPM and CPM+UP switch capabilities.

    • Enable new CPM algorithm which is the default for R10 and later. The new algorithm can be turned on in R9.3.1 by appending "_P2FNEW" to the keyword *CONTROL_CPM, that is, *CONTROL_CPM_P2FNEW.

    • The unit vector to control orifice jetting suffered from roundoff
      error when the airbag was transformed to a new position. This caused erroneous inflation energy. That problem is now fixed so deployment is independent of coordinate transformation.

  • Fix wrong interpretation in reading STYPEH and STYUP on *AIRBAG_PARTICLE. It interpreted part as part set and vice versa.



  • "Interface Pressure" in intfor (*DATABASE_BINARY_INTFOR) is now returned to always being positive.  There is no clear way to distinguish between compression and tension at this point in the code, so trying to indicate this differece via the sign of the pressure wasn't working correctly.

  • Fix for IPBACK option in MPP groupable contact. Wrong nodes may have been checked for contact duplication

  • Enabled the SPOTHIN and SWRADF parameters on *CONTROL_CONTACT to work when spot welds are modeled by sharing nodes with the shell parts that are welded. This has not worked until now because we searched for shells to thin through the tied contact, and tied contact is not needed when nodes are shared

  • Improvements and corrections for *CONTACT_AUTOMATIC_BEAMS_TO_SURFACE (MPP).

  • Correct the mass distribution for shell nodes attached to solid segments to improve stability in *CONTACT_TIED_SHELL_EDGE_TO_SOLID.


    • Avoid the gap between phantom nodes, to detect the contact between beams and shell edges.

    • Support option SRNDE for exterior shell edges and the initial penetration check.

  • Improve *CONTACT_AUTOMATIC_GENERAL to shift shell edge for serverely-deformed shells with CPARM8=10.

  • The beam-to-beam contact stiffness in MPP's *CONTACT_AUTOMATIC_GENERAL is reduced by half to match the SMP implementation.

  • Fix bug in the friction calculation in *RIGIDWALL_PLANAR_ORTHO. Now, if the friction coefficients in ORTHO are the same, friction forces will match those of non-orthogonal *RIGIDWALL_PLANAR.

  • Exclude the tied slave nodes properly for the *DEFINE_CONTACT_EXCLUSION.

  • Fix bug in ERODING contact so the host element of a contact segment is properly identified after duplicated segments are found and removed.

  • Fix bug in memory length of the groupable TIED contact in MPP double precision.

  • Fix bug where groupable TIED contact was, in special cases, out of sync when master shell element(s) failed.

  • Fix bug in generation of contact segments for pentahedral cohesive elements.

  • Enable restriction by SBOXID and MBOXID for ERODING contacts.

  • Fix memory leak in groupable *CONTACT_..._SMOOTH.





  • Fix MPP bug so that the mass of self piercing rivets (*CONSTRAINED_SPR2) are synchronized over processors.



  • Add variables INSF, ISOLSF, IBSF ,ISSF to *CONTROL_OUTOUT which invoke output of node sets, solid element sets, beam element sets, and shell element sets, resp., as defined by *SET_... in the input file. The output files are named nodeset_file, solidset_file, beamset_file, and shellset_file, resp.

  • Add error trap if INTPERR=1 is set on *CONTROL_SHELL and data interpolation would be done with *INITIAL_STRESS_SHELL.

  • Extend cohesive element flag ICOH=1 (*CONTROL_SOLID), so that element erosion also works if neighboring elements from a tied contact failed.



  • Fixed Rayleigh damping (*DAMPING_PART_STIFFNESS) for tshell element forms 1, 2, and 6. It was possibly unstable.

  • Fix for solid element failure message with weld assemblies.

  • Improve error checking of cohesive elements. In addition to checking for adjacent elements (shells, tshells, solids), cohesive elements are now also checked for being part of a tied contact definition.

  • Suppress unnecessary writing of warning messages concerning element type switching for cohesive pentahedrons.

  • More conservative time step for cohesive shell formulation 29.

  • Correct element number and solution cycle for negative volume message.

  • Bugfix for *PART_STACKED_ELEMENTS: Layer positions were shifted when shell elements with NLOC=-1 in outer layers.

  • Fix i10 input format bugs in *ELEMENT_DISCRETE and *ELEMENT_SEATBELT.



  • *FREQUENCY_DOMAIN_ACOUSTIC_BEM: Fixed a bug in computing time domain acoustic results when there are multiple field points for output.



  • Add a warning if *INITIAL_STRESS_SECTION is used with a part set PSID>0, but that part set is empty. In addition, fix associated segmentation fault.

  • Nodes NY and NZ, when NX=-999.0 on Card 2 of *INITIAL_VELOCITY_GENERATION, were not offset with IDNOFF when used with *INCLUDE_TRANSFORM.  This bug is now fixed.

  • Fix incorrect rotational axis when using *PART_INERTIA and *INITIAL_VELOCITY_GENERATION with IRIGID=1 and the rotational axis defined using nodes in card 2 of *INITIAL_VELOCITY_GENERATION.

  • Fix IZSHEAR option of *INITIAL_STRESS_SECTION (was not working).

  • Fix support of *INITIAL_STRESS_SHELL_SET in long format.

  • Fixed bug for converting *INITIAL_FOAM_REFERENCE_GEOMETRY to i10 format using command line option (newformat=i10).


*MAT and *EOS

  • Minor fix for *MAT_258.  Same issue as in r109804.  Fixed problem involving *MAT_258 with *DAMPING_PART_STIFFNESS together with RYLEN=2 in *CONTROL_ENERGY.

  • Added a new option called TTOPT to *MAT_SPOTWELD which is used by solid and solid assembly spot welds. The option controls the behavior of TRUE_T making it possible to revert the TRUE_T behavior back to how it worked in R8 and previously. The TTOPT value is read in the 4th field of card 3.1 on *MAT_SPOTWELD. If TTOPT=0 or if the TTOPT is not input, then the behavior is unchanged with this update. If TTOPT=1, then R8-and-earlier behavior is invoked.

  • Fix bug in *MAT_261/262 shells that may have appeared if this material was used in *PART_COMPOSITE with a different material model located at first integration point. Prior to this fix, the element deletion of the element did not work as it should.

  • Fix for *DEFINE_MATERIAL_HISTORIES, e.g., in combination with *MAT_126.

  • Enabled user defined weld failure in *MAT_100 with OPT=12 to be used with solid weld assemblies in MPP. Jobs would terminate with error message OPT+1063 unless all partitions had at least one such weld on it.

  • Fix for *MAT_169 with variables referring to *DEFINE_FUNCTIONs. Function ID offsets from *INCLUDE_TRANSFORM (IDFOFF) did not work.

  • Fix for *DEFINE_CONNECTION_PROPERTIES with PRUL.ge.2 (uses *DEFINE_FUNCTION). Function ID offsets from *INCLUDE_TRANSFORM (IDFOFF) did not work.

  • Fix for GISSMO to be used in adaptive remeshing. Evaluation of damage coupling flag could go wrong due to averaging of history variables in rezone step.

  • Fix for *MAT_187 history variable confusion when solid elements and INTOUT/NODOUT=STRAIN/ALL on *DATABASE_EXTENT_BINARY were used.

  • Fix for *MAT_187 table lookup in LCID-T. It was possible to get yield stresses not corresponding to the current strain rate. This was broken in releases R9.{0|1|2|3}, R10.{0|1|2}, and R11.{0}.

  • Fix for *MAT_187 used in restart, rates could be extremely high at initialization.

  • Minor change for GISSMO output with *DEFINE_MATERIAL_HISTORIES:  "Damage,1" gives damage parameter D (hisvar # ND).

  • Add keyword option LOG_INTERPOLATION to *MAT_224, for table LCK1.

  • Improve robustness if DMGEXP<1 is used for GISSMO damage.

  • Fix NaN problem with shells using *MAT_024_LOG_INTERPOLATION with VP=1 and dynamic relaxation.

  • Also improve algorithm for the LOG_INTERPOLATION option of *MAT_024 when used with VP=1 for shell elements. CPU time is reduced substantially and results better match the alternative approach for log interpolation (negative first value in table).

  • *MAT_126/*MAT_MODIFIED_HONEYCOMB now supported for customized extra history variable output (*DEFINE_MATERIAL_HISTORIES). Previously, it would error terminate.

  • DIEM damage model (*MAT_ADD_EROSION, IDAM.LT.0): Avoid a memory flaw when multiple damage models are used.



  • Improve MPP decomposition processor assignment for regions assigned to a subset of the processors, particularly if using the "%proc" pfile option.

  • Restructure tet formulation 13 nodal volume data communication to get better MPP performance.

  • Improve MPP decomposition cost factors for *MAT_077 and *MAT_083.

  • Fix potential MPP racing issue if multiple MPP single surface contacts are defined.




  • Fix for d3hsp output of *RIGIDWALL motion curve ID.

  • Fix d3hsp output of large local coordinate id (beam type 6).

  • The force on a RIGIDWALL induced by initial velocity is excluded from rwforc.

  • Set second digit of MSSCL in *DATABASE_EXTENT_BINARY to output the total mass of each part to d3plot if mass scaling is on.

  • The IDs defined in *DATABASE_HISTORY_DISCRETE_ID for the discrete elements are now included in deforc.  Previously, those IDs were not written when BEAM was set to 1 in *DATABASE_BINARY_D3PLOT.



  • Information pertaining to *DEFINE_REGION is now written to dump files and is read when restarting.  This fix affects contacts that use the REGION variable on Optional Card E.



  • *SENSOR_DEFINE_CALC-MATH:  Fix a bug that occurs when CALC=SUM and SENSi is negative.

  • *SENSOR_DEFINE_MISC:  Add option of NFAILE to MTYPE to trace number of failed elements.

  • *SENSOR_CONTROL:  Add option of ELESET to TYPE to fail element set.



  • Fix an old bug in *INTERFACE_LINKING that would cause incorrect behavior for displacements scaled via a *DEFINE_FUNCTION if (and only if) the function was defined in terms of 3 variables (spatial displacement dependence only).

  • Fixed bug in reading long format input of *PARAMETER_EXPRESSION.

  • A listing of part sets defined by *SET_PART_... is written to an ASCII file called group_file. To display the parts in any part set, read the keyword input into LS-PrePost and then go to "Model>Groups". group_file is automatically loaded and a list of part sets appears. You can highlight any of those part sets and click "Select" to display the parts in those selected part set(s). In R9.3.1, if the TITLE option is included in any *SET_PART command, that title is now included in the group_file.

  • Fix for table values transformation, *INCLUDE_TRANSFORM. It could happen that strain rates were converted (FCTTIM) even if they should not.

  • Fixed bug in reading *SET_NODE_GENERAL for the following TYPEs:  *SET_SHELL, *SET_SOLID, *SET_BEAM, *SET_TSHELL, *SET_SPRING.  (Note: *SET_SPRING will be changed to the more appropriate *SET_DISCRETE in a future release.)

  • Changed the default plabel to plabel=no to speed up reading of input. If the input contains non-numeric IDs for materials, sections, etc., an error of the following type will be issued:

    *** Error 10786 (KEY+786)
        Non-numeric (character) ID detected in input at field 3 of line 111
        Please use "plabel=yes" on the command line
         0.000     0.000      ss24         0     0.000

  • Fixed bug in madymo coupling. The restart dump was called twice.

  • Fix corrupt node list in *SET_NODE_LIST_GENERATE in case of many preceding *SET_NODE_GENERAL cards.

  • Implement *MODULE to support the default dynamic library.