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

LS-DYNA R12.2.1 released

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

1. Release notes revision

This file constitutes revision 0 of the release notes for LS-DYNA version R12.2.1.


2. License

The string "REVISION 12" must appear in the LS-DYNA license file to run version R12.2.1.  Please contact your LS-DYNA distributor or your Ansys sales representative if you have to have your license updated.


3. Documentation

The R12.0 User's Manuals provide documentation for R12.2.1.  To download these manuals, go to https://lsdyna.ansys.com/manuals/.  For features mentioned in these notes missing from the R12.0 User's Manuals, please refer to the DRAFT User's Manuals at https://lsdyna.ansys.com/manuals/.  Please note that not all features in the DRAFT User's Manuals are available in version R12.2.1.


4. Notes

A few of the R12.2.0 targets were not built using the correct revision.  We have corrected that mistake and renamed the release R12.2.1.

The remainder of this file briefly describes new features, enhancements, and bug fixes in version R12.2.1.  Other recent releases may also include some of these updates.

We arranged the items by category.  Understand that, in many cases, a particular item may pertain to more than one category.  In the interest of brevity, we list each item only once, under a single category.


5. New

5.1. Contact

  1. Added new feature called *CONTACT_EXCLUDE_INTERACTION for excluding sets of segments from contact with another set of segments or from all contact.  The types of sets supported are segment sets, shell elements sets, or part sets.  This feature is available only with segment-to-segment contact invoked with SOFT = 2


5.3. Elements

  1. Implemented fast shell type 30 (*SECTION_SHELL) based on fully integrated shell type 16 but only with 2 in-plane integration points, 1 and 3.


5.4. Materials and Equations-of-State

  1. Added an implicit tangent for *MAT_215 for solids.


5.5. Miscellaneous

  1. Added keyword *DEFINE_MULTI_SHEET_CONNECTOR.  It is for defining multi-sheet connections in which up to 3 connector elements join up to four shell element sheets.  *DEFINE_FUNCTIONs indicated on *DEFINE_CONNECTION_PROPERTIES with {PRUL} >= 2 can set the material and failure properties of the connector elements, such as DSIGY = func(t1, t2, t3, t4, sy1, sy2, sy3, sy4, sm1, sm2, sm3, sm4, r, a, ...).  The main idea is that each connector element has access to the information about the relevant properties for all sheets involved.  This is currently supported for hexahedron elements with *MAT_100_DA.


6. Improvements and Enhancements

6.1. Airbag Cards


    1. Support dynamic relaxation.

    2. Enhancement for defining the reference moving coordinate system set with NID1 through NID3 on Card 7.  The nodes specifying the reference system can be any three nodes from the model instead of being restricted to nodes that are part of the airbag definition.

    3. Restricted application of reaction forces on orifice nodes to only orifice nodes with mass (see IMOM = 1 on Card 14).

  2. Added P2PMIX to *CONTROL_CPM to control the energy transfer and thermalization during particle-to-particle collision.  Originally thermalization was considered for all interactions, even between particles of different species.  This treatment continues to be the default behavior.  With this field, you can have it treat particle collisions differently depending on if the particles are from the same gas species or a different gas species.

  3. With VANG = -2 under *DEFINED_CPM_VENT, you define the jet direction with nodes.  Originally all three nodes needed to be specified to determine the direction as it was orthogonal to the plane of the nodes.  Now, you only have to specify two nodes with the difference in the positions of the nodes giving the jet direction.

  4. Added BLKV to *CONTROL_CPM to allocate additional memory for the contact nodal force excluding the contact nodal force from force transducers and airbag single surface contact with SOFT = 2.  The nodal force will be used for estimating blockage for external vents. This applies to MPP only.

  5. For *AIRBAG_PARTICLE added blockage option that compares contact and bag pressure (field BLOCK, with M = 2).  The blockage is enabled when contact pressure exceeds bag pressure to allow more venting than the old methods.


  7. For *AIRBAG_PARTICLE, added keyword option TIME to shift the CPM active time for more consistent results while changing firing time with *SENSOR_CPM_AIRBAG.

  8. Added outputting the gauge pressure to the CPM interface force file (*DATABASE_BINARY_CPMFOR)

  9. Skip collecting blockage data for processors without CPM airbags.

  10. For *AIRBAG_PARTICLE, enhanced BLOCK field for better consistency with the following changes:

    1. Evaluate contact force based on airbag nodes.  Each airbag collects data independently.  The contact force from the model used to be collected to evaluate a single threshold blockage force.  This method caused inconsistent responses when assembling the model from component models or adding/deleting contact definitions.

    2. Exclude the contact force from a force transducer to avoid a false signal.


6.2. Blast

  1. Added reporting the particle molar ratio between the predefined HE and air particles for *DEFINE_PARTICLE_BLAST.


