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

LS-DYNA R14.0.0 released (2023/05)

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

1. Release notes revision

This file constitutes revision 1 of the release notes for LS-DYNA version R14.0.0.


2. License

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


3. Documentation

Until such time the R14.0 User's manual is posted at https://lsdyna.ansys.com/manuals/, the DRAFT User's Manual may be used as a temporary substitute.  Note that there may be features mentioned in the DRAFT User's Manual which are not implemented for R14.0.0.


3.1 Slave and Master Removal

We have made significant changes to our documentation with regard to the replacement of "slave" and "master" for Volumes I through III.  We are continuing to work on the replacement for the theory manual.  Specifically, for contact, we clarified the language to distinguish between the geometric definition and the behavior.  The behavior becomes important for symmetric contact, where both sides act as the slave and the master.  For the geometric definition, SURFA replaces slave, and SURFB replaces master.  For the behavior, tracked replaces slave, and reference replaces master.


4. Notes

The remainder of this file provides a brief description of new features, enhancements, and bug fixes in version R14.0.0. Some of the bug fixes may have also been included in other recent releases.

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


5. New

5.1. Acoustics, NVH, and Frequency Domain

  1. Added METHOD = 211 (Variational Indirect BEM with fast matrix assembly) to *FREQUENCY_DOMAIN_ACOUSTIC_BEM.  It uses Skeletonized Interpolation to speed up matrix assembly.  It is up to 5 times faster than METHOD = 2 for large problems.

  2. Added *FREQUENCY_DOMAIN_ACOUSTIC_DIRECTIVITY to request generation of an acoustic directivity plot from the BEM acoustic computation.

  3. For *FREQUENCY_DOMAIN_ACOUSTIC_BEM added two new boundary conditions: sound absorption coefficient invoked with BEMTYP = 5 and rigid wall (can be used as a symmetry condition) invoked with BEMTYP = 6.


5.2. Adaptivity

  1. MPP in-memory adaptivity (INMEMORY = 1 on *CONTROL_ADAPTIVE) is supported for basic metal forming with ADPTYP = 2 in *CONTROL_ADAPTIVE.  It also works for *LOAD_SHELL_SET.

  2. Added *CONTROL_2D_REMESHING_REGION to specify a 2D region to remesh with ADPTYP = 8 on *CONTROL_ADAPTIVE.


5.3. Airbag Cards

  1. Added keyword option SEGMENT to *AIRBAG_PARTICLE to define portions of the airbag volume with segments.  This feature allows you to specify a closed volume with a portion of the part.

  2. Added coupling between the CPM and thermal solvers.  Added HCINT to *DEFINE_CPM_NPDATA to provide the convective heat transfer coefficient between CPM particles and the part of interest.


5.4. ALE

  1. For S-ALE, added 2D support for mesh trimming (*ALE_STRUCTURED_MESH_TRIM) and mesh deletion features.

  2. For S-ALE, store the trimmed mesh and pre-filled volume fractions in a file at the end of the run if you include either *INITIAL_VOLUME_FRACTION_GEOMETRY or *ALE_STRUCTURED_MESH_VOLUME_FILLING in the input deck.  This file can be included in subsequent runs to save the time used for mesh trimming/initial volume filling.  You can include either the ASCII (alevfrc.inc) or LSDA (salevfrc.lsda) format of the file.

  3. For *ALE_STRUCTURED_FSI, added automatic check to see if the structure segment is far away from the fluid region.  If yes, turn off FSI until a later check.  This feature saves a huge amount of time if all the structures are included in the FSI.  This feature is automatic; no user parameters need to be assigned.

  4. For *ALE_STRUCTURED_FSI, added support for 2D eroding FSI.

  5. Added *ALE_MAPPING_FROM_LAGRANGIAN to map data from Lagrangian parts to an ALE mesh.

  6. Implement point sources and gas mixtures in ALE 1D (*SECTION_ALE1D) using *SECTION_POINT_SOURCE_MIXTURE.


5.5. *BATTERY (Electrochemistry Solver)

  1. Updated the available battery models which include two multiphysics options.  Here we will call the models battery plus to differentiate them from the earlier battery implementations.  The updated models are Newman (6 equations), Thermal (10 equations, called when IMODEL = 2 and IGAS = 0 on *BATTERY_ECHEM_CONTROL_SOLVER), and Multiphysics (14 equations, called when IMODEL = 2 and IGAS = 1 on *BATTERY_ECHEM_CONTROL_SOLVER). For each model, we have updated the modified B-V kinetics at each electrode.

    For the Thermal and Multiphysics, we have aded the following sub-models:

    1. Battery aging model

    2. Thermal runaway models: SEI formation and SEI decomposition

    3. Battery swelling model

    For the Multiphysics model, we have implemented a gas generation sub-model based on Ethylene oxidation and Lithium hydration reaction mechanisms.  For this case, user input files such as thermodynamics, species, and transport data are required.

    When you couple any of the three battery plus solvers with the thermo-mechanical solver (IDIMEN = 101), the shutdown key will work if the minimum ignition energy in the battery system reaches the critical condition like pre-thermal-runaway.

  2. Added a binout-type time history output mechanism.  The new keyword card for these features are documented in Volume III of the keyword manual, and are:




    This capability includes error checking for a legal set of battery solid elements (via *SET_SOLID).  Note that :lspp:LS-PrePost does not yet support this new binout-type output capability.

  3. Added support for new *CHEMISTRY_BATTERY card that is required by the new *BATTERY solver with gas generation introduced with R14.


5.6. Constraint Cards

  1. Added friction mediated by lateral force for *CONSTRAINED_JOINT_STIFFNESS_CYLINDRICAL/TRANSLATIONAL with field RPS. FS and FD are the static and dynamic friction coefficients.


5.7. Contact

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


5.8. Discrete Element Method

  1. Added *DEFINE_DE_PATTERN_OUTPUT to output when DES cross specified planes.  This feature is for visualizing the pattern of shotgun pellets at various locations during post-processing.

  2. By default DES elements are distributed to all processors in MPP.  This causes extra communication for redecomposition.  We added *CONTROL_MPP_DECOMPOSITION_NODISTRIBUTE_DES_ELEMENTS and pfile command desnodist to enable turning off DES distribution.

  3. Added keyword *DEFINE_DE_INTERNAL_SKIP to allow for skipping the DES internal force calculation in a predefined part or part set.


5.9. Dual CESE Compressible Fluid Solver

  1. With R14, we introduce an updated, preferred way of specifying the dual CESE problem.  Please see Volume III of the keyword manual for details.  The required or recommended new keyword cards to use are:


    • *DUALCESE_SOLVER_SELECTION With R14, we introduce an updated, preferred way of specifying the dual CESE problem.  Please see Volume III of the keyword manual for details.  The required or recommended new keyword cards to use are:

The *DUALCESE_SOLVER_SELECTION card presumes use of one of the following solver-specific cards:






With these additions, the following keywords are deprecated as of R14:





  1. FSI capabilities have been added to the hybrid multiphase solver and the two-phase multiphase solver.

  2. A new cavitation solver has been added that is similar to the *CESE cavitation solver, with the improvement that the dual CESE solver version has FSI capabilities.

  3. Added 2D-axisymmetric solvers for each type of dual CESE solver: the Euler equations, Navier-Stokes equations, hybrid multiphase, two-phase multiphase, and the cavitation solver.  This includes the immersed boundary FSI solver case and the moving mesh FSI case.

  4. Added a binout-type time history output mechanism.  The new keyword cards for these features are documented in Vol. III of the keyword manual, and are:






For the new binout point-based time history output, the new keyword *DUALCESE_POINTSET is needed.  Note that LS-PrePost does not yet support this new binout-type output capability.


5.10. EM (Electromagnetic Solver)

  1. In previous versions, source circuits (*EM_CIRCUIT_SOURCE) needed to be associated with an insulator material in *EM_MAT_001 and only a current could be prescribed.  The solver relied on the Biot-Savart integration method to retrieve the influence of the source circuit on other conductors.  In the current release and in conjunction with the monolithic solver (*EM_SOLVER_FEMBEM_MONOLITHIC), it is also possible to define a source circuit with an imposed voltage (associated to a Resistance value and a number of windings).  In those cases, the source circuit must become part of the FEM/BEM system and therefore defined as a conductor in *EM_MAT_001.  Defining source circuits by their voltage instead of their current is very useful in cases where the current is not known, in applications such as Actuators or Electric motors.

  2. Added *EM_OUTPUT_VTK to output some EM results in VTK ASCII format.

  3. Added a new LLT BEM preconditioner for the BEM system (PRECON = 4 on *EM_SOLVER_BEM).  This preconditioner can save significant calculation time in some applications of the monolithic solver.  Specifically, high gains have been observed in cases involving nonlinear B-H curves.  This preconditioner is available in both SMP and MPP.  Note that this feature was mentioned in previous release notes.  At the time it was a beta feature and under development.  It is now ready for general use.

  4. Added a new automatic coupling detection (SMCPL = 3 on *EM_CONTROL_COUPLING) for the monolithic solver (*EM_SOLVER_FEMBEM_MONOLITHIC) where surface magnetic forces are transferred to magnets and ferromagnets while the Lorentz force density are transferred to regular conductors.

  5. In the previous versions, the monolithic solver (*EM_SOLVER_FEMBEM_MONOLITHIC) required a conductivity to be associated with all parts that were part of the FEM/BEM system.  The current version allows you to define 0.0 conductivity in parts, effectively, ignoring Eddy current effects in those regions and switching to a magnetostatic solver.  This feature is very useful in a wide range of applications such as snapping magnets, inductive heating, actuators, and other magnetostatic applications.

  6. Added EP tomek cell model defined with *EM_EP_CELLMODEL_TOMEK.

  7. Added *EM_EP_CELLMODEL_ONECELL to output the usermat cell model on just one cell (TMpot vs time).  This feature is beta and not currently documented.  If you are interested in using it, please contact the LS-DYNA EM team.


5.11. ICFD (Incompressible Fluid Solver)

  1. Added *ICFD_CONTROL_BACKFLOW to change the default formulation for backflow stabilization.  It enables you to select a new formulation that uses velocity time derivatives instead of velocity spatial derivatives.  It also allows you to change the "beta" multiplier (field SF).

  2. Added a SIMPLEC steady formulation adapted for FEM (automatically enabled by default).  The main changes include:

    • Implicit relaxation for the momentum equation.

    • Accounting for the implicit relaxation in the continuity equation.

    • Relaxation for RANS solvers.

  3. Added *ICFD_DATABASE_FORCE_DEM which computes the total force that the fluid passes to the DEM particles and outputs F_x, F_y, and F_z to icfd_force_dem.dat.

  4. Added keyword *ICFD_BOUNDARY_WEAKVEL to add a weak imposition of the non-slip boundary condition for the momentum equation.

  5. Added the option to define one-way FSI boundaries in two-way FSI problems with *ICFD_BOUNDARY_FSI_ONEWAY.

  6. Added *ICFD_DATABASE_FLUX_SURF to define an inactive fluid surface, not part of the volume mesh but which will be used to output average quantities (flux, pressure).

  7. Added *ICFD_DATABASE_WETNESS to output wetness in an ASCII file for a specific surface in free surface problems.

  8. Added MUMPS as a preconditioner for *ICFD_SOLVER_TOL_PRE.  Speed up has been observed in external aerodynamic cases.

  9. Added full support for species transport problems.  *ICFD_MODEL_SPECIES_TRANSPORT gives the type of species transport model which is referenced by *ICFD_MAT. *ICFD_BOUNDARY_PRESCRIBED_SP_TRANSP_CONC prescribes the species concentration at the boundaries.  *ICFD_DEFINE_SPTRANSPSOURCE defines the volumetric species source for the species transport solver.  *ICFD_INITAL_SPTRANSP initializes the concentration of the species in a specified volume.

  10. Added the computation and tracking of residence time (RT).  *ICFD_DEFINE_RESIDENCETIMESOURCE defines the volumetric RT source.  RT is written to icfd_pointout.dat and icfd_nodeout.dat.  It is supported for both FSI and adaptive remeshing.

  11. Added new gap closure feature.  When the distance between two surfaces is less than a threshold value, the two surfaces are regarded to be in contact, and the flow at the contact location is blocked.  The feature can be activated with *ICFD_CONTROL_GAP.  You can specify the threshold value and the part IDs of the surfaces.


5.12. Implicit (Mechanical) Solver

  1. Added new fill-reducing method that uses the ParMETIS library from University of Minnesota.  It is invoked with ORDER = 3 on *CONTROL_IMPLICIT_SOLVER.  This method is substantially faster than the default method for a large number of MPI ranks.


5.13. Initial Cards

  1. Added *INITIAL_DETONATION_GEOMETRY to provide specific geometries as detonators.


5.14. Isogeometric Analysis (IGA)

  1. Added *LOAD_FACE_XYZ to apply a uniform pressure load on a physical face or a set of physical faces.

  2. Added *LOAD_FACE_UVW to apply a uniform pressure load on a parametric face or a set of parametric faces.

  3. Replaced *IGA_INCLUDE_BEZIER with *IGA_2D_BEZIER_XYZ and *IGA_3D_BEZIER_XYZ to define bivariate and trivariate (rational) splines using Bezier extraction, respectively.

  4. For *IGA_SOLID and *IGA_SHELL allow the coordinates of the control points to be scaled by *INCLUDE_TRANSFORM.

  5. *ELEMENT_MASS_PART now works for IGA shell (*IGA_SHELL) and IGA solid (*IGA_SOLID) elements.


