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 http­s://ls­dy­na.an­sys.­com/­man­u­al­s/. For features mentioned in these notes missing from the R12.0 User’s Manuals, please refer to the DRAFT User’s Manuals at http­s://ls­dy­na.an­sys.­com/­man­u­al­s/. 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 *CON­TAC­T_­EX­CLUDE_­IN­TER­AC­TION 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.2. Elements

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

5.3. Materials and Equations-of-State

  1. Added an implicit tangent for *MAT_­215 for solids.

5.4. Miscellaneous

  1. Added keyword *DE­FINE_­­MUL­TI­_­SHEET_­­CON­NEC­TOR. It is for defining multi-sheet connections in which up to 3 connector elements join up to four shell element sheets. *DE­FINE_­­FUNC­TIONs indicated on *DE­FINE_­­CON­NEC­TION_­PROP­ER­TIES with \(\textrm{PRUL} \geq 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. For AIRBAG_PARTICLE:

    • Support dynamic relaxation.

    • 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.

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

  2. Added P2PMIX to *CON­TROL_­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 *DE­FINED_­CP­M_­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 *CON­TROL_­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_­­PAR­TI­CLE 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.

  6. For *AIRBAG_­­PAR­TI­CLE, support *SEN­SOR_­SWITCH_­SHEL­L_­­TO_­VENT with IAIR = 1.

  7. For *AIRBAG_­­PAR­TI­CLE, added keyword option TIME to shift the CPM active time for more consistent results while changing firing time with *SEN­SOR_­CP­M_­AIRBAG.

  8. Added outputting the gauge pressure to the CPM interface force file (*DATA­BASE_­BI­NA­RY_­CPM­FOR)

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

  10. For *AIRBAG_­­PAR­TI­CLE, enhanced BLOCK field for better consistency with the following changes:

    • 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.

    • 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 *DE­FINE_­­PAR­TI­CLE_­BLAST.

6.3. Constraint Cards

  1. Added new possible dependence on the “peel ratio” for certain fields on *CON­STRAINED_­IN­TER­PO­LA­TION_­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:

    • RN < 0: Curve with ID \(|\mathrm{RN}|\) defines tensile strength as a function of peel ratio

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

    • 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 *CON­STRAINED_­IN­TER­PO­LA­TION_­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 *CON­STRAINED_­SPR2 and *CON­STRAINED_­IN­TER­PO­LA­TION_­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 *CON­TROL_­­CON­STRAINED. This flag sets the “shear moment distribution” for SPR3 with:

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

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

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

  6. For *CON­STRAINED_­SPR2 and *CON­STRAINED_­IN­TER­PO­LA­TION_­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 *DE­FINE_­FRIC­TION 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 *CON­TROL_­­CON­TACT 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 *CON­TROL_­­CON­TACT. 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 *CON­TAC­T_­AU­TO­MAT­IC_­­SUR­FACE_­­TO_­­SUR­FACE, *CON­TAC­T_­AU­TO­MAT­IC_­S­IN­GLE_­­SUR­FACE, and *CON­TAC­T_­EROD­ING_­(OP­TION) to speed up hybrid performance.

  9. Extend option DTPCHK used for SOFT = 2 in *CON­TAC­T_­…: 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 *CON­TAC­T_­… with SOFT = 2 to invoke using the smaller of the SSF values from *PART_­­CON­TACT. Already existing SSFTYP = 1 takes the larger value.

  11. TIED_SHELL_EDGE_TO_SOLID contact is now named h7 in d3hsp to distinguish it from 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 *CON­TROL_­­SOL­ID 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 *CON­TROL_­SHELL to decide whether to reduce the time step size when NLOC (*SEC­TION_­SHELL) or OFFSET (*ELE­MEN­T_­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 *CON­TROL_­OUT­PUT). We now replace & , " , < , > , and ' by &amp;, &quot;, &lt;, &gt;, and &apos; to avoid problems with XML file readers.

  4. Added flag COHEQC to *CON­TROL_­­SOL­ID 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 *CON­TROL_­­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 *SEC­TION_­DIS­CRETE 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 *ELE­MEN­T_­BEAM to work with beam form 9 (spot welds).

6.7. Forming Analysis

  1. Parameters TENSOR and THKSCL of keyword *IN­CLUDE_­­STAMPED are now available for the MATRIX keyword option.

6.8. Implicit (Mechanical) Solver

  1. Enhanced implicit modal dynamics (*CON­TROL_­IM­PLIC­IT_­­MODAL_­­DY­NAM­ICS) to allow the use of *LOAD­_­­BODY.

  2. Added new option for line search in the implicit solver, LSTOL < 0 on *CON­TROL_­IM­PLIC­IT_­­SO­LU­TION. 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 *INI­TIAL_­HIS­TO­RY_­N­ODE(_­SET).

6.10. Load Cards

  1. Added keyword option SET_ONCE to *LOAD­_­N­ODE 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_­AD­D_­­DAM­AGE_­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_­AD­D_­­DAM­AGE_­DIEM, referring to a curve/table ID that defines

    • regularization factor vs. element size (curve) or

    • 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_­AD­D_­­DAM­AGE_­GISS­MO.

  3. Changed behavior with parameter Q4 of *MAT_­AD­D_­­DAM­AGE_­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_­AD­D_­­DAM­AGE_­GISS­MO: \(|\mathrm{LCREDG}|\) can now refer to a *DE­FINE_­TABLE_­3D. This makes the regularization factor a function of Lode parameter, triaxiality, and element size.

  5. Extended functionality of FADEXP < 0 in *MAT_­AD­D_­­DAM­AGE_­GISS­MO: now \(|\mathrm{FADEXP}|\) can refer to a *DE­FINE_­TABLE (fading exponent is a function of element size and triaxiality) or a *DE­FINE_­TABLE_­3D (fading exponent is a function of element size, triaxiality, and Lode parameter).

  6. Added new flag INSTF for instability treatment to *MAT_­AD­D_­­DAM­AGE_­GISS­MO. This governs the behavior of instability measure, \(F\), and fading exponent FADEXP.

    • INSTF = 0: \(F\) is incrementally updated, and FADEXP, if from a table, is allowed to vary

    • INSTF = 1: \(F\) is incrementally updated, and FADEXP is kept constant after \(F = 1\).

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

    • 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_­AD­D_­­DAM­AGE_­GISS­MO 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 *DE­FINE_­­CON­NEC­TION_­PROP­ER­TIES: types 3, 81, 133, 187, 224, and 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 *DE­FINE_­TABLE_­XD with dimension \(X > 2\).

  11. For implicit, improved the tangent for shell material 30 (*MAT_­SHAPE_­MEM­O­RY).

  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_­­FUNC­TIONS. Material properties can be defined with *DE­FINE_­­FUNC­TIONs for both materials. We added Young’s moduli of the connection partners (flanges) to the list of arguments.

  18. Added viscoplastic option to *MAT_­SAM­P_­­LIGHT (*MAT_­187L) invoked by RATEOP = 1.

  19. Added field DOSPOT to *MAT_­­GEN­ER­AL_­SPRING_­DIS­CRETE_­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 \(\mathrm{RFILTF} \neq 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:

    • Output of fiber directions in the material coordinate system

    • 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 *INI­TIAL_­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 *INI­TIAL_­STRESS_­SHELL or with new keyword option _STOCHASTIC (needs *DE­FINE_­S­TO­CHAS­TIC_­­VARI­A­TION).

  31. Added user-defined scaling of fracture energy to *MAT_­280. You can define a scale factor for FRACEN by using *INI­TIAL_­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. For *SEN­SOR_­DE­FINE_­­FORCE:

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

    • 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 (*SEC­TION_­SHELL ELFORMs 14 and 15).

  2. Added parameter TMPOFF to *LOAD­_­THER­MAL_­BI­NOUT 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 *N­ODE_­­TRANS­FORM for the processing sequence of *N­ODE_­­TRANS­FORM.

  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 *DE­FINE_­­MA­TE­RI­AL_­HIS­TO­RIES 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 *ELE­MEN­T_­SHEL­L_­­COM­POS­ITE together with *MAT_­AD­D_­­GEN­ER­AL­IZED_­­DAM­AGE.

  5. Extended list of function arguments for *DE­FINE_­­CON­NEC­TION_­PROP­ER­TIES with \(\textrm{PRUL} \geq 2\) or *DE­FINE_­­MUL­TI­_­SHEET_­­CON­NEC­TORS to include the Young’s moduli of the connection partners (flanges). This extended list of arguments applies to the *DE­FINE_­­FUNC­TIONs that determine the material and failure properties.

  6. Accuracy enhancement for DXRB/DYRB/DZRB of *DE­FINE_­CURVE_­­FUNC­TION enabled by making them work with EXACC = 1 on *CON­TROL_­AC­CU­RA­CY.

  7. Added field ISCALE to *DE­FINE_­TABLE_­­COM­PACT to trigger reading another card(s) for scaling the ordinate and abscissa values of the table.

  8. Addition to TRANSL2ND of *DE­FINE_­­TRANS­FOR­MA­TION: 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 *DE­FINE_­CURVE_­­FUNC­TION in structure-only simulations, where temperature is defined by a *LOAD­_­THER­MAL option. Previously, LS-DYNA could only provide temperature data to *DE­FINE_­CURVE_­­FUNC­TION for thermal or coupled thermal-structure simulations.

7. Bug Fixes

7.1. Acoustics, NVH, and Frequency Domain

  1. Bug fix to properly read the *FRE­QUEN­CY_­­DO­MAIN_­SSD cards if using the long format input option, long=s.

  2. Fixed a bug in running mode-based SSD (*FRE­QUEN­CY_­­DO­MAIN_­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 (*CON­TROL_­REMESH­ING_­E­FG) 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_­HY­BRID 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_­­PAR­TI­CLE 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 *SEN­SOR_­CP­M_­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 *CON­STRAINED_­BEAM_­IN_­­SOLID_­PENAL­TY with Mortar contact.

  2. Do not echo warning INI+485 when node 4 is not defined for *CON­STRAINED_­JOIN­T_­­TRANS­LA­TION­AL_­­MO­TOR.

  3. Changed the location of the failed visualization beams for SPR3 (*CON­STRAINED_­IN­TER­PO­LA­TION_­SPOTWELD). Failed beam elements in a deformed model were flying away. Now they stay with the disconnected sheets.

  4. Fix for *CON­STRAINED_­IN­TER­PO­LA­TION_­SPOTWELD with MODEL > 10 when using functions (*DE­FINE_­­FUNC­TION) to define selected material parameters. This did not work correctly for large function IDs (> 9999).

  5. Fix for *CON­STRAINED_­IN­TER­PO­LA­TION_­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 *CON­STRAINED_­SHEL­L_­­TO_­­SOL­ID with long=s.

  7. Some combinations of *CON­STRAINED_­N­ODAL_­­RIGID_­­BODY and *CON­STRAINED_­N­ODAL_­­RIGID_­­BODY_­IN­ER­TIA 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 *CON­STRAINED_­JOIN­T_­RACK­_­AND_­PIN­ION.

7.7. Contact

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

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

    • 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 *CON­TAC­T_­2D_­AU­TO­MAT­IC with the thermal solution and using explicit dynamics for the structural solution.

  3. Fixed issue to enable *CON­TROL_­MP­P_­DE­COM­PO­SI­TION_­RE­DE­COM­PO­SI­TION 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 *CON­TACT when the following conditions are met:

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

    • The ORTHO_FRICTION keyword is used, and

    • 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 *CON­TACT). 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 *CON­TAC­T_­AU­TO­MAT­IC_­N­ODES_­­TO_­­SUR­FACE, the tracked side’s contact thickness offset was considered 0 unless SHLTHK was set to 2 on *CON­TROL_­­CON­TACT. 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 *DE­FINE_­FRIC­TION, 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 *CON­TROL_­­DY­NAM­IC_­RE­LAX­ATION and using shell \(h\)-adaptivity in the transient phase. The error occurred during the first adaptive remeshing.

  2. Fix for MATEN = 2 on *CON­TROL_­EN­ER­GY: for solid elements, energy results could have been wrong.

  3. Fixed problem with DRCPSID on *CON­TROL_­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 *CON­TROL_­­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 *CON­TROL cards: apply IDSOFF from *IN­CLUDE_­­TRANS­FORM where necessary.

  7. Fixed bug that rendered the Lagrangian multiplier treatment of *CON­STRAINED_­IN­TER­PO­LA­TION (activated when independent nodes exceed 100) in implicit unusuable.

  8. OSU = 1 on *CON­TROL_­AC­CU­RA­CY (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 *DE­FINE_­DE_­AC­TIVE_­RE­GION 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 *ELE­MEN­T_­T­SHEL­L_­­COM­POS­ITE.

  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_­­COM­POS­ITE(_­T­SHEL­L) and *ELE­MEN­T_­T­SHEL­L/SHEL­L_­­COM­POS­ITE), relaxed check for material orientation definition to avoid writing of wrong and unnecessary warning messages (STR+1438).

  6. Fixed bug for combination of *ELE­MEN­T_­T/SHEL­L_­­COM­POS­ITE with *SET_­­PART_­­COL­LECT. 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 *ELE­MEN­T_­T/SHEL­L_­­COM­POS­ITE and part sets that could have led to a memory clobber.

  8. Fixed bug for combination of *ELE­MEN­T_­T/SHEL­L_­­COM­POS­ITE 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_­­COM­POS­ITE(_­T­SHEL­L)). 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 *SEC­TION_­­SOL­ID and ESORT = 2 or 4 on *CON­TROL_­­SOL­ID 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 (*CON­TROL_­IM­PLIC­IT_­EIGEN­VAL­UE). Output speed improvements we made in R12.0 introduced the problem.

7.12. Initial Cards

  1. Bug fix for *INI­TIAL_­AX­I­AL_­­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 *INI­TIAL_­VE­LOC­I­TY along a local coordinate system (CSID > 0). The bug led to incorrect results.

  3. Fixed structured input error when using *INI­TIAL_­VE­LOC­I­TY_­­GEN­ER­A­TION with ID = 0 and STYP = 0 with another *INI­TIAL_­VE­LOC­I­TY_­­GEN­ER­A­TION with nonzero ID and STYP.

7.13. Load Cards

  1. Fixed a bug in *LOAD­_­­EX­PAN­SION_­­PRES­SURE, so the load is applied to the right section.

  2. Fixed spurious Error 20246 (STR+246) due to round off error when using *LOAD­_­­MOV­ING_­­PRES­SURE in single precision.

  3. *LOAD­_­VOL­UME_­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_­AD­D_­­DAM­AGE_­DIEM/GISS­MO. Special characters, such as <, led to error termination.

  2. Fix for large table ID (\(> 2^{24}\)) for Q1 < 0 on *MAT_­AD­D_­­DAM­AGE_­DIEM when using a single precision executable.

  3. Fix for combination of *MAT_­AD­D_­­DAM­AGE_­GISS­MO and *PART_­­COM­POS­ITE. If the first layer in the composite was a non-GISSMO material, the failure treatment could have been wrong.

  4. Fix for *MAT_­AD­D_­­DAM­AGE_­GISS­MO with \(\textrm{LP2BI} \neq 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_­AD­D_­ERO­SION. This did not work for values larger than \(2^{24}\).

  6. Fixed single precision issue with *MAT_­AD­D_­­GEN­ER­AL­IZED_­­DAM­AGE and IFLG3 = 1. Results could have differed compared to double precision.

  7. Fixed option IFLG3 = 1 of *MAT_­AD­D_­­GEN­ER­AL­IZED_­­DAM­AGE 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_­IN­TER­PO­LA­TION 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 *SEN­SOR_­CP­M_­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 *IN­CLUDE_­­TRANS­FORM for the unit conversion.

  14. Error in plastic strain update for *MAT_­037/*MAT_­­TRANS­VERSE­LY_­ANISOTROP­IC_­E­LAS­TIC_­­PLAS­TIC caused instabilities.

  15. Fixes for *MAT_­054:

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

    • 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_­HYS­TERETIC_­­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_­IN­TER­PO­LA­TION and implicit accuracy flag IACC = 1 (*CON­TROL_­AC­CU­RA­CY). 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 *CON­TAC­T_­TIED_­SHEL­L_­EDGE_­­TO_­­SOL­ID), 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 *IN­CLUDE_­­TRANS­FORM 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 *CON­TROL_­­SOL­ID. If used with MPP groupable tied contact (such as *CON­TAC­T_­TIED_­SHEL­L_­EDGE_­­TO_­­SOL­ID), 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_­MI­CROMEC) 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­_­THER­MAL elsewhere in the model. *INI­TIAL_­STRESS_­­SOLID/SHELL can set the temperatures on history variables #14 (solids) and #10 (shells). Simultaneous use of *LOAD­_­THER­MAL 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 *DE­FINE_­TABLE_­3D, results could have been wrong if the triaxiality table started with a negative value.

  31. Fix for penalty stiffness of *MAT_­240_­THER­MAL: avoid potential zero stiffness by determining the maximum values from curves EMOD/GMOD.

  32. Bug fix for the combination of *MAT_­251 and *MAT_­AD­D_­­DAM­AGE_­GISS­MO with history options. If providing a history variable via HISVN = 6 (material 251) and HISVN = -6 (GISSMO) and an initial value specified with *INI­TIAL_­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_­­PA­PER causing AOPT < 0 not to activate.

  34. Fixed combination of *MAT_­280 and *PART_­­COM­POS­ITE. 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 *DATA­BASE_­HIS­TO­RY_­SEAT­BELT 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 *DATA­BASE_­RE­COV­ER_­N­ODE 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 *DATA­BASE_­BI­NA­RY_­INT­FOR 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 *DATA­BASE_­EX­TEN­T_­BI­NA­RY. 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 *DE­FINE_­­MA­TE­RI­AL_­HIS­TO­RIES, which resulted in errors.

  12. Fixed incorrect number of material history variables from *DE­FINE_­­MA­TE­RI­AL_­HIS­TO­RIES. 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 *ELE­MEN­T_­SEAT­BELT_­S­LIPRING, 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 (*ELE­MEN­T_­SEAT­BELT) with *SET_­N­ODE_­ADD. The bug led to abnormal termination due to error message STR+211.

  3. Fixed a bug for seat belts that occurred when *MAT_­SEAT­BELT 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. For *SEN­SOR_­­CON­TROL:

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

    • Fixed a bug for TYPE = JOINT that happened when the joint is a motor joint, *CON­STRAINED_­JOIN­T_­XXX_­­MO­TOR. It could prevent the joint from failing as designed.

    • Fixed a bug for TYPE = BELTPRET (seat belt pretensioner). It only occurred when SBRTYP = 2 or 3 on *ELE­MEN­T_­SEAT­BELT_­S­LIPRING. This bug led to erroneous results.

  2. Fixed the use of *IN­CLUDE_­­TRANS­FORM with *SEN­SOR_­DE­FINE_­­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 *CON­TROL_­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­_­THER­MAL_­BI­NOUT to 1.0.

  2. For thermal-only analyses with *CON­STRAINED_­N­ODAL_­­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 *BOUND­ARY_­THER­MAL_­WELD_­­TRA­JEC­TO­RY in accordance with the manual.

7.21. User-Defined Features

  1. Fixed issue in *MOD­ULE 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 *MOD­ULE_­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 *MOD­ULE_­LOAD or the command line option module= could not be used with the default usermat shared object filename.

7.22. Miscellaneous

  1. For *IN­CLUDE_­­TRANS­FORM,

    • Fixed a bug occurring when an included file has *PART_­IN­ER­TIA or *CON­STRAINED_­N­ODAL_­­RIGID_­­BODY_­IN­ER­TIA. The bug led to an incorrect warning message.

    • 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 *DE­FINE_­­TRANS­FOR­MA­TION that occurred when used together with *IN­CLUDE_­­TRANS­FORM. The bug caused an incorrectly transformed model.

  3. Fixed long initialization time when using thousands of *SET_­SHEL­L_­­GEN­ER­AL with OPTION set to DBOX.

  4. Fixed segmentation fault when using a large number of *DE­FINE_­ELE­MEN­T_­DEATH_­(OP­TION) keywords with IDGRP defined.

  5. Fixed issue with printing titles for *DE­FINE_­CURVE_­TI­TLE to d3hsp. Printing the titles did not work correctly if the *DE­FINE_­CURVE_­TI­TLE directly preceded or directly came after a *DE­FINE_­CURVE without a title in the input deck.

  6. Fixed erroneous behavior that occurred when using *DE­FORMABLE_­­TO_­­RIGID with selective mass scaling.