6.3. Constraint Cards

  1. Added new possible dependence on the "peel ratio" for certain fields on *CONSTRAINED_INTERPOLATION_SPOTWELD (SPR3) and *MAT_265_SPR3 for MODEL = 1.  The peel ratio is the ratio of the bending moment to the resultant axial force.  Upon reaching plastic yield, this value remains constant.  Three fields can depend on the peel ratio:

    1. RN < 0: Curve with ID |{RN}| defines tensile strength as a function of peel ratio

    2. LCUPF: Table for plastic initiation displacement as a function of mode mixity and peel ratio

    3. LCUPR: Table for plastic rupture displacement as a function of mode mixity and peel ratio

  2. Add two new output quantities for SPR3 to binout/ swforc: "mode_mixity" and "peel_ratio".

  3. Added two optional fields to *CONSTRAINED_INTERPOLATION_SPOTWELD (SPR3): Scale factors SCARN/SCARS for tensile and shear strength.  They not only scale RN and RS but also the displacements in LCF, LCUPF, and LCUPR.  The purpose of these scale factors is a scaled force-displacement curve in both directions.  SCARN and SCARS can also refer to curves by setting them less than 0.  These curves allow the scale factors to be functions of the state of the neighboring SPR3.  Thus, the strength can be reduced as the SPR3 approaches failure.

  4. Added new interpolation method for *CONSTRAINED_SPR2 and *CONSTRAINED_INTERPOLATION_SPOTWELD (SPR3).  INTP = 3 applies quadratic weighting, meaning the scale factor increases with the squared distance from the center to achieve higher stresses at the connector periphery.

  5. Added option SPRSMD to *CONTROL_CONSTRAINED. This flag sets the "shear moment distribution" for SPR3 with:

    1. SPRSMD = 0: Distributed as force pairs (new default), or

    2. SPRSMD = 1: Distributed as nodal moments (old behavior).

      This flag can be seen as a bug fix with a fallback option.

  6. For *CONSTRAINED_SPR2 and *CONSTRAINED_INTERPOLATION_SPOTWELD (SPR3), enhanced the computation of normal directions for nodes in the connector domain using the least square method to determine the regression plane with the normal vector.  This was already done in the global system with 3 different cases, leading to discontinuities when the case switched.  Now we do this in the local system of the SPR connector instead, which prevents discontinuities.


6.4. Contact

  1. Report repeated entries of *DEFINE_FRICTION for the same contact and use the 1st occurrence for analysis.

  2. Updated the periodic intersection check to include solid element segments in the intersection check.  Previously this check only applied to shell segments.

  3. Reduced the number of false positives in the initial penetration check of segment-to-segment contact.

  4. Reduced the memory allocated for initializing segment-to-segment (SOFT = 2) contact.

  5. Reduced phase 4 memory use when excluding many segment pairs from contact.

  6. Added flag REVSPT to *CONTROL_CONTACT to revert the behavior of spot-weld thinning where beam and brick spot-welds share nodes with shell parts instead of being tied to the shells.  Versions R9.3.1 and before did not perform thinning.  The new parameter, REVSPT, is in field 1 of line 7 of *CONTROL_CONTACT.  With REVSPT set to 1, the behavior reverts to R9.3.1.  Setting to 0 or leaving undefined causes thinning at shared nodes.

  7. Fixed the DPRFAC option of MPP groupable segment-to-segment contact with SOFT = 2. It was using the wrong data.

  8. Fine-tuned OpenMP directives for *CONTACT_AUTOMATIC_SURFACE_TO_SURFACE, *CONTACT_AUTOMATIC_SINGLE_SURFACE, and *CONTACT_ERODING_(OPTION) to speed up hybrid performance.

  9. Extend option DTPCHK used for SOFT = 2 in *CONTACT_...: a negative value (DTPCHK < 0) invokes an initial error check.  If LS-DYNA finds any intersection pairs at t = 0, the simulation stops.

  10. Added option SSFTYP = 2 for *CONTACT_... with SOFT = 2 to invoke using the smaller of the SSF values from *PART_CONTACT.  Already existing SSFTYP = 1 takes the larger value.

  11. *CONTACT_TIED_SHELL_EDGE_TO_SOLID contact is now named h7 in d3hsp to distinguish it from *CONTACT_TIED_SHELL_EDGE_TO_SURFACE contact.

  12. Tied contact with finitely thick cohesive elements will tie in the direction of the outward normal, regardless of the search finding a nearer segment being in another direction.  This change aims to avoid incorrectly tying elements which sometimes causes them to invert.


6.5. Control Cards

  1. Added field RINRT to *CONTROL_SOLID to compute rotational inertia for the nodes of solid elements.  This feature ensures consistent results if the applied constraints assume rotational degrees of freedom, as with tied contacts using the option SHELL_EDGE_TO_SURFACE. Without this option, LS-DYNA distributes an average of the existing rotational inertia from the shell and beam elements in the model to the nodes of the solid elements.  The older method is sufficient in most situations but might lead to inconsistencies between different model assemblies in the case of rotational motion.

  2. Added field NLOCDT to *CONTROL_SHELL to decide whether to reduce the time step size when NLOC (*SECTION_SHELL) or OFFSET (*ELEMENT_SHELL) offset the shell reference surface.  NLOCDT = 0 is the default and reduces the time step size to fix instabilities.  NLOCDT = 1 restores the prior behavior and does not reduce the time step size at the risk of instabilities.

  3. Take care of special characters in part titles for hisnames.xml (see HISNOUT on *CONTROL_OUTPUT).  We now replace & , " , < , > , and ' by &amp;, &quot;, &lt;, &gt;, and &apos; to avoid problems with XML file readers.

  4. Added flag COHEQC to *CONTROL_SOLID to control the COHesive Element Quality Check.  We added this check in 2020, which caused an error termination if LS-DYNA detected a bad quality (inverted element) in cycle 0 or 1.  This flag allows you to change the behavior for the check:

    • COHEQC = 0: Error termination as before (default)

    • COHEQC = 1: Warning and continue

    • COHEQC = 2: Warning with element erosion, continue

  5. Added OLDINTP on *CONTROL_MAT to invoke a fast interpolation of tables that sometimes results in incorrect stress.  This flag allows you to switch back to this old method.  Changes in the results of some test problems led to adding this flag.


6.6. Elements

  1. Changed error message INI+1475 to a warning message.  This error message occurs when using CDL and TDL on *SECTION_DISCRETE with discrete beams attached to rigid bodies because a conflict between the beam constraint and rigid body constraints caused unstable behavior.  However, many customers used this type of modeling successfully. Due to a request, we made this a warning rather than an error so that jobs can run.

  2. Enable the ORIENTATION option of *ELEMENT_BEAM to work with beam form 9 (spot welds).


6.7. Forming Analysis

  1. Parameters TENSOR and THKSCL of keyword *INCLUDE_STAMPED are now available for the MATRIX keyword option.