5.15. Materials and Equations-of-State

  1. Added material model *MAT_DMN_COMPOSITE_FRC / *MAT_303.  This is a machine learning-based multiscale material model for nonlinear analysis of injection-molded fiber-reinforced composites (FRC).  The multiscale material model can predict the macroscopic material responses (stress, equivalent plastic strain, etc.) based on the microscopic material information.  To use this material model, we need to provide the geometric descriptors for material microstructures (i.e., fiber orientation tensor, fiber volume fraction, etc.) and the material properties of each base material (i.e., fiber and matrix), respectively.  To obtain the geometrical information for the microstructures, an injection molding simulation software (e.g., Moldex3D) can be employed, and the injection molding results can be imported into LS-DYNA finite element models by using LS-PrePost, as explained in the user manual.  This 3D multiscale material model works in MPP/SMP double precision LS-DYNA for explicit analysis.  It is supported for eight node hexahedral solid elements, four node tetrahedron solid elements, and type 25 four node shell elements.

  2. Basic, implicit tangent for *MAT_215 implemented for shells and solids.  It is basic in the sense that it does not take into account every little detail in the material model that can contribute to the derivative.

  3. Added implicit continuous elasto-plastic tangent to *MAT_154.

  4. Added *MAT_305 / *MAT_HOT_PLATE_ROLLING for hot rolling of steel.

  5. Added *DEFINE_FIELD, *DEFINE_POINT_CLOUD, and FIELD option for *PART.  This set of keywords can be used to define spatially-varying fields associated with points in the physical space.  At the present time, a field can be used to define baseline orientation vectors.  This functionality is active for material models that allow for the definition of material axes via the parameter AOPT, and it is currently supported for IGA shells and solids.

  6. Added *EOS_USER_LIBRARY to compute pressures by interpolating data from a material library with a format similar to a SESAME library (seslib).  Added *CONTROL_EOS_USER_LIBRARY to provide a path to the library uses by *EOS_USER_LIBRARY and to convert scale factors.

  7. Added *MAT_207 / *MAT_SOIL_SANISAND to represent sandy soils based on Dafalias and Manzari [2004].  When used with LS-DYNA's pore pressure capabilities (*CONTROL_PORE_FLUID), pore pressure generation and liquefaction can be modelled.

  8. Added three network material model (*MAT_TNM_POLYMER / *MAT_318) for modeling isotropic polymers with thermal effects.  It works for both the implicit and explicit solvers.  It is supported for solid elements.

  9. Added material model *MAT_307 / *MAT_GENERALIZED_ADHESIVE_CURING.  This material type is for modeling the viscoelastic-viscoplastic behavior of adhesive materials during the complete manufacturing-crashworthiness process chain.  Different curing kinetics models for the adhesive are implemented.  Besides chemical and thermal expansion the current degree of cure and the current temperature influence mechanical properties such as

    • Viscoelastic properties defined by a Prony series expansion

    • Non-isotiated I1-J2 plasticity formulation

    • Empirical isotropic damage model

For each of this properties, which can freely be combined, different modeling approaches are available.  The material model is, thus, able to reproduce results from materials *MAT_277 and *MAT_252 (TAPO model).  Furthermore, features from the extended TAPO-model proposed by Kuehlmeyer and Matzenmiller (2018) are included.


5.16. Multiscale

  1. For *DEFINE_MULTISCALE and *INCLUDE_MULTISCALE, developed a new interface to combine the automatic generation/replication of solid models from beam elements in weak coupling to the strong coupling algorithm used by *INCLUDE_COSIM.  The strong coupling is invoked with CTYPE = 1 on *DEFINE_MULTISCALE.


    • Added the option to define the periodic boundary conditions in only one or two directions of the RVE model with BC = 2.

    • Added creating image RVEs in RVE analysis to resolve the contact issues for periodic BCs in the application of textile RVEs.  This feature is only supported when the mesh is matching (IMATCH = 1).  These generated image RVEs are automatically constrained by LS-DYNA to the true RVE during initialization with *CONSTRAINED_NODE_INTERPOLATION.


5.17. SPG (Smooth Particle Galerkin)

  1. Implemented *DEFINE_SPG_TO_SURFACE_COUPLING for contact between SPG particles and other solid surfaces.  It is very robust and has much less penetration than NODE_TO_SURFACE or AUTOMATIC_NODE_TO_SURFACE contact.  This keyword is only available for SMP.


