R16 Release Notes

February 13, 2026

1 Notes

This file contains the release notes for Ansys LS-DYNA® versions R16.1.1, R16.1.0, and R16.0.0. It briefly describes new features, enhancements, and bug fixes in these versions. Other recent releases may also include some of these updates. We have included all these release notes together in one file for convenience.

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.

2 R16.1.1 Release Notes

2.1 New

2.1.1 MPP

  1. Added keyword *CON­TROL_­MP­P_­DE­COM­PO­SI­TION_­­TRANS­FOR­M_­KEY­WORD. Adding this keyword will cause all *CON­TROL_­MP­P_­DE­COM­PO­SI­TION_­­TRANS­FOR­MA­TION instantiations to apply not just to the primary decomposition region, but to all the specific decomposition regions created by other *CON­TROL_­MP­P_­DE­COM­PO­SI­TION_­… keywords. Note that this feature has been available since R12 through the pfile command decomposition { transform_keyword }.

2.2 Improvements and Enhancements

2.2.1 Airbags

  1. When vents are defined in *AIRBAG_­CPG, skip applying coupling forces to vent elements. If PPOP is used, coupling forces are applied to vent elements until the vent is marked as open.

  2. Made a change to the evaluation of porosity curves defined in *MAT_­­FAB­RIC when associated with *AIRBAG_­CPG. Previously, porous velocity was reset to zero if the pressure was out of bounds of the provided porosity curve. We now use the last available slope to extrapolate the porous velocity, similar to the behavior of *AIRBAG_­­PAR­TI­CLE. Ideally, the porosity curve should include the entire range of pressures expected in the simulation.

2.2.2 Contact

  1. Made improvements to MPP single surface (*CON­TAC­T_­AU­TO­MAT­IC_­S­IN­GLE_­­SUR­FACE) contact and penetration tracking that reduce force spikes in difficult meshes.

2.3 Bug Fixes

2.3.1 Airbags

  1. Made various fixes for curves and node IDs used in *AIRBAG_­CPG defined in files included through *IN­CLUDE_­­TRANS­FORM.

  2. Fixed incorrectly resetting the atmospheric temperature used in *AIRBAG_­CPG to 293 K instead of using the temperature defined in the input file.

  3. Clarify error messages related to mesh integrity checks in *AIRBAG_­CPG.

  4. Fixed compatibility issue when using *PART_­­COM­POS­ITE and *AIRBAG_­CPG in the same input deck. Automatically generated part IDs could conflict in some scenarios.

  5. Fixed thermodynamic correction getting inadvertently turned off when multiple gas species were defined for *AIRBAG_­CPG.

2.3.2 Contact

  1. Fixed an MPP issue related to the IPBACK option on Optional Card E of *CON­TAC­T_­… used for constraint-based tied contacts. In some cases, if two constraint-based tied interfaces had a very substantial overlap (amounting to 100% on some MPP domain), the backup contact could be ignored on that processor, resulting in a failure to tie.

  2. Enabled orthotropic friction to be used with segment-to-segment (SOFT = 2) contact. It was accidentally disabled starting with R14.0.

2.3.3 Implicit (Mechanical) Solver

  1. Fixed floating-point exception error that occurred in some configurations when using METHOD = 102 (LOBPCG) on *CON­TROL_­IM­PLIC­IT_­EIGEN­VAL­UE.

  2. Corrected logic for using implicit intermittent eigenvalue computation with an explicit time simulation (*CON­TROL_­IM­PLIC­IT_­­GEN­ER­AL with IMFLAG = 6) to properly handle the eigenvalue computation at the end time. Explicit time stepping may not hit the end time exactly so the intermittent eigenvalue computation was being skipped and failure would occur.

3 R16.1.0 Release Notes

3.1 New

3.1.1 Airbags

  1. Added the standard \(k\)-\(\epsilon\) turbulence model to the CPG solver (optional) using ITURB in *CON­TROL_­CPG.

  2. For CPG airbags, added dynamically adapting surface particles according to current element area.

3.1.2 Multiscale

  1. Initial release of the MAPDL LS-DYNA co-simulation feature. This feature is limited to modeling solder reflow. It uses adaptive ISPG to model the solder balls. See the beta documentation for LS-DYNA on the Ansys help website for details.

3.1.3 User-Defined Features

  1. The usermat package now contain a file named userLE.F90. With this file, you can provide your own linear equation solver (typically to solve \(\mathbf{K} \mathbf{u} = \mathbf{f}\) for \(\mathbf{u}\), with \(\mathbf{K}\) as the stiffness matrix and \(\mathbf{f}\) as the load vector) for implicit analysis. Please reach out to the LS-DYNA linear algebra for help.

3.2 Improvements and Enhancements

3.2.1 Acoustics, NVH, and Frequency Domain

  1. Added acoustic directivity (*FRE­QUEN­CY_­­DO­MAIN_­A­COUSTIC_­DI­REC­TIV­I­TY) output for collocation BEM (METHOD = 3 on *FRE­QUEN­CY_­­DO­MAIN_­A­COUSTIC_­DI­REC­TIV­I­TY).

  2. Made (*CON­TROL_­IM­PLIC­IT_­SS­D_­DI­RECT) available in MPP.