6.8. Implicit (Mechanical) Solver

  1. Enhanced implicit modal dynamics (*CONTROL_IMPLICIT_MODAL_DYNAMICS) to allow the use of *LOAD_BODY.

  2. Added new option for line search in the implicit solver, LSTOL < 0 on *CONTROL_IMPLICIT_SOLUTION.  This option ensures that prescribed motions are automatically satisfied, regardless of step size.  This should avoid the infamous message "Convergence prevented due to unfulfilled bc..."


6.9. Initial Cards

  1. Avoid unnecessary warning messages for unsupported solid element types not initialized with *INITIAL_HISTORY_NODE(_SET).


6.10. Load Cards

  1. Added keyword option SET_ONCE to *LOAD_NODE to evaluate the load function only once.  The value is stored and applied for the rest of the run.


6.11. Materials and Equations-of-State

  1. Added option for the shear criterion of *MAT_ADD_DAMAGE_DIEM (DITYP = 1).  For shells, there are now two possibilities for the computation of max shear stress: three-dimensional (P3 = 0) and two-dimensional (P3 = 1).  The first one matches the behavior before November 2018 and the original paper.

  2. Add new parameter P5 to *MAT_ADD_DAMAGE_DIEM, referring to a curve/table ID that defines

    1. regularization factor vs. element size (curve) or

    2. regularization factor vs. element size vs. abscissa value of criterion (table)

      Plastic strain at onset of damage can be scaled by that factor.  This is similar to LCREGD in *MAT_ADD_DAMAGE_GISSMO.

  3. Changed behavior with parameter Q4 of *MAT_ADD_DAMAGE_DIEM to make it more comparable to the "P5 approach".  The regularization factor specified with a curve or table using Q4 scales the damage evolution parameter specified with Q1.  The factor depends on element size but can also depend on either the abscissa value of the P1 criterion used or plastic strain rate.  LS-DYNA determines the characteristic element size at t = 0 and uses this value throughout the simulation to evaluate the curve or table.

  4. Extended capability of LCREGD < 0 of *MAT_ADD_DAMAGE_GISSMO: |{LCREDG}| can now refer to a *DEFINE_TABLE_3D.  This makes the regularization factor a function of Lode parameter, triaxiality, and element size.

  5. Extended functionality of FADEXP < 0 in *MAT_ADD_DAMAGE_GISSMO: now |{FADEXP}| can refer to a *DEFINE_TABLE (fading exponent is a function of element size and triaxiality) or a *DEFINE_TABLE_3D (fading exponent is a function of element size, triaxiality, and Lode parameter).

  6. Added new flag INSTF for instability treatment to *MAT_ADD_DAMAGE_GISSMO.  This governs the behavior of instability measure, F, and fading exponent FADEXP.

    1. INSTF = 0: F is incrementally updated, and FADEXP, if from a table, is allowed to vary

    2. INSTF = 1: F is incrementally updated, and FADEXP is kept constant after F = 1.

    3. INSTF = 2: F is only 0 or 1 (after ECRIT is reached), and FADEXP, if from a table, is allowed to vary.

    4. INSTF = 3: F is only 0 or 1 (after ECRIT is reached), and FADEXP is kept constant after F = 1.

  7. Let damage grow beyond 1.0 if using *MAT_ADD_DAMAGE_GISSMO with DTYP = 0.  We added the upper limit of 1.0 in 2016/2017 (after R9).  This upper limit makes sense for real softening (DTYP > 0), but for DTYP = 0 values over 1.0 could be used for post-processing.

  8. Added more materials as potential weld partner materials for PROPRUL = 2/3 of *DEFINE_CONNECTION_PROPERTIES: types *MAT_003, *MAT_081, *MAT_133, *MAT_187, *MAT_224 and *MAT_243.

  9. Added solids with *MAT_016 into the material cost table.

  10. *MAT_024 with VP = 3 for Hughes-Liu beam elements now supports LCSS being a *DEFINE_TABLE_XD with dimension X > 2.

  11. For implicit, improved the tangent for shell material 30 (*MAT_SHAPE_MEMORY).

  12. Allow large IDs (more than 8 digits) for GAB and LCDFAIL in *MAT_058.

  13. Added keyword option PATH_DEPENDENT to *MAT_083.  This option invokes a new path-dependent, incremental formulation for foams. It supports 3D tables for "TBID" with an additional dependence on the volumetric strain (1-J).

  14. Added error trap for entering N < 0 (number of statistical links) in *MAT_127.

  15. Modifications for *MAT_136: switched from a deviatoric formulation to a total strain rate for rate-dependent plasticity to make it comparable to *MAT_024.

  16. Added ID3UPD flag to *MAT_157 to recover the old through-thickness strain update.

  17. Extended list of function arguments for *MAT_169 and *MAT_240_FUNCTIONS.  Material properties can be defined with *DEFINE_FUNCTIONs for both materials.  We added Young's moduli of the connection partners (flanges) to the list of arguments.

  18. Added viscoplastic option to *MAT_SAMP_LIGHT (*MAT_187L) invoked by RATEOP = 1.

  19. Added field DOSPOT to *MAT_GENERAL_SPRING_DISCRETE_BEAM / *MAT_196 to activate spot weld thinning when discrete beams that use the material are tied to shell elements.  Previously, LS-DYNA behaved this way by default, but now you must use tjhis parameter to activate it.

  20. Allow large table ID (more than 8 digits) for UPF in *MAT_215.

  21. For *MAT_215 added a check for proper fiber orientation definition.  LS-DYNA issues an error message for incorrect orientation.

  22. Added two new options to *MAT_240 to govern yield under compression (COMPY) and enable smooth treatment of asymptotic limits (SMOLIM).  These fields are currently only available when using none of the following keyword options: THERMAL, 3MODES, and FUNCTIONS.

  23. Added field XMU to *MAT_240 to change the exponent for the power law used for mixed-mode failure.  Previously, the exponent was always 1.0. With XMU, you can define the exponent.  This selection of XMU is the same approach as in *MAT_138.

  24. Added 6 new history variables to *MAT_240 invoked by {RFILTF} <= 0. History variables 18 to 23 give the normal stress, tangential stress, normal force, tangetial force, element area, and mode mixity.

  25. New options for POSTV and IHIS in *MAT_249 and *MAT_249_CRASH:

    1. Output of fiber directions in the material coordinate system

    2. Initialization of fiber directions in the material coordinate system

  26. Added strain rate filtering parameter, SRFILT, to *MAT_252.  This parameter invokes an exponential moving average.

  27. Performance improvements for *MAT_258.  If input parameters A and GAMMA (exponents) are integers, then use them like this internally as well (real exponents are quite expensive).

  28. Enhancement for *MAT_258: initialize history variables 11, 12, and 13 (hardening variables R_i) based on the initial plastic strain coming from *INITIAL_STRESS_SHELL.

  29. Added alternative damage formulation to *MAT_280 invoked by setting FRACEN.  We based the alternative approach on an actual damage model with linear softening.  The existing model drops the stresses in a few cycles.

  30. Added user-defined or stochastic scaling of tensile strength to *MAT_280.  History variable #13 is a scale factor for FT which can be defined with *INITIAL_STRESS_SHELL or with new keyword option _STOCHASTIC (needs *DEFINE_STOCHASTIC_VARIATION).

  31. Added user-defined scaling of fracture energy to *MAT_280.  You can define a scale factor for FRACEN by using *INITIAL_STRESS_SHELL.