5.18. SPH

  1. Added stuck particle detection criteria to *CONTROL_SPH_INCOMPRESSIBLE controlled with field ROL for ISPH simulations.  Stuck particles get a prescribed displacement from the interpolated structure motion until they are sufficiently away from the structure to be activated again.

  2. Added new surface tension and surface adhesion treatment for ISPH (see IMAT on *MAT_SPH_INCOMPRESSIBLE).

  3. Added fragmenting for particles generated with *DEFINE_SPH_MESH_BOX: Subdomains get added to the input file at each MPP redecomposition.  This feature is invoked with REMSPH = 2 on *CONTROL_MPP_DECOMPOSITION_REDECOMPOSITION.

  4. For *DEFINE_SPH_INJECTION, you can specify a rectangular or circular region for which injection points are automatically generated instead of seed points.

  5. Added Heat Transfer Coefficient calculation capability based on Dittus-Boelter correlation to ISPH simulations (see IHTC on *CONTROL_INCOMPRESSIBLE_SPH.  Instantaneous HTC values are output to the ISPH interface file (*DATABASE_BINARY_ISPHFOR).  Using the *DATABASE_ISPHHTC keyword, time-averaged values can be output in ASCII format which is readable by Ansys Mechanical or Ansys Fluent for subsequent thermal analysis.

  6. Added *INTERFACE_COMPONENT_SPH to record forces over time at structural SPH particles location during an ISPH analysis.

  7. Added *BOUNDARY_SPH_NOSLIP to specify a node, set of nodes, part, or set of parts as a no-slip boundary condition.


5.19. Miscellaneous

  1. Added *INTERFACE_LINKING_FORCES to read forces stored in an interface file, and apply them to a segment set.

  2. Added user interface for time step definition for explicit analysis.  Subroutine utimestep in dyn21.F is invoked by new entry DTUSR on *CONTROL_TIMESTEP.  This feature can be used by coupled codes to synchronize time steps.

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


6. Improvements and Enhancements

6.1. Acoustics, NVH, and Frequency Domain

  1. Performance improvements in SMP for METHOD = 2 (Variational Indirect BEM) of *FREQUENCY_DOMAIN_ACOUSTIC_BEM.  The R14 version is up to 2x faster than the R13 version for a large number of threads.

  2. Changed the default value of IBDIM (GMRES subspace size) on *FREQUENCY_DOMAIN_ACOUSTIC_BEM from 1000 to 200.

  3. Added keyword option POWER to *FREQUENCY_DOMAIN_ACOUSTIC_BEM to request computation of acoustic power for various boundary element methods (Rayleigh and Kirchhoff).

  4. Enabled RESTRT = -3 on *FREQUENCY_DOMAIN_ACOUSTIC_BEM (read in user-provided velocity spectrum as boundary condition) for collocation BEM (METHOD = 3).

  5. Added sense switches to dual BEM based on Burton Miller formulation (METHOD = 4 on *FREQUENCY_DOMAIN_ACOUSTIC_BEM) so that the loop on frequency can be interrupted.  Restart from d3dump is supported.

  6. Added boundary element size check against the wavelength of the highest calculated frequency for *FREQUENCY_DOMAIN_ACOUSTIC_BEM.  A warning message is issued if the maximum element size is larger than 1/8 of the wavelength.

  7. For *FREQUENCY_DOMAIN_RESPONSE_SPECTRUM, updated combining response spectrum analysis and static analysis results, added more output from the combination like a+b, a-b and |a|+|b|.


    • Added parameter PREF to define reference pressure for converting acoustic wave loads to OASPL (Overall Sound Pressure Level).

    • Added grms (root mean square) computation for base acceleration load.

    • Added OASPL (Overall Sound Pressure Level) computation for random pressure and plane wave load.


    • Added base motion to the total response, for direct SSD, for VAD = 2, 3, 4, 9, 10, and 11 when absolute response is requested (RELATV = 0).

    • Added base excitation to the total response for VAD = 2, 3, 4, 9, 10, and 11 for the case of local damping (DMPFLG = 1) when absolute response is requested (RELATV = 0).

  10. Added parameter MCF to *CONTROL_FREQUENCY_DOMAIN to define the output of an mcf file (MCF-dyna), which saves modal coordinates, needed by nCode Designlife to perform fatigue analysis.

  11. For *FREQUENCY_DOMAIN_SSD_DIRECT_FREQUENCY_DEPENDENT, added nodout_ssd and elout_ssd output for SSD direct with frequency dependent material properties.

  12. Extended *FREQUENCY_DOMAIN_SSD_DIRECT to support torque (VAD = 8) and base rotational motion (VAD = 9 - 11) for direct SSD.


    • Added option (ERPRLF < 0) to define ERP (Equivalent Radiated Power) radiation loss factor to be frequency dependent.

    • Enabled output of d3erp database even if d3ssd is not requested. In the past, to get d3erp from ERP, d3ssd had to be computed first which wasted CPU time.

  14. For *FREQUENCY_DOMAIN_ACOUSTIC_FRINGE_PLOT, added keyword option CUBE to generate a 3D cubic acoustic mesh for writing the d3acp database for acoustic pressure and SPL visualization (SMP only).

  15. Added two new FFT window options to *FREQUENCY_DOMAIN_ACOUSTIC_BEM:

    • FFTWIN = 6: Triangular window

    • FFTWIN = 7: Kaiser window


6.2. Adaptivity

  1. Added monotonic resizing for 3D r-adaptive remeshing of FEM solid elements. This applies to ADPOPT = 2 on *PART and ADPTYP = 7 on *CONTROL_ADAPTIVE.  See MM = 1 on *CONTROL_REMESHING to control this feature.

  2. Added automatic switch-off of in-memory adaptivity (INMEMRY = 1 on *CONTROL_ADAPTIVE) during lancing.  This prevents the program from running into an error termination due to the lack of in-memory adaptivity support for lancing.

  3. Added automatic bypass of option ICRQ = 1 in *CONTROL_SHELL when using *CONTROL_ADAPTIVE with the in-memory option on.  This bypass prevents the program from running into an error termination due to the lack of in-memory adaptivity support for the ICRQ = 1 option.

  4. Added an error termination if *CONTACT is used with SOFT = 2 and in-core adaptivity is made active *CONTROL_ADAPTIVE.


6.3. Airbag Cards

  1. Added PMIS to *CONTROL_CPM to choose the logic for returning particles that leak from a particle-to-surface contact due to numerical errors.  By default, the particle is returned to the gas inflator orifice node.  If the bag is modeled with a multiple chamber definition, the default scheme may put the particle into a different chamber and, thus, unintentionally change the chamber pressure.  If PMIS equals 1, this particle will be returned to the closest fabric segment.

  2. Added LPATM to *DEFINE_CPM_VENT to provide a load curve for the ambient pressure of the external vent.  This only applies when the airbag is in CPM mode.

  3. Added flag IBLKOFF to *DEFINE_CPM_VENT to be able to turn off blockage treatment for each vent.

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

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

    • The contact force from a force transducer is excluded to avoid a false signal.

  5. Added PSETPV < 0 to apply the ambient pressure to elements in the internal airbag parts that interact with the push-out vent that are within a certain distance of the vent.  Previously the ambient pressure only applied to these elements if they were at least a certain distance away.

  6. Added outputting gauge pressure to the CPMFOR interface force file (*DATABASE_BINARY_CPMFOR).

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

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

  9. Added AMAX to *SENSOR_SWITCH_SHELL_TO_VENT to give a maximum allowable area for the failed vent surface area.

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

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



6.4. ALE

  1. For S-ALE, added support for it to work with *SET_NODE_INTERSECT, *SET_SEGMENT_INTERSECT, and *SET_SOLID_INTERSECT.

  2. For S-ALE, added 2D support for progressive mesh options (ICASE = 1 or 2 in *ALE_STRUCTURED_MESH_CONTROL_POINTS).

  3. For ALE / S-ALE with *BOUNDARY_NON_REFLECTING_2D, corrected a logic flaw that was causing it to not work for a closed loop or for several pieces of discontinuous lines.

  4. Support 2D S-ALE for the new implementation of *CONTROL_EXPLOSIVE_SHADOW introduced in R13.0.

  5. For S-ALE, added support for *ALE_ESSENTIAL_BOUNDARY.

  6. For S-ALE, improved the initial volume filling algorithm to handle pieces of structure joined together but not sharing nodes.

  7. For S-ALE, reimplemented 3D to 3D mapping (*INITIAL_ALE_MAPPING) for memory reduction and faster run.

  8. For S-ALE with multi-materials in which one of the materials is vacuum, improved the algorithm for vacuum with the thermal solver.  The old algorithm was unstable for cases with vacuum as one of the materials.

  9. For *ALE_ESSENTIAL_BOUNDARY, added check to make sure there are no duplicate segments and that the segments are pointing in the same direction.

  10. *ALE_STRUCTURED_FSI works for structures that have parts with composite shell elements (*ELEMENT_SHELL_COMPOSITE).

  11. For *ALE_STRUCTURED_MESH_TRIM and *ALE_STRUCTURED_MESH_VOLUME_FILLING enhanced the algorithm to more accurately trim/volume fill geometries defined with PARTSET and SEGSET.

  12. For *ALE_STRUCTURED_FSI improved leakage control.

  13. For S-ALE, improved the algorithms for advection and FSI to stabilize the run if vacuum present.

  14. Implemented *ALE_FSI_PROJECTION in 2D for MPP.

  15. Added INTERP = 1 to *ALE_MESH_INTERFACE to apply a volume average method when mapping ALE data to tetrahedral Lagrangian elements for initializing the tetrahedral mesh for a Lagrangian run (*INITIAL_LAG_MAPPING).

  16. Composite shells (*ELEMENT_SHELL_COMPOSITE can be coupled to ALE meshes using CTYPE = 4, 5, or 6 on *CONSTRAINED_LAGRANGE_IN_SOLID.

  17. Added EBC = -2 to *CONTROL_ALE to generate *ALE_ESSENTIAL_BOUNDARY for each boundary mesh face if it is free from other segment boundary conditions (like *BOUNDARY_NON_REFLECTING, *LOAD_BLAST_SET_SEGMENT, *BOUNDARY_SPC_SET, or *LOAD_SEGMENT_SET).


6.5. Blast

  1. Redistribute HE and air particles every 200 cycles for the particle blast method to obtain consistent results while varying the core counts.

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


6.6. Boundary Cards

  1. For MPP, synchronize constraints imposed during dynamic relaxation for nodes involved in non-reflecting boundary segments (*BOUNDARY_NON_REFLECTING).

  2. Enabled 20-node hexahedron elements for *BOUNDARY_NON_REFLECTING.

  3. Sped up LS-DYNA when using multiple *BOUNDARY_PRESCRIBED_MOTION on the same node with DOF = 4 or 8 and with *DAMPING_GLOBAL.

  4. For *ALE_ESSENTIAL_BOUNDARY and *BOUNDARY_NON_REFLECTING added check to ensure that segment normals point inwards.


    • Including no data cards (no Card 1) causes the application of non-reflecting boundary conditions to all ALE 2D boundary edges.  This feature applies only to ALE models.

    • NSID < 0 allows you to provide a *SET_SEGMENT instead of a *SET_NODE to specify the non-reflecting boundary edges of a 2D mesh


    • Added optional activation of boundary condition by *SENSOR_CONTROL, overriding the birth and death times on *BOUNDARY_PWP.

    • Added new optional input fields LCLEAK and CLEAK. When these are defined, instead of the prescribed pore pressure being applied to the node(s) in question, the boundary condition represents outflow through an orifice.  See User Manual for further details.

    • Added new optional input field LCPUMP which prescribes a volumetric flow rate boundary condition instead of a pore pressure boundary condition.

  7. *BOUNDARY_PRESCRIBED_MOTION_FINAL_GEOMETRY is supported for implicit analysis.


6.7. Constraint Cards

  1. For *CONSTRAINED_BEAM_IN_SOLID, implemented a general bond-slip relationship for rebar concrete (CDIR = 1, AXFOR = 999).

  2. Added support for _SET option in *CONSTRAINED_RIGID_BODIES.


    • Improved algorithm so that you can apply *DEFORMABLE_TO_RIGID_AUTOMATIC when the overriding nodal rigid body constraint is turned off.

    • Added error message that appears when you try to use *DEFORMABLE_TO_RIGID_AUTOMATIC to rigidize an originally flexible part which was already constrained by an overriding nodal rigid body constraint.

    • Added optional card for this keyword to automatically turn off contact, control volume airbag calculations, and/or prescribed boundary conditions when the overriding nodal rigid body constraint is on, and turn them back on when the related overriding nodal rigid body constraint is off.

  4. A proper check on the cylindrical joint definition is introduced, resulting in an error if incorrectly defined.  See *CONSTRAINED_JOINT_CYLINDRICAL.

  5. Added two optional fields to *CONSTRAINED_INTERPOLATION_SPOTWELD (SPR3): Scale factors SCARN/SCARS for tensile and shear strength.  They not only scale RN and RS, but also the displacements in LCF, LCUPF, and LCUPR.  The purpose of these scale factors is a scaled force-displacement curve in both directions.

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


6.8. Contact

  1. Change to initialization of MPP groupable for constraint-based tied contacts to match the behavior of the non-groupable variety.  Previously, if a reference segment contained rigid nodes, the segment was skipped during the global search.  This could result in some tracked nodes being tied to other segments that were further away.  This was changed so that the nearest segment is kept, and if it contains rigid nodes, then the tracked node is not constrained at all. This behavior matches what the non-groupable contact does.  It works much better when the IPBACK flag is in use, allowing the penalty contact to tie the tracked node to the nearest segment, rather than having the constraint contact tie it to a segment further away.

  2. Changed "node not tied" warning message for tied contacts with MPP groupable.  We switched from MSG_MPP+130 (which is output at most once) to the otherwise identical MSG_MPP+136 (which is output for each node that fails to tie).

  3. Changed surfa/surfb node thickness calculation for MPP groupable tied contact to ignore the SHLTHK parameter on *CONTROL_CONTACT.  This makes the tying criteria more consistent with non-groupable MPP tied contact.

  4. Modify SMP contact thickness scaling routine so that SURFB nodes that have nonzero thickness will not get their thickness set to 0.0.  This has long been the case for SURFA nodes.

  5. Adjust rotational mass additions for contacts that include BEAM_OFFSET in MPP when the nodes involved have material *MAT_RIGID_DISCRETE.  This stabilizes the contact behavior.

  6. Added THKCHG = 2 on *CONTROL_CONTACT for computing the contact thickness change.  It is for MPP only and uses a different algorithm than THKCHG = 1.  This method is more consistent with the way the initial contact thickness is computed.

  7. For tied contact in MPP, output two different lists of nodes that are not tied split based on the reason that the nodes are not tied.  One list includes nodes that are not tied due to distance while the other is nodes not being tied due to rigid bodies being used with constrained tied contact.  Previously only one list with all the nodes not being tied was output.  We also added this feature in MPP for tied contacts that did not output the list of not tied nodes at all along with the contact ID.

  8. Improved MPP groupable contact handling of *CONTACT_AUTOMATIC_..._TIEBREAK contacts with OPTION = 4 on Card 4 when the tied nodes slide off the edge of the constraining surface.

  9. Improved the initialization speed of the rigid wall force output using sets (*RIGIDWALL_FORCE_TRANDUCER).

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

  11. Added a flag IREVSPT to *CONTROL_CONTACT to revert spot weld thinning behavior where beam and brick spot-welds share nodes with shell parts instead of being tied to the shells.  In R9.3.1 and before, thinning was not done.  IF IRVESPT is set to 1, the behavior reverts to R9.3.1.  If set to 0 or if not defined, thinning at shared nodes will be done as it has been in all versions after R9.3.1.

  12. Modified the initial penetration report of segment-to-segment (SOFT = 2) contact to make it more accurate and also to include a report of the total contact offsets for the pair, and the ratio of penetration depth to the offset.

  13. Added a new segment-to-segment (SOFT = 2) contact option that is enabled by setting DEPTH = 55 on optional card A of *CONTACT.  This contact check includes edge-to-edge checking and has advantages over DEPTH = 25 and DEPTH = 35.  It is more robust in edge-to-edge checking, meaning that penetration is less likely.

  14. The tied surface to surface contact is now supported in the dynain.lsda treatment (FTYPE = 3 and CFLAG = 1 on *INTERFACE_SPRINGBACK_LSDYNA).

  15. CFLAG = 1 on *INTERFACE_SPRINGBACK_LSDYNA is now supported for 2D mortar contact.

  16. 2D mortar contact is now supported in MPP.

  17. Orthotropic friction for mortar contact now supports curves/tables for the friction coefficients, so that they can be defined based on contact pressure and sliding velocity.

  18. Look ahead adaptivity (ADPENE > 0 on *CONTROL_ADAPTIVE) is now supported for automatic mortar contact, meaning that a blank mesh is refined as tools with high curvature approach.

  19. Tied mortar contact is now supported for a full deck restart and for redecomposition.

  20. Introduced parameter TIME for mortar weld contact as an additional criterion for welding. The weld condition must be fulfilled for at least TIME time units before segment pairs are welded.  This can be used to prevent "premature" welding that would lead to nonphysical behavior.


6.9. Control Cards

  1. Added RCVLR2D to *CONTROL_RIGID to recover the lead rigid body of constrained rigid bodies, which was changed due to *DEFORMABLE_TO_RIGID_AUTOMATIC.

  2. Added IP1DBLT = 2 on *CONTROL_OUTPUT for 2D seatbelts for more consistent MPP results.

  3. Added option DT2MSLC < 0 on *CONTROL_TIMESTEP to allow added mass to decrease with time.

  4. For *CONTROL_PORE_FLUID (pore pressure analysis):

    • The following output capabilities have been extended to the elout file (see *DATABASE_ELOUT).  In versions up to R13, these were available only in the d3plot and d3thdt files.

      • Output stresses can be switched between Total (including pore pressure) and Effective (excluding pore pressure) using the field OUTPUT on *CONTROL_PORE_FLUID.

      • Additional pore pressure-related data is written as "extra history variables" for the elements.  In the case of elout, this is done only if OPTION1 > 0 on *DATABASE_ELOUT.  Furthermore, the capability to replace nodal accelerations in the d3plot and d3thdt files with pore pressure related nodal data (see *DATABASE_PWP_OUTPUT) has been extended to the nodout file.

    • Output to message files compute time for pore pressure calculations, and minor speed-up of pore pressure calculations on MPP for some cases.

    • Orthotropic permeability enabled (see *MAT_ADD_PERMEABILITY).  Permeability can be different in the global X, Y and Z directions.


    • For HISNOUT = 3, print file d3labels.xml, which maps history variables to names.

    • Added support for several materials and all EOS to HISNOUT > 0.

    • Added writing of composite ply info to hisname.xml.

  6. The option IACC = 2 on *CONTROL_ACCURACY is introduced for explicit analysis, for making implicit and explicit more compatible when switching between the two.  For instance, it invokes strongly objective tied contact algorithms, even for explicit analysis.

  7. The drilling energy DRLENG and dissipated numerical energies DISENG in implicit are now activated separately on *CONTROL_ENERGY.  These used to be collected in hourglass and eroded energies before.


6.10. Discrete Element Method

  1. Support *CONTROL_MPP_DECOMPOSITION_REDECOMPOSITION with DEM for better efficiency in particle mixing applications.

  2. Added RSF < 0.0 on *DEFINE_DE_MESH_SURFACE to determine the DES radius based on the maximum diagonal length or side length of the segment depending on the segment's geometry (quadrilateral or triangular) and the number of DES element created on a shell element.

  3. Added MASS = -1 to *DEFINE_DE_MESH_BEAM to generate the discrete element sphere's properties automatically based on the parent beam.

  4. Added DFLAG to *DEFINE_DE_FLOW_DRAG to consider the influence of neighboring particles on the drag treatment of a discrete element sphere.

  5. Minor improvement for DES bond injection for better consistency while changing core counts.

  6. Added option of having a random distribution of DES bond properties for *DEFINE_DE_BOND_OVERRIDE.

  7. Added the new capability of automatically deactivating particles after hitting a surface (IDEACT = 1) with *DEFINE_DE_TO_SURFACE_COUPLING to ensure exactly one interaction between a DES particle and the structure.

  8. Added irandom option under *DEFINE_DE_INJECTION to avoid the strip injection pattern.

  9. Added DEMDEN = 2 to *CONTROL_OUTPUT to avoid the low-density distribution near DES domain boundary.

  10. Added new option for creating the geometry for high explosive particles generation under *DEFINE_PBLAST_GEOMETRY. With this option, you provide the starting and ending points of the explosive.


6.11. Dual CESE Compressible Fluid Solver

  1. Added a user-specified boundary flow direction for prescribed boundary conditions and non-reflecting boundary conditions.

  2. Added more checks concerning what d3plot variables are available with a given dual CESE multiphase solver.

  3. The Mach Number is now output to d3plot.

  4. For the immersed boundary method (IBM) FSI solvers, zeroed out d3plot variables that lie inside structural volume elements.

  5. Added code to find missing boundary conditions as well as an illegal user input mesh.


6.12. Elements

  1. Added field RINRT to *CONTROL_SOLID to compute rotational inertia for the nodes of solid elements.  This feature is to ensure consistent results if constraints are applied which assume rotational degrees-of-freedom, as with contact type *CONTACT_TIED_SHELL_EDGE_TO_SURFACE.  Without this option, an average of the existing rotational inertia from the shell and beam elements in the model is distributed to the nodes of the solid elements.  The older method is sufficient in most situations but might lead to inconsistencies between different model assemblies in the case of rotational motion.

  2. Allow nonsymmetric constitutive matrix for 10-noded tetrahedral elements (ELFORM = 16 on *SECTION_SOLID).

  3. Allow nonsymmetric constitutive matrix for one point tetrahedral elements (ELFORM = 10 on *SECTION_SOLID).

  4. Zero-out internal energy of 2D seat belts inside the retractor. Such energy, even very minimal, could be annoying and confusing.

  5. Allow the edge node set of a 2D seat belt (EDGSET of *SECTION_SHELL) to have up to 60 nodes.

  6. Enhancement to inertia handling using *ELEMENT_INERTIA for nodes of deformable parts.  Nodes of deformable parts have only a single inertia value, so we cannot assign them the full inertia tensor that can be input with this keyword.  Prior to this change, if any off diagonal terms were defined or the diagonal terms were not equal to each other, we quietly replaced the existing nodal inertia with the maximum of the diagonal terms if that inertia is at least 1000 times greater than the existing inertia.  However, if the existing inertia was zero, the inertia was replaced only if the inertia term was greater than 997.7.  With this update, we changed this treatment and added a warning message.  If the full tensor is input, we warn the user that the maximum diagonal term will be added.  We also always add the inertia regardless of the magnitude.  With this change, nodes with will have equal or greater inertia than they had previously.

  7. Enabled parallel consistency for solid element forms 60, 61, and 62.  See CONST on *CONTROL_PARALLEL.

  8. Enabled the ORIENTATION keyword option of *ELEMENT_BEAM to work with beam form 9 (spot welds).

  9. Automatically switch to default shell element formulations when shell formulations 25 - 27 are used with IDOF = 3 on *SECTION_SHELL (25 to 2, 26 to 16, and 27 to 4).

  10. To reduce truncation error, change Gauss/Lobatto integration order when computing force and tangent in shell element formulation 16 when using the implicit solver.

  11. Tetrahedron type 17 is now supported for OSU = 1 and IACC = 1 on *CONTROL_ACCURACY.

  12. Solid element formulation -18 now supports nonsymmetric constituitive tangents from material models.

  13. Solid element formulations -18 and 62 are now supported for the SOLSIG treatment (extrapolation of stresses to the nodes).  See *CONTROL_OUTPUT.

  14. Suppressing/limiting warnings with MSGMAX on *CONTROL_OUTPUT for warning messages that occur when switching from ELFORM 19 to 21 for pentahedron elements with ESORT = 1 on *CONTROL_SOLID.  Previously these messages were not affected by MSGMAX.


6.13. EM (Electromagnetic Solver)

  1. Simple and small restart now fully supported for Resistive heating solver, Batmac solver, Electrophysiology solver, Eddy current solver and Inductive heating solver.

  2. Added support for the BEM preconditioner to the 2D axisymmetric solver *EM_2DAXI which should accelerate the 2D axisymmetric solver.

  3. The current for each circuit source (*EM_CIRCUIT_SOURCE) is now output to its corresponding ASCII file.

  4. In version R13.0, source terms were recalculated at every EM time step for *EM_CIRCUIT_SOURCE.  This frequency was justified by the low cost of this calculation.  However, in order to further save calculation time, especially in cases with non-moving conductors and coils, we added field IFREQST so that you can control how frequently the source terms are recomputed.

  5. Source circuits (*EM_CIRCUIT_SOURCE) are now supported with conductive shells (*EM_MAT_004) in the Eddy current and the inductive heating solvers.

  6. Added TSTYPE = 4 on *EM_CONTROL_TIMESTEP to force the EM time step to be equal to the thermal time step for problems with EM-thermal coupling.

  7. For *EM_DATABASE_POINTOUT, the search for host elements for each point has been significantly accelerated.

  8. For *EM_EOS_TABULATED2, added X, Y, Z to the arguments for the LCID if it is a *DEFINE_FUNCTION.

  9. The external field value (*EM_EXTERNAL_FIELD) has now been added to the pointout output (*EM_DATABASE_POINTOUT) when calculating the magnetic flux in the air.


    • Added capability to define magnet with a global vector orientation.

    • Added capability to define several magnets along a circle by defining an angle, normal vector and direction.  This can simplify the input deck definition in some applications like magnetic gears.

  11. EM contact is now supported for the BatMac solver (*EM_RANDLES_BATMAC) for the capture of external shorts.

  12. In previous versions for *EM_RANDLES_SOLID, once SOC = 0.0 was reached, the battery could no longer be recharged.  In the current version, the SOC can evolve again once and if 0.0 has been reached.

  13. Conducting shells (*EM_MAT_004) are now supported for the monolithic solver (*EM_SOLVER_FEMBEM_MONOLITHIC).

  14. Added the motion of the purkinje network (*EM_EP_PURKINJE_NETWORK) following the ventricle (if we are using EP+mechanics with motion of the ventricle).

  15. For *EM_EP_FIBER_INITIAL, added removing a node from one side if it is in both sets of dirichlet constraints (for complex geometries, these node sets can be difficult to build).

  16. The computation of ECGs (*EM_EP_ECG) is now much faster.

  17. For *EM_DATABASE_NODOUT, databases nodout and nodout_EP can have different frequencies depending on the ID of the card.  Also, there now is one em_database_nodout_EP_xxx per *EM_DATABASE_NODOUT card which was not the case before.


6.14. Fatigue Cards

  1. For *FATIGUE, added outputting expected fatigue cycle (number of repeats) to d3ftg for transient fatigue.

  2. For *FATIGUE_D3PLOT, added element fail flag in d3ftg to model the element failure due to fatigue or due to erosion material models.

  3. For *FREQUENCY_DOMAIN_SSD_FATIGUE, updated algorithm to speed up computation by avoiding rainflow counting when stress components are used in fatigue analysis.


6.15. ICFD (Incompressible Fluid Solver)

  1. Simple and small restart now fully supported for the ICFD solver.

  2. Support added for *COMMENT in front of the *ICFD keywords.

  3. Enhancements in the heat equation solve.  Internal stabilization terms have been adjusted to achieve better unit independent results and better consistency between user defined mesh cases and automatically generated mesh cases.

  4. For FSI, added support for *CONTROL_IMPLICIT_AUTO.

  5. Added support for a *DEFINE_CURVE for the velocity when running steady state.  The load curve becomes a velocity as a function of the number of iterations.

  6. In *ICFD_CONTROL_EMBEDSHELL added field TPS to seal the triple points/lines.  If active (=1) the leak control is turned on.  Eventually we will leave it on by default.

  7. Changed the refinement strategy for adaptive mesh refinement.  The new sizing is more consistent with the location of the largest errors.  It also prevents a possible refinement/coarsening/refinement effect that could happen when the error suddenly decreases and then the estimators try to correct it.

  8. Added field SFBL (2nd data card, second column) to *ICFD_CONTROL_MESH to scale the inflation speed for the boundary layer.  It is useful when the boundary layer is very thick in comparison with the surface element size.

  9. Added field SFF to *ICFD_CONTROL_DEM_COUPLING to scale the fluid force transferred by the particle to the fluid.

  10. Added new DEM coupling formulation based on the pressure gradient force instead of velocity drag.  It is enabled with FORM = 1 in *ICFD_CONTROL_DEM_COUPLING.

  11. Added the density to the DEM velocity for cases of free surface with buoyancy effects.

  12. Added support for implicit mechanics using DEM coupling and ICFD.

  13. Updated the Morrison law for DEM particles' force with the law from Cheng 2009.

  14. Added field LSMTH to *ICFD_CONTROL_LEVELSET.  It is a scalar. If > 0.0, it adds smoothness to the free-surface.  Small values like 0.1 look reasonable, but it could be problem dependent.

  15. Added support for using *DEFINE_FUNCTION for the load curves in *ICFD_CONTROL_IMPOSED_MOVE.

  16. Added option to output fluid mesh in LS-PrePost format at each remeshing with LSPPOUT = 1 in *ICFD_CONTROL_OUTPUT.

  17. Pointout results (*ICFD_DATABASE_POINTOUT) are now output even after the Navier Stokes equation solve has been frozen.

  18. Added an option for *ICFD_DATABASE_SSOUT to output fluid loads on surface as a function of time in a way that avoids high memory costs.

  19. Allowing one *ICFD_PART and one *ICFD_PART_VOL only to be present in free surface cases that use *ICFD_INITIAL_LEVELSET (previously, two *ICFD_PART definitions needed to be defined to trigger the free surface feature).

  20. Added PTOL to *ICFD_SOLVER_TOL_PRE to allow changing the default drop tolerance (default is 1.0E-3).

  21. Changed meaning of default value of VELMETH in *ICFD_CONTROL_POROUS which determines the meaning of the advection velocity. By default (VELMETH = 0), LS-DYNA uses the FEM approximation for advection velocity while setting VELMETH = 1 causes :dyna:LS-DYNA to use PFEM2 for advection velocity.  The default was the opposite in the past, but it was preventing nonlinear iterations for Non-Newtonian fluids.

  22. Support time dependent scaling of the membrane permeability with psflcid for pmmtype = 8 (parachute model) on *ICFD_CONTROL_POROUS.  It is intended for using modeling embedded shell meshes as gates/valves, controlling the blockage through porous forces.  PSFLCID can be the ID of a *DEFINE_CURVE, *DEFINE_CURVE_FUNCTION, or *DEFINE_FUNCTION.

  23. Added more wave statistics in the output of the wave generator.

  24. Added heat conduction properties of solid porous matrix materials if you want to consider its effect.  These are included with FORM, RHOCP, and KAPPA on *ICFD_MODEL_POROUS.

  25. For the general Navier-Stokes solver, added vtk output of the Local Maximum Velocity field along the transient simulation (Local_Max_Vel field in vtk).  It is useful for computing some metrics arising in healthcare/valve dynamics problems.

  26. Changed to BDF2 time integration for 'kappa' - 'epsilon' RANS turbulence models.

  27. Added Turbulent Kinetic Energy Production and Dissipation when porous media is present for models with RANS turbulence.

  28. Added interaction between RANS 'kappa' - 'omega' and porous media.


6.16. Implicit (Mechanical) Solver

  1. Upgraded MUMPS from version 5.3.5 to 5.4.0 (LSOLVR = 30 on *CONTROL_IMPLICIT_SOLVER).  It improves SMP performance substantially.

  2. Performance improvements for LOBPCG (EIGMTH = 102 on *CONTROL_IMPLICIT_EIGENVALUE).

  3. LOBPCG (EIGMTH = 102 on *CONTROL_IMPLICIT_EIGENVALUE) is now available in MPP.

  4. Enhance Implicit Mechanics to ignore nodes that are not involved in the mechanical problem.  This improves efficiency for various multi-physics applications.

  5. Enhanced the output message when no eigenvalues were computed using *CONTROL_IMPLICIT_BUCKLE or *CONTROL_IMPLICIT_EIGENVALUE.

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

  7. 100 worst aspect ratios of solid and shell elements are output to the message files for implicit analysis, as a crude indicator of potential reasons for poor implicit convergence.

  8. Warning is issued if the "support" of an eigenvector is small, meaning that there are only a few nonzero entries.  This could indicate that the mode consists of spinning beams or something similar.  It is for debugging models in implicit.  See *CONTROL_IMPLICIT_EIGENVALUE.

  9. EMSCL introduced on *CONTROL_TIMESTEP to scale gravity loads with scaled mass.  By default the gravity load is proportional to the nominal mass.  See also *LOAD_BODY.


6.17. Initial Cards

  1. Improved the initial internal energy calculation for *INITIAL_FOAM_REFERENCE_GEOMETRY.

  2. Added SET keyword option to *INITIAL_STRAIN_TSHELL to initialize a thick shell set.

  3. Added SET keyword option to *INITIAL_STRESS_TSHELL to initialize a thick shell set.

  4. Enabled *INITIAL_STRESS_SOLID to work when the data has more points than the element form has.  For example, the data has stress data for 8 stress points, but the element has only 1 or 2 integration points.

  5. Introduced KBEND = 2 on *INITIAL_AXIAL_FORCE_BEAM.  It is the analogue to IZSHEAR = 2 on *INITIAL_STRESS_SECTION.  With this option the preload can be applied to a line of beam elements without redundancy.  Furthermore, and this also applies to IZSHEAR = 2 on *INITIAL_STRESS_SECTION, the contraction of the beam (bolt) is motion controlled to avoid dynamic effects as bolt heads impact plates with high velocity.



6.18. Isogeometric Analysis (IGA)

  1. Merge the interpolation nodes on the interface of two patches sharing the same physical face for IGA solids specified with *IGA_SOLID.  Stress discontinuities were occurring on the interface without this.

  2. Significantly improved the MPP performance of *IGA_TIED_EDGE_TO_EDGE by using a smarter decomposition of the tied interface.  This change dramatically reduces the necessary data communications, leading to a better load distribution and faster runtimes.

  3. Added support for *INITIAL_VELOCITY_GENERATION of isogeometric elements defined via *IGA_SHELL and *IGA_SOLID.

  4. Added proper element type information to the reporting of failed elements in d3hsp and messag files.

  5. Use of an improved meshing algorithm for the interpolation mesh in case of trimmed isogeometric shell elements (*IGA_SHELL).  This should improve the quality of the trimmed boundary represented by the interpolation mesh.

  6. Allow isogeometric shells defined with *IGA_SHELL to be used as rigid bodies.

  7. Added a check if a parametric point *IGA_POINT_UVW (connected to a *NODE) is within the valid range of the underlying surface description.  If the location is not within a valid range, a warning message will be written and this point / node pair will be removed.

  8. Enabled the use of *MAT_ADD_EROSION for IGA solid elements (*IGA_SOLID)


  10. Added support for the use of Mortar contacts with IGA elements (*IGA_SHELL / *IGA_SOLID) in implicit and MPP.  The contact uses the interpolation elements generated for the IGA parts.

  11. Added support for the use of *CONTACT_TIED_SHELL_EDGE_TO_SURFACE_BEAM_OFFSET and *CONTACT_TIED_SHELL_EDGE_TO_SURFACE_OFFSET with IGA elements (*IGA_SHELL / *IGA_SOLID) in implicit and MPP. The contact uses the interpolation elements.

  12. Added a penalty stiffness estimate for *IGA_TIED_EDGE_TO_EDGE.  A similar approach used for segment-based (SOFT = 2) contact is used to determine a suitable penalty stiffness based on the utilized time step size.

  13. Added a new time step estimate for isogeometric elements that can be activated by setting IGADO = 1 in *CONTROL_TIMESTEP.  This should usually lead to a larger (less conservative) critical time step.

  14. Enabled *CONTACT_TIED_SURFACE_TO_SURFACE_OFFSET to be used with isogeometric elements (*IGA_SHELL or *IGA_SOLID) for MPP with the implicit solver.  Previously it only worked for IGA elements in SMP with the implicit solver.

  15. Added keywords *INITIAL_STRESS_IGA_SHELL and *INITIAL_STRAIN_IGA_SHELL.  These keywords enable initializing stresses, strains, history variables and shell thickness for isogeometric shells.  In a multistage analysis, these keywords can be written to the dynain file by requesting it in *INTERFACE_SPRINGBACK_LSDYNA.


6.19. Load Cards

  1. For *LOAD_BEAM, added DAL = 4, 5 and 6 to apply the load parallel to the global X-, Y-, and Z-axes, respectively.

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

  3. *LOAD_BLAST_ENHANCED and *LOAD_ERODING_PART_SET can now work together by setting the blast ID, BID, in *LOAD_BLAST_ENHANCED to be a negative integer that is less than -2 and using the same negative BID for LCID in *LOAD_ERODING_PART_SET.  This allows the pressure from the blast to be used by *LOAD_ERODING_PART_SET.

  4. Support applying pressure load with *LOAD_MASK or *LOAD_SEGMENT / *LOAD_SHELL on shells with thickness stretch (shell element formulation 25-27 or IDOF = 3 on *SECTION_SHELL).

  5. Added NEGPHAS = 10 and 11 to *LOAD_BLAST_ENHANCED for positive durations in better agreement with CONWEP.  NEGPHS = 11 is to be used in practice while NEGPHAS = 10 is only for illustrative purposes.

  6. Support *LOAD_SEISMIC_SSI_DECONV for unstructured meshes or for meshes with small element height.


6.20. Materials and Equations-of-State

  1. Assigned the material number 319 for *MAT_IFPD.

  2. Added a consistent elasto-plastic implicit tangent to *MAT_033.

  3. For *MAT_187L:

    • Added output of iteration count as history variable #3 for implicit.

    • Added warning if value of curve LCID-C is less than that of LCID-T.

  4. Added rejection of iterate to implicit closest point stress return method in *MAT_133.

  5. Added extended Cockcroft-Latham criterion to *MAT_107.

  6. Added temperature dependence and strain rate effects to implicit closest point stress return method for *MAT_133.


    • Enhancement to error message SOL+1362.  If no bound for the plastic multiplier increment is found, the element ID associated with the integration point is added to the error message.

    • Improved memory allocation.

  8. Added optional unloading stiffness along s and t directions for *MAT_119 with IUNLD = 2.

  9. Added support for *INCLUDE_TRANSFORM with *MAT_ADD_PZELECTRIC.

  10. Added optional plasticity tolerance parameter TOL in *MAT_106 due to low default accuracy for shell elements.

  11. Enabled *DEFINE_ELEMENT_EROSION_TSHELL to work with thick shell forms 3, 5, and 7 that use material type 54 with DFAILT and DFAILC.

  12. Added field DOSPOT to *MAT_GENERAL_SPRING_DISCRETE_BEAM / *MAT_196 which activates spot weld thinning when discrete beams that use the material are tied to shell elements.  This behavior was turned on by default, but now this parameter must be used to activate it.

  13. Enabled orientation data to be written to the dynain file for beam elements with ORIENTATION data. This data is written if the beam has rotated.

  14. Implemented STOCHASTIC keyword option for *MAT_ELASTIC_PLASTIC_HYDRO / *MAT_010 for 2D analysis using shell formulation 13.

  15. *MAT_215 is available for analysis with IGA shells and IGA solids.

  16. The functionalities of keywords *DEFINE_HAZ_PROPERTIES and *DEFINE_HAZ_TAILOR_WELDED_BLANK are now available for analysis with IGA shells defined via *IGA and *ELEMENT_SHELL_NURBS_PATCH.

  17. Improved the evaluation of the scaling factors in Heat Affected Zones (HAZ) in MPP (see *DEFINE_HAZ_PROPERTIES).  Compared to previous releases, small differences may be observed in the distribution of HAZ scaling factors in simulations performed with MPP executables.

  18. Fixed stability issue affecting *MAT_169 with ELFORM = 2.  Occasionally a stability issue could occur whereby the stress in the bond tension direction could get into an oscillating pattern with the different integration points out of phase with each other.  The issue is caused by the smearing of volumetric strain across the eight integration points, and the fix is to turn off the smearing.  Because this will change results in existing models and the stability issue rarely occurs, the fix is only applied when you set the new input field ELF2NS on Card 6.

  19. For *MAT_079,

    • Increased the maximum number of points in the load curve LCSS from 10 to 20.

    • Added input field TPINIT to control the time at which PINIT activates.  PINIT enables material stiffness and strength to be set according to the stress state.  Previously, PINIT activated on the first time step.  It was typically used with *INITIAL_STRESS setting the desired stress state.  Now with TPINIT, the stress state can be set by ramping up gravity and other loads (allowing the soil material properties to alter dynamically as the stress state changes), then at time TPINIT the properties will be frozen for the rest of the analysis.

  20. For *MAT_084, ELFORM = 10 is now permitted. Previously, the element formulation was always swapped to ELFORM = 1.  It still swaps to ELFORM = 1 for any ELFORM other than 10.

  21. For *MAT_171:

    • Added cumulative plastic strain to d3plot output (this data is written where the post-processor expects to find plastic strain for integration point 4).

    • Added optional damage and erosion, see User Manual, Card 2 Fields 4-7.

  22. For *MAT_172, improved the accuracy of implicit simulations with cracking and yielding such that results are closer to the results from explicit simulation.

  23. For *MAT_208, added new input field IAXIS for better control of the local axis system.

  24. For *MAT_209, added option SOFT1 = 5 to override the default element damage and erosion when used with the "FEMA" flags (see input fields on Cards 8, 9 and 10).

  25. Added failure (erosion) for cohesive elements when INTFAIL < 0 on *MAT_ADD_COHESIVE.

  26. For *MAT_PAPER (*MAT_274), added implicit support for shells and solids.

  27. For *MAT_COHESIVE_GASKET (*MAT_326), added field INTFAIL to control quadrature rule.

  28. Added flag ID3UPD to *MAT_157 for thin shells. For thin shells, the transverse through thickness strain update is usually performed such that it reflects the R-values, by splitting the strain tensor in an elastic and plastic part.  Customers that use this material model for short-fiber reinforced plastics (SFRP) tend to use the R-values to adjust their stress response.  By setting ID3UPD = 1, the through thickness strain update neglects the split of the strain tensor, which might be a valid choice for SFRP.

  29. For *MAT_058, allow curves/tables for EA, EB, EC, GAB, GBC, and GCA.  With this you can define a strain-rate dependent, nonlinear elastic behavior in various material directions.

  30. For *MAT_215, added orientation averaging of transverse isotropic fiber stiffness.

  31. *MAT_ADD_THERMAL_EXPANSION is now supported for 2D hyperelastic materials.

  32. We introduced a time step independent strain rate filter to *MAT_FU_CHANG_FOAM / *MAT_083 to reduce noise for large differences between the loading and unloading curves.  This filter can be enabled with 0.0 < SRAF < 0.9999 or SRAF > 1.0001.

  33. Nonlinear viscoelastic models Norton-Bailey and Bergstrom-Boyce are now available in *MAT_ADD_INELASTICITY.

  34. Added flag UNIAX to *MAT_ADD_COHESIVE.  If set to 1, the stress components not used by the cohesive element (\sigma_{xx}, \sigma_{yy}, \sigma_{xy}) are reset to 0.0 after any 3D material call.  The motivation of this implementation is to avoid the growth of transverse stresses in the 3D material under uniaxial loading in the cohesive zone, because those stresses can have a significant but not wanted influence on material behavior (such as plasticity).

  35. Change in distribution of plastic strains to the individual phases in *MAT_244 and *MAT_248.  The hard phases (2 to 5) can now only accumulate plastic strain if they are currently present in the micro-structure composition.

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

  37. The fraction of plastic work converted into heat (BETA) in *MAT_224 now supersedes, if defined, the global parameter FWORK in *CONTROL_THERMAL_SOLVER in a coupled analysis.  The computed amount of work is transferred to the thermal solver as additional volumetric heat source.

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

    • Output of fiber directions in the material coordinate system

    • Initialization of fiber directions in the material coordinate system

  39. Issue warning if *MAT_ADD_COHESIVE is used with non-cohesive elements.

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

  41. Change behavior with parameter Q4 of *MAT_ADD_DAMAGE_DIEM to make it more comparable to the "P5 approach".  The regularization factor specified with a curve or table using Q4 scales the damage evolution parameter specified with Q1.  The factor depends on element size but can also depend on either the abscissa value of the P1 criterion used or plastic strain rate.

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

  43. Enable solid element types 0 and 9 to be used with *MAT_ADD_EROSION.  These are the special corotational formulations for *MAT_126 (ELFORM = 0 and ELFORM = 9 on *SECTION_SOLID).

  44. Several extensions for *MAT_ADD_GENERALIZED_DAMAGE:

    • Added *MAT_058_SOLID to the list of available materials for IFLG2 = 1 (material system)

    • Added allowing total strain to be a damage driver with IFLG1 = 3

    • Added IFLG4 to restrict when damage increases with the increase of damage drivers which is useful for cyclic loading

  45. Added EPSR < 0 to *MAT_054 for element deletion.  If transverse shear damage reaches TSMD, the element gets eroded. |EPSR| is still the final rupture transverse shear strain.

  46. Added thermal option to *MAT_077_O (*MAT_OGDEN_RUBBER).  Invoked by N = -1, parameters MUi and ALPHAi are read as load curve IDs and thereby define these variables as functions of temperature.  The curve IDs can be zero which causes the parameters to be constant with a value of 0. N = -1 is available only for solid elements and only works with the standard viscoeleasticity formulation.

  47. Improved accuracy for *MAT_110.  Pressure was too high due to single precision issue with relative volume.  Instead of relative volume, integrated strain increments are used now.

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

  49. Added field BFLG to *MAT_224 for solid elements (3D stress update) which can change treatment of BETA < 0 when BETA refers to a 3D table.  The 3D table that BETA < 0 references is by default a function of temperature, strain rate, and plastic strain.  With BFLG = 1, this can be changed to being a function of maximum shear strain, strain rate, and element size.

  50. LCK1 on *MAT_224 can now refer to a *DEFINE_TABLE_3D which can make the yield stress a function of temperature (TABLE_3D), strain rate (TABLE), and plastic strain (CURVE).  LCKT is ignored in for this case.

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

  52. Add new failure option invoked with FDAM to *MAT_241.  An element is deleted if damage reaches the value specified with FDAM.

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

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

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

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

  57. Added rate dependence to *MAT_S06 (general nonlinear spring).  Input parameters LCDL and LCDU can now refer to table IDs making the loading and unloading response velocity dependent.


6.21. MPP

  1. Support long = s in redecomposition iterations (*CONTROL_MPP_DECOMPOSITION_REDECOMPOSITION).


6.22. Multiscale


    • Improved the numerical stability of tied contact coupling by redistributing interface nodal mass from local to global.

    • Tied contact coupling supports offset.

    • Two-scale co-simulation timing information is now collected and output upon the job termination.


6.23. Output

  1. Added consistent print logic for spcforc for implicit. spcforc was not written with the same logic as the other ASCII files, causing it to be output at different times from the other files when the same time interval was requested.

  2. Added option of DT < 0 for *DATABASE_OPTION that allows you to give output frequency in terms of number of time steps.

  3. Support l2a translation of icvout from binout to ASCII.

  4. Support l2a translation of dem_pattern from binout to ASCII.

  5. Added eroded hourglass energy to the ascii and binary matsum output.

  6. Added DTXY to *DATABASE_ALE_MAT to specify the time interval between extractions of the *.xy files from datalemat.tmp.

  7. Added DATA = 27 to *DATABASE_PROFILE to output the distribution of effective plastic strains in a given direction (global X, Y, or Z-directions).

  8. Mass by part is output to matsum files, both for conventional and selective mass scaling.

  9. Interface pressure for mortar tied contact can now be visualized using intfor file.



  12. For *DATABASE_D3MAX, extended d3max to support ALE output.  We added OUTPUT = 3 to output minimum stress and strain to d3max since ALE pressure is negative in stress vectors.


6.24. Restarts

  1. Improve MPP full deck restart handling of cases where the initial and current run have different numbers of contact interfaces.

  2. When *INITIAL_DETONATION is included in the restart input deck for a full deck restart, the lighting times are replaced with the old ignition times saved in d3full for MPP or d3dump in SMP.


6.25. Sensors

  1. Added IDISCL = 1 to *SENSOR_CONTROL to redefine the reference length of a discrete element as its length when it is turned on.

  2. Added the option of tracing local force/moment of FTYPE = JOINTSTIF in *SENSOR_DEFINE_FORCE.

  3. Added CVBAG to *SENSOR_DEFINE_MISC to monitor the volume and temperature of a control volume airbag.

  4. Output pressure and volume of incompressible control volume (*DEFINE_CONTROL_VOLUME) through *SENSOR_DEFINE_MISC with MTYPE = ICVOL.


6.26. SPG (Smooth Particle Galerkin)

  1. For momentum consistent SPG (MC-SPG) specified with ITB = 3 on *SECTION_SOLID_SPG when used with thermal-mechanical coupling:

    • Use the absolute value of the nodal shape function to smooth the temperature to solve the instability of the temperature field

    • Set the particles' temperature as the melting one if it goes beyond the melting point

  2. Add new smoothing scheme invoked with MSC = 1 on *SECTION_SOLID_SPG for MC-SPG, which makes MC-SPG more stable.

  3. Support *DAMPING_PART_MASS for MC-SPG to reduce the structure vibration.  To activate the feature, PID in *DAMPING_PART_MASS should reference the MC-SPG part or reference a part set that includes the MC-SPG part.

  4. Implemented small deck restart for MC-SPG (ITB = 3 on *SECTION_SOLID_SPG) in both SMP and MPP.

  5. Adopt FEM *INITIAL_STRESS_SOLID as initial conditions for SPG analysis.  Volume averages are used to map stress and plastic strain from FEM integration points to SPG particles.  It applies to both regular and two-stage SPG analysis.

  6. Activate SPG bond break checking for SPG parts that use *MAT_ADD_EROSION for the cases where FS = 0.0 on *SECTION_SOLID_SPG.

  7. Improved ISPG contact. Added contact detection for interior nodes.

  8. Added option DTSCL to *SECTION_FPD to define the time step size scaling factor for the ISPG iteration.

  9. Automatically use shifting algorithm on ISPG nodes to avoid mesh distortion or negative volume.

  10. For ISPG, corrected the contact force output by considering the viscosity term and surface tension of the molten solders.

  11. Added a birth time for ISPG to enable two stage analysis.  In the first stage (0 to TSTART), the thermal-structural analysis is deployed, and no rigid motion should be guaranteed in the substrate.  In the second stage (TSTART to the end time), the coupled analysis is deployed, and the total system will reach an equilibrium state.  The number of iterations for ISPG for each thermal-structural time step before TSTART is 10 to reduce the computational cost.  Also the implicit structural time step size can be changed after TSTART to help with convergence.


6.27. SPH

  1. Added check on first cycle for interference between injection definitions and structural particles in ISPH.  Print warning if injection is too close to the structure.

  2. Added automatic neighbor count output for ISPH that only includes fluid neighbors for better surface visualization in EnSight.

  3. Support negative MAXV parameter in *CONTROL_SPH to scale down the velocity vector so that the magnitude of the velocity is the maximum value instead of deactivating the particle.

  4. For ISPH, added capability to rollback a time step if divergence is detected.

  5. Improved memory usage of very large ISPH simulations.

  6. For *DEFINE_SPH_INJECTION, AREA can be left zero if the seed points (NSID) are uniformly distributed.  The area then gets computed automatically.

  7. Added support for OBJ geometries.  OBJ files can be imported with *DEFINE_SPH_MESH_OBJ.  The OBJ geometry then follows a specified rigid part.  It is then output to d3plot and optionally to the ISPHFOR database.

  8. Automatically turn on DCOMP = 5 on *DATABASE_EXTENT_BINARY when *DEFINE_SPH_MESH_OBJ is used.

  9. Support negative TSF option (see *CONTROL_THERMAL_SOLVER in thermal SPH simulations.

  10. Improved calculation of internal energy contribution from artificial viscosity in explicit SPH calculations.  The previous implementation was very dissipative.


6.28. Thermal Solver

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

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

  3. Extension of user interface usrflux.  The user flux subroutine can now calculate its local values based on the integral value of the user flux over all segments it is defined on.  If the feature is required by the particular user implementation, the user interface is called twice.  The returned values from the first call are integrated over the surface and the result is handed down to the subroutine in the second call.  Three new parameters have been introduced:

    • integflx. Set to 1 in usrflux to tell the thermal solver to integrate the flux data.

    • itotalflx. Flag from the thermal solver. A value of one indicates that the integration has been performed.

    • totalflx. The integral value.


6.29. Miscellaneous

  1. Added new command line option fluids. This command line option restricts the code to only CFD related capabilities, while allowing LS-DYNA to run using an ANSYS FlexLM CFD license.

  2. Created a new set of PGP encryption keys for LS-DYNA, marking the old ones as "Obsolete" (but of course we still support reading files encrypted with the old keys).  Two keys are implemented, a 1024 bit key and a 2048 bit key.

  3. Changed the required environment variables FlexLM requires to use *MAT_161 and *MAT_162.  Previously, the environment variables had the license version number embedded in them, meaning they were different for every version of the code.  Now these are set to ANSYS_LSMAT161 and ANSYS_LSMAT162, which should work for all future releases.

  4. Created a new keyword option NOECHO for *PARAMETER and *PARAMETER_EXPRESSION.  If NOECHO is appended, the defined parameters will not be echoed to the d3hsp file.

  5. Added warning if an *INTERFACE_LINKING interface cannot be found in the interface file from the previous run.

  6. Enable support for the new *VENDOR_LICENSE capability.

  7. Added new field MOVE to *DEFINE_REGION that if set to 1 will cause the region to follow the coordinate system origin as well as the system rotation (which it already did for moving systems).  This requires that the coordinate system chosen is of type *DEFINE_COORDINATE_NODES and that it has updating enabled.

  8. Added keyword option NOECHO to *COMMENT.  It does the same thing as *COMMENT but does not echo the lines anywhere.

  9. User subroutine usr_icvflow was added to dyn21umat.F for the incompressible control volume option in LS-DYNA to specify the pressure gradient interaction between two control volumes.  It can be called instead of a *DEFINE_CURVE_FUNCTION by *DEFINE_CONTROL_VOLUME_INTERACTION if LCID < 0.  The arguments to it and the *DEFINE_CURVE_FUNCTION were expanded to include the current time step size and a flag for the start of a new time step.

  10. Significant performance improvement and memory reduction for the Krylov Space Method (MOPT = 1) used by *CONTROLLER_PLANT.  It can now tackle very large problems.

  11. For co-simulations invoked with the *COSIM keywords added ModelStructure for all output variables in model description files.  No result difference is expected; however, some compliance check is needed for all output variables.

  12. For co-simulations invoked with the *COSIM keywords, output more details to FMU's xml description file: git-build-id, creation time and date.

  13. Allow co-simulations involving more than one FMU (see *COSIM keywords).

  14. For Linux only, allow co-simulation with FMUs of different versions, FMI Version 1.0 and FMI Version 2.0 (see *COSIM keywords).

  15. Added airbag pressure, volume and temperature for EXPORT for co-simulations (see *COSIM_FMI_INTERFACE).

  16. For co-simulations controlled with the *COSIM, made the size of the array for exchanging variables flexible to accommodate huge models.

  17. Added a mode generation option for *CONTROLLER_PLANT so that you do not have to input all the eigenmodes requested for mode truncations.

  18. Added RICKER function to *DEFINE_CURVE_FUNCTION to evaluate the Ricker wavelet function.

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

  20. Added electric charge transformation factor, FCTCHG, to *INCLUDE_TRANSFORM.  It currently can only applied to *MAT_ADD_PZELECTRIC.

  21. Added internal energy of 1D belt derived from 2D belt to the internal energy of the 2D belt it is derived from.

  22. Added printout and compatibility check of imported so-files in *MODULE_LOAD.

  23. Added *PARAMETER name check against reserved parameter names in Appendix U to prevent segmentation faults.

  24. Added isentropic Euler equations for pressure tubes invoked with MTD = 2 in *DEFINE_PRESSURE_TUBE.

  25. Added optional SNODE parameter to *DEFINE_PRESSURE_TUBE to declare starting node for the tube.


    • Added labels "Max Stress Range," "Principal Stress Range," and "Effective Tresca Stress."

    • Added option to reset minimum and maximum operators at given time(s).

    • Added option to suppress output of individual history variables.

    • Added more functions to Operator.


    • Operations, such as max over time, can be used on history variables by specifying the Operator Label.

    • Principal stress is supported.

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

  29. Addition to TRANSL2ND of *DEFINE_TRANSFORMATION: if distance a3 is zero, then the distance between nodes a1 and a2 is directly used for the translation distance.

  30. Added GENERAL keyword option for *SET_PART.  With this keyword option, you can create part sets from parts and other part sets.  You can also remove previously added parts to the set by specifying part sets and parts.

  31. For *SET_NODE_GENERAL, *SET_SOLID_GENERAL, *SET_DISCRETE_GENERAL, *SET_BEAM_GENERAL, *SET_BEAM_GENERAL, *SET_SHELL_GENERAL, *SET_TSHELL_GENERAL, added SET (SET_NODE for *SET_NODE_GENERAL), DSET (DSET_NODE for *SET_NODE_GENERAL), PART, and DPART as choices for the field OPTION.  SET and DSET allow you to add and remove the various entities with sets of those entities.  PART and DPART allow you to specify adding or removing the specified entity by specifying parts.


7. Bug Fixes

7.1. Acoustics, NVH, and Frequency Domain


    • Fixed bug in the MPP version for FRF analysis with nodal force / group force output.  This bug caused the wrong node ID in FRF results (frf_amplitude and frf_angle ASCII files).

    • Fixed bug in converting pressure to nodal force load for FRF.  The bug caused incorrect FRF results.

  2. Fixed bug in running BEM acoustics (*FREQUENCY_DOMAIN_ACOUSTIC_BEM) in MPP when pre-decomposition is used.  This bug caused error termination.

  3. Fixed bug in writing d3acs for collocation BEM (METHOD = 3 on *FREQUENCY_DOMAIN_ACOUSTIC_BEM) in MPP.  The bug caused segmentation faults at run time.

  4. Fixed bug in panel contribution analysis with Kirchhoff method (METHOD = 1) for *FREQUENCY_DOMAIN_ACOUSTIC_BEM.  The bug caused segmentation faults.


    • Fixed bug by setting initial values for revised 100-40-40 rule coefficients.  This bug caused incorrect final results.

    • Fixed bug for ABS mode combination.  This bug caused incorrect results.


    • Fixed bug in modal stress computation for beam elements with initial axial force.  This bug caused incorrect stress results in beam elements in d3psd and d3rms when initial axial force is present.

    • Fixed bug which resulted in a different file size and number of family files for d3psd and d3rms between SMP and MPP runs.  This is alright for LS-PrePost, but it can cause difficulties for some other post-processing software.  Now this problem is fixed.

    • Fixed a bug in random vibration analysis with random pressure psd.

    • Fixed a bug in converting pressure to nodal force load for random vibration analysis.  The area under pressure was not being computed correctly.


7.2. Adaptivity

  1. Fixed bug when performing shell adaptivity that occurred when the tools have solid elements defined with *ELEMENT_SOLID_T4TOT10.

  2. Fixed segmentation faults when using *CONTROL_ADAPTIVE with INMEMRY = 1.

  3. Fixed call stack overflow problems when using *CONTROL_ADAPTIVE with INMEMRY = 1.

  4. Fixed a bug associated with boundary conditions of new nodes during in-memory adaptive procedure (INMEMRY = 1 on *CONTROL_ADAPTIVE).


7.3. Airbag Cards

  1. Fixed a bug for *AIRBAG_WANG_NEFSKE when it is involved in an airbag interaction *AIRBAG_INTERACTION.  The bug might result in a segmentation fault.

  2. The 3-node reference coordinate system defined in *AIRBAG_PARTICLE need not belong to airbag elements anymore.

  3. For CKERR > 0 on *CONTROL_AIRBAG, the reported free edge node list was not correct.

  4. Fixed bug associated with *SENSOR_CPM_AIRBAG that led to a segmentation fault when more than one particle airbag is used and more than one core is used.

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

  6. For *AIRBAG_PARTICLE when using LCPC23, fixed issue with reporting unblocked area for the vent.  The unblocked area was being reported as zero.  However, the actual vent was not affected by the error.


7.4. ALE

  1. For S-ALE with a moving high explosive (*MAT_HIGH_EXPLOSIVE), a logic error would cause detonation time being kept the same after advection.

  2. Fixed several bugs for S-ALE with mesh motion that could lead to wrong results and might lead to a crash.

  3. Fixed MPP bug for S-ALE with Humanetics dummies. Before, the run might crash due to incorrect MPI_RECV size.

  4. For S-ALE with MPP, if one core did not contain S-ALE elements, the run might crash or hang before this fix.

  5. For S-ALE mesh merging, fixed issue causing neighboring meshes to not always correctly merge, leading to incorrect results.

  6. Fixed memory error for S-ALE FSI that occurred when the structure has solid elements connected to thick shell elements.

  7. For ALE/S-ALE, corrected the 2D hourglass energy calculation.


7.5. Boundary Cards

  1. Fixed bug in the MPP version associated with using *DEFORMABLE_TO_RIGID_AUTOMATIC with *BOUNDARY_PRESCRIBED_MOTION.  This bug intermittently caused segmentation faults.  The SMP version does not have this issue.

  2. Wrong implicit accelerations in d3plot due to under-integration of analytic velocity boundary condition.  This issue occurred at nodes for which *BOUNDARY_PRESCRIBED_MOTION was applied and led to a discrepancy between d3plot and nodout.  It may have caused oscillations in acceleration of nodes on the boundary.

  3. Several smaller corrections to *BOUNDARY RADIATION ENCLOSURE, including:

    • Fixed a parameter mismatch between LS-DYNA and the manual.  SMMAXI in the manual was not being read properly in the keyword reader.

    • Renamed the view factor lsda file names to reflect the enclosure they contain.  This is needed if the input contains more than one enclosure.

    • Fixed issues where the length of local segment connectivity, property and ID vectors for MPP ranks are incorrect.

    • Set time index for view factor lsda output file(s) correctly.

    • Adjust length of an lsda directory name for storing view factor vectors.  The end of the directory string includes a row number from the view factor matrix.  If this number is truncated, some vectors are stored in the same directory.

    • Change to how view factors are written to d3hsp.

    • The scaled view factor matrix is only outputted when debug message option SLMLEV is equal to or greater 3.  Also only output the scaled view factor matrix once per global iteration.

  4. Fixed a bug for *BOUNDARY_NON_REFLECTING that occurred for 10 node tetrahedral elements.  Some segments were not being associated with their related elements.

  5. Fix an MPP bug that happened when a processor is not involved in any piezoelectric boundary condition (*BOUNDARY_PZEPOT)

  6. Fixed segmentation fault when using *BOUNDARY_SLIDING_PLANE and running with hybrid and multi-threading.


7.6. Constraint Cards

  1. Fixed a bug for *CONSTRAINED_GENERALIZED_WELD_BUTT introduced in R13.0 that led to incorrect results.

  2. Fixed a bug for overriding nodal rigid body constraints (*CONSTRAINED_NODAL_RIGID_BODY_OVERRIDE) that happened when the model has discrete elements with material *MAT_097.  The bug caused incorrect results.


  4. The rack-and-pinion joint had the incorrect kinematics for implicit analysis which is now fixed.  See *CONSTRAINED_JOINT_RACK_AND_PINION.

  5. The helix angle was broken in gear joints and had no effect.  This is now corrected.  See *CONSTRAINED_JOINT_GEARS.

  6. Fixed serious bug for the case where an input deck includes both *CONSTRAINED_NODAL_RIGID_BODY and *CONSTRAINED_NODAL_RIGID_BODY_INERTIA.  Incorrect logic caused the inertia properties to be put on the wrong nodal rigid bodies.

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


7.7. Contact

  1. Fix for possible segmentation faults in MPP in models that contain both *CONTACT_AUTOMATIC_GENERAL and *CONTACT_FORCE_TRANSDUCER_PENALTY.

  2. For *CONTACT_TIEBREAK_SURFACE_TO_SURFACE_ONLY, set missing flag that caused the _ONLY keyword option to be ignored in MPP.

  3. Fixed MPP energy balance calculation for *CONTACT_TIED_SHELL_EDGE_TO_SOLID which was not computing the SURFB side energy correctly.

  4. Suppress initial penetration check for the MPP groupable implementation of *CONTACT_..._INTERFERENCE which was basically bypassing the interference part completely.

  5. Force MPP eroding contact initialization checks for eroded elements when using redecomposition if necessary.  This fixes issues that could result in deadlock.

  6. Fix for *CONTACT_RIGID_SURFACE initialization which has in some cases been using the wrong coordinates in the single precision version of the code since R10.0.

  7. Fix for MPP groupable drawbead behavior when the contact is off the edge of a thin triangle which in some cases was producing incorrect friction behavior.

  8. Fixed interface force file output when using *CONTACT_NODE_TO_SURFACE in the MPP version. Zero force and pressure was being written.

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

  10. Fixed MPP two-surface contact force transducer code when the force transducers involve parts with segment-to-segment (SOFT = 2) contact active.  Such runs could hang.

  11. Fixed the 2D table option for orthotropic friction of MPP *CONTACT when Card A is not defined or SOFT = 0 or 1 on Card A. This fix will change results with the friction table.

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

  13. Fixed segment-to-segment (SOFT = 2) contact when used with PSTIFF > 0 and selective mass scaling. Segment masses were being scaled incorrectly causing excessive stiffness.

  14. Fixed the peak pressure calculation for contact.  Tributary areas for the nodal forces were not being accounted for, so the calculated peak pressure was too high.

  15. Fixed the *CONTACT option to use SURFA = 0 with single surface contact to include all parts when *ELEMENT_SHELL_COMPOSITE is used in the model.

  16. Added sharing of data across processors so that MPP segment-to-segment (SOFT = 2) contact will not generate energy when tied contacts move nodes in cycle 1 to remove gaps.  This was addressed in 2013, but tied contact nodes that are shared by processors were still causing trouble.

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

  18. Enabled spot weld thinning (SPOTHIN on *CONTROL_CONTACT) to work when SMP *CONTACT_TIED_SHELL_EDGE_TO_SURFACE is used to tie the weld elements to the welded surfaces.

  19. Fixed inconsistency (different results with the same number of CPUs over multiple runs) when using *CONTACT_FORMING_ONE_WAY_SURFACE_TO_SURFACE_SMOOTH for hybrid running with multi-threading.

  20. Fixed inconsistency for *RIGIDWALL_PLANAR_MOVING_FORCES when running with hybrid.

  21. Fixed segmentation fault when running in hybrid with *CONTACT_DRAWBEAD and adaptivity.

  22. Fixed a bug in MPP that caused edge contact force to be twice as large as the edge contact force in SMP.  With the fix, the MPP edge contact force is consistent with the SMP edge contact force.  This fix should not affect anything other than the edge contact force.

  23. Fix a contact bug that caused the thickness of tracked side (modeled as rigid) to be zero when using *CONTACT_AUTOMATIC_NODES_TO_SURFACE.  SHLTHK = 2 in *CONTROL_CONTACT was necessary to get a correct result before which was not consistent with the manual.  After the fix, SHLTHK does not need to be set which is consistent with the manual.

  24. Fixed a bug that that has existed since 2015 for *CONTACT_SURFACE_TO_SURFACE in SMP.  LS-DYNA was performing one-way contact instead of two-way contact.  As a result, the contact force was half of what it should be.

  25. Fixed bug in initial penetration check for automatic beam to surface contact (*CONTACT_AUTOMATIC_BEAMS_TO_SURFACE) in the case of triangular segments.  The initial penetrations were not computed correctly which led to incorrect penetration reports and wrong contact forces.  For larger models mainly comprised of quadrilateral segments, the error was hardly noticeable.

  26. The tied nodes to surface constrained offset contact had an inconsistent force treatment which resulted in unstable behavior.  This is now corrected.

  27. Beam *MAT_066, *MAT_067 and *MAT_119 are now supported for mortar contact.  Previously, elements with these materials had no contact stiffness.

  28. Contact damping (VDC > 0) was broken for explicit mortar contact for quite some time.  It works again.

  29. Dynamic friction for explicit mortar contact (FS, FD and DC) resulted in unstable behavior.  This is now remedied.


7.8. Control Cards

  1. Fix for *CONTROL_ENERGY field MATEN.  The bulk energy portion was missing for solids.

  2. Avoid memory issue for *CONTROL_SPOTWELD_BEAM when weld beams are replaced by a solid element cluster.

  3. For *CONTROL_PORE_FLUID (pore pressure analysis):

    • Fix for tetrahedron elements (ELFORM = 10) with pore pressure analysis.  These did not work correctly when ATYPE = 3 or 4.

    • Fixed *DATABASE_PWP_FLOW, which produced incorrect results in R13 and some earlier versions.

    • Fixed full-deck restart.  Previously, full deck restart with pore fluid gave erroneous results.

  4. For *CONTROL_STAGED_CONSTRUCTION (staged construction analysis):

    • Fixed bug related to output to d3plot file.  A complete state should be written to the d3plot file at the end of every stage, but occasionally a state might be omitted for one or more stages.

    • Fixed bug whereby an implicit analysis with staged construction could error terminate with a message IMP+32 stating that the initial time step is zero, even though the user has set the initial time step on *CONTROL_IMPLICIT_GENERAL.  A work-around for this bug was to include a *CONTROL_TERMINATION card with nonzero termination time, even though that card is unnecessary when *CONTROL_STAGED_CONSTRUCTION is used.  In R14, even if *CONTROL_TERMINATION is omitted, no error termination occurs.

    • Fixed bug in dynain file written at end of each stage when the model contains shell elements with *MAT_FABRIC.  These are a special case and should not be included in *INITIAL_STRESS_SHELL in the dynain file.  They were already omitted for dynain files written due to *INTERFACE_SPRINGBACK_LSDYNA, but not for dynain files written due to *CONTROL_STAGED_CONSTRUCTION.

  5. When PARA = 1 on *CONTROL_PARALLEL is combined with mass scaling, the mass of the collapsed node in triangular shell elements was erroneously counted twice.

  6. For HISNOUT > 1 on *CONTROL_OUTPUT, an incorrect composite part ID was printed to hisname.xml.

  7. Moving rigid walls are now properly supported in selective mass scaling, IMSCL on *CONTROL_TIMESTEP, by incorporating the motion of the rigid wall into the set of unknown variables in the mass acceleration system.

  8. Tied shell edge to solid contact is now supported in selective mass scaling, IMSCL on *CONTROL_TIMESTEP, by incorporating the rotation degrees of freedom of SURFA into the set of unknown variables in the mass acceleration system.

  9. Inertia elements on rigid bodies are now supported for selective mass scaling, IMSCL on *CONTROL_TIMESTEP. These were inadvertently omitted in the past.

  10. A typo that broke selective mass scaling in combination with rigid walls is now corrected.

  11. Null shell rotational degrees of freedom were incorporated into tied contacts while also being constrained by implicit, leading to a nonphysical global constraint of the system.  This is now corrected. It applies to IACC = 1/2 on *CONTROL_ACCURACY only.

  12. Added some missing part set offsets on *CONTROL cards due to IDSOFF from *INCLUDE_TRANSFORM.

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


7.9. Discrete Element Method

  1. Bug fix for *DEFINE_DE_BEAM_COUPLING to obtain the correct beam thickness from beam types 2 and 3.

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

  3. Optimize *DEFINE_DE_BOND_OVERRIDE algorithm to fix the bug caused by huge numbers of override keywords (>10000).  The bug caused LS-DYNA to crash.


7.10. Dual CESE Compressible Fluid Solver

  1. Corrected an issue in a geometry calculation with the moving mesh FSI solvers.

  2. Added zeroing of an array for adjacency calculation that had been missed, and made several other bug fixes that generally improved code robustness.


7.11. Elements

  1. Fixed possible deadlock in MPP for *ELEMENT_SHELL_SOURCE_SINK.

  2. Fixed improper boundary condition input check for *ELEMENT_SHELL_SOURCE_SINK.  It only affected MPP and could lead to an error termination in certain cases.

  3. Fixed a bug that happened when the edge node set for a 2D set belt (EDGSET of *SECTION_SEATBELT) is defined using *SET_NODE_GENERAL and subject to *NODE_TRANSFORM.  The nodes were not being transformed properly.

  4. Fixed thick shell form 7 when used with *INTEGRATION_SHELL or *PART_COMPOSITE and LAMSHT = 4 or 5 on *CONTROL_SHELL.  Volume derivative terms were shifted so that each element was using values calculated for a different element.  The affect could be subtle for a regular mesh, but might cause a less accurate solution if there are skewed elements in the model.

  5. Fixed shell element composite modeling when ESORT on *CONTROL_SHELL is set to sort triangular elements into triangle forms, and the sorting changes the number of in-plane integration points or the ordering of the data.  This feature was not working.

  6. Fixed mass scaling in solid element form 62.

  7. Fixed inconsistency issue (obtaining the same results with the same number of CPUs over multiple runs) when running with hybrid and using beam type 1 (hughes-liu beam) with *CONTROL_BULK_VISCOSITY.

  8. Indexing error in shell element formulation 25/26 caused a segmentation fault.

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

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

  11. Fixed a bug that may have arisen when using *ELEMENT_T/SHELL_COMPOSITE together with *INITIAL_VELOCITY_GENERATION (STYP = 2 and ID = 0).  The requested boundary may not have been applied correctly.

  12. Fixed a bug in *DEFINE_ELEMENT_EROSION_IGA in the initialization of NUMFIP (number of layers that need to fail prior to element deletion).  The erosion behavior did not reflect the settings in the keyword card.

  13. Solid element formulation -18 did now work for ncpu < 0 (SMP and HYBRID).  This is now corrected.

  14. The d3plot file was becoming corrupted when a 4-node element formulation was specified for 8-node shell elements.  An error message is now issued when an improper element formulation is specified for 8-node shell elements.


7.12. EM (Electromagnetic Solver)

  1. For *EM_2DAXI with contact (*EM_CONTROL_CONTACT, fixed issue when BEM contact "skirt" mesh (mesh between two parts) was created.  A BEM array was incorrectly updated after contact occurred which could sometimes cause random crashes in certain cases.

  2. Fixed numbering issue that occurred when source circuits (*EM_CIRCUIT_SOURCE) were used with the 2D axisymmetric solver (*EM_2DAXI).  In previous versions, the IDs of source circuits had to start at 1.  Now you can associate any ID with your source circuits.

  3. Fixed accuracy issues in Rogo outputs (*EM_ISOPOTENTIAL_ROGO) when wedges or tets were part of the Rogo.

  4. Joule heating for conductive shells (*EM_MAT_004) was incorrectly calculated when the inductive heating solver was used.

  5. EM erosion detection (*EM_CONTROL_EROSION) was not correctly handled when conductive shells (*EM_MAT_004) were present.


    • Fixed torque output in em_permaent_magnet.dat ASCII file.

    • Fixed accuracy issue when magnets were defined by wedge elements.

  7. Erosion detection was not functioning properly when solid randles (*EM_RANDLES_SOLID) circuits were defined and crashes would occur.  The issue has now been addressed.

  8. Fixed bug in building of the purkinje network (*EM_EP_PURKINJE_NETWORK) which happened when the root point was in certain positions compared to the surface where the network is built.


7.13. Fatigue Cards

  1. Fixed bug for *FATIGUE by switching the order of adding initial fatigue damage ratio and scaling fatigue damage ratio for current load cases.  The bug caused incorrect results.

  2. Fixed bug in fatigue analysis based on elout (*FATIGUE_ELOUT).  This bug caused "Program exception - access violation" error for single precision executables.

  3. Fixed computation of effective strain for fatigue analysis with *FATIGUE_D3PLOT.  The equation used before was different from the one in LS-PrePost and caused a discrepancy.


7.14. ICFD (Incompressible Fluid Solver)

  1. Fixed some memory bugs for immersed interfaces that led to crashes.

  2. Fixed bug for *ICFD_BOUNDARY_NAVIERSLIP.  In certain cases, the Navier slip condition was not applied correctly.

  3. Improved windkessel boundary condition (*ICFD_BOUNDARY_WINDKESSEL) in FSI and non-Newtonian material cases.

  4. Fixes in contact angle calculation in free surface with surface tension problems (*ICFD_MAT).  Results should now be more accurate.

  5. For the porous media flow solver, fixed bug in the i/o reading/conversion of porous parameters of the Ergun Correlation inertial term.  Also, fixed a scale factor for PMMTYPE = 2 and 3.


7.15. Implicit (Mechanical) Solver

  1. For MCMS (EIGMTH = 101), LOBPCG (EIGMTH = 102), and Sectoral Symmetry (EIGMTH = 111) on *CONTROL_IMPLICIT_EIGENVALUE), eigout was missing information about modal participation factors.

  2. Corrected computation of energies for implicit rigid bodies in GLSTAT file.  The computed energy erroneously depended on the value of LMF on *CONTROL_RIGID.

  3. Correct implicit handling of prescribed motion constraint (*BOUNDARY_PRESCRIBED_MOTION) between two rigid bodies (VAD = 4 with node1 and node2 specified) in MPP with more than one rank.

  4. Correct use of absolute memory restriction (ABSMEM on *CONTROL_IMPLICIT_SOLVER) for implicit for the MPP eigensolver.

  5. Correct output of rotational entries of eigenvectors to the d3eigv file.  Output speed improvements we made in R12 introduced the problem.

  6. Higher order shells and discrete elements are now properly supported for linear analysis, NSOLVR = 1 on *CONTROL_IMPLICIT_SOLUTION, meaning that the response scales linearly with respect to applied boundary conditions.

  7. Time dependent effects are now suppressed when stress is requested in eigenvalue analysis; see *CONTROL_IMPLICIT_EIGENVALUE.


7.16. Initial Cards

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

  2. Fixed issue where IZSHEAR = 1 on *INITIAL_STRESS_SECTION was not rotationally invariant.

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


7.17. Isogeometric Analysis (IGA)

  1. Corrected the internal energy reported in glstat for *IGA_SOLID.

  2. Fixed bug for IGA solids specified with *IGA_SOLID that caused the interpolation elements to not follow the IGA parts.

  3. Fixed a bug for IGA shells which may have caused wrong results when using ELFORM = 3 on *SECTION_IGA_SHELL for untrimmed patches.

  4. Fixed a bug causing mismatching results when the analysis is run in SMP on multiple processors, contact involves both solid and shell IGA parts, and the consistency option is on (CONST < 0 on *CONTROL_PARALELL).

  5. Fixed numerical truncation errors in the consistent mass matrix for IGA shells and solids.


    • Fixed bug for IGA shells defined with *IGA_SHELL in calculating the section force. The bug led to incorrect results.

    • Fixed bug leading to incorrect cross force output when the cross section had more than one IGA patch. It worked correctly for only one patch.

  7. Corrected the synchronization of shared interpolation nodes in MPP.  In models with isogeometric elements specified with *IGA_SHELL, *IGA_SOLID, or *ELEMENT_SHELL_NURBS_PATCHED_TRIMMED together with tied contacts (i.e. *CONTACT_TIED_SHELL_EDGE_TO_SURFACE_BEAM_OFFSET) that use the interpolation nodes or with SPR3 (*CONSTRAINED_INTERPOLATION_SPOTWELD), synchronization problems may have arisen in MPP.  This may have led to different and wrong results, depending on the number of processors.

  8. Fixed an issue in generating parts for interpolation elements in case we have both structured (*IGA_VOLUME_XYZ) NURBS and unstructured (*IGA_3D_BEZIER_XYZ) Bezier patches in the model.

  9. Fixed bug in mapping of energy values for IGA shells (*IGA_SHELL) to related interpolation shell parts for post-processing.

  10. Corrected the output of the smallest time step for IGA solid elements (*IGA_SOLID) to messag and d3hsp files.

  11. Fixed an issue in the automatic generation of part and sections for related interpolation parts in case the same SECID is used for different element types.

  12. For IGA shell elements (*IGA_SHELL) corrected the mass output to messag and d3hsp files by removing the mass of the additionally generated interpolation elements.

  13. Fixed a bug in *IGA_TIED_EDGE_TO_EDGE in the case of multiple connections (T-joint) in MPP.  If more than two edges are topologically connected, the resulting contact pairs may not have been properly distributed among the processors in use, leading to wrong tying behavior.

  14. Fixed a bug in element erosion for isogeometric shells (*IGA_SHELL) and its related interpolation elements.  In larger decks this may have resulted in unexpected error terminations.


7.18. Load Cards

  1. Fixed issue where gravity load from *LOAD_BODY acted on the total of the structural mass and the mass-scaling mass when MS1ST = 1 on *CONTROL_TIMESTEP.

  2. Fixed issue causing the simulation to hang when using *LOAD_BLAST_ENHANCED with *LOAD_ERODING_PART_SET and running with multiple cpus for MPP.

  3. Since R6.0 *LOAD_BLAST with *LOAD_SEGMENT_SET was not working.  This is now fixed.

  4. *LOAD_ERODING_PART_SET was not working correctly and could result in spurious results.  This is now fixed.

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

  6. In the single precision version, erroneous warnings and errors occurred for load curves used for *LOAD_SEISMIC_SSI_DECONV.  The errors indicated that the load curves had unequal time steps (equal time steps are required) when they did not.

  7. Resolve parallel inconsistency when using *LOAD_SEISMIC_SSI in SMP or hybrid.  It was giving different results for different values of ncpu < 0.


7.19. Materials and Equations-of-State

  1. Synchronize initialization changes for shared nodes that are part of a discrete rigid body (*MAT_RIGID_DISCRETE) on another processor in MPP.

  2. Removed very old diagnostic write statements that could have potentially corrupted the deforce file in any model using *MAT_WOOD / *MAT_143.

  3. Fixed a bug in *MAT_135 which prevented the computation of eigenvalues.

  4. Fixed bug of two missing coefficients in constitutive matrix in *MAT_054.  The change in the results is minor, so it should not be noticeable.

  5. For *MAT_213 / *MAT_COMPOSITE_TABULATED_PLASTICITY_DAMAGE, changed computation of equivalent damage parameter to be based on total stress rather than using equivalent/visco stress.


    • Acknowledge default settings for parameter PMACC. The value was being set to zero instead of 1000.

    • Added missing history variables. The history variables were not being stored for each integration point.

    • Resolved issue with inconsistent results for test cases using viscosity.

    • Avoid issue in single precision noise accumulation. The noise accumulation was leading to wrong results.

    • Fixed issue in the preprocessing step (curve modifications) seen in single precision versions. Temperatures were wrongly assigned for the stress-strain curves.

    • Avoid floating point invalid error when using the Puck failure criterion with shells.

    • Avoid floating point invalid error that could occur in the table evaluation.

  7. Fixed the code for St. Venant-Wantzel leakage (*MAT_034) to match the materials manual description.

  8. Fixed a bug for *MAT_ADD_PORE_AIR that happened for 4-node tetrahedron elements. The bug led to incorrect results.

  9. Fixed a bug for *MAT_ADD_PZELECTRIC that happened when a tied contact ties two elements with one being piezoelectric, while the other one is not.  The bug led to incorrect results.

  10. Fixed a bug for piezoelectric material (*MAT_ADD_PZELECTRIC) that happened in the eigenvalue calculation.  The bug resulted in a segmentation fault.

  11. Fixed a bug for 20 node hexahedral elements that happened when piezoelectric material is added.  The bug led to incorrect results.

  12. Fixed a bug for *MAT_077 with shell elements that could result in segmental fault.

  13. Fixed a bug for *MAT_121 that occurred when no LCIDT is input. The bug caused LS-DYNA to crash.

  14. Fixed a bug for seat belts that happened when *MAT_SEATBELT has loading or unloading curves defined through a table and the related strain rates are exponentially increasing.  The job was not running.

  15. For *MAT_034, the strain restoration factor (TSRFAC) can be given as a time dependent load curve for both positive and negative ID. When it was used with *SENSOR_CPM_AIRBAG, only a negative curve ID worked.  It works for both cases now.

  16. Fixed implicit convergence problem for *MAT_157_IHIS.

  17. Fixed issue in *MAT_030 where plasticity occurred in the austenite phase for beam elements.

  18. Fixed implicit convergence in *MAT_120 where even small static deformations showed convergence issues.

  19. Fixed issue where material output in d3hsp displayed section title instead of material title.

  20. Fixed issue in *MAT_255 where shell element through-thickness temperatures were missing.

  21. Fixed issue where strain energy was missing in user materials for discrete beams.

  22. Fixed hourglass type 6 and 7 when used with material *MAT_224.  The material stiffness values were wrong, causing bad hourglass stiffness and NaN forces.

  23. Fixed consistency problem (obtaining the same results with the same number of CPUs over multiple runs) when running hybrid for *MAT_157.

  24. Fixed consistency problem (obtaining the same results with the same number of CPUs over multiple runs) when running hybrid for *MAT_124 using optional bulk modulus for the viscoelastic material.

  25. Fixed *MAT_NONLOCAL consistency problem (obtaining the same results with the same number of CPUs over multiple runs) when running in hybrid.

  26. Fixed inconsistency (obtaining the same results with the same number of CPUs over multiple runs) for *MAT_181 / *MAT_SIMPLIFIED_RUBBER when using VISCO = 1.0 and VFLAG = 0.0 when running with hybrid.

  27. Fixed inconsistency (obtaining the same results with the same number of CPUs over multiple runs) for beam elements when using *MAT_ADD_THERMAL_EXPANSION and running in hybrid.

  28. Fixed uninitialized variable for *MAT_072R3 that cause inconsistencies (obtaining the same results for the same number of CPUs over multiple runs) for hybrid.

  29. Fixed a bug causing an incorrect initial load for *MAT_169 discrete elements with single precision.  Initially, the elements are stress-free, so the initial load should be zero. However, the initial load was not zero which was caused by single precision numerical error.  With the fix, the initial load is zero now.

  30. For *MAT_079, the shear stresses were incorrectly rotated during rigid body rotation.  Note that OSU on *CONTROL_ACCURACY needs to be set in order for correct results to be obtained if rotations are large (that applies to any material type).  Prior to fixing the bug, even if OSU was set, shear stresses could "leak out" during large rigid body rotation.

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

  32. For *MAT_208, correction to axial force calculation for case SHRFLG = 0 and combination of shearing and axial displacement.

  33. For *MAT_TRANSVERSELY_ANISOTROPIC_ELASTIC_PLASTIC / *MAT_037, fixed error in plastic strain update (for shells with thickness stretch) that led to incorrect results.

  34. For *MAT_HYPERELASTIC_RUBBER (*MAT_077_H), an unnecessary plane-stress iteration at time zero caused nonzero initial stresses.

  35. For *MAT_BARLAT_YLD2004 (*MAT_199), *INCLUDE_TRANSFORM temperature scaling of the curve was not active.

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

  37. Fixed wrong erosion behavior for the case *DEFINE_ELEMENT_EROSION was used together with *MAT_ADD_DAMAGE_DIEM.

  38. For *MAT_215 fixed a bug for solids / tshells in case UPF < 0 is used.  The table evaluation was not correct.

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

  40. Numerical issue related to using a large range of beta values in *MAT_GENERAL_VISCOELASTIC / *MAT_076 (in particular small beta) is now corrected.

  41. Fix for _TITLE option of *MAT_ADD_DAMAGE_DIEM / GISSMO: special characters, such as <, led to error termination.

  42. Fix for large curve IDs for SIGVM < 0 and MXEPS < 0 on *MAT_ADD_EROSION.  This did not work for values larger than math:2^24:.

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

  44. Fixes for *MAT_054:

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

    • Solid elements did not compute the internal energy correctly when the SLIM limits were used.

  45. Prevent initial plastic strain from being overwritten for *MAT_110.  It was falsely replaced by volumetric strain due to *INITIAL_STRESS_SOLID.  Same issue proactively corrected for related materials *MAT_111, *MAT_210, and *MAT_241.

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

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

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

  49. Bug fix for combination of *MAT_251 and *MAT_ADD_DAMAGE_GISSMO with history options.  If a history variable is provided via HISVN = 6 (material 251) and HISVN = -6 (GISSMO) and an initial value is specified on *INITIAL_STRESS_SHELL/SOLID, the history value of *MAT_251 was overwritten by zero.  It is now kept.


7.20. MPP

  1. Fixed MPP coordinate system (*DEFINE_COORDINATE_NODES) updating bug introduced in R13.0.

  2. Fix for MPP startup issue that was introduced in R13.0.  It would cause startup failure when running on multiple hosts and using a GLOBAL directory (pfile option directory { global <dirname> }) that was the same as the current working directory.

  3. Fixed bug for 2 pass predecomposition jobs.  The generated FEM elements were stored in the temp file but not the decomposition file.  Thus, all information was lost if using a 2 pass run.


7.21. Multiscale


    • Fixed MPP consistency issue.  Using a different number of CPUs for local models now leads to the same results.

    • Fixed MPP communication error when either the local or global job error terminates.


7.22. Output

  1. Update to MPP handling of the disbout data in the LSDA output file binout which was not properly accounting for elements that have failed.  This resulted in incorrect data being output for disbout once the first element being output failed.  SMP did not have this problem.

  2. Fixes for data output for simulations with in-core adaptivity (*CONTROL_ADAPTIVE):

    • Fixed issue with intfor file rotation (the new sets opf files created after each adaptive step).  The issue could cause an incorrect interface count in the file header for intfora which caused all the remaining files to be read incorrectly.

    • Fixed intfor data output issue that led to the element data being in the wrong locations.

    • Fixed issue with d3plot file rotation.  The issue could cause incorrect material types in the file header.

    • Fixed d3plot data output issue that produced bad d3plot files if any of the elements in the model eroded.

  3. Fixed bug that caused shell data to be skipped in the d3thdt output routines.  It resulted in corrupted d3thdt files.

  4. Fix d3plot output for models with ICFD and SPH but no other mechanical elements.  The file was completely corrupted in this case.

  5. Fixed a bug for nodal stress recovery (*DATABASE_RECOVER_NODE) that happened when a model has both solid and shell parts to be recovered or when a model contains degenerate shell elements.  The bug led to incorrect results.

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

  7. Fixed bug for *DATABASE_HISTORY_SEATBELT which caused belt results to not be written for the specified seat belt elements.

  8. Fixed a bug in IP1DBLT = 0 that mistakenly turned off the output of regular 1D belts in sbtout.

  9. Fixed issue in *DATABASE_SECFORC where the SECFORC force was too large for MPP with more than one cpu.

  10. Fixed issue that caused zero energy in matsum for parts with *ELEMENT_TSHELL_COMPOSITE.

  11. Fixed the cross section force output of solid element forms 18 and -18.  The solution was fine but the reporting of section forces was wrong.

  12. Fixed solid element output to correctly output data for all 8 integration points when NINTSLD = 8 on *DATABASE_EXTENT_BINARY.  It was outputting the first integration point 8 times.

  13. Fixed the output of solid element form 62 to output in the global system for all databases including files written and read for stress initialization.

  14. Fixed stress and strain output to d3plot for solid element form 15 (pentahedron element) when NINTSLD = 8 on *DATABASE_EXTENT_BINARY.  This does not change results.

  15. Fixed the reported mass to \d3plot when tetrahedral element forms 10 and 13 erode.  The eroded mass was not being subtracted.

  16. Enabled *DEFINE_MATERIAL_HISTORIES to be used with Rayleigh damping.  The history data and damping variables were conflicting causing early failure of elements.

  17. Fixed the strain output to eloutdet for shell element forms 13 and 14.  The Jaumann update was rotating the strain only half way so that elements with significant rotation would report wrong strain.  Also, the *INITIAL_STRAIN_SHELL that is generated by *INTERFACE_SPRINGBACK_LSDYNA had the same wrong values.

  18. For *DATABASE_BINARY_D3THDT, fix for d3thdt file for the case where elements referenced in *DATABASE_HISTORY_... are eroded. Before this fix, the d3thdt file became incorrect for times after erosion of the elements.

  19. For *DATABASE_ELOUT, fixed bug for *ELEMENT_TSHELL output to elout/ binout with OPTION3 > 0 (history variables) whereby ELFORMs 2, 3, and 7 should output data for all integration points, but the output only contained the first of the four in-plane integration points.


    • *ELEMENT_BEAM was missing optional _THICKNESS and _OFFSET options.  These are now written to the dynain file if they were present in the initial input file.  In R13 and previous versions, if the original input file used *ELEMENT_BEAM_THICKNESS to override the data on *SECTION_BEAM with different data, then the output dynain file did not include that information, potentially causing wrong results from any analysis for which the dynain file formed part of the input.

    • Fixed bug on MPP whereby if more than about 50000 beams are present on a single MPP processor, only the first 50000 are written correctly to the dynain file.  The remainder were written with all-zero ID, PID, and topology.

  21. In case of failed elements when using *DATABASE_SSTAT, there might have been issues, leading to unexpected terminations.

  22. Output of contact energy to the intfor database for single surface mortar contact was being clobbered.  It is now fixed.  See NENG on *DATABASE_EXTENT_INTFOR.

  23. Fixed error in temperature output for d3part that occurred for thermal analyses.

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

  25. Fixed bug in *DATABASE_HISTORY_NODE_SET if i10 format is used (i10 = yes on the command line).

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


7.23. Restarts

  1. Fixed reading of full deck restart in MPP which was broken for inputs having *CONTACT_AUTOMATIC_GENERAL.  This has been broken since January of 2019.

  2. Fixes for *DATABASE_BINARY_INTFOR and full deck restart:

    • SMP was opening the new file with the wrong "max file size" during restart, causing problems reading the data in some cases.

    • MPP was opening the new file without the "ab" family extension, and overwriting the files from the initial run.


7.24. Sensors

  1. Fixed a bug for *SENSOR_DEFINE_FORCE when TYPE=X-SECTION, that happened when *DATABASE_SECFORC is not defined.  The bug led to a crash.

  2. Fixed a bug for MPP contact that might happen if a contact is initially turned off by *SENSOR_CONTROL.  The bug was causing the job to crash.

  3. Fixed an MPP bug for TYPE = CNRB of *SENSOR_CONTROL that happened when the rigid body to be controlled is not owned by all cores.

  4. Fixed an MPP bug for FTYPE = SPC of *SENSOR_DEFINE_FORCE.  The results were incorrect when more than 1 core was used.

  5. Fixed a bug for *SENSOR_CONTROL that occurred when TYPE = ELESET and ESTYPE = DISC.  The sensor failed to delete discrete elements as requested.

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


7.25. SPH

  1. Fix for when both *DEFINE_BOX_SPH with ibuff = 1 and *DEFINE_SPH_ACTIVE_REGION keywords are present.  The latter keyword was destroying the special status of particles on the edge of the box definition.

  2. Bug fix for SPH injection when end time < termination time.  Last row of particles was sometimes never activated.

  3. Fixed issue with SPH active region (*DEFINE_SPH_ACTIVE_REGION) when a coordinate system is called.  It was missing user-to-internal ID conversion.

  4. Fixed issue with explicit SPH for simulations that contain an initialization phase calling the implicit solver.  The SPH solver was never called in the following explicit analysis.

  5. Added support for multiple *DEFINE_SPH_MESH_BOX keywords.


7.26. Thermal Solver

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


7.27. Miscellaneous

  1. Fixed indexing error related to *SET_SEGMENT_GENERAL.  It could have resulted in incorrect values being applied for the DA1-DA4 parameters, or possibly a segmentation fault during input processing.

  2. Added MPP support for *TERMINATION_BODY, which was never properly implemented in MPP.

  3. Fix potential internal allocation shortage that was causing memory errors on some models with unusually large *DEFINE_FUNCTION definitions.

  4. Fixed compliance issue of FMI 1.0 in Windows (see *COSIM keywords).  It could not run in Windows.

  5. Fixed a bug for *CONTROLLER_PLANT that occurred when the whole model is piezoelectric.  The bug led to incorrect results.

  6. Fixed a bug for PIDCTL of *DEFINE_CURVE_FUNCTION that happened in thermal-only analyses and resulted in erroneous PID control forces.

  7. Fixed a bug for *DEFINE_CURVE_FUNCTION involving SENSOR or SENSORD.  The old algorithm outputs the curve value at the last time step, not the current step, to CURVOUT.  For implicit analysis, the discrepancy could be significant.

  8. Fixed a bug for BEAM of *DEFINE_CURVE_FUNCTION causing jflag to not be considered at all.

  9. Fixed a bug for the POS6N option of *DEFINE_TRANSFORMATION.  The model was not correctly transformed.


    • Fixed a bug that happened when a included file has *PART_INERTIA or *CONSTRAINED_NODAL_RIGID_BODY_INERTIA.  The bug was leading to an incorrect warning message.

    • Fixed a bug that occurred when discrete elements and the related materials or sections are not defined in a single include file.  It was leading to an error termination.

    • Fixed a few bugs that happened when piezoelectric related cards, *CONTROL_PZELECTRIC, *BOUNDARY_PZEPOT and *LOAD_PZE, are subjected to *INCLUDE_TRANSFORM.  It led to incorrect results.

  11. Fixed a bug for *NODE_TRANSFORM and *SET_NODE_GENERAL.  It occurred when BOX or VOL is used for *SET_NODE_GENERAL in a model that also includes *NODE_TRANSFORM.  The nodes were not being transformed correctly.

  12. Fixed a bug for *PART_DUPLICATE that happened when trying to transform duplicated solid elements.  The duplicated parts were not being transformed properly.

  13. In MPP cleaned up the message passing for *USER_NONLOCAL_SEARCH.  The issue was causing deadlock.

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

  15. Fixed issue where *MODULE did not work correctly for multi-material ALE when a user material (or EOS) spread to a part that was initially without any user material.

  16. Fixed issue where defining shared object file paths through *MODULE_PATH or LD_LOAD_LIBRARY_PATH did not work correctly.

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

  18. Fixed issue where users were barred from using the user material subroutines umat42, umat48v, and umat49v.

  19. Fixed issue in *DEFINE_PRESSURE_TUBE where automatic generation of type 25/26 shells did not work.

  20. Fixed memory issue leading to Error 20211 if \mathrm{CAV}i < 0 in *DEFINE_PRESSURE_TUBE.

  21. Allow BPID in *DEFINE_PRESSURE_TUBE to be any unused value instead of requiring BPID to be larger than all existing PIDs.

  22. Fixed a problem with *NODE_TRANSFORM when used with spot weld assemblies. Elements were getting distorted.

  23. Fixed segmentation fault when a large number of *DEFINE_ELEMENT_DEATH_{OPTION} keywords are used with IDGRP defined.

  24. Fixed inconsistency (obtaining the same results with the same number of CPUs over multiple runs) when running *PART_AVERAGE with hybrid.

  25. Fixed a bug in reading back input data for *RIGIDWALL_PLANAR_MOVING from the structured file in the case of long = s.  The mass and velocity were not being read back correctly.

  26. Fixed a bug for *INTERFACE_SPRINGBACK with SLDO = 1.  For some material models the output of *ELEMENT_SOLID_ORTHO was not properly activated.

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

  28. Fixed a bug in *DEFINE_CURVE_FUNCTION when more than one of the AX2, AY2, and AZ2 functions are being used for the same node.

  29. Fixed bug for *PART_MOVE if PID references the ID of a *SET_PART_LIST.

  30. Character parameters (see *PARAMETER) were not conforming to the usual convention for comma-delimited input.

  31. Fixed bug for *PARAMETER that occurred for long format.

  32. Fixed bug when using a character parameter (see *PARAMETER) in a larger string as part of an include file name.  The bug caused an extra space in the file name which led to an error termination.

  33. Check *PART type and *ELEMENT type against the formulation defined in *SECTION.

  34. SMP versions seg fault when a file with a long file name is in the working directory.  The error occurred when the length of the file name is at least 188 characters.

  35. If a velocity curve was specified for *DEFINE_GROUND_MOTION, then it was incorrectly rejected for having unequal time steps (equal time steps are required), and a new velocity curve was being generated unnecessarily.

  36. Recommended maximum time step for *DAMPING_FREQUENCY_RANGE was being omitted in message SOL+1213.


rev0: 02/16/2023

rev1: 05/22/2023