3.2.2 Airbags

  1. Add optional local average interparticle distances around vents and orificies with fields HLENV and HLENO in *AIRBAG_­CPG for local refinement around these critical areas.

  2. Added part output of mass flow rate, heat transfer, and heat transfer rate to abstat_cpg. Also, added global output of the total mass and average temperature of each airbag to abstat_cpg.

  3. For *AIRBAG_­CPG, added bag integrity checks to see if the external mesh is closed and normal vectors are consistent.

  4. Added TSW to *AIRBAG_­CPG to trigger a switch from the CPG formulation to uniform pressure (meaning control volume) at a given time.

  5. Added PPOP to *AIRBAG_­CPG to open the vents and keep them open based on a pressure differential.

  6. Add the Lagrangian velocity of the inflator to the gas velocity exiting the inflator orifices. Also, when particles inherit an initial velocity from the attached coordinate system defined by NID1/2/3 in *AIRBAG_­CPG, add the corresponding kinetic energy.

  7. If the provided polynomial coefficients defining \(C_p(T)\) in *DE­FINE_­CPG_­­GAS_­PROP­ER­TIES define a nonmonotonic function, the curve is now trimmed by automatically identifying \(T_{\textrm{min}}\) and \(T_{\textrm{max}}\) centered around ambient temperature to become the following piecewise function:

    This modification guarantees the Newton-Raphson iterations used to find temperature from energy will always converge.

  8. Added an error message if the fabric porosity option, FVOPT, on *MAT_­­FAB­RIC (*MAT_­034) is not 7 or 8 when used with CPG airbags (*AIRBAG_­CPG).

  9. Improved the stability of free slip boundary conditions for CPG (NSLIP = 0 on *CON­TROL_­CPG.

  10. Added support for the FLC porosity option defined in *MAT_­­FAB­RIC for CPG airbags.

  11. Added an input check on the parts in SID1 and SID2. Parts in SID2 should be in SID1. Vents should be in SID1 but not in SID2. An error message is now output if this is not the case.

  12. Added error message if shell IDs associated with the airbag inflator for *AIRBAG_­CPG cannot be found in the part set defining the airbag.

  13. Added updating the inflator area during time integration to support deformable inlets.

  14. Added ability for *SEN­SOR_­DE­FINE_­­FORCE with FTYPE = CPM to return either the average airbag pressure or the part pressure. Previously, only the average airbag pressure was returned. Now, the part pressure can be returned instead by setting field CPMPID to a part ID.

  15. Support specifying HCONV on *AIRBAG_­­PAR­TI­CLE or *DE­FINE_­CP­M_­N­PDA­TA with a *DE­FINE_­CURVE_­­FUNC­TION.

  16. Support specifying the total mass flow rate into a CPM airbag (*AIRBAG_­­PAR­TI­CLE) with a *DE­FINE_­CURVE_­­FUNC­TION using LCMCF on *DE­FINE_­CP­M_­­GAS_­PROP­ER­TIES. Note that LCMCF cannot be used when using the MOLEFRACTION keyword option for *AIRBAG_­­PAR­TI­CLE.

  17. Support FVOPT = 1 and 2 on *MAT_­034 for CPM airbags (*AIRBAG_­­PAR­TI­CLE).

3.2.3 Constraint Cards

  1. Made improvements to SPRSRCH = 1 on *CON­TROL_­­CON­STRAINED. Better search results can be obtained, especially when solid element parts are involved. For solid element parts, nodes on the surface facing the SPR connector are detected, leading to automatically finding enough nodes.

  2. For SPR2 and SPR3, added option to modify the nodal weights for force distribution. Setting the tens digit of INTP to 1 causes considering nodal areas and adding a participation factor for better consideration of distances between SPR and the associated nodes.

3.2.4 Contact

  1. Added support for contact option TCSO (optional card D) to the MPP versions of SINGLE_SURFACE, AUTOMATIC_SINGLE_SURFACE, and AIRBAG_SINGLE_SURFACE.

  2. Enabled the outputting of *INI­TIAL_­­CON­TAC­T_­WEAR data to the dynain file when *CON­TAC­T_­AD­D_­WEAR is used with segment-to-segment (SOFT = 2) contact interfaces. Note that *IN­TER­FACE_­SPRING­BACK­_­LS­DY­NA must be in the input deck for the dynain to be output, and that SAPR and/or SBPR on Card 1 of the contact definition for this data to be output.

  3. Added flag IBEAMS2S, which enables beam elements in segment-to-segment contact if set to 1. The beams flag is an integer flag in field 4 of *CON­TAC­T_­… optional Card G. If this flag is omitted or set to 0, then beams will not be included in the contact. The treatment of beam elements in segment-to-segment contact does not depend on the *CON­TACT keyword. To include beam elements in the contact, SURFATYP and/or SURFBTYP should be set to 2, 3, 5, or 6, with beam parts included in the surface defined for types 2 and 3 and not exempted for type 6.

  4. Changed the behavior of TIEOPT on *CON­TROL_­­CON­TACT based on customer feedback. TIEOPT = 1 is now the same as TIEOPT = 0, except that it invokes a groupable effect. This groupable effect allows SURFB nodes in different interfaces to be shared. TIEOPT = 2 calls the alternative algorithms previously invoked with TIEOPT = 1, but no longer converts SHELL_EDGE_TO_SURFACE contacts to SHELL_EDGE_TO_SOLID contacts. A list of tied pairs that change is also output with TIEOPT = 2.

3.2.5 Elements

  1. Improved single precision accuracy of the internal energy computation in shell type 16. ISTUPD = 5 and 6 on *CON­TROL_­SHELL invoke this improved accuracy version.

3.2.6 EM (Electromagnetic Solver)

  1. Fixed memory leak when using *EM_­EX­TER­NAL_­­FIELD.

  2. Added support to use *IN­CLUDE_­­TRANS­FORM with EM for load curve IDs, set IDs, part IDs, and material IDs.

3.2.7 ICFD (Incompressible Fluid Solver)

  1. Improved the mapping algorithm to reduce runtime and increase reliability when transferring data after remeshing.

  2. Refined the force computation for the RIIS method (see *ICFD_­­CON­TROL_­IM­MERSED), causing results that better match body-fitted simulations.

  3. Added residence time and shear outputs on both sides of embedded shells to d3plot.

3.2.8 Isogeometric Analysis (IGA)

  1. Added cost estimates for IGA solid elements (*I­GA_­­SOL­ID) to improve load balancing for MPP.

  2. Support materials *MAT_­261 and *MAT_­262 for IGA solid elements (*I­GA_­­SOL­ID).

  3. Added support for *CON­TAC­T_­TIED_­SHEL­L_­EDGE_­­TO_­­SUR­FACE and *CON­TAC­T_­TIED_­SHEL­L_­EDGE_­­TO_­­SOL­ID to be used with structured IGA trimmed solid elements (*I­GA_­­SOL­ID). This is only available in MPP using GRPABLE = 1 in the optional MPP contact cards without selective mass scaling. Any standard finite element node can be tied to an IGA solid element.

3.2.9 Materials and Equations-of-State

  1. Added option VP = 4.0 to *MAT_­024 to invoke filtering/smoothing of the plastic strain rate. It is like VP = 1.0 but supports *DE­FINE_­TABLE_­­COM­PACT like VP = 3.0.

  2. Added option PDOPT to *MAT_­083_­­PATH_­DE­PEN­DENT to choose between using the current value or maximum value of \(1-J\) in the table specified with TBID (*DE­FINE_­TABLE_­3D).

  3. Enabled *MAT_­091 to be used with *INI­TIAL_­­FOAM_­REF­ER­ENCE_­­GE­OM­E­TRY.

  4. Allow logarithmic interpolation in some \(E\) (Young’s modulus) as a function of strain rate curves. This is available for LCEMOD > 0 in *MAT_­123, *MAT_­187, and *MAT_­187L. If the first strain rate is negative, all values are expected to represent the natural logarithm of a strain rate.

  5. Made an improvement to *MAT_­187 to avoid failed iterations in the plasticity algorithm: Added a convergence criterion that helps in high triaxiality cases (\(|p| >> \sigma_{\mathrm{vm}}\) where \(p\) is pressure and \(\sigma_{\mathrm{vm}}\) is the von Mises stress).

  6. Improved the behavior of *MAT_­187 with LCID-C > 0 and poorly defined LCID-P. Extrapolation into the negative region could have led to a Poisson’s ratio that is less than -1. Now, a constant value is used instead of extrapolating.

  7. Made improvements for shells with *MAT_­SAM­P_­­LIGHT (*MAT_­187L), such as always using Brent’s method if LCID-T and LCID-C are different tables with an improved start value for Brent.

  8. For *MAT_­224, made the plastic work conversion to a thermal heat source available for axisymmetric solids.

  9. Added new arguments to functions in *MAT_­240_­­FUNC­TIONS: total separation components, plastic separation components, and cohesive thickness.

  10. Added keyword option STOCHASTIC to *MAT_­251. Scaling factor for yield stress on history variable #9. The current yield stress can be found on hisvar #5.

  11. Enable *MAT_­251 to work with solid tetrahedron type ELFORM = 13.

  12. Added new option for the critical energy criterion of *MAT_­280 (GLASS): ENGCRT < 0 refers to a *DE­FINE_­­FUNC­TION ID equal to |ENGCRT|. This function has one argument: the minimum distance of the center of impact to the edge of the windshield. Thus, the critical energy value can now depend on this distance.

3.2.10 MPP

  1. Updated the MPP decomposition code to support *INI­TIAL_­IN­TER­NAL_­D­OF_­­SOLID_­….

3.2.11 Output

  1. Added outputting the cohesive separations in the location of the strain tensor when the ones digit (\(L\)) of STRFLG is 1 on *DATA­BASE_­EX­TEN­T_­BI­NA­RY.

3.2.12 Sensors

  1. Enabled *SEN­SOR_­DE­FINE_­MISC to trace *EM_­­CIR­CUIT_­RO­GO with MTYPE = EMROGO.

3.2.13 Thermal Solver

  1. Added the node list of the current segment as a subroutine argument to the user flux interface (subroutine usrflux).

3.2.14 Miscellaneous

  1. Print info about the expiration date in the encrypted vendor block with DATE.

3.3 Bug Fixes

3.3.1 Acoustics, NVH, and Frequency Domain

  1. Fixed bug when using *CON­TROL_­A­COUSTIC_­SPEC­TRAL that led to a segmentation fault during MPP restarts.

  2. Fixed bug in BEM triangular element regeneration that occurred when normal vector inversion is requested (NORM = 1) on *FRE­QUEN­CY_­­DO­MAIN_­A­COUSTIC_­BEM.

  3. Fixed bug in the MATV computation (*FRE­QUEN­CY_­­DO­MAIN_­A­COUSTIC_­BE­M_­­MATV) with variational indirect BEM (METHOD = 2) caused by the Skeletonized Interpolation method. The bug led to an incorrect solution.

  4. Fixed bug in writing out the nodal normal velocity to the d3acs database for dual collocation BEM with the Burton-Miller formulation (METHOD = 4 on *FRE­QUEN­CY_­­DO­MAIN_­A­COUSTIC_­BEM).

  5. Fixed bug in writing d3acp and d3acs databases when using a single precision executable.

3.3.2 Adaptivity

  1. Fixed potential errors in nodout and elout that could in rare cases occur with models using in-memory adaptivity (INMEMRY = 1 on *CON­TROL_­ADAP­TIVE).

  2. Fixed an occasional memory violation error when using *CON­TROL_­ADAP­TIVE with solid elements.

  3. Fixed the over-adapting problem when using *CON­TROL_­ADAP­TIVE with in-memory on (INMEMRY = 1).

3.3.3 Airbags

  1. Fixed issue when there are multiple orifice lines (NORIF > 1 on *AIRBAG_­CPG) referencing the same gas for CPG airbags. Each orifice was injecting the entire gas mass, instead of distributing across orifices.

  2. Refactored inflator data to properly assign different gases to different inflators for *AIRBAG_­CPG.

  3. Made bug fixes for the temperature calculation from energy when \(C_p(T)\) is not constant for CPG airbags.

  4. Fixed part temperature output to abstat_cpg for internal parts. It was erroneously reporting double the correct value. It was an output issue only and did not affect the simulation.

  5. For CPG airbags, made the volume flow rate output consistent with leakage (the signs were reversed).

  6. Fixed the \(P\)-\(V\) work calculation for CPG airbags. The previous calculation was based on average pressure instead of pressure at the boundary elements.

  7. Fixed the CPG to structure coupling to make sure the coupling forces are not applied to vents.

  8. For CPG airbags, fixed the porosity leakage calculation. The user-provided load curve gives gas velocity as a function of absolute pressure, but the previous implementation assumed this was referring to the pressure differential between the bag pressure and atmospheric pressure.

  9. Fixed issue when internal parts are inflators for CPG airbags. Orifice particles became duplicated, resulting in an incorrect boundary condition being applied.

3.3.4 ALE

  1. Fixed a bug when using *DATA­BASE_­F­SI with S-ALE that could lead to wrong FSI results.

  2. Cured the massless orphan nodes added after S-ALE mesh generation to avoid a divide by zero crash.

  3. Fixed a memory bug when a model contains both eroding contact and an S-ALE part.

  4. Support *MAT_­155 (*MAT_­­PLAS­TIC­I­TY_­­COM­PRES­SION_­TEN­SION_­EOS) with S-ALE. This material has not worked with S-ALE since S-ALE was added a feature.

  5. Fixed issue when using ALE with *DATA­BASE_­­MAT­SUM that might lead to a crash.

3.3.5 CESE Compressible Fluid Solver

  1. Corrected the detection of triangular faces for the CESE conjugate heat transfer boundary condition.

  2. Fixed *MESH-based tetrahedral mesh generation for CESE. This fix includes correcting the handling of an error message and correcting the misnaming of two *CESE keywords in the keyword checking database.

3.3.6 Constraint Cards

  1. Fixed bug in *CON­STRAINED_­­SOIL_­PILE that could cause spurious oscillation and energy growth, especially after a large axial sliding displacement. Another symptom could be a spurious torsional moment in the pile. Additionally, the rotational mass scaling (meaning inertia added to keep things stable when DT2MS is negative) has been increased to allow for large axial sliding displacement.

3.3.7 Contact

  1. Fixed an issue in MPP that could cause contact forces from segment-to-segment (SOFT = 2) contact with DEPTH = 45 and enabled friction to not be correctly attributed to corresponding force transducers.

  2. Fixed inconsistency issues of *CON­TAC­T_­AU­TO­MAT­IC_­S­IN­GLE_­­SUR­FACE in the hybrid solver.

  3. Fixed issue in determining the beam element contact thickness due to not honoring the thickness scaling factor in some cases. Specifically, *CON­TAC­T_­AU­TO­MAT­IC_­BEAM­S_­­TO_­­SUR­FACE was not honoring the SFSAT parameter.

  4. Fixed failure to tie the surfaces when using the MPP version of the *CON­TAC­T_­AU­TO­MAT­IC_­­SUR­FACE_­­TO_­­SUR­FACE_­TIED_­WELD contact in the case where the temperature is driven by a *LOAD­_­THER­MAL_­LOAD­_­CURVE.

  5. Fixed issue in the *DE­FORMABLE_­­TO_­­RIGID code in MPP that caused a memory error during switching when using segment-to-segment (SOFT = 2) contact.

  6. Fixed issue causing hanging with hybrid executables when using eroding contact.

  7. Fixed bug in single surface Mortar contact for beams in explicit analysis. The bucket sort had been broken in R16.0.

3.3.8 Discrete Element Method

  1. Fixed issue when using nonzero SBOX in *DE­FINE_­DE_­­TO_­­SUR­FACE_­­COU­PLING with NFREQ = 1 on *DE­FINE_­DE_­AC­TIVE_­RE­GION. The box was being ignored, and the issue led to a deadlock later in the run.

  2. Fixed MPI deadlock issue for *DE­FINE_­DE_­AC­TIVE_­RE­GION.

3.3.9 Dual CESE Compressible Fluid Solver

  1. Made adjustments to *MOD­ULE processing of the REFPROP and CoolProp EOS libraries so that they can be used by the dual CESE solver. Note that to use the REFPROP EOS library with the dual CESE solver, you must obtain a number of additional files, provided by LS-DYNA technical support. Please contact them for help with this. The CoolProp library is not working with the dual CESE solver.

  2. For the MPP solver, corrected the enabling of table look-up for the REFPROP and CoolProp EOS libraries on all processors other than processor 0.

3.3.10 EM (Electromagnetic Solver)

  1. Fixed restarts for the Monolithic solver in magnetostatic cases.

  2. Made a small fix to the \(\mathbf{P}\) matrix assembly for tetrahedral elements in magnetostatic cases. This fix improved the results.

  3. Fixed wrong mapping of nodal coordinates in MPP for *EM_­RAN­DLES_­SHORT when using the tshell Randles model (see *EM_­RAN­DLES_­T­SHELL).

3.3.11 Forming Analysis

  1. Fixed issue when using *IN­CLUDE_­­STAMPED_­­PART with long formats. An error occurred when trying to map data in the long format to a new mesh in the long format. The main problem was a wrong interpretation of keyword comment lines ($ ...).

3.3.12 ICFD (Incompressible Fluid Solver)

  1. Fixed memory issue in ICFD and EM coupled radiofrequency heating with conjugate heat transfer analysis. Crashes could occur on large models.

3.3.13 Implicit (Mechanical) Solver

  1. Fixed a bug when using METHOD = 102 (LOBPCG) on *CON­TROL_­IM­PLIC­IT_­EIGEN­VAL­UE with *BOUND­ARY_­FLU­IDM. The execution could have errored out for problems with constraints, such as rigid bodies or constrained interpolation.

  2. Fixed bug in METHOD = 111 (Sectoral Symmetry) on *CON­TROL_­IM­PLIC­IT_­EIGEN­VAL­UE. In some situations, the method would yield (easily identifiable) incorrect results.

  3. Fixed bug when using *DAMP­ING_­FRE­QUEN­CY_­RANGE_­DE­FORM in implicit dynamic analysis. Symptoms of the bug could include poor convergence behavior in nonlinear solutions or runaway oscillation in linear solutions.

  4. Fixed issue with the Lanczos solver (*CON­TROL_­IM­PLIC­IT_­EIGEN­VAL­UE) for tiny problems when using MPP that caused the eigenvalue in the solution to be half the expected value.

  5. Corrected two errors with *PART_­­MODES in MPP:

    These issues caused the job to crash.

  6. Added logic to cleanly terminate for the combination of dynamic relaxation (*CON­TROL_­­DY­NAM­IC_­RE­LAX­ATION, IDRFLG > 0) and *CON­TROL_­IM­PLIC­IT_­­MODES.

3.3.14 Initial Cards

  1. Fixed issue with the internal energy computation when using *INI­TIAL_­­FOAM_­REF­ER­ENCE_­­GE­OM­E­TRY. If used in a run with dynamic relaxation, the energy could become negative.

3.3.15 Isogeometric Analysis (IGA)

  1. Fixed a bug in the decomposition of IGA solid elements (*I­GA_­­SOL­ID that could have led to an error indicating that there are processors that do not have any elements.

  2. Corrected the added mass output in glstat for IGA solid elements (*I­GA_­­SOL­ID).

  3. Corrected the “list of material being considered” (included/excluded) for contact in d3hsp for IGA solid elements (*I­GA_­­SOL­ID).

  4. Correct the computation of cross-sectional area for secfor output for IGA solid elements (*I­GA_­­SOL­ID).

  5. Fixed bug in the added mass output in matsum for IGA solid elements (*I­GA_­­SOL­ID).

3.3.16 Load Cards

  1. Fixed *LOAD­_­SEG­MEN­T_­SET_­NONUNI­FORM ignoring nonzero AT (arrival time).

3.3.17 Materials and Equations-of-State

  1. Write missing fatigue data from *MAT_­AD­D_­­FA­TIGUE for generated visualization beams. Lack of this data caused input processing failures in models that have visualization beams with materials models that included fatigue.

  2. Fixed issue with *MAT_­015 shell elements with initial temperature from dynain. Initialization of the internal energy was needed as well to get the correct initial temperature.

  3. Fixed incorrect shell element deletion behavior for *MAT_­024 with VP = 1, 2, or 4. The element was deleted only when the last integration point failed. The corrected behavior is that the element should only be deleted when all integration points fail.

  4. Fixed bug in *MAT_­060 for the specific combination of solid elements with ELFORM = 1 with implicit time integration that could cause the analysis to crash. The bug did not affect *MAT_­060 solids with ELFORM = 2 or -2, nor did it affect *MAT_­060 shells.

  5. For *MAT_­076_­­MOIS­TURE:

  6. Fixed issue with function evaluation in some spot weld models. This issue applies to *MAT_­100_­­DA with *DE­FINE_­­CON­NEC­TION_­PROP­ER­TIES (PRUL \(\ge\) 2), *MAT_­169, *MAT_­240_­­FUNC­TIONS, and *DE­FINE_­­MUL­TI­_­SHEET_­­CON­NEC­TORS. *DE­FINE_­­FUNC­TION arguments sm1 and sm2 (maximum engineering yield stresses) could have been wrong if determined from a curve/table in the weld partner material. This has been broken since March 2024.

  7. Fixed material 126 (*MAT_­­MOD­I­FIED_­HON­EY­COMB) for thick shell formulations 3, 5, and 7 when LCA < 0 and ECCU > 0. There were incorrect stress transformations, resulting in incorrect element stress and forces.

  8. Fixed bugs in *MAT_­179 affecting the stress extraction from tables and the energy initialization.

  9. Fixed bug in *MAT_­187L when RATEOP = 1 and LCID-C is a table. A potential change of the Ducker-Prager yield criterion slope during return mapping was not correctly taken into account, leading to wrong stresses.

  10. Fixed bug in *MAT_­SAM­P_­­LIGHT (*MAT_187L) with solids and difficult return mapping. An update of a history variable (deviatoric plastic strain) was missing when Brent’s method was used. This could have led to wrong stress results.

  11. For *MAT_­261 (*MAT_­LAM­I­NAT­ED_­FRAC­TURE_­­DAIM­LER_­PIN­HO), always use the absolute value of strain rate in the table evaluation. Prior to this change, negative values of strain rates would have led to a wrong table evaluation.

  12. Fixed issue when using large IDs (\(>2^{24}\)) for LCSS in *MAT_­261.

  13. Fixed error termination that occurred in the keyword input phase for *MAT_­295.

3.3.18 MPP

  1. Fixed issue with MPP local coordinate system calculations when using *DE­FINE_­­CO­OR­DI­NATE_­N­ODES with DIR input as Y or Z. These cases were not working correctly and could produce incorrect output.

3.3.19 Output

  1. Fixed rare case where a parameter expression (*PA­RA­ME­TER_­­EX­PRES­SION) might not get echoed to the d3hsp file. This lack of echoing only happened when the *PA­RA­ME­TER_­­EX­PRES­SION instantiation was the last keyword in an include file.

  2. Fixed bug in *DE­FINE_­­MA­TE­RI­AL_­HIS­TO­RIES that could cause solid integration point strain (NINTSLD = 8 on *DATA­BASE_­EX­TEN­T_­BI­NA­RY) output to binary databases to be overwritten.

  3. Fixed bug in NPLTC that caused the databases to be written at a later time than expected, particularly for implicit.

3.3.20 Restarts

  1. Fixed an issue where ALE data being output to the d3full file could, in some cases, corrupt the d3full file, resulting in unpredictable behavior when restarting from the d3full file.

  2. Fixed issue causing the beam axial strain to not be transferred in a full restart.

3.3.21 Sensors

  1. Fixed a bug for *SEN­SOR_­DE­FINE_­­FORCE for FTYPE = X-SECTION. The bug led to reporting wrong results for the cross-section force.

  2. Fixed a bug for *SEN­SOR_­DE­FINE_­MISC with MTYPE = RIGIDBODY. The bug happened when a deck has *SEN­SOR_­­CON­TROL with TYPE = ELESET. The reported rigid body kinematics values were wrong.

3.3.22 SPH

  1. Fixed error causing incorrect values to be used as the fictitious velocities applied with *BOUND­ARY_­SPH_­NOSLIP when IDIM = 2 in *CON­TROL_­SPH for MPP executables.

  2. Fixed memory issue that might cause a crash for MPP single precision executables when FORM = 9 or 10 in *CON­TROL_­SPH.

  3. Fixed incorrect output to the sldsph_frag file when *DE­FINE_­ADAP­TIVE_­­SOLID_­­TO_­SPH is used on multiple processors.

3.3.23 Thermal Solver

  1. Fixed the binout output for the thermal solver in MPP. The thermal data ended up in the wrong section.

  2. For axisymmetric and 2D solids, the thermal thick shell option (THSHEL on *CON­TROL_­SHELL) is deactivated now, and a warning is printed, instead of throwing an error.

3.3.24 Miscellaneous

  1. Fixed memory issue where the functions AX, AY, AZ, AX2, AY2, and AZ2 in *DE­FINE_­CURVE_­­FUNC­TION could overwrite previously defined instances.

  2. Fixed a bug that occurred when using a d3kil file containing sense switch SWE. The bug resulted in immediate termination instead of proceeding with the simulation after terminating explicit dynamic relaxation.

  3. Corrected the computation of the number of through-thickness integration points for NUMFIP < 0 on *DE­FINE_­ELE­MEN­T_­ERO­SION. Prior to this fix, the calculation of the number of through-thickness integration points was incorrect, leading to an incorrect percentage computation and potentially incorrect erosion behavior.

  4. Avoid problems with too many entries in *IN­CLUDE_­­PATH or *MOD­ULE_­­PATH by increasing the limit for the number of total cards defining paths in a model from 50 to 100 and adding an error check for more than 100 entries.

  5. Made a few fixes for *DE­FINE_­S­TO­CHAS­TIC_­­VARI­A­TION. This feature was not working when PID refers to a part set with more than eight parts. VAR_S/F = 3 or 4 (curves) were not working in single precision since December 2023.

  6. Fixed combination of *IN­CLUDE_­­TRANS­FORM and *DE­FINE_­TABLE_­{X}D with X \(\ge\) 3. IDFOFF was not correctly applied to the table IDs on Card 2.

4 R16.0.0 Release Notes

4.1 New

4.1.1 Acoustics, NVH, and Frequency Domain

  1. Added keyword *FRE­QUEN­CY_­­DO­MAIN_­A­COUSTIC_­FRE­QUEN­CY to define output frequencies and interpolation schemes for BEM acoustic calculation. This keyword overrides FMIN, FMAX, and NFREQ defined in *FRE­QUEN­CY_­­DO­MAIN_­A­COUSTIC_­BEM.

4.1.2 Airbags

  1. Introduction of the new Continuum-based Particle Gas (CPG) solver: A particle-based compressible gas solver for accurate airbag deployment simulations. See *AIRBAG_­CPG and related keywords.

  2. Added *AIRBAG_­SALE. It is a wrapper keyword intended for easily setting up an airbag inflation model. It contains new algorithms for solving “contact locking” and alleviating constrained flow in long tubes.

    The following keywords (only available for S-ALE) are related component keywords to *AIRBAG_­SALE added in this release:

4.1.3 ALE

  1. Added *DATA­BASE_­SALE, which has two flags to control S-ALE mesh dumping and the post-processing database output.

4.1.4 Dual CESE Compressible Fluid Solver

  1. Added *D­U­AL­CESE_­­MAT_­LIQ­UID to support simple models of viscous liquids.

  2. *D­U­AL­CESE_­­GRAV­I­TY is a new keyword that allows liquids to experience the load provided with *LOAD­_­­BODY... With this keyword, gravity source terms are active for the following 2D and 3D solvers: single fluid with (FSI-IBM or FSI-MMM) or without FSI.

  3. Added *D­U­AL­CESE_­F­SI_­EX­CLUDE_­­PART­SET as a convenience tool for excluding sets of structural parts created with *SET_­­PART from the FSI calculation when using the dual CESE IBM-FSI solvers.

4.1.5 EM (Electromagnetic Solver)

  1. Introduced a time-based periodic solver (EMSOL = 5 on *EM_­­CON­TROL) that is similar to the time-based inductive heating solver, except it only takes resistive effects into account (no induction/diffusion). This solver provides a very fast solve in resistive heating cases that involve periodic behavior.

4.1.6 Forming Analysis

  1. Added keyword *DE­FINE_­­FORM­ING_­AD­PA­TIVE_­­PART_­INI­TIAL. This keyword is for refining blank parts in local spot regions at time zero. IT is initended for refining the mesh of the blank in small regions for spot welding simulations or where the blank contacts rigid pins in gravity loading processes.

4.1.7 ICFD (Incompressible Fluid Solver)

  1. Introduced a viscoelastic solver. See *ICFD_­­MOD­EL_­VIS­COELAS­TIC to set viscoelastic properties. See also *ICFD_­BOUND­ARY_­PRE­SCRIBED_­VIS­COELAS­TIC.

  2. Introduced a higher-order level-set method. See SLLS of *ICFD_­­CON­TROL_­AD­VEC­TION and SRL of *ICFD_­­CON­TROL_­LEVELSET.

  3. Introduced the Resistive Immersed Implicit Surface (RIIS) method (IMMTH = 2 on *ICFD_­­CON­TROL_­IM­MERSED).

4.1.8 Initial Cards

  1. Added *INI­TIAL_­S­TRAIN_­BEAM. When an input deck includes *DATA­BASE_­DIS­BOUT and requests writing a dynain file, the output dynain file now includes *INI­TIAL_­S­TRAIN_­BEAM to enable the transfer of the discrete beam displacements across multi-stage analyses.

4.1.9 Isogeometric Analysis (IGA)

  1. Added in-core refinement for structured isogeometric shells and solids. *I­GA_­RE­FINE_­SHELL and *I­GA_­RE­FINE_­­SOL­ID enable specifying various refinement types for structured isogeometric shells and solids defined using the *I­GA_­SHELL and *I­GA_­­SOL­ID, respectively.

  2. Support subcycling (*CON­TROL_­­SUB­CY­CLE_­{K}_­{L} and *CON­TROL_­­SUB­CY­CLE_­­MASS_­S­CALED_­­PART) for IGA solid elements (*I­GA_­­SOL­ID). These techniques are suited for reducing the computational cost for models involving large spatial variations in mesh density and/or material characteristics.

4.1.10 Load Cards

  1. Added *LOAD­_­EX­TER­NAL_­­VARI­ABLE for defining the spatial and temporal distribution of an external variable on a nodal basis. Input can be based on tabular data for nodes or node sets, or data provided by an LSDA file. The keyword input references part IDs and material property indices. The material properties referenced by material index and part are then determined based on the external variable, meaning the external variable serves as an independent parameter for the respective load curve or table evaluation. The supported materials are *MAT_­106, *MAT_­251, *MAT_­254, *MAT_­T08, and *MAT_­T10.

4.1.11 Materials and Equations-of-State

  1. Added basic incremental failure model: *MAT_­AD­D_­BA­SIC_­IN­CRE­MEN­TAL_­­FAIL­URE. It is a simplified version of GISSMO with a smaller input parameter set and automatic failure curve/surface generation. It is intended as an alternative to something like “FAIL” in *MAT_­024 (which is too simple) and a fully calibrated GISSMO or DIEM (which is sometimes too elaborate).

  2. Added *MAT_­AD­D_­EXTVAR_­­EX­PAN­SION to define material expansion based on the evolution of an external variable (*LOAD­_­EX­TER­NAL_­­VARI­ABLE). It accounts for nonlinear (load curve) and orthotropic behavior. This expansion property is available for solid formulations 1, 2, -1, and -2 and shell formulations 2, 16, and -16.

  3. Added a new glass strength prediction model by Rudshaug et al. (2023) invoked with *MAT_­­GLASS_­SPM (*MAT_­280_­SPM). It is a Monte-Carlo-based fracture-initiation predictor that combines the theories of linear elastic fracture mechanics and sub-critical crack growth to generate a representative sample of virtual glass plates that are monitored during the simulation. The model results in representative fracture strength distributions that span the probable fracture initiation instances with respect to time, location, and stress level.

  4. Added new material *MAT_­317/*MAT_­R­RR_­POLY­MER.

4.1.12 Multiscale

  1. Added solid-in-solid immersed coupling to *IN­CLUDE_­­COSIM, where the local solid model occupies the same space as the global solid model at the coupling interface. The set of nodes in the local model follows the translational motion of the set of solid elements in the global model. In return, the nodes of the global solid elements obtain the constraint forces. To use this feature, specify the flag ITS as 3 in both *SET_­­SOL­ID and *SET_­N­ODE.

4.1.13 Output

  1. Select visualization data, including for CPG airbags and SPH, can be written to an LSDA binary file named <JOBID>.d3dat, where <JOBID> is the job ID provided in the run. *DATA­BASE_­BI­NA­RY_­D3­DAT specifies the output frequency of this data.

4.1.14 Peridynamics

  1. Made performing a thermally-indueced residual stress analysis available for peridynamics. This analysis is performed during dynamic relaxation and requires providing the temperature field with a function or a file called peritprofile.txt. See the manual page for *MAT_­292 for details.

4.1.15 SPG (Smooth Particle Galerkin)

  1. Added IMERGE to *ISPG_­­CON­TROL_­ADAP­TIV­I­TY to activate a merging algorithm for parts that are sufficiently close together. In MPP, this merging feature requires parts to be on the same processor. To do this, use *ISPG_­DE­FINE_­MERG­ER_­MPP.

  2. Added the keyword *ISPG_­­DAMP­ING_­­SURF to define Rayleigh damping related to fluid surface tension on all the ISPG parts.

  3. ISPG 3D supports a new curing-degree-dependent viscosity model via the keyword *ISPG_­­MAT_­­CAS­TRO_­­MA­COSKO_­­CAR­REAU.

  4. Added new keyword *ISPG_­­CON­TROL_­D3ISPG to control outputting the curing, viscosity, temperature, stresses, and strain rates for ISPG.

  5. For adaptive ISPG, support thermal-flow coupled analysis. We added the following features for this:

4.1.16 User-Defined Features

  1. Added *USER_­GET_­HIS­TO­RY for gathering material history variables on selected elements.

4.1.17 Miscellaneous

  1. Added *DE­FINE_­­CA­BLE to simplify the creation and data collection of electric cables for failure modeling.

  2. When using dynain and dynain.lsda files to transfer the state of a system between simulations, it is important to provide reference configuration information for hyperelastic material models. Providing this information is particularly tricky when switching between implicit and explicit, for instance, or if the way the deformation gradient is stored changes because of a different set of control parameters. To this end, we introduced *N­ODE_­REF­ER­ENCE, *ELE­MEN­T_­­SOLID_­REF­ER­ENCE, and *ELE­MEN­T_­SHEL­L_­REF­ER­ENCE that are part of the dynain(.lsda) content whenever hyperelastic materials are present in a model. These keywords allow for a seamless approach to dealing with hyperelasticity in a dynain context, meaning that the RFLAG on *IN­TER­FACE_­SPRING­BACK­_­LS­DY­NA becomes redundant. Users will typically never insert these keywords in a simulation, but previous simulations always generate them. Seamless transfer requires properly setting up the first simulation, for which the reference configuration typically coincides with the configuration at time zero or is specified using *INI­TIAL_­­FOAM_­REF­ER­ENCE_­­GE­OM­E­TRY for solids or *AIRBAG_­REF­ER­ENCE_­­GE­OM­E­TRY for shells.

4.2 Improvements and Enhancements

4.2.1 Acoustics, NVH, and Frequency Domain

  1. Improved SMP load balancing for METHOD 2, 211, 3, and 311 on *FRE­QUEN­CY_­­DO­MAIN_­A­COUSTIC_­BEM. These changes improved performance, particularly for a large number of threads/cores.

  2. Support IGA parametric points (*I­GA_­­POINT_­U­VW) and IGA physical faces (*I­GA_­­FACE_­XYZ) for setting excitation loads on *FRE­QUEN­CY_­­DO­MAIN_­SSD (see NTYP on Card 7).

  3. Extended transient Ensight animation support (MASEPLT = 4 on *CON­TROL_­A­COUSTIC_­SPEC­TRAL) to 12th-order spectral acoustic elements.

  4. Enabled fast computing of the mcf file (*CON­TROL_­FRE­QUEN­CY_­­DO­MAIN) without writing d3ssd (BINARY = 0 in *DATA­BASE_­FRE­QUEN­CY_­BI­NA­RY_­D3SSD).

  5. Added option NDD = 0 to *FRE­QUEN­CY_­­DO­MAIN_­A­COUSTIC_­BEM to use a recommended domain decomposition.

4.2.2 Adaptivity

  1. Implemented an option to match the tied surfaces of two adaptive parts with tied contact in the first adaptive set. See ICONOPT = -1 on *CON­TROL_­ADAP­TIVE.

  2. Added printout of what triggers the adaptivity in EFG interactive adaptivity.

  3. Control extra d3plot output in 3D \(r\)-adaptive simulation with ADPD3P on *CON­TROL_­ADAP­TIVE. Note that this flag existed previously, but the behavior has changed. The default behavior changed from outputting the extra data. Extra data was output starting in R13 without any controls. ADPD3P was added in R15 to turn off outputting this extra data. With R16, this extra data is not output by default and by setting ADPD3P = 1; ADPD3P = -3 (set to not output the datain R15) was removed; and ADPD3P = 2 and 3 were added to output this extra data.

4.2.3 Airbags

  1. Added an automatic checker during the keyword phase to check airbag quality for S-ALE. The results are output to saleabchk.msg.

  2. Support TYPE = CURVE on *SEN­SOR_­­CON­TROL with *AIRBAG_­­PAR­TI­CLE.

  3. Support coupling CPM (*AIRBAG_­­PAR­TI­CLE with the thermal solver.

  4. Support unlimited gas species for *AIRBAG_­­PAR­TI­CLE. Internally, there had been a limit of 40 species.

  5. Support including solid parts when defining the airbag (SID1 and SID2 on *AIRBAG_­­PAR­TI­CLE). Previously, the airbag could only be defined with shell parts. Deleted segments are removed from the coupling.

4.2.4 ALE

  1. Enabled using GEOM = ALL on *ALE_­STRUC­TURED_­MESH_­VOL­UME_­­FILL­ING to assign velocity using VID to all S-ALE nodes. Previously, VID worked with all GEOM settings except ALL.

  2. Improved algorithm to cure pressure oscillation during the ALE advection process when using *MAT_­E­LAS­TIC_­­PLAS­TIC_­HY­DRO with *EOS_­TAB­U­LAT­ED_­­COM­PACTION.

  3. Support beam erosion for S-ALE FSI in 2D.

  4. Implemented using an element set to specify the ALE fluid subjected to the porous flow condition (SIDTYP = 2 on *LOAD­_­­BODY_­­POROUS).

  5. If ALE groups fully fill the ambient elements (see *BOUND­ARY_­AM­BI­ENT), MMG = 0 keeps these fillings as sources instead of replacing them.

  6. Added command line option map2=[listofmappingfiles.txt] for *INI­TIAL_­ALE_­MAP­PING to map ALE data from several mapping files created by previous ALE runs with the same dimensions and identical ALE groups. Note that listofmappingfiles.txt needs to be a .txt file that lists the names of the mapping files. In this case, map= is not used.

  7. Made *ALE_­F­SI_­­TO_­LOAD­_­N­ODE available for S-ALE FSI.

  8. For *BOUND­ARY_­ALE_­MAP­PING with INI = 1, write S-ALE data to a mapping file that can be read by *INI­TIAL_­ALE_­MAP­PING and *BOUND­ARY_­ALE_­MAP­PING.

  9. Added OPTION = AMBIENT to *BOUND­ARY_­SALE_­MESH_­­FACE as a macro for applying *BOUND­ARY_­AM­BI­ENT with AMBTYP = 4 along the boundary faces.

  10. Applying OPTION = AMBIENT and OPTION = NONREFL on *BOUND­ARY_­SALE_­MESH_­­FACE to the same mesh faces causes the elements attached to the faces to turn into ambient elements with a non-reflecting boundary condition on the faces connecting the ambient elements to the rest of the S-ALE mesh.

  11. Enabled moving joined S-ALE meshes.

  12. Enabled DVOL on *SET_­­SOLID_­­GEN­ER­AL to work for S-ALE elements.

  13. Enabled DVOL on *SET_­SEG­MEN­T_­­GEN­ER­AL to work for S-ALE segments.

  14. Enabled DVOL on *SET_­N­ODE_­­GEN­ER­AL to work for S-ALE nodes.

4.2.5 Boundary Cards

  1. Made DOF = -4 and -8 on *BOUND­ARY_­PRE­SCRIBED_­­MO­TION available for rigid bodies if |CMO| = 2.

  2. For *BOUND­ARY_­P­WP:

4.2.6 Constraint Cards

  1. Check that there are no conflicts between the IDs used for *RIGID­WAL­L_­­PLA­NAR and *CON­STRAINED_­N­ODAL_­­RIGID_­­BODY.

  2. Support solid elements for *CON­STRAINED_­­CO­OR­DI­NATE.

  3. Added TITLE keyword option to *CON­STRAINED_­EX­TRA_­N­ODES and *CON­STRAINED_­­RIGID_­­BOD­IES.

  4. Setting |CMO| = 2 on *CON­STRAINED_­N­ODAL_­­RIGID_­­BODY_­SPC enables applying the constraints or prescribed motion (*BOUND­ARY_­PRE­SCRIBED_­­MO­TION) of the rigid body about a specified coordinate.

  5. Added an SPR3 with a strongly objective formulation (see MODEL = 3 of *CON­STRAINED_­IN­TER­PO­LA­TION_­SPOTWELD).

  6. Added ability to position the spot weld (see SPROFF) between the two sheets for spot welds defined with *CON­STRAINED_­IN­TER­PO­LA­TION_­SPOTWELD.

  7. Added new search method for *CON­STRAINED_­SPR2 and *CON­STRAINED_­IN­TER­PO­LA­TION_­SPOTWELD (SPR3) invoked by flag SPRSRCH on *CON­TROL_­­CON­STRAINED. The option includes the nodes inside the search radius and all nodes from elements inside the search radius.

  8. Modified SPR2/SPR3 search. The height of the search cylinder (THICK) can be too small if there is a substantial gap or THICK is defined way too large, causing problems with bent sheets. The modified search uses the measured distance with some tolerance instead of using THICK from the input. It is only supported for the recently added option SPRSRCH = 1.

  9. Added option STIFF2 < 0 to *CON­STRAINED_­IN­TER­PO­LA­TION_­SPOTWELD (SPR3). |STIFF2| is a load curve ID for shear stiffness as a function of load angle. This curve allows a better fit for the elastic-mixed-mode response.

  10. Add damping option, DAMP, to *CON­STRAINED_­IN­TER­PO­LA­TION_­SPOTWELD (SPR3) to apply viscous damping.

4.2.7 Contact

  1. Added MPP support for *TER­MI­NA­TION_­­CON­TACT.

  2. Added an initialization error termination check for MPP only due to an issue with contact. Before the decomposition, contact segments are mapped to the element they come from. Any not found will cause error termination.

  3. Added support for beam elements in segment-to-segment (SOFT = 2) contact. To use beam elements, simply use parts or part sets to define surface A and/or surface B and include beam parts in the surface definition. This works with all contact keywords that are compatible with segment-to-segment contact. However, it must be used with DEPTH options that support edge-to-edge contact, which currently are DEPTH = 5, 15, 25, 35, and 55. If other DEPTH options are input, they are switched internally to DEPTH = 55.

  4. Improved segment-to-segment (SOFT = 2) contact when shell element segments contact solid element segments. There were spurious forces in some instances that caused nonphysical deformation.

  5. Implemented edge treatment options SRNDE = 1 and 2 (on Optional Card E) for *CON­TAC­T_­AU­TO­MAT­IC_­­SUR­FACE_­­TO_­­SUR­FACE in SMP for SOFT = 0 and 1.

  6. The ORTHO_FRICTION keyword option in *CON­TAC­T_­…_­­MOR­TAR allows for 3D tables, thereby adding a temperature dependence in addition to sliding velocity and contact pressure.

  7. Thermal edge contact is supported and automatically enabled when the underlying mechanical contact is of *CON­TAC­T_­…_­­MOR­TAR type.

  8. Support output of tied area to binout for *CON­TAC­T_­…_­­MOR­TAR_­TIED types.

  9. Account for the OFFSET option on *ELE­MEN­T_­BEAM and NSLOC/NTLOC on *SEC­TION_­BEAM when determining contact with *CON­TAC­T_­AU­TO­MAT­IC_­…_­­MOR­TAR. However, the contact still uses an approximate tubular section.

  10. Support *LOAD­_­THER­MAL_­BI­NOUT with *CON­TAC­T_­…_­­MOR­TAR.

  11. Added MINFO < 0 on *CON­TROL_­OUT­PUT, where -MINFO is a time-step frequency for output penetration and memory information from *CON­TAC­T_­…_­­MOR­TAR. This negative option applies also to explicit analysis.

  12. Added TIEOPT to *CON­TROL_­­CON­TACT to invoke constrained tied contacts in explicit algorithms that circumvent some of the shortcomings in the standard implementations. It is mandatory (and automatically applied) for selective mass scaling (IMSCL \(\neq\) 0 on *CON­TROL_­­TIMESTEP) to properly support all tied contact combinations. The primary justification for this option is the completion of tied contact support in selective mass scaling. However, even without that, this option offers some advantages for constrained tied contacts, such as:

  13. Added STROBJ to *CON­TROL_­­CON­TACT to turn on strong objectivity for single surface contacts with SOFT = 0 or 1.

4.2.8 Control Cards

  1. Setting SRTFLG = 1 on *CON­TROL_­AC­CU­RA­CY causes the parts, contacts, nodal rigid bodies, and elements to be processed in an order sorted by the respective user IDs, regardless of the order that these appear in the input file. This feature helps ensure consistent results if, for some reason, the order of the above entities changes in the input file. SRTFLG can also be activated or deactivated through the command line options SRTFLG=1 or SRTFLG=0. The command line option overrides the value specified in the keyword.

  2. Added options ESORT = 11, 12, 13, and 14 to *CON­TROL_­­SOL­ID. These are the same as ESORT = 1, 2, 3, and 4, respectively, except tetrahedrons are sorted to type 13.

  3. Added ability to request additional output with *CON­TROL_­EOS_­USER_­LI­BRARY for plotting 3D surface graphs of seslib data.

  4. Added the ASCII keyword option to *CON­TROL_­EOS_­USER_­LI­BRARY for reading Los Alamos sesame tables instead of seslib and handling several ASCII table files.

  5. Switch to LAMSHT = 3 when LAMSHT = 1 on *CON­TROL_­SHELL. LAMSHT = 1 is only implemented for a few material models, and even for them, it does not seem to work properly.

  6. Extended UMCHK on *CON­TROL_­­MAT to check for default user-defined friction (only MPP).

  7. Reduce memory requirement of detailed energies for materials (MATEN = 2 on *CON­TROL_­EN­ER­GY) by only requesting it after MPP decomposition.

4.2.9 Discrete Element Method

  1. Added defining a box with SBOX to *DE­FINE_­DE_­­TO_­­SUR­FACE_­­COU­PLING to exclude segments belonging to the surface that are outside the box during initialization from the coupling.

4.2.10 Dual CESE Compressible Fluid Solver

  1. Made the NASG EOS (*D­U­AL­CESE_­EOS_­­NASG) available to the single fluid solvers, including both with and without FSI.

  2. Added viscous shear to the feedback forces for the viscous 2D and 3D FSI-IBM solver.

  3. Introduced a porous media model for supersonic flow with thin-shell porous structures in the dual CESE FSI-IBM and two-phase FSI-IBM solvers. This model solves the Darcy-Forchheimer equation as a jump condition across the porous media interfaces. This new porous media model is available for the following two-phase and single-fluid FSI-IBM dual CESE solvers: 2D, 2D axisymmetric, and 3D.

  4. Reversed the modification done in R15 to the local CFL number formula for a new time-step-size calculation. In other words, we restored the R14 treatment of this calculation.

4.2.11 Elements

  1. Added option ASA to *SEC­TION_­BEAM for resultant beam type 2. ASA flags automizing the shear area approximation for tubular (SECTION_09) and solid box (SECTION_11) shapes.

  2. Extended the STRETCH field in *CON­TROL_­SHELL to check the three edges of triangular shells in the same manner that it checks the diagonals of a quadrilateral. Previously, this option ignored triangular shells.

  3. The definition of baseline orientation vectors with *PART_­­FIELD for finite element solids ELFORM = 1 is now supported for the following material models: 22, 23, 26, 33, 40, 54, 55, 58, 59, 91, 92, 103, 104, 122, 126, 133, 142, 143, 157, 199, 213, 215, 219, 221, 233, 245, 261, 262, 263, 264, 278, and 291.

  4. Extended to beams with ELFORM = 13 the existing option of using BEAMIP on *DATA­BASE_­EX­TEN­T_­BI­NA­RY to cause writing the moments at both ends of resultant beams (ELFORM = 2) to d3plot and d3thdt.

  5. Enhanced the check for cohesive elements to properly reorientate them so that the orientation matches neighboring elements by changing the connectivity.

  6. Added experimental options ISTUPD = 5 and 6 on *CON­TROL_­SHELL. These are the same as 1 and 4, respectively, but associated thickness changes are double precision in single precision binaries for shell elements with ELFORM = 2, 4, and 16. These options should make results more comparable (single precision versus double precision) in long-lasting explicit analyses.

  7. Added option to change some cohesive errors to warnings invoked with COHEQC = 10, 11, and 12 on *CON­TROL_­­SOL­ID.

  8. Support stiffness proportional damping for cohesive elements. *DAMP­ING_­­PART_­S­TIFF­NESS did not have any effect on them until now. Also, support RYLEN = 2 from *CON­TROL_­EN­ER­GY for cohesive elements to include the damping energy in the internal energy computation.

  9. Added warning for the use of pentahedral thick shell (TSHELL) elements:

    Thick shell element ... is a degenerated hexahedron (nodes N3=N4 and N7=N8). Such pentahedral thick shells are currently not supported and should therefore be avoided.

4.2.12 EM (Electromagnetic Solver)

  1. Added CIRCTYP = 30 to *EM_­­CIR­CUIT to include Diode modeling in the circuit. It is available with the Eddy current solver only (EMSOL = 1 in *EM_­­CON­TROL).

  2. An imposed current condition (see CIRCTYP IN *EM_­­CIR­CUIT) when using the Resistive heating solver is now done via a Neumann boundary condition rather than an internal transformation into a voltage condition (after doing an initial solve to get the mesh resistance and using Ohm’s law). We made this change after realizing that the previous way could cause issues in cases that involved multiple circuit branches. Resistance and current output values may be affected.

  3. Added the option to turn off the time interpolation (INTERP on *EM_­­CON­TROL_­­COU­PLING) of the EM forces between two EM steps. This can be useful in magnetostatic steps (especially rotating problems) where the default linear time interpolation of the EM force at each mechanical step can introduce a larger error than having no interpolation at all.

  4. Added an optional third line to *EM_­­CON­TROL_­­COU­PLING for providing three node IDs defining a local coordinate system for the EM solver to follow during the force interpolation phase given to the mechanical solver. This feature may be recommended in rotating magnetostatic problems for increased accuracy.

  5. Added an optional second line to *EM_­­CON­TROL_­­SO­LU­TION for defining two local coordinate systems and specifying that BEM matrix recomputations can only occur based on specific translation and rotation criteria.

  6. Fixed bug in magnet ID ordering (*EM_­PER­MA­NEN­T_­­MAG­NET). Previous versions assumed the user defined the magnet IDs in their keyword file in an ordered fashion (from small ID to large) which is not always the case.

  7. For *EM_­RAN­DLES_­­BAT­MAC, added the option to have temperature-dependent equilibrium voltage as a function of state of charge tables.

  8. For Randles circuits (*EM_­RAN­DLES_­…), state of charge values in battery cells are now hard capped at 100.

  9. Enabled specifying a part ID instead of segment sets for the associated Rogowsky coil in 2D axisymmetric Eddy current problems (see PID on *EM_­­CIR­CUIT_­RO­GO. This ability simplifies creating the input for this case.

  10. Added CONTYPE = 2 to *EM_­­CIR­CUIT_­­CON­NECT to have the circuit connect constraint take precedence over the constraint (if it exists} defined in *EM_­­CIR­CUIT for the second circuit. In contrast, for CONTYPE = 1, the constraint for the second circuit takes precedence over the circuit connect constraint.

  11. Support beam elements with the eikonal solvers (solver types 14 and 15 on *EM_­­CON­TROL) so that beams can be coupled with tetrahedral elements.

  12. For eikonal models (*EM_­EP_­EIKON­AL), SIGMA in the data cards of EM materials *EM_­­MAT_­001 and *EM_­­MAT_­003 corresponds to the wave velocity. Note that *EM_­­MAT_­001 is supported for beam elements, while *EM_­­MAT_­003 is supported for tetrahedral elements.

  13. Added ionic model using splines instead of solving the ODEs at each node. See IONSOL = 2 on *EM_­­CON­TROL_­EP. One spline is built for each ionic model once and for all at the beginning of the run, and is then used at each node, starting at the activation time of the node. This method can be used either for the eikonal solvers (EMSOL = 14 or 15 in *EM_­­CON­TROL) or the mono/bi domains (EMSOL = 11 or 12 on *EM_­­CON­TROL_­EP). It saves a lot of cpu time in the ionic model part. An optional Card 2 on *EM_­­CON­TROL_­EP can be included to give the end time (SPLTEND) and time step for building the spline (SPLDT).

  14. Added ability to add delays between 2 depolarizations/repolarizations on *EM_­EP_­ISOCH to avoid detecting successive repol/depol in cases where the transmembrane potential oscillates.

4.2.13 Forming Analysis

  1. In the mapping process of *IN­CLUDE_­­STAMPED_­­SOLID_­­TO_­­SOL­ID, perform strain averaging around the neighboring elements.

4.2.14 ICFD (Incompressible Fluid Solver)

  1. For *ICFD_­BOUND­ARY_­WIND­KESSEL, added detailed Windkessel circuits types 7, 8, 9, 10. We also reworked this feature to make it more robust and less time-step-dependent. We added WTYPE = 6 to specify a user-defined model.

  2. Added the radius factor to the flux output (see *ICFD_­­DATA­BASE_­FLUX) in 2D axisymmetric analyses to make it consistent with 3D output.

  3. For *ICFD_­­CON­TROL_­ADAPT, added an option, DT, to control the remeshing frequency via a time step (transient analysis only).

  4. For the steady state solver, a velocity boundary condition is now considered constant during the steady state analysis (the first value of the *DE­FINE_­CURVE will be picked).

  5. For weak 2-WAY FSI with the implicit structural solver (OWC = 3 on *ICFD_­­CON­TROL_­F­SI), enabled the implicit solver to perform sub-stepping until convergence with a single CFD step.

  6. For *ICFD_­­CON­TROL_­ADAPT:

  7. For *ICFD_­­CON­TROL_­­TUR­BU­LENCE:

  8. Support the advection of two species instead of just one (see *ICFD_­­MOD­EL_­SPECIES_­­TRANS­PORT, *ICFD_­BOUND­ARY_­PRE­SCRIBED_­SP­TRANSP_­­CONC, and *ICFD_­INI­TIAL_­SP­TRANSP).

  9. Support initializing species concentrations by *ICFD_­­PARTs and *ICFD_­­PART_­VOLs (see *ICFD_­INI­TIAL_­SP­TRANSP) in the species transport flow solver. Previously, initialization only worked globally.

  10. For *ICFD_­­MOD­EL_­­POROUS, added support to have hybrid porous/non-porous membrane/fabrics in the same model. A mixing of porous and non-porous deforming embedded shells is now allowed.

4.2.15 Implicit (Mechanical) Solver

  1. The option ITORM on *SEC­TION_­BEAM is now supported for implicit transient analyses. Before, it could only be used for eigenvalue analyses.

  2. Made the sectoral symmetry method (EIGMTH = 111 on *CON­TROL_­IM­PLIC­IT_­EIGEN­VAL­UE) available in MPP. This method only works for jobs running on one processor, but it no longer requires SMP to run and gives the same results as for SMP.

  3. For LSOLVR = 30 (MUMPS) on *CON­TROL_­IM­PLIC­IT_­­SOLVER:

  4. Support ORDER = 3 (ParMETIS) on *CON­TROL_­IM­PLIC­IT_­­SOLVER in PGI builds.

  5. For METHOD = 102 (LOBPCG) on *CON­TROL_­IM­PLIC­IT_­EIGEN­VAL­UE:

  6. Support modal analysis (*CON­TROL_­IM­PLIC­IT_­EIGEN­VAL­UE) with rotational dynamics terms (*CON­TROL_­IM­PLIC­IT_­RO­TA­TION­AL_­­DY­NAM­ICS) for MPP executables when the number of MPI ranks is 1. Full MPP capability is the subject of future work.

  7. Made *DATA­BASE_­ADAMS available again. This feature outputs a Modal Neutral File, d3mnf, for later use with Hexagon’s Adams software. It was available up to R7 upon customer request and required an external library. It is now available with all MPP builds without additional software.

  8. Added MXMODES to *CON­TROL_­IM­PLIC­IT_­IN­ER­TI­A_­RE­LIEF for setting the maximum allowed eigenvectors to be computed.

  9. Added printing information about the JFNK nonlinear solver (NSOLVR = 13) if NLPRINT = 3 on *CON­TROL_­IM­PLIC­IT_­­SO­LU­TION.

  10. Output time history results for beam elements undergoing modal dynamics (*CON­TROL_­IM­PLIC­IT_­­MODAL_­­DY­NAM­IC) to elout and d3thdt. Previously, the beam results were written as zero to both elout and d3thdt.

  11. For implicit, imposing spc on too many rigid body nodes results in an overdetermined set of constraints. Previously, doing this would result in an error termination. Now, we process these constraints during the initialization and translate them into the equivalent combination of nodal and rigid body constraints that allow the simulation to continue with expected results.

  12. For implicit, stacked use of tied contacts (think laminates/composites) may result in an overdetermined set of constraints that could lead to an error termination or automatic deletion of important ties just to start the simulation. Now, we use a dependency graph to delete only the tied contacts that must be deleted, resulting in a more expected behavior. It may still result in an error termination if the dependencies cannot be resolved.

  13. IACC = 1 on *CON­TROL_­AC­CU­RA­CY is now the default for nonlinear implicit simulations. To recover the old behavior, set IACC = -1.

  14. Equipped incompressible control volumes (*DE­FINE_­­CON­TROL_­VOL­UME) with two new features:

4.2.16 Initial Cards

  1. Implemented *INI­TIAL_­­FOAM_­REF­ER­ENCE_­­GE­OM­E­TRY for axisymmetric elements (ELFORM = 14 and 15 on *SEC­TION_­SHELL).

  2. Implemented initializing velocities with *INI­TIAL_­VE­LOC­I­TY_­­GEN­ER­A­TION_­S­TART_­­TIME under a switch condition (*SEN­SOR_­SWITCH). When STIME < 0, |STIME| refers to a sensor switch ID.

  3. Implemented defining the high explosive as a part or element set (HETYP = 1 or 2) on *INI­TIAL_­DET­O­NA­TION_­­GE­OM­E­TRY.

  4. Added selecting elements to ignite with a box for *INI­TIAL_­DET­O­NA­TION_­­GE­OM­E­TRY.

4.2.17 Isogeometric Analysis (IGA)

  1. Added support for implicit MPP contact for trimmed IGA solids (*I­GA_­­SOL­ID).

  2. Added support for MPP eigenvalue extraction for trimmed IGA solids (*I­GA_­­SOL­ID).

  3. Map the friction definition (*DE­FINE_­FRIC­TION_­TABLE) of IGA contact parts to the related interpolation element parts to properly reflect the friction behavior in the contact evaluation.

  4. In case multiple faces (*I­GA_­­FACE_­XYZ) are defined on the same underlying surface patch (*I­GA_­2D_­NURB­S_­XYZ) and the individual faces are topologically connected with *I­GA_­EDGE_­U­VW and *I­GA_­EDGE_­XYZ, check that the generated interpolation mesh for the individual faces matches at the shared interface and that the corresponding interpolation nodes are merged. This check solves an issue that may appear if the faces are in the same contact definition, and edge contact may happen between the free boundaries of the individual faces.

  5. Add support for the parameters THICK, PSTRN, STRAIN, and STRESS in *IN­CLUDE_­­STAMPED_­­PART for IGA shells (*I­GA_­SHELLs).

  6. Added support for *IN­CLUDE_­­TRAN­FORM for IGA-related keywords.

  7. Add support to use *I­GA_­­POINT_­U­VW for trimmed IGA solids (*I­GA_­­SOLIDS). This can be used to define constrained nodal rigid bodies or similar boundary conditions.

  8. Support *CON­STRAINED_­SPR2 for (trimmed) IGA shell/solid (*I­GA_­SHEL­L/­SOL­ID) parts.

  9. Improve force sharing for shared interpolation nodes along MPP domain boundaries for IGA solid parts (*I­GA_­­SOL­ID).

  10. Add support for *LOAD­_­THER­MAL for IGA solid elements (*I­GA_­­SOL­ID).

  11. Properly map IGA shell (*I­GA_­SHELL) thickness to related interpolation elements to have the correct thickness reflected in contact.

4.2.18 Materials and Equations-of-State

  1. For *MAT_­001 / *MAT_­E­LAS­TIC

  2. Setting |CMO| = 2 on *MAT_­­RIGID (*MAT_­020) enables applying the constraints or prescribed motion (*BOUND­ARY_­PRE­SCRIBED_­­MO­TION) of the rigid body about a specified coordinate.

  3. Enabled IRATE on *CON­TROL_­IM­PLIC­IT_­­DY­NAM­ICS for Hughes-Liu beam elements (ELFORM = 1) with *MAT_­024.

  4. For *MAT_­024, allow simultaneous use of keyword options _STOCHASTIC and _2D for shell elements.

  5. Enabled fabric material formulation 24 (FORM on *MAT_­034/*MAT_­­FAB­RIC and *MAT_­B01/*MAT_­SEAT­BELT) to be used in implicit analysis. Previously, parts input with formulation 24 were internally switched to formulation 14.

  6. Made the Poisson’s ratio behavior of fabric material formulation 24 (FORM on *MAT_­034/*MAT_­­FAB­RIC and *MAT_­B01/*MAT_­SEAT­BELT) more accurate for large strains. Results for problems where fabric material strains remain small should change little.

  7. Added implicit tangent to *MAT_­058 (*MAT_­LAM­I­NAT­ED_­­COM­POS­ITE_­­FAB­RIC).

  8. Made *MAT_­074 work with *INI­TIAL_­STRESS_­BEAM.

  9. Enabled *MAT_­083_­­PATH_­DE­PEN­DENT to work with *INI­TIAL_­­FOAM_­REF­ER­ENCE_­­GE­OM­E­TRY.

  10. Made the latest features and bug fixes in *MAT_­106 available for type 13 solid (tetrahedron) elements.

  11. Added support for plastic strain tensor output with STRFLG = 11 on *DATA­BASE_­EX­TEN­T_­BI­NA­RY for *MAT_­106, *MAT_­123, *MAT_­224, and *MAT_­251.

  12. Added flag PDV to *MAT_­148 / *MAT_­­GAS_­MIX­TURE. This flag sets the method for computing the element energy update. The default (PDV = 0) and original implementation is the ideal gas gamma law, which violates energy conservation when temperature-dependent \(C_v\)/\(C_p\) are used with ALE formulations. PDV = 1 invokes pressure work for this calculation.

  13. For *MAT_­­SOIL_­SANISAND (*MAT_­207), improved stability for elements at low pressure.

  14. Updated *MAT_­213 / *MAT_­­COM­POS­ITE_­TAB­U­LAT­ED_­­PLAS­TIC­I­TY_­­DAM­AGE to version 1.3.7. The new version:

  15. For *MAT_­LAM­I­NAT­ED_­FRAC­TURE_­­DAIM­LER_­PIN­HO (*MAT_­261), improved the behavior when the compressive stress reached XC prior to the actual failure criterion. In this case, we start computing damage values (dkink) to limit the stress within bounds, but we did not compute the failure strain in case the failure criterion is finally met, which led to a brittle failure due to lack of damage evolution. Now, we compute the failure strain in this scenario before reaching the failure criterion, which enables damage evolution and, thus, softening behavior before failure.

  16. Added parameter DOSPOT to *MAT_­270, which activates thinning of tied shell elements when SPOTHIN > 0 on *CON­TROL_­­CON­TACT.

  17. Added grouping option, GRPFT, to *MAT_­280 to scale down the tensile strength of several parts with FTSCL at the same time.

  18. Added plasticity to *MAT_­291 (*MAT_­SHAPE_­MEM­O­RY_­AL­LOY).

  19. Added the FIBAND (FIBer distribution based ANisotropic Damage) model to *MAT_­DM­N_­­COM­POS­ITE_­FRC (*MAT_­303) for predicting the damage and failure of injection-molded short-fiber-reinforced composites with any fiber distribution.

  20. Enabled support for using *MAT_­305 / *MAT_­HOT_­­PLATE_­ROLLING with 1-point pressure tetrahedrons (type 13).

  21. For *MAT_­307 / *MAT_­­GEN­ER­AL­IZED_­AD­HE­SIVE_­CUR­ING:

4.2.19 Mesh Cards

  1. Implemented automatically renumbering the ID of *MESH_­VOL­UME if the same ID exists in *MESH_­­SUR­FACE_­ELE­MENT already to avoid output confusion. This change is only for output purposes. Results are unaffected.

  2. For *MESH_­­SIZE_­SHAPE, a *DE­FINE_­­FUNC­TION can now be used to define the mesh size as a function of the \((x,y,z)\) coordinates. This capability enables defining a gradual coarsening or refinement.

4.2.20 MPP

  1. Added environment variable LSTC_DIR_LOCAL to specify the local directory for scratch files from an environment variable. This directory should be on a local disk on each processor for performance reasons. Note that the pfile command local has priority over this environment variable.

4.2.21 Output

  1. Include energy due to *IN­TER­FACE_­LINK­ING_­SEG­MENT in the external work reported to the glstat file.

  2. Added *DATA­BASE_­R­C­FOR­C_­­DR to output rcforc during dynamic relaxation.

  3. The mass and inertia properties output to d3hsp are now computed using double precision regardless of binary precision.

  4. *DATA­BASE_­BI­NA­RY_­IS­PH­FOR now supports the FILE keyword option.

  5. Added *DATA­BASE_­F­SI_­­DR to save the dbfsi data from the 1st dynamic relaxation phase.

  6. Enabled converting the binary file created with *DATA­BASE_­BI­NA­RY_­F­SILNK into a keyword file with *LOAD­_­SEG­MENTs and *DE­FINE_­CURVEs generated from the data in that file. To generate this keyword file, run LS-DYNA with only the fsilnk=[fsifile] command line option, where fsifile is the name of the binary file.

  7. For *DATA­BASE_­D3­MAX:

4.2.22 Seat Belts

  1. Add the contribution of the shell force to the section force when the shell is a 2D seat belt.

  2. For MPP decompositions, every 2D seat belt is assigned a separate core to speed them up.

4.2.23 Sensors

  1. Enable *SEN­SOR_­DE­FINE_­MISC to trace seat belt slip rings (MTYPE = SLIPRING).

  2. Added the options PULLOUT and FORCE for TYPE = RETRACTOR on *SEN­SOR_­DE­FINE_­MISC to trace the retractor’s total pull-out and the force of the attached belt, respectively.

  3. Added TFIRE to *SEN­SOR_­CP­M_­AIRBAG to control the activation time of the mass flow rate and temperature curves.

4.2.24 SPG (Smooth Particle Galerkin)

  1. Made coupling between SPG particles and a surface (*DE­FINE_­SPG_­­TO_­­SUR­FACE_­­COU­PLING) available in MPP.

  2. Added option SFPN to *DE­FINE_­ISPG_­­TO_­­SUR­FACE_­­COU­PLING to scale the thickness of the solid structure that is coupled with the ISPG fluid. This option improves contact detection if the structure is very thin and the length of the solid elements along the normal direction is much smaller than the length in the in-plane direction.

  3. Support the TITLE keyword option for *SEC­TION_­ISPG, *MAT_­ISPG_­…, *MAT_­THER­MAL_­ISPG, *DE­FINE_­ISPG_­­TO_­­SUR­FACE_­­COU­PLING for ISPG adaptivity.

4.2.25 SPH

  1. Repeated solid or shell part IDs in *DE­FINE_­ADAP­TIVE_­­SOLID_­­TO_­SPH will now raise an error. Specifying the same parent part more than once will cause: (1) overlapping particles if NQ is the same in both instances, or (2) particles of different sizes that are too close.

  2. For *DE­FINE_­ADAP­TIVE_­­SOLID_­­TO_­SPH, select history variables are now scaled by volume ratios between SPH and their parent solid/shell element. This lack of scaling could cause simulations to destabilize when NQ > 1 while using some materials or equations of state.

4.2.26 Thermal Solver

  1. Added field NIDOFF to *LOAD­_­THER­MAL_­BI­NOUT. It represents an offset in the global nodal IDs between the lsda file and the model and makes it possible to use the thermal results for a component that is included in the model with a nodal ID shift through *IN­CLUDE_­­TRANS­FORM.

4.2.27 Miscellaneous

  1. Enhanced internal treatment of curves defined with *DE­FINE_­CURVE. These curves have a regularly spaced internal representation. With this update, the way these curves are stored has been changed, resulting in significant memory reductions, particularly when different curves have different values of LCINT. Evaluating these curves is also more efficient.

    For those implementing user-defined materials, note that the curve array crv is NOT AVAILABLE anymore beginning with R16. Please use new curve/table evaluation routines instead:

  2. Improved implicit co-simulation with *COSIM_­FMI_­IN­TER­FACE by exchanging data in every iteration.

  3. Added command line option stdout= to control the messages to stdout. See the manual for details.

  4. Added parameter IORIEN to *DE­FINE_­­PRESS­SURE_­­TUBE to use the third beam node or *BEAM_­ORI­EN­TA­TION for solid/shell orientation.

  5. *DAMP­ING_­FRE­QUEN­CY_­RANGE_­DE­FORM now works with ELFORM = 13 beam elements.

4.3 Bug Fixes

4.3.1 Adaptivity

  1. Fixed a bug that may cause memory errors when INMEMORY is on and ADPTYP is greater than 2 in *CON­TROL_­ADAP­TIVE.

  2. Fixed bugs in nodal mass calculations when INMEMORY is on in *CON­TROL_­ADAP­TIVE. These bugs affect solution accuracy, especially in metal forming deep drawing simulations.

  3. Fixed bugs in the initialization of load curves that may cause memory errors after an adaptive cycle.

  4. Fixed bugs in the initialization of contacts that may cause errors when INMEMORY is on in *CON­TROL_­ADAP­TIVE.

  5. Fixed bugs in shell size evaluation that may induce inconsistencies in adaptivity criteria between in-core and out-of-core adaptivity.

4.3.2 Airbags

  1. Fixed bug when the inflator mass flow rate is input with a total mass flow rate curve and species based on mole fraction for iair = 2 and 4.

4.3.3 Boundary Cards

  1. Fixed a bug for LCBCHK on *BOUND­ARY_­PRE­SCRIBED_­­MO­TION_­SET_­BOX. The bug was due to mistakenly assuming all related nodes to be inside the checked box initially, leading to unexpected behavior.

  2. Fixed issue with *BOUND­ARY_­P­WP during a full-deck restart. The boundary conditions were not being obeyed in the restart run.

  3. For *BOUND­ARY_­FLU­IDM:

4.3.4 CESE Compressible Fluid Solver

  1. For the CESE chemically-reacting flow solver:

4.3.5 Constraint Cards

  1. Fixed a bug in the *CON­STRAINED_­BEAM_­IN_­­SOL­ID general slip-force law (AXFOR = 999) to consider negative slip.

  2. Fixed issue that caused very slow initialization in models that have BOTH a large number of nodal rigid bodies (*CON­STRAINED_­N­ODAL_­­RIGID_­­BODY) AND a large number of *BOUND­ARY_­PRE­SCRIBED_­­MO­TION cards.

  3. Fixed problem with *CON­STRAINED_­SPR2/SPR3 and *SET_­N­ODE_­ADD. The following error occurred: node set for spr # 123 is not found. Generating the visualization beams somewhat later resolves it.

4.3.6 Contact

  1. Fixed issue with MPP contact near the decomposition boundary between processors. It occurred if some of the contact nodes were involved in a *CON­STRAINED_­TIED_­N­ODES_­­FAIL­URE constraint that failed. The failure was not being properly treated.

  2. Fixed issue for MPP groupable contacts with birth times. If some processors ended up with no currently active groupable contacts, while others did have currently active groupable contacts, the code could hang.

  3. When using the DISPLAY keyword option of *RIGID­WAL­L_­­GE­O­MET­RIC/­PLA­NAR_­…, contacts defined by BOX or SURFATYP/SURFBTYP = 6 included the segments of the rigid wall display parts. The nodes of the display parts could become tracked by other rigid walls.

  4. For penalty-based tied contacts, the optional contact stiffness was not taken into account when the SURFB segments originated from solid facets.

  5. Enabled *ELE­MEN­T_­SHEL­L_­­SOURCE_­SINK when used with MPP segment-to-segment (SOFT = 2) contact in the MPP version. Previously, the job would error terminate.

  6. Fixed an error in implicit segment-to-segment (SOFT = 2) contact stiffness when DEPTH = 5, 15, 35, or 55 and contact is between edge pairs. The stiffness was uninitialized, causing unpredictable behavior.

  7. Fixed a conflict between *CON­TAC­T_­EX­CLUDE_­IN­TER­AC­TION and the thick segment pair check in MPP segment-to-segment (SOFT = 2) contact. The conflict led to excluding the wrong segment pairs.

  8. Fixed damping in segment-to-segment (SOFT = 2) contact when using contact stiffness scaling by part. The damping was not adjusted correctly for the scaled stiffness values. This fix may change results a little but should not cause big changes.

  9. Consider IDDOFF from *IN­CLUDE_­­TRANS­FORM for REGION on optional Card E of *CON­TAC­T_­….

4.3.7 Control Cards

  1. Consistent mass treatment of rigid bodies (RBSMS = 1 on *CON­TROL_­­RIGID) did not work with rigid-to-deformable switching.

  2. Selective mass scaling (IMSCL on *CON­TROL_­­TIMESTEP) did not work properly on constrained tied contacts using backup tied contact (IPBACK = 1 on optional Card E of *CON­TAC­T_­…).

  3. When using selective mass scaling (IMSCL on *CON­TROL_­­TIMESTEP), the kinetic energy and momentum from a moving *RIGID­WALL could be added twice.

  4. When using selective mass scaling (IMSCL on *CON­TROL_­­TIMESTEP) and RBSMS = 0 on *CON­TROL_­­RIGID, the nodal inertia from spot welds was missing, leading to instabilities.

  5. When ATYPE = 3 or 4 on *CON­TROL_­­PORE_­FLU­ID, pore fluid is modeled flowing through the solid element mesh. Cracks in the mesh act as impermeable barriers, except that fluid can flow through tied contacts (*CON­TAC­T_­TIED…) if FTIED = 1. In previous releases, this did not work if the tied contact was “groupable.”

  6. For *CON­TROL_­STAGED_­­CON­STRUC­TION:

4.3.8 Dual CESE Compressible Fluid Solver

  1. Corrected the setup for the use of *DE­FINE_­CURVE_­­FUNC­TION with the dual CESE solvers.

  2. For dual CESE d3plot IBM-FSI nodal outputs, if the nodes on a fluid boundary are also very close to a structural part, they are now treated for plotting as if they were effectively inside the structure.

4.3.9 Elements

  1. Fixed issue with *ELE­MEN­T_­DI­REC­T_­­MA­TRIX_­IN­PUT combined with *CON­TROL_­IM­PLIC­IT_­­MODAL_­­DY­NAM­IC that led to a crash.

  2. Fixed internal energy computation for cohesive elements. Shear components were too small by a factor of 2.

  3. Fixed damping energy computation (RYLEN = 2 on *CON­TROL_­EN­ER­GY) for Hughes-Liu beam elements. Necessary strain increments were not rotated to the global system. Global \(z\)-components were not included in the energy computation.

4.3.10 EM (Electromagnetic Solver)

  1. Made fixes when using the EM 2D axisymmetric solver (*EM_­2­DAXI) with EM contact. Memory issue could cause some cases to fail.

  2. Bug fix for EMSOL = 2 (periodic inductive heating solver) on *EM_­­CON­TROL. Previously, models that involved imposed voltage and also had EM contact present would fail during the solve.

4.3.11 Forming Analysis

  1. Fixed bugs in memory allocation that may cause memory errors in metal forming simulations.

4.3.12 ICFD (Incompressible Fluid Solver)

  1. Fixed issue that caused the presence of *ICFD_­­DATA­BASE_­FLUX­SURF to affect the generated mesh.

  2. Fixed update of the stiffness matrix for turbulent flows.

  3. Fixed bug in the computation of the volume region of *ICFD_­DE­FINE_­­POROUS_­RE­GION and *ICFD_­­CON­TROL_­­GAP.

4.3.13 Implicit (Mechanical) Solver

  1. Fixed MPP implicit issue that caused some nodes not to tie for *CON­TAC­T_­AU­TO­MAT­IC_­TIEBREAK when using NSOLVR = 12 on *CON­TROL_­IM­PLIC­IT_­­SOLVER.

  2. For METHOD = 102 (LOBPCG) on *CON­TROL_­IM­PLIC­IT_­EIGEN­VAL­UE:

4.3.14 Initial Cards

  1. Fixed incorrect element offsets for *INI­TIAL_­S­TRAIN_­SHELL and *INI­TIAL_­S­TRAIN_­T­SHELL when they are in an included file with nonzero element offsets.

  2. Fixed issue in dynain where *INI­TIAL_­{STRESS/S­TRAIN}_­SHELL did not use “+” to indicate long format.

  3. Fixed issue where *IN­CLUDE_­­TRANS­FORM did not work properly for *INI­TIAL_­STRESS_­­SEC­TION.

  4. Fixed the incorrect initialization of the additional thickness stretch degree of freedom of shells (ELFORM = 25, 26, and 27) when initialized with *INI­TIAL_­VE­LOC­I­TY.

  5. Fixed some *INI­TIAL_­S­TRAIN_­SHELL output in the dynain file (written with *IN­TER­FACE_­SPRING­BACK­_­LS­DY­NA). The parametric coordinate \(T\) of through thickness-integration points could have been wrong, mainly in the case of using *PART_­­COM­POS­ITE.

4.3.15 Isogeometric Analysis (IGA)

  1. Properly update control point coordinates prior to writing the dynain file (*IN­TER­FACE_­SPRING­BACK­_­LS­DY­NA). The local integration point coordinates were not grabbed correctly, leading to a low-quality mapping.

  2. Fixed potential mapping errors with *IN­CLUDE_­­STAMPED_­­PART from standard FE parts to IGA shell parts *I­GA_­SHELL in cases where the number of in-plane integration points and through-thickness integration points differ.

  3. Properly exclude interpolation elements for the computation of mass and inertia properties written to d3hsp and d3plot. This computation only affected the output but not the actual analysis.

  4. Fixed some bugs in the mapping of the results from the IGA solid elements (*I­GA_­­SOL­ID) to the related interpolation elements that may have led to strange post-processing results in the interpolation elements.

4.3.16 Materials and Equations-of-State

  1. Fixed the following bugs that occurred for *MAT_­AD­D_­­DAM­AGE_­DIEM when in a file included with *IN­CLUDE_­­TRANS­FORM:

  2. Fixed issue for *MAT_­AD­D_­­DAM­AGE_­DIEM by not extrapolating in strain rate tables given by P1.

  3. Fixed incorrect table evaluation of LCSDG on *MAT_­AD­D_­­DAM­AGE_­GISS­MO when it is a *DE­FINE_­TABLE_­4D. The table evaluation was not working correctly for the strain rates, and the temperature was zero in a purely mechanical analysis.

  4. Fixed issue for *MAT_­AD­D_­­DAM­AGE_­GISS­MO for the unlikely event of using shells with Lode parameter dependent FADEXP < 0 (*DE­FINE_­TABLE_­3D) or LCREGD<0 (*DE­FINE_­TABLE_­3D). Shell elements do not need a Lode dependence anyway.

  5. Fixed error in the load curve input added during the input phase for *MAT_­AD­D_­­SOC_­­EX­PAN­SION. For all load curves, an offset OFFA = 1 was accidentally added during the input phase.

  6. Fixed not correctly accounting for temperature in the evaluation of the load curves for *MAT_­AD­D_­THER­MAL_­­EX­PAN­SION.

  7. Fixed combination of tetrahedron type 13 and material models with an equation of state (*EOS_­…). A wrong new volume value was used in the energy update, leading to unstable results. This issue affected *MAT_­015 (EOS mandatory), *MAT_­224 (when using EOS), and *MAT_­260 (when using EOS).

  8. Stopped erroneously converting parameter C on *MAT_­024 when *MAT_­024 with VP = 3 is in a file included with *IN­CLUDE_­­TRANS­FORM.

  9. Corrected problem with the number of history variables in user materials (*MAT_­USER_­…) with solid elements when options INTOUT/NODOUT of *DATA­BASE_­EX­TEN­T_­BI­NA­RY are set to STRAIN or ALL. It was already fixed in 2014 for explicit (subroutine urmathn), but now it is also fixed for implicit (urtanh).

  10. For *MAT_­058 (*MAT_­LAM­I­NAT­ED_­­COM­POS­ITE_­­FAB­RIC) and *MAT_­262 (*MAT_­LAM­I­NAT­ED_­FRAC­TURE_­­DAIM­LER_­­CA­MAN­HO), fixed bug in table evaluation for EA, EB, and GAB < 0 for shell elements that could have led to a wrong initial stiffness evaluation.

  11. For *MAT_­WIN­FRITH_­­CON­CRETE (*MAT_­084), fixed bug that affected the combination of RATE = 8 with DILRAT greater than zero, when cracks were undergoing sliding (shear displacement). Symptoms could include stresses being noisier than expected or crack opening displacements being tracked incorrectly in some elements.

  12. Fixed the transformation of DAMP on *MAT_­089 when *MAT_­089 is in a file included with *IN­CLUDE_­­TRANS­FORM.

  13. Fixed issue with *MAT_­098 solids initialized by dynain (*INI­TIAL_­STRESS_­­SOL­ID). The initial volume was not properly scattered to all integration points.

  14. For beam and hex spot welds, fixed a wrong interpretation of the values MRR, MSS, and MTT on *MAT_­100 (*MAT_­SPOTWELD), which were cyclically shifted. This error could have affected material definitions, where \(\mathrm{MRR}\neq\mathrm{MSS}\neq\mathrm{MTT}\).

  15. Fixed issue with time averaging using NF on *MAT_­100. We reduced the number of cycles for averaging when the total number of cycles thus far is less than NF. Initial stresses or forces could have been reduced inappropriately without this fix. This fix applies to spot weld solids, solid assemblies, and spot weld beams.

  16. Align implicit behavior of *MAT_­100 solids with and without SIGY < 0.

  17. Added missing initialization of solid spot weld failure table when using solid spot welds in implicit with IACC = 1 on *CON­TROL_­AC­CU­RA­CY. Without this fix, options like *MAT_­100 with OPT = 10, *MAT_­100_­­DA with *DE­FINE_­­CON­NEC­TION_­PROP­ER­TIES, or *MAT_­240_­­FUNC­TIONS did not work correctly.

  18. Fixed bugs in the plasticity algorithm of *MAT_­106 / *MAT_­E­LAS­TIC_­VIS­COPLAS­TIC_­THER­MAL that may result in a floating error in element processing.

  19. Fixed issue with *MAT_­124 (*MAT_­­PLAS­TIC­I­TY_­­COM­PRES­SION_­TEN­SION) for solid elements when SRFLAG = 2. We increased the maximum number of iterations from 20 to 100 for the (slow) Ridders’ method. Potential nonconvergence led to error termination.

  20. Enable *MAT_­126 to be used with *MAT_­AD­D_­­GEN­ER­AL­IZED_­­DAM­AGE, meaning add *MAT_­126 to the list of available materials for IFLG2 = 1 (material system).

  21. For *MAT_­135, SIGMA0 < 0 (yield curve) did not work for WTM (FLG = 2), option NUMFI was not working as expected, and the failure mode on history variable #7 was missing.

  22. Fixed bug in *MAT_­­CO­HE­SIVE_­­GEN­ER­AL (*MAT_­186) that resulted in negative damage (meaning healing) when the mode-mixity changed under load reversals. This issue was most apparent for brittle and weak materials.

  23. For *MAT_­187 in a file included with *IN­CLUDE_­­TRANS­FORM, fixed the conversion of logarithmic strain rates in LCIDT.

  24. Fixed issue with *MAT_­­SOIL_­BRICK (*MAT_­192) that could cause a crash when running SMP with two or more processors.

  25. Limit SLIMXT to 0.99 on *MAT_­215 (*MAT_­4A_­MI­CROMEC). This restriction resolves the fiber stress dropping to 0.

  26. Fixed thickness computation in *MAT_­240 with THICK = 0.0 for pentahedral cohesive elements (ELFORM = 21 and 22).

  27. Allow using *MAT_­PM­L_­NULL (*MAT_­246) in a model with ALE, SALE, or SPH.

  28. Fixed a bug in the latent heat calculation for the 3D version of *MAT_­254. Special handling for axisymmetric solids was missing, which could result in segmentation violations.

  29. Fixed stability issue in *MAT_­273 / *MAT_­CDPM causing a segmentation fault in some cases for MPP single precision.

  30. Fixed bug in using large curve IDs (> 16.7 million) in *MAT_­S15 (*MAT_­SPRING_­­MUS­CLE). The bug led to an error reporting the load curve as undefined.

4.3.17 Output

  1. Fixed a bug for *DATA­BASE_­CUR­VOUT for thermal-structural coupling analysis that caused the database to be wrong.

  2. Fixed incorrect mass reporting for cohesive shells type 46 and 47 in d3hsp.

  3. Labels Principal/Max Stress Range on *DE­FINE_­­MA­TE­RI­AL_­HIS­TO­RY did not work with dynamic relaxation.

  4. Fixed issue with *DATA­BASE_­P­W­P_­FLOW when using automatic time factoring (see *CON­TROL_­­PORE_­FLU­ID with TARG, FMIN, FMAX). The fluid flow rate tended to rise or drop suddenly every 100 time steps during the period when the time factor was changing. This bug could also have affected the displacement time histories of nodes in the consolidating material, again with a pattern that repeated every 100 time steps.

  5. Correct spcforc calculation for nodes with *ELE­MEN­T_­­MASS_­­MA­TRIX.

4.3.18 Restarts

  1. Fixed (full) restart issue for MPP where elements were not deleted when using *DELETE_­ELE­MEN­T_­­SOL­ID.

4.3.19 Sensors

  1. Fixed a bug for *SEN­SOR_­DE­FINE_­­FORCE when TYPE = JOINT. The sensed results could depend on the joint definition sequence.

  2. Fixed a bug for *SEN­SOR_­DE­FINE_­­FORCE when TYPE = PRESC-MOT. The sensed force was not correct.

  3. Fixed a bug for TYPE = BELTPRET on *SEN­SOR_­­CON­TROL that caused the pretensioner to not turn off correctly for pretensioner types 4 through 8.

4.3.20 SPH

  1. Fixed bugs in the code that removes inactive SPH particles during redecompositions when REMSPH > 0 in *CON­TROL_­MP­P_­DE­COM­PO­SI­TION_­RE­DE­COM­PO­SI­TION. Some issues would cause the program to crash, while others would cause SPH injections to terminate prematurely.

  2. Fixed memory issues that could cause SPH simulations to crash when any of the following keywords were used: *DE­FINE_­SPH_­MESH_­OBJ, *DE­FINE_­ADAP­TIVE_­­SOLID_­­TO_­SPH, *RIGID­WALL, or *CON­TAC­T_­AU­TO­MAT­IC_­N­ODES_­­TO_­­SUR­FACE.

  3. Fixed bug that caused issues when running a simple restart of SPH simulations with MEMSPH < 0 in *CON­TROL_­SPH. The bug led to different issues depending on the feature used, including crashes or error terminations.

4.3.21 Thermal Solver

  1. Fixed higher order (27 node hexahedrons) elements in the thermal solver. Without the fix, simulations often resulted in segmentation violation or error termination.

4.3.22 User-Defined Features

  1. Fixed (simple) restarts for sharelib usermat when using *MOD­ULE_­LOAD or the command line option module=. It was not working.

  2. Fixed issue for sharelib usermat where *MOD­ULE_­USE could not be used for thermal materials.

  3. Fixed format issue with *USER_­IN­TER­FACE_­FRIC­TION when long=s.

4.3.23 Miscellaneous

  1. Fixed bug in interpreting part sets. This bug was only triggered if the input deck had part sets that contained composite materials. In this situation, if MPP decomposition referenced any part sets, the decomposition might not be what was expected. In some cases (even if the decomposition did not reference any part set), the program crashed during input processing. If no part sets were used in the decomposition, and the program did not crash during startup, the rest of the calculation was fine. There were no adverse effects on the actual simulation.

  2. When OFFA > 0 on *DE­FINE_­CURVE, the old discretization code assumed that the first abscissa value on the input curve was 0.0, and inserted two extra curve values at \((0,0)\) and \((\mathrm{OFFA}\times 0.999,0)\). However, this assumption caused a reversal in the resulting curve if the first abscissa value on the curve was < 0. If the first abscissa value on the curve was > 0, \(\mathrm{OFFA}\times 0.999\) might be quite a bit less than the shifted curve location. The revised behavior is not to insert these two points at all if the original starting abscissa is < -OFFA, and otherwise to insert the two points at \((0,0)\) and \((\text{starting abscissa}+0.999\times\mathrm{OFFA},0)\).

  3. For *COSIM_­FMI_­IN­TER­FACE:

  4. Fixed a bug that occurred when using *IN­CLUDE_­­TRANS­FORM together with *N­ODE_­­TRANS­FORM for a node set defined by BOX or VOL. The model was not transformed correctly.

  5. Made fixes for keyword format signs +, -, and %. Mixing those different format signs did not work in every case. See the section “GENERAL CARD FORMAT” for a description.

  6. Fixed bug with *DE­FINE_­TABLE_­2D in a *IN­CLUDE file. One symptom of the bug was incorrect output in dyna.inc.

  7. Avoid error termination when *DE­FINE_­­CON­NEC­TION_­PROP­ER­TIES is used with (D)SIGY < 0.

  8. Fixed issue with *DE­FINE_­­MUL­TI­_­SHEET_­­CON­NEC­TORS. Different parts/materials for joining elements JNTxx did not work.