6.12. Seat Belts

  1. Added the slip ring friction coefficient, normal force, swap angle, skew angle, and attached belt force to the seat belt output.


6.13. Sensors


    1. Added the option of tracing the local force / moment for TYPE = JOINTSTIF.

    2. Added option M to measure the magnitude of force / moment.


6.14. Thermal Solver

  1. Allow for exchange of history variables between mechanical and thermal user material models for axisymmetric solids (*SECTION_SHELL ELFORMs 14 and 15).

  2. Added parameter TMPOFF to *LOAD_THERMAL_BINOUT for each thermal loading condition.  It defines a temperature offset between thermal results in the binout files and the thermal loading for the mechanical solver.  Thus, it enables running the thermal simulation in Kelvin and the mechanical simulation in Celsius or vice versa.


6.15. Miscellaneous

  1. Added IMMED option to *NODE_TRANSFORM for the processing sequence of *NODE_TRANSFORM.

  2. Added command line option shell=16to30/shell=30to16 for switching between shell formulations 16 and 30 without changing the input deck.  LS-DYNA adjusts the cost of different formulations during decomposition for better parallel load balance.

  3. For *DEFINE_MATERIAL_HISTORIES added a history value summing operation for the load curve attribute (A1 < 0) of the History label.  To enable this option, set the first load curve ordinate value to 4.

  4. Suppress repeated d3hsp output that may occur when using *ELEMENT_SHELL_COMPOSITE together with *MAT_ADD_GENERALIZED_DAMAGE.

  5. Extended list of function arguments for *DEFINE_CONNECTION_PROPERTIES with {PRUL} >= 2 or *DEFINE_MULTI_SHEET_CONNECTORS to include the Young's moduli of the connection partners (flanges).  This extended list of arguments applies to the *DEFINE_FUNCTIONs that determine the material and failure properties.

  6. Accuracy enhancement for DXRB/DYRB/DZRB of *DEFINE_CURVE_FUNCTION enabled by making them work with EXACC = 1 on *CONTROL_ACCURACY.

  7. Added field ISCALE to *DEFINE_TABLE_COMPACT to trigger reading another card(s) for scaling the ordinate and abscissa values of the table.

  8. Addition to TRANSL2ND of *DEFINE_TRANSFORMATION: if distance a3 is zero, LS-DYNA directly uses the distance between nodes a1 and a2 for the translation distance.

  9. Improved the accuracy of the output mass for discrete masses in single precision.

  10. Provide temperature data to *DEFINE_CURVE_FUNCTION in structure-only simulations, where temperature is defined by a *LOAD_THERMAL option.  Previously, LS-DYNA could only provide temperature data to *DEFINE_CURVE_FUNCTION for thermal or coupled thermal-structure simulations.


7. Bug Fixes

7.1. Acoustics, NVH, and Frequency Domain

  1. Bug fix to properly read the *FREQUENCY_DOMAIN_SSD cards if using the long format input option, long=s.

  2. Fixed a bug in running mode-based SSD (*FREQUENCY_DOMAIN_SSD) when using local damping (DMPFLG = 1).  The bug led to incorrect results.


7.2. Adaptivity

  1. Fixed issues with MPP tied contact when the contact includes r-adaptive EFG parts.  The issues caused erroneous stresses or plastic strains in the non-adaptive FEM parts.  It also led the job to error terminate.

  2. Fixed a bug triggered by a model including adaptive EFG parts with IVT = -3 (*CONTROL_REMESHING_EFG) and non-adaptive FEM parts.  The bug led to the job error terminating.

  3. Fixed a bug in adaptive mapping for r-adaptivity when some new surface nodes are outside of the old surface.  The bug caused erroneous deformation.


7.3. Airbag Cards

  1. For *AIRBAG_HYBRID and *AIRBAG_WANG_NEFSKE, fixed a bug introduced in June 2017 that led to the wrong venting leakage when the set type for the airbag is a segment set (SIDTYP = 0).

  2. For *AIRBAG_PARTICLE when using LCPC23, fixed issue with reporting unblocked area for the vent.  LS-DYNA was reporting the unblocked area as zero.  However, the actual vent was not affected by the error.

  3. Fixed bug in *SENSOR_CPM_AIRBAG birth time shift to make it work for all shell element formulations that work with *MAT_034.  It was only working for element formulation 12.  It should now work for shell element formulations 12, 13, 14, 22, 23, and 24.


