R16.0.0 Release Notes

March 10, 2025

1 Release notes revision

This file constitutes revision 0 of the release notes for Ansys LS-DYNA® version R16.0.0.

2 License

The string “REVISION 16” must appear in the license file to run version R16.0.0. Please contact your distributor or your Ansys sales representative if you need to have your license updated.

3 Documentation

Until such time the R16.0 User’s Manual is posted at http­s://ls­dy­na.an­sys.­com/­man­u­al­s/, the DRAFT User’s Manual may be used as a temporary substitute. Note that some features mentioned in the DRAFT User’s Manual may not implemented for R16.0.0.

4 Notes

The remainder of this file briefly describes new features, enhancements, and bug fixes in version R16.0.0. 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 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.

5.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:

5.3 ALE

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

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

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

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

5.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).

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

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

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

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

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

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

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

5.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:

5.16 User-Defined Features

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

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

6 Improvements and Enhancements

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

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

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

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

6.5 Boundary Cards

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

6.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 [*CONSTRAINED_INTERPOLATION_SPOTWELD}{.kwstyle}.

  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.

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

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

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

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

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

6.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_CONTROL_COUPLING]{.kwstyle] 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.

6.13 Forming Analysis

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

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

6.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:

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

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

6.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:

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

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

6.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:

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

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

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

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

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

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

7 Bug Fixes

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

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

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

7.4 CESE Compressible Fluid Solver

  1. For the CESE chemically-reacting flow solver:

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

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

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

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

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

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

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

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

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

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

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

7.11 Forming Analysis

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

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

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

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

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

7.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_­213 (*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.

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

7.18 Restarts

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

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

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

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

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

7.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. Fixed issue with *PART_­AV­ER­AGED. A segmentation fault during initialization was possible if nodes were not numbered in a certain way. The numbering should not matter, and now it does not.

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

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

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

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