7.4. ALE

  1. Fixed memory bug associated with using S-ALE with MPP contact that could have crashed the run.

  2. Fixed rare S-ALE memory bug that occurred when all the S-ALE elements on a core have two or more materials in the element.  The bug caused the run to crash.

  3. Fixed S-ALE memory bug that occurred in MPP on Windows.  The bug happened when creating the structured deck and caused the reading of incorrect numbers later.

  4. Fixed S-ALE FSI memory bugs that occurred in MPP on Windows.  These bugs could lead to crashes.

  5. Fixed error for S-ALE that occurred for S-ALE meshes generated with a local coordinate system.  LS-DYNA ignored the local coordinate system and generated the mesh in the global coordinate system.  The mesh also did not move with the local coordinate system.


7.5. CESE Compressible Fluid Solver

  1. Fixed a memory leak in the immersed boundary FSI solver.


7.6. Constraint Cards

  1. Resolved the instability issue of *CONSTRAINED_BEAM_IN_SOLID_PENALTY with Mortar contact.

  2. Do not echo warning INI+485 when node 4 is not defined for *CONSTRAINED_JOINT_TRANSLATIONAL_MOTOR.

  3. Changed the location of the failed visualization beams for SPR3 (*CONSTRAINED_INTERPOLATION_SPOTWELD).  Failed beam elements in a deformed model were flying away.  Now they stay with the disconnected sheets.

  4. Fix for *CONSTRAINED_INTERPOLATION_SPOTWELD with MODEL > 10 when using functions (*DEFINE_FUNCTION) to define selected material parameters.  This did not work correctly for large function IDs (> 9999).

  5. Fix for *CONSTRAINED_INTERPOLATION_SPOTWELD (SPR3): If the connection opens up more than 90 degrees (very high bending), the computation of the lower sheet's normal direction could be incorrect, leading to erroneous results.

  6. Format fix the structured input for *CONSTRAINED_SHELL_TO_SOLID with long=s.

  7. Some combinations of *CONSTRAINED_NODAL_RIGID_BODY and *CONSTRAINED_NODAL_RIGID_BODY_INERTIA with shared nodes resulted in the wrong nodal rigid body mass.

  8. Fixed issue causing the rack-and-pinion joint to move in the opposite direction of the intended direction for implicit analysis.  See *CONSTRAINED_JOINT_RACK_AND_PINION.


7.7. Contact

  1. Fixed segment-to-segment contact (SOFT = 2):

    1. When DEPTH = 5 is used with nonlinear stiffness option with FNLSCL < 0 and DNLSCL > 0 or with FNLSCL>0 and DNLSCL=0, or

    2. When DEPTH = 5 is used with orthotropic friction, and the orthotropic friction uses a table or curves for the a-direction or b-direction.

      The bug led to a less accurate calculation and a contact that did not work as well.

  2. Fixed segmentation fault error when coupling *CONTACT_2D_AUTOMATIC with the thermal solution and using explicit dynamics for the structural solution.

  3. Fixed issue to enable *CONTROL_MPP_DECOMPOSITION_REDECOMPOSITION to work with segment-to-segment contact (SOFT = 2).  Jobs hung with redecomposition if all cores did not participate in the contact.

  4. Fixed MPP *CONTACT when the following conditions are met:

    1. Optional Card A is not defined, or SOFT = 0 or 1 on optional Card A,

    2. The ORTHO_FRICTION keyword is used, and

    3. At least one of LC1S, LC2S, LC1M or LC2M is defined.

      The friction behavior is likely to be changed by this fix.  Friction forces only developed in one direction of sliding and not in the direction 180 degrees rotated from that direction.  The behavior is now symmetric.

  5. Fixed the contact energy density when using segment-to-segment contact (SOFT = 2 on *CONTACT).  The values were too low.

  6. Fixed segment-to-segment contact (SOFT = 2) when used with PSTIFM > 0 and selective mass scaling.  The contact stiffness was wrong.

  7. Fixed SOFT = 2 segment-to-segment eroding contact when elements erode before the contact birth time.  Segments were not being eroded.

  8. When the tracked side is rigid for *CONTACT_AUTOMATIC_NODES_TO_SURFACE, the tracked side's contact thickness offset was considered 0 unless SHLTHK was set to 2 on *CONTROL_CONTACT.  Since it is an automatic contact, the contact thickness offset should always be considered.  The contact thickness offset is now considered regardless of the setting of SHLTHK.

  9. Fixed d3hsp contact output when FD references a table for *DEFINE_FRICTION, and added a warning message for when the table does not exist.

  10. Fixed memory clobber for mortar contact combined with r-adaptivity, which could occasionally result in complete failure of the algorithm.

  11. Groupable tied contacts combined with selective mass scaling resulted in an error termination

  12. Fixed inconsistent nodeal forces for tied nodes-to-surface offset contact which sometimes resulted in unstable behavior.

  13. Damping for mortar contact was broken for quite a while, resulting in no effect of a nonzero VDC.  This is now fixed.


7.8. Control Cards

  1. Fixed bug that leds to an error termination when initializing a model with IDRFLG = 2 in *CONTROL_DYNAMIC_RELAXATION and using shell h-adaptivity in the transient phase.  The error occurred during the first adaptive remeshing.

  2. Fix for MATEN = 2 on *CONTROL_ENERGY: for solid elements, energy results could have been wrong.

  3. Fixed problem with DRCPSID on *CONTROL_SHELL.  Even if the part set referenced some parts and did not reference others, LS-DYNA could still have grouped parts together improperly.  This improper grouping caused LS-DYNA to apply the drill constraint where it should not or not apply it where it should.  This incorrect grouping only happened if all other properties of the two parts were the same.

  4. Fix for combination of DT2MSLC on *CONTROL_TIMESTEP and *MAT_187 leading to problems with curve generation.

  5. Fixed long-standing bug for mass scaling of tetrahedral elements.  The algorithm computed the added mass based on the current element mass instead of the original element mass using the initial volume.  Comparison with hexahedral elements revealed that the mass scaling was not correct, especially for large volume changes (like when foam gets compressed).  In such cases, the added mass was too small during compression and too large during unloading.

  6. Added some missing part set offsets on *CONTROL cards: apply IDSOFF from *INCLUDE_TRANSFORM where necessary.

  7. Fixed bug that rendered the Lagrangian multiplier treatment of *CONSTRAINED_INTERPOLATION (activated when independent nodes exceed 100) in implicit unusuable.

  8. OSU = 1 on *CONTROL_ACCURACY (2nd order objective stress updates) for higher order tetrahedrons (type 16) was broken, resulting in poor results for overlayed deformation-rotation motion.


7.9. Discrete Element Method

  1. Bug fix for DEM nonreflecting boundary condition in MPP.  The input data was being lost when it was transferred to the local processors.  In some cases, this issue led to the feature being disabled.

  2. Fix for *DEFINE_DE_ACTIVE_REGION with TYPE = 1 (box) and long=s.  Coordinates were read in the wrong format from the structured input.


7.10. Elements

  1. Fixed a bug which caused zero internal energy in matsum for parts with *ELEMENT_TSHELL_COMPOSITE.

  2. Fixed thick shells form 5 when used in composites.  Models would run if all composite parts had the same number of integration points, but not if some parts include plasticity models and other do not.

  3. Fixed mass scaling of solid tetrahedral element form 13.  When mass scaling, the wrong element volume was used, causing the wrong amount of added mass.  Elements with a volume of around 1.0 would get about the right amount of added mass.  Those with larger volume would get too little, and those with smaller volume too much.

  4. Error in retrieving the connectivity for the thickness DOF of shell element formulations 25 and 26 (thickness DOF elements) caused a segmentation fault and possibly incorrect results.

  5. For shell and tshell composites (*PART_COMPOSITE(_TSHELL) and *ELEMENT_TSHELL/SHELL_COMPOSITE), relaxed check for material orientation definition to avoid writing of wrong and unnecessary warning messages (STR+1438).

  6. Fixed bug for combination of *ELEMENT_T/SHELL_COMPOSITE with *SET_PART_COLLECT.  The parts in the collected set were not properly expanded to the newly generated parts for the composite elements.  This may have led to a wrong application of boundary conditions of related parts.

  7. Fixed bug for combination of *ELEMENT_T/SHELL_COMPOSITE and part sets that could have led to a memory clobber.

  8. Fixed bug for combination of *ELEMENT_T/SHELL_COMPOSITE with d3part. LS-DYNA automatically generates new internal part IDs for the composite part.  These new part IDs were not accurately added to d3part.

  9. Fixed bug in part set expansion for composite parts (*PART_COMPOSITE(_TSHELL)).  The internally generated part IDs for the composite were not being added to part sets properly if the defined composite part was a member of a part set.

  10. Fixed a bug for cohesive pentahedral elements if used with ELFORM = 19 or 20 on *SECTION_SOLID and ESORT = 2 or 4 on *CONTROL_SOLID together with a tied contact.  Prior to this fix, nodes of cohesive pentahedral solid elements may not have been properly tied to the surface.


7.11. Implicit (Mechanical) Solver

  1. Fixed d3eigv output for composites.  The output did not reference user input part IDs.

  2. Corrected output of the rotational entries of eigenvectors to the d3eigv file (*CONTROL_IMPLICIT_EIGENVALUE).  Output speed improvements we made in R12.0 introduced the problem.


7.12. Initial Cards

  1. Bug fix for *INITIAL_AXIAL_FORCE_BEAM with KBEND = 1 in implicit. If the beam did not align with the global x-, y-, or z-direction, the results were not consistent.

  2. Fixed a bug for *INITIAL_VELOCITY along a local coordinate system (CSID > 0).  The bug led to incorrect results.

  3. Fixed structured input error when using *INITIAL_VELOCITY_GENERATION with ID = 0 and STYP = 0 with another *INITIAL_VELOCITY_GENERATION with nonzero ID and STYP.


7.13. Load Cards

  1. Fixed a bug in *LOAD_EXPANSION_PRESSURE, so the load is applied to the right section.

  2. Fixed spurious Error 20246 (STR+246) due to round off error when using *LOAD_MOVING_PRESSURE in single precision.

  3. *LOAD_VOLUME_LOSS did not work correctly when COORD is nonzero, and the coordinate system had certain characteristics.  The symptom was warning messages SOL+1127 in the message file.


7.14. Materials and Equations-of-State

  1. Fix for TITLE option of *MAT_ADD_DAMAGE_DIEM/GISSMO.  Special characters, such as <, led to error termination.

  2. Fix for large table ID (> 2^{24}) for Q1 < 0 on *MAT_ADD_DAMAGE_DIEM when using a single precision executable.

  3. Fix for combination of *MAT_ADD_DAMAGE_GISSMO and *PART_COMPOSITE.   If the first layer in the composite was a non-GISSMO material, the failure treatment could have been wrong.

  4. Fix for *MAT_ADD_DAMAGE_GISSMO with {LP2BI} <= 0.  The Lode parameter was not being correctly replaced by the bending indicator for LCREDG and FADEXP if needed.
  5. Fix for large curve IDs for SIGVM < 0 and MXEPS < 0 on *MAT_ADD_EROSION.  This did not work for values larger than 2^{24}.

  6. Fixed single precision issue with *MAT_ADD_GENERALIZED_DAMAGE and IFLG3 = 1.  Results could have differed compared to double precision.

  7. Fixed option IFLG3 = 1 of *MAT_ADD_GENERALIZED_DAMAGE for solid elements.  This single damage parameter option was not working as intended.

  8. Fixed single precision issue in *MAT_005 to reduce noisy stresses.

  9. Fixed the transformation of the material tangent for *MAT_022, *MAT_054, and *MAT_058 for implicit analysis.  Previously, if elements deviated from a perfect square shape, the stiffness and results, like eigenvalues, changed.

  10. Fixed issue in *MAT_024 when used with tetrahedral elements (such as solid ELFORM = 13) after dynamic relaxation when using VP = 1.  The problem occurred when the part reached plastic deformation during dynamic relaxation.  It led to the model crashing.

  11. Fixed issue with *MAT_024_LOG_INTERPOLATION with VP = 1 (table) for shell elements when using the implicit solver.  The algorithm used the same interpolation as in the negative first strain rate approach, but here we have "regular" strain rates with a logarithmic interpolation.

  12. For *MAT_034, you can give the strain restoration factor (TSRFAC) as a time-dependent load curve for both positive and negative ID.  Only a negative curve ID worked when using it with *SENSOR_CPM_AIRBAG.  It works for both cases now.

  13. Fix for *MAT_036 with table LCID > 0 and HR = 3 (strain rates) or HR = 8 (temperature).  LS-DYNA did not consider FCTTIM and FCTTEM from *INCLUDE_TRANSFORM for the unit conversion.

  14. Error in plastic strain update for *MAT_037/*MAT_TRANSVERSELY_ANISOTROPIC_ELASTIC_PLASTIC caused instabilities.

  15. Fixes for *MAT_054:

    1. Prevent failed integration points from reviving again in cyclic loading.

    2. Incorrect internal energy calculation for solid elements when using the SLIM limits.

  16. Fixed incorrect moments/inertia/area output to secforc when using cables with *MAT_071.

  17. Fixed bug in *MAT_079 (*MAT_HYSTERETIC_SOIL) that causes spurious stress changes if the element rotates significantly.  Errors are small for typical seismic or civil/structural applications but could potentially become problematic, such as in highly deforming regions of the soil.

  18. Revised combination of *MAT_083_LOG_LOG_INTERPOLATION and implicit accuracy flag IACC = 1 (*CONTROL_ACCURACY).  The logarithmic interpolation was automatically deactivated.  It is now enabled again.

  19. Fixed false initial element failure with *MAT_100.  If used with MPP groupable tied contact (such as *CONTACT_TIED_SHELL_EDGE_TO_SOLID), LS-DYNA deleted elements prematurely in cycle 0.

  20. Fix for unit conversion of table values (strain rates) in *MAT_133.  Table HARD < 0 should take FCTTIM from *INCLUDE_TRANSFORM into account.

  21. Fixed potential divide by zero in the thickness strain update for *MAT_157.

  22. Fixed bug in strain rate dependent strength evaluation in *MAT_157 for the case where the natural logarithm of the strain rate is specified.  An incorrect evaluation occurred when the strain rate was 0.

  23. Fixed false initial element failure with *MAT_169 due to ICOH = 1 on *CONTROL_SOLID.  If used with MPP groupable tied contact (such as *CONTACT_TIED_SHELL_EDGE_TO_SOLID), LS-DYNA prematurely deleted elements in cycle 0.

  24. Allow large function IDs (> 2^24) for some *MAT_169 entries using a single precision executable.  This bug affects negative input of TENMAX, GCTEN, SHRMAX, GCSHR, SHRP, SDFAC, and SGFAC.

  25. Fixed bug in *MAT_172 for TYPEC = 1, 2, 4, 5, 7, and 8 under thermal loading.  When well-confined concrete was heated sufficiently to cause yielding in compression, the build-up of compressive stress was less than it should have been.  The bug affected beams, shells, and thick shells.

  26. For *MAT_215, using a 3D table for LCI could lead to incorrect results if the triaxiality table started with a negative value.

  27. Fixed issue in *MAT_215 (*MAT_4A_MICROMEC) when used with shell elements after dynamic relaxation.  The problem occurred when the part reached plastic deformation during dynamic relaxation and only happened when damping the part stiffness.  It resulted in the simulation crashing.

  28. Fix for initial temperatures in elements using *MAT_224 while applying *LOAD_THERMAL elsewhere in the model.  *INITIAL_STRESS_SOLID/SHELL can set the temperatures on history variables #14 (solids) and #10 (shells).  Simultaneous use of *LOAD_THERMAL on other parts in the model should not alter these values.

  29. Fix for *MAT_224: allow adiabatic heating even if there is some external temperature somewhere else in the model.

  30. Fixed bug for *MAT_224 and *MAT_224_GYS.  If LCI refers to *DEFINE_TABLE_3D, results could have been wrong if the triaxiality table started with a negative value.

  31. Fix for penalty stiffness of *MAT_240_THERMAL: avoid potential zero stiffness by determining the maximum values from curves EMOD/GMOD.

  32. Bug fix for the combination of *MAT_251 and *MAT_ADD_DAMAGE_GISSMO with history options.  If providing a history variable via HISVN = 6 (material 251) and HISVN = -6 (GISSMO) and an initial value specified with *INITIAL_STRESS_SHELL/SOLID, LS-DYNA overwrote the history value of *MAT_251 with zero.  LS-DYNA now keeps the history value.

  33. Fixed issue in *MAT_PAPER causing AOPT < 0 not to activate.

  34. Fixed combination of *MAT_280 and *PART_COMPOSITE.  The bug caused the copying of some history variables (1,2,3) across the thickness, which should not be the case for integration points with a non-glass material.


7.15. Output

  1. Removed d3prop output during an adaptivity cycle since it caused problems in LS-PrePost.

  2. d3drlf did not contain delete flags.  Thus, deleted elements did not disappear when animating the model during post-processing.

  3. Full deck restart d3plot output times differed depending on whether you used MPP or SMP.  They now match.

  4. Accelerations that are output to d3plot file are always Newmark accelerations in implicit from the time stepping scheme.

  5. For *DATABASE_HISTORY_SEATBELT fixed a bug that mistakenly turned off the output of regular 1D belts in seatbelt output, SBTOUT, when IP2DBLT = 0.

  6. Fixed a bug for *DATABASE_RECOVER_NODE in MPP that occurred for solid elements with multiple integration points.  The bug led to incorrect results.

  7. Fixed issue with writing the intfor file *DATABASE_BINARY_INTFOR when the given file name is a single character.  The issue caused LS-DYNA to crash.

  8. Fixed issue during predecomposition for MPP that corrupted the d3eigv.

  9. Fixed the reported mass to d3plot when tet form 10 and tet form 13 erode.  The eroded mass was not being subtracted.

  10. Fix for averaged nodal stress/strain output with *DATABASE_EXTENT_BINARY.  These are the options NODOUT = STRESS_GL, STRAIN_GL, and ALL_GL.  It was not correctly working with tetrahedral or pentahedral solids.

  11. Fixed issue with using several instances of *DEFINE_MATERIAL_HISTORIES, which resulted in errors.

  12. Fixed incorrect number of material history variables from *DEFINE_MATERIAL_HISTORIES.  LS-DYNA output one too many history variables, resulting in the last one being nonsense.


7.16. Restarts

  1. Fixed issue in reading d3full during a full deck restart for MPP that led to wrong file numbering for d3hsp and d3plot.  The numbering was correct for R11.2.2 but incorrect for R12.1.0.

  2. Recover the initial characteristic length of the problem when performing a full deck restart from redecomposition.  The length should remain the same under this condition.


7.17. Seat Belts

  1. For *ELEMENT_SEATBELT_SLIPRING, added conversion of the optional normal-force-dependent Coulomb dynamic friction curves, LCNFFD and LCNFFS, for slip rings with 2D belts.  LS-DYNA internally modifies the 1D LCNFFD and LCNFFS curves to represent the corresponding friction-force dependency.  The previous versions did not include this modification, leading to erroneous results.

  2. Fixed a bug triggered by using 2D belts (*ELEMENT_SEATBELT) with *SET_NODE_ADD.  The bug led to abnormal termination due to error message STR+211.

  3. Fixed a bug for seat belts that occurred when *MAT_SEATBELT has loading or unloading curves defined through a table, and the related strain rates are exponentially increasing.  The bug caused the job not to run.


7.18. Sensors


    1. Fixed a bug that happened when TYPE = PRESC-MOT for implicit simulations only.  This bug led to the job crashing.

    2. Fixed a bug for TYPE = JOINT that happened when the joint is a motor joint, *CONSTRAINED_JOINT_XXX_MOTOR.  It could prevent the joint from failing as designed.

    3. Fixed a bug for TYPE = BELTPRET (seat belt pretensioner).  It only occurred when SBRTYP = 2 or 3 on *ELEMENT_SEATBELT_SLIPRING.  This bug led to erroneous results.

  2. Fixed the use of *INCLUDE_TRANSFORM with *SENSOR_DEFINE_FORCE when TYPEID = X-SECTION, CONTACT, CONTACT_2D, JOINT, JOINTSTIF, RWALL, or SPC, and the transformation includes ID offsets for the transformed parts.


7.19. SPH

  1. Fixed issue where LS-DYNA renormalized SPH axisymmetric formulations when FORM in *CONTROL_SPH was nonzero in SMP.  Now, LS-DYNA only renormalizes for FORM set to 1, 3, 6, 8, or 16.


7.20. Thermal Solver

  1. Set the default value for the time scale factor, TSF, in *LOAD_THERMAL_BINOUT to 1.0.

  2. For thermal-only analyses with *CONSTRAINED_NODAL_RIGID_BODY cards, a bug corrupted the d3plot files.  As a result, LS-PrePost could not read them.

  3. Fixed the default value for parameter PTYPE (= 1) in *BOUNDARY_THERMAL_WELD_TRAJECTORY in accordance with the manual.


7.21. User-Defined Features

  1. Fixed issue in *MODULE where MMALE did not work correctly when a user material spread to a part that was initially without any user material.

  2. Fixed issue where *MODULE_USE did not work correctly for user material numbers in the extended range 1001 and 2000.

  3. Fixed issue that prevented using the user material subroutines umat42, umat48v, and umat49v.

  4. Fixed issue where *MODULE_LOAD or the command line option module= could not be used with the default usermat shared object filename.


7.22. Miscellaneous


    1. Fixed a bug occurring when an included file has *PART_INERTIA or *CONSTRAINED_NODAL_RIGID_BODY_INERTIA.  The bug led to an incorrect warning message.

    2. Fixed a bug triggered by not defining discrete elements and the related materials or sections in a single include file.  It led to an error termination.

  2. Fixed a bug for the POS6N option of *DEFINE_TRANSFORMATION that occurred when used together with *INCLUDE_TRANSFORM.  The bug caused an incorrectly transformed model.

  3. Fixed long initialization time when using thousands of *SET_SHELL_GENERAL with OPTION set to DBOX.

  4. Fixed segmentation fault when using a large number of *DEFINE_ELEMENT_DEATH_(OPTION) keywords with IDGRP defined.

  5. Fixed issue with printing titles for *DEFINE_CURVE_TITLE to d3hsp.  Printing the titles did not work correctly if the *DEFINE_CURVE_TITLE directly preceded or directly came after a *DEFINE_CURVE without a title in the input deck.

  6. Fixed erroneous behavior that occurred when using *DEFORMABLE_TO_RIGID with selective mass scaling.