R14.2.0 Release Notes

June 5, 2025

1 Release notes revision

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

2 License

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

3 Documentation

The R14.0 User’s Manuals provide documentation for R14.2.0. To download these manuals, go to http­s://ls­dy­na.an­sys.­com/­man­u­al­s/. For features mentioned in these notes missing from the R14.0 User’s Manuals, please refer to the DRAFT User’s Manuals at http­s://ls­dy­na.an­sys.­com/­man­u­al­s/. Please note that not all features in the DRAFT User’s Manuals are available in version R14.2.0.

4 Notes

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

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

5 New

5.1 MPP

  1. Added keyword *CON­TROL_­MP­P_­IO_­NOTIEDIO to invoke using memory instead of IO for storing the tied_nodes temp files to avoid problems on distributed file systems. The equivalent pfile command is general { notiedio }.

6 Improvements and Enhancements

6.1 Acoustics, NVH, and Frequency Domain

  1. For *FRE­QUEN­CY_­­DO­MAIN_­A­COUSTIC_­BE­M_­ATV, added output of d3atv when the velocity is defined on nodes (NOEL = 1). Previously, d3atv was supported only when velocity is defined on elements (NOEL = 0).

  2. Added an mcf-only option to compute the mcf file without writing d3ssd. Setting BINARY = 0 in *DATA­BASE_­FRE­QUEN­CY_­BI­NA­RY_­D3SSD enables this option. Before this enhancement, obtaining the mcf file required also writing the d3ssd file. The mcf file is an ASCII file containing modal coefficients for SSD, prepared for nCode Designlife.

6.2 Adaptivity

  1. Added flag ADPD3P to Card 1b of *CON­TROL_­ADAP­TIVE to control output for 3D \(r\)-adaptivity.

  2. Added support for ADPOPT in *PART when INMEMORY of *CON­TROL_­ADAP­TIVE is on. A part with ADPOPT not set or set as zero will be skipped for in-core adaptivity. This behavior is consistent with out-of-core adaptivity.

6.3 Airbags

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

  2. Added keyword option TIME to *AIRBAG_­­PAR­TI­CLE to control the airbag’s start and end time. All the time-dependent curves used by this airbag are automatically shifted by the start time.

  3. Added IOUT to *AIRBAG_­REF­ER­ENCE_­­GE­OM­E­TRY and *AIRBAG_­SHEL­L_­REF­ER­ENCE_­­GE­OM­E­TRY to enable outputting the current reference node coordinates to a keyword file.

6.4 Boundary Cards

  1. Support IDOF = -4 and -8 on *BOUND­ARY_­PRE­SCRIBED_­­MO­TION for rigid bodies if |CMO| = 2 on *MAT_­020 or *CON­STRAINED_­N­ODAL_­­RIGID_­­BODY.

6.5 CESE Compressible Fluid Solver

  1. Made the chemically-reacting flow solvers faster and more robust. These improvements also make using much larger CFL numbers in the time step control possible, depending upon the quality of the CESE computational mesh. Most importantly, we replaced the internal nonlinear temperature solvers with more robust versions. These new methods correct many cases where errors such as the following were encountered:

    Error 150209 (CHEM+209)
       Chemistry EOS nonlinear temperature solver failed to converge.
       Error code = 50 Last iterate temperature = 0.96106E+03

6.6 Constraint Cards

  1. Added support for *CON­STRAINED_­N­ODE_­IN­TER­PO­LA­TION in MPP. The MPP version follows the generic definition of nodal displacement interpolation constraints, where the displacements of interpolation nodes depend on the nodes controlling the interpolation. This new development does not apply to IGA or generalized elements. Image parts in RVE analysis (see *RVE_­­ANALY­SIS_­FEM) automatically and internally use this keyword.

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

  3. Added optional force-based failure criterion (see Card 7) to *CON­STRAINED_­IN­TER­PO­LA­TION_­SPOTWELD (SPR3). The force-based criterion simplifies the transition from *MAT_­100 as an alternative to damage driven by plastic displacements. The same update applies to *MAT_­265.

  4. Made changes for using functions in SPR3 (*CON­STRAINED_­IN­TER­PO­LA­TION_­SPOTWELD with MODEL > 10):

  5. Added new search method for SPR2 and SPR3 invoked by flag SPRSRCH on *CON­TROL_­­CON­STRAINED. SPRSRCH = 1 invokes including not only the nodes inside the search radius but also all nodes from elements inside the search radius. In addition, this option invokes a different search algorithm from SPRSRCH = 0 when solid element parts are involved: nodes on the surface facing the SPR connector are detected, leading to automatically finding enough nodes.

  6. Add the TITLE keyword option to *CON­STRAINED_­IN­TER­PO­LA­TION_­SPOTWELD and *CON­STRAINED_­SPR2. This title is used as the part title of the visualization beams.

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

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

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

  10. For SPR2/SPR3, added an option to modify the nodal weights for force distribution. Adding a value of “10” to INTP triggers the new behavior. This new behavior consists of considering nodal areas and adding a facet participation factor to better consider distances between the SPR and associated nodes.

6.7 Contact

  1. Added an initialization error termination check for MPP only. Before the decomposition, contact segments are mapped to the element they come from. Any not found will cause error termination. Also, improved the error message when an element is not found to output the nodes involved, so it is easier for the user to find the segment in question.

  2. Added field IGTOL to MPP 2 on *CON­TAC­T_­…. This field applies to *CON­TAC­T_­AU­TO­MAT­IC_­S­IN­GLE_­­SUR­FACE and *CON­TAC­T_­AU­TO­MAT­IC_­­GEN­ER­AL in MPP. IGTOL is a scale factor used to help determine an “ignore” tolerance based on the segment and node thicknesses.

  3. Changed the behavior of the bit flag GRP on *CON­TROL_­MP­P_­­CON­TAC­T_­­GROUPABLE for segment-to-segment (SOFT = 2) contacts. Segment-to-segment contacts are excluded from the normal meanings of bit = 1 (on) and bit = 4 (off). Setting the 16 bit here does turn on groupable for segment-to-segment contacts, allowing for further testing.

  4. When solid, cohesive elements are connected (as SURFA) using tied contacts, setting COHTIEM = 1 on *CON­TROL_­­CON­TACT causes the inclusion of the mass of the SURFB side to the time step estimation of the cohesive elements. This feature enables using low (or zero) cohesive density and decreases the mass scaling of the cohesive elements. Currently, it is not supported for groupable contacts.

  5. Improved the accuracy of the segment-to-segment (SOFT = 2) contact intersection check to prevent false positives.

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

  7. Added STROBJ to *CON­TROL_­­CON­TACT to activate strongly objective versions of non-groupable single surface contacts. Strong objectivity incurs an extra expense but may improve results in terms of better energy balance.

  8. Added DIR_TIE on *CON­TROL_­­CON­TACT to enable a “directional tie” when a solid element is tied to its surroundings. With this option, solid nodes are preferentially tied in the direction of the outward normal to avoid a collapse of the solid elements to zero volume.

  9. Added option SHLOFF to *CON­TAC­T_­… on optional Card G to consider shell offsets for individual contacts. SHLOFF is a contact-specific version of the global option CNTCO on *CON­TROL_­SHELL.

6.8 Control Cards

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

  2. Added option OPTAPA to *CON­TROL_­­PORE_­AIR to specify how the simulation should proceed when the pore air portion of the simulation ends before the simulation ends.

  3. In selective mass scaling (IMSCL \(\ne\) 1 on *CON­TROL_­­TIMESTEP):

  4. Implemented a new algorithm for subcycling (*CON­TROL_­­SUB­CY­CLE_­…) that should provide a more robust and faster execution.

  5. Added option CRVP to *CON­TROL_­­SO­LU­TION to possibly improve curve evaluation performance in special cases (see the manual description) and perhaps additionally reduce the memory requirement of rediscretized curves.

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

6.9 Dual CESE Compressible Fluid Solver

  1. Improved the robustness of the dual CESE solvers.

6.10 Elements

  1. Added |SCOOR|=14 to *SEC­TION_­BEAM which affects the update of the local coordinate system of discrete beams to improve rotational stability.

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

  3. Slight performance increase for DRCMTH = 1 on *CON­TROL_­SHELL.

6.11 Forming Analysis

  1. Added optional check for the correct material type of the target to *IN­CLUDE_­­STAMPED_­­PART with field MTYPE. MTYPE provides the expected material type of the target part. If MTYPE does not match the material type of the target part, an error is thrown. It is useful when mapping history variables to avoid an unintended change of material type.

6.12 ICFD (Incompressible Fluid Solver)

  1. Changes in *DE­FINE_­CURVEs values during a restart are now taken into account by the ICFD solver.

6.13 Implicit (Mechanical) Solver

  1. Improved the hole-filling logic for the Lanczos Eigensolver (*CON­TROL_­IM­PLIC­IT_­EIGEN­VAL­UE) for both the SMP and MPP versions. It was too aggressive for problems computing thousands of eigenmodes. This is a backport of an important patch from DEV and R15.

  2. Improved the handling of interface linking (*IN­TER­FACE_­LINK­ING_­­FILE for 2D problems by the implicit solver by ignoring the linking between constraining and linked nodes on certain degrees of freedom if the two nodes have the same global single point constraints.

  3. Improved the robustness of the error termination of the sparse direct linear equation solver. This improvement fixes a problem noted in metal-forming applications.

  4. Provide cleaner termination and error handling for implicit cases where some of the processes do not have enough memory for a direct linear equation solution while other processes do have enough memory.

  5. Changed the output for constraint modes to d3mode to be stiffness matrix times constraint modes for use in implicit modal dynamics (see *CON­TROL_­IM­PLIC­IT_­­CON­STRAIN­T_­­MODES, *CON­TROL_­IM­PLIC­IT_­­MODAL_­­DY­NAM­ICS, and *BOUND­ARY_­PRE­SCRIBED_­­MO­TION). This change impacts modal dynamics with prescribed motion.

  6. Made MPP Lanczos (*CON­TROL_­IM­PLIC­IT_­EIGEN­VAL­UE) more efficient in the rare event that the shift is too large.

6.14 Initial Cards

  1. Allow the initialization of history variables based on nodes (*INI­TIAL_­HIS­TO­RY_­N­ODE(_­SET)) for the case that the same node is part of various definitions of node set. For instance, if a node is part of two node sets where the history variable #5 is initialized for the first node set and history variable #7 is initialized for the second, both history variables are now initialized for the node.

6.15 Load Cards

  1. Support *LOAD­_­THER­MAL_­BI­NOUT in Mortar contact.

6.16 Materials and Equations-of-State

  1. Account for additional costs of *MAT_­AD­D_­­DAM­AGE_­DIEM/GISS­MO in MPP decomposition. The cost calculation already accounted for shells and the default cost estimate but now also accounts for solids and the newcost decomposition option in the pfile.

  2. Added option LCSOFT to *MAT_­AD­D_­­DAM­AGE_­GISS­MO. This field references a load curve or table ID. A curve gives the soft reduction factor as a function of triaxiality. A table specifies the soft reduction factor as a function of triaxiality and element size. Like for SOFT, the sign of LCSOFT determines which strains are scaled by the factor.

  3. Added new option to *MAT_­AD­D_­­DAM­AGE_­GISS­MO for triaxiality-dependent regularization. Two new triaxiality values, RGTR1 and RGTR2, between 0 (shear) and 2/3 (biaxial) together with SHRF = 1 and BIAXF = 1 describe a trapezoidal tub-shaped regularization. This would already be possible with LCREGD<0, but the new approach is faster.

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

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

  6. Activated full integration of solid form 2 for *MAT_­058 (*MAT_­LAM­I­NAT­ED_­­COM­POS­ITE_­­FAB­RIC) to treat compressible behavior better.

  7. Support IRATE from *CON­TROL_­IM­PLIC­IT_­­DY­NAM­ICS in *MAT_­058, *MAT_­063 with MODEL > 0, *MAT_­187, and *MAT_­280.

  8. Improved the viscoplastic algorithm in *MAT_­063 for \(\textrm{MODEL} \ge 1\). This change affects RFILTF = 0. Brent’s method is used to avoid non-convergence.

  9. Added a new option to *MAT_­063 with MODEL = 1 or 2. LCID can now refer to a *DE­FINE_­TABLE_­3D to make the yield stress a function of strain (CURVE), strain rate (TABLE), and value of history variable #8 (TABLE_3D). History variable #8 can be set with *INI­TIAL_­STRESS_­­SOL­ID or *INI­TIAL_­HIS­TO­RY_­N­ODE. This feature can be used to model foam with spatially varying porosity/density.

  10. Added check and warning to *MAT_­187L (*MAT_­SAM­P_­­LIGHT). The shape of the uniaxial yield curves LCID-T and LCID-C can lead to problems for the plasticity algorithm due to initial softening.

  11. Added history variables 6, 7, and 8 to *MAT_­­CO­HE­SIVE_­­GEN­ER­AL (*MAT_­186) to post-process the relative displacements.

  12. Added new arguments to the functions in *MAT_­240_­­FUNC­TIONS: total and plastic separation components.

  13. Added grouping option, GRPFT, to *MAT_­280 that causes scaling down the tensile strength with FTSCL at once for several parts.

  14. For *MAT_­307 (*MAT_­­GEN­ER­AL­IZED_­AD­HE­SIVE_­CUR­ING):

6.17 MPP

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

  2. Added ability to process the contacts in MPP with an ordering based on the contact IDs instead of the input ordering. In this way, if all contacts in the model have user IDs assigned, the contact processing should occur in an order independent of the actual input order of the contacts. This means you can rearrange your include files and not get any differences in the contact processing. Note that for R14.2, this behavior is optional and disabled by default, but for R15 and later major releases, this behavior is always enabled. To enable this feature in version R14.2, either include *CON­TROL_­MP­P_­DE­COM­PO­SI­TION_­­CON­TAC­T_­­SORT in the input deck or add the line decomp { contact_sort} to the pfile.

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

6.18 Multiscale

  1. Added new command line flag nmsp for running two-scale co-simulation jobs (see *IN­CLUDE_­­MUL­TI­SCALE and *DE­FINE_­­MUL­TI­SCALE) in a very similar way to running a single LS-DYNA MPP job. The command becomes mpirun -np 96 mppdyna i=input.key nmsp=32, where nmsp specifies the number of MPI processors for the local model.

6.19 Output

  1. For shells, write the parameter NLOC from *SEC­TION_­SHELL to hisnames.xml.

  2. Added field NSKIP to *DATA­BASE_­BI­NA­RY_­RUNRS­F/D3­DUMP for MPP and hybrid to reduce the frequency of producing full deck restart files. This option saves CPU time because processor 0 must collect all the information from the processors.

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

6.20 Sensors

  1. Added the option I0 = ADDMASS for MTYPE = MATSUM to *SEN­SOR_­DE­FINE_­MISC. This option allows the material’s added mass to be traced by *SEN­SOR.

6.21 Thermal Solver

  1. Increased the number of digits when writing *LOAD­_­HEAT_­­GEN­ER­A­TION IDs to the structured LSDA file. Now, it is possible to have more than \(10^6\) cards.

6.22 User-Defined Features

  1. Added restart capabilities for dynamic/sharelib usermat using *MOD­ULE.

  2. Added PARAM1 = UCTRL and PARAM1 = UTIME for TYPE = UTIL in *MOD­ULE_­USE.

6.23 Miscellaneous

  1. Added outputting a warning when an *END statement occurs in an encrypted file.

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

  3. Added printing information about the expiration date in the encrypted vendor block with DATE.

7 Bug Fixes

7.1 Acoustics, NVH, and Frequency Domain

  1. Fixed print-out formatting in error handling associated with *BOUND­ARY_­A­COUSTIC_­­COU­PLING_­MIS­MATCH to accommodate large format numbers.

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

  3. Fixed bug in the BEM acoustics directivity plot (*FRE­QUEN­CY_­­DO­MAIN_­A­COUSTIC_­DI­REC­TIV­I­TY) in MPP. Before the fix, the output frequencies were wrong.

  4. For *FRE­QUEN­CY_­­DO­MAIN_­RE­SPON­SE_­SPEC­TRUM:

  5. For *FRE­QUEN­CY_­­DO­MAIN_­RAN­DOM_­VI­BRA­TION_­­FA­TIGUE:

7.2 Adaptivity

  1. Fixed a bug in the nodal mass calculation when INMEMORY of *CON­TROL_­ADAP­TIVE is on. This bug may lead to inconsistent results between in-core and out-of-core adaptivity, especially in deep-draw forming simulations.

  2. Fixed bugs in in-core adaptivity that result in smaller-than-user-specified element sizes when INMEMORY of *CON­TROL_­ADAP­TIVE is on.

  3. Corrected the warning message issued when IMSCL (selective mass scaling) in *CON­TROL_­­TIMESTEP and INMEMORY of *CON­TROL_­ADAP­TIVE are simultaneously on. In-core adaptivity does not support selective mass scaling.

  4. Fixed error in the INTFOR output when INMEMORY of *CON­TROL_­ADAP­TIVE is on.

7.3 ALE

  1. For *ALE_­STRUC­TURED_­F­SI:

  2. For *DATA­BASE_­ALE_­­MAT when used with S-ALE:

  3. Fixed issue causing wrong results output due to incorrectly assigned history variables when using *DE­FINE_­­MA­TE­RI­AL_­HIS­TO­RIES_­­NAMES with S-ALE.

  4. When using *DATA­BASE_­F­SI with S-ALE:

7.4 Boundary Cards

  1. Fixed incorrect transformation of BIRTH/DEATH on *BOUND­ARY_­SPC when included with *IN­CLUDE_­­TRANS­FORM. FCTTIM was not applied. Output to dyna.inc was also missing.

7.5 CESE Compressible Fluid Solver

  1. Corrected checking for initial values being provided when *CE­SE_­INI­TIAL is not provided.

  2. Fixed FSI coupling involving a structural part that uses solid element type 13 (tetrahedral) elements. Using these elements previously led to a crash.

7.6 Constraint Cards

  1. For *CON­STRAINED_­N­ODAL_­­RIGID_­­BODY_­OVER­RIDE, fixed a bug that printed erroneous kinetic energy.

  2. Bug fix for the combination of *CON­STRAINED_­N­ODE_­SET with *DAMP­ING_­­PART_­­MASS affecting MPP solutions only. The symptom was that the constraint was not obeyed for all of the nodes in the set, and warning MPP+156 was issued.

  3. Fixed the internal energy computation for *CON­STRAINED_­SPR2 to avoid nonsensical results when damage reached 1.

  4. Fixed issue when applying SPOTHIN to SPR3 (*CON­STRAINED_­IN­TER­PO­LA­TION_­SPOTWELD) in MPP. MPP synchronization was missing for the scaled contact thickness.

  5. Fixed bug for SPR3 (*CON­STRAINED_­IN­TER­PO­LA­TION_­SPOTWELD) with MODEL > 10. Function IDs were not working with *IN­CLUDE_­­TRANS­FORM, and large IDs (\(> 2^{24}\)) also failed. The same correction applies to *MAT_­265.

7.7 Contact

  1. Fixed an issue with frictional energy output for groupable surface-to-surface contacts. The issue could result in slightly incorrect energies being reported or in a segmentation fault under the following conditions:

  2. Fixed inconsistency issues in the hybrid solver caused by *CON­TAC­T_­TIED_­SHEL­L_­EDGE_­­TO_­­SUR­FACE_­OFF­SET and *CON­TAC­T_­AU­TO­MAT­IC_­S­IN­GLE_­­SUR­FACE.

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

  4. Improved handling of nodes that are on the reference side of constraint-based tied contact interfaces while also being constrained with *IN­TER­FACE_­LINK­ING_­…. For MPP non-groupable contact, this is already being handled well. But for groupable contact, all reference nodes were being removed from the LINKING interface, even if they did not have any tracked nodes tied to them. Now only those reference nodes actually having constraints due to tracked nodes being tied to them will be removed from the linking interface.

  5. Fixed error in the reporting of untied nodes in some groupable tied contacts. If a node was close to tying in a groupable tied contact, but not close enough, the warning was not being properly issued. For nodes very far from tying, the warning was still correct. This bug affects all groupable tied contacts.

  6. Fixed bug leading to nonconvergence when switching to implicit after an explicit phase including a (small) restart for input decks that include *CON­TAC­T_­TIED_­N­ODES_­­TO_­­SUR­FACE, *CON­TAC­T_­TIED_­SHEL­L_­EDGE_­­TO_­­SUR­FACE, or *CON­TAC­T_­TIED_­­SUR­FACE_­­TO_­­SUR­FACE.

  7. Fixed bug in penalty-based tied contacts that caused the optional contact stiffness to not be taken into account when the SURFB segments originated from solid facets.

  8. Fixed possible issue with the consistency behavior (i.e., obtaining the same results when running the same problem with the same number of OpenMP threads on the same processor; see CONST on *CON­TROL_­­PAR­AL­LEL) in the SMP and hybrid versions for segment-to-segment (SOFT = 2) contact.

  9. Fixed the gap output in the interface force file when segment-to-segment (SOFT= 2) contact is used. It crashed if surfaces A and B share nodes. Fixing the gap output in the MPP version makes the gap values no longer depend on the number of processors used for the run.

  10. Fixed a problem with the birth time option of MPP segment-to-segment (SOFT = 2) contact when the contact interface uses PSTIFF = 1. An error occurred when not all cores participated in the contact.

  11. Fixed the segment-to-segment contact (SOFT = 2) thick segment pair check (SNLOG on Optional Card B of *CON­TAC­T_­…) for MPP *CON­TAC­T_­EROD­ING_­S­IN­GLE_­­SUR­FACE. The thick segment check identifies segment pairs on the contact surface that are too thick and too close together such that contact between them might generate spurious energy and unrealistic deformation. The error was causing this check to be ineffective. Also, a conflict between the thick segment pair check and *CON­TAC­T_­EX­CLUDE_­IN­TER­AC­TION was resolved.

  12. Fixed bug causing the hybrid version to hang when using eroding contact.

  13. Fixed SMP problem with *CON­TAC­T_­AU­TO­MAT­IC_­…_­TIEBREAK for OPTION = 13 and 14. This issue could lead to errors (SOL+1345 or SOL+1346) if |ncpu| > 1.

  14. Fixed an issue causing excessive forces when automatic tiebreak (*CON­TAC­T_­AU­TO­MAT­IC_­…_­TIEBREAK) fails. This bug affects OPTION = 6, 7, 8, 9, 10, 11, 13, 14, and 101-105 (user-defined).

  15. Fixed application of viscous damping (VDC) to automatic tiebreak with OPTION = 9, 11, 13, or 14. Before failure, these options use CN \(\times\) area as the contact stiffness, not the regular penalty value. Now, they also use this for the additional damping stress.

7.8 Control Cards

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

  2. In selective mass scaling (IMSCL \(\ne\) 1 on *CON­TROL_­­TIMESTEP):

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

  4. For staged construction (*CON­TROL_­STAGED_­­CON­STRUC­TION):

7.9 Dual CESE Compressible Fluid Solver

  1. For the dual CESE immersed boundary method (IBM) FSI solvers, corrected some bugs that arise when the material erosion that occurs only involves thin (shell) structural parts. Other IBM FSI solver fixes include extensions for dealing with material erosion when some eroding parts are excluded from the FSI calculation.

  2. Fixed some bugs in the 2D FSI-IBM Navier-Stokes solver. This fix may alter some of the results from previous versions.

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

  4. Corrected incorrect output to d3plot and binout.

7.10 Elements

  1. Fixed issue where shells that were only connected to cohesive shells were deleted.

  2. Shell elements with thickness stretch (ELFORM = 25, 26, and 27 on *SEC­TION_­SHELL) did not work in adaptive simulations. The thickness stretch was not properly transferred to the new mesh.

  3. Fixed *ELE­MEN­T_­­MASS_­­PART with thick shell elements. It was calling an incompatible routine that caused an error termination.

  4. Fixed an error in the MCID option of *ELE­MEN­T_­SHELL, which was calculating the wrong material direction.

  5. Fixed thick shell composite modeling when different material models are specified in different element layers while using Rayleigh damping. Material history data was being overwritten.

  6. Corrected a bug that caused spurious damping to be applied when *ELE­MEN­T_­DI­REC­T_­­MA­TRIX_­IN­PUT and rigid parts (or *CON­STRAINED_­N­ODAL_­­RIGID_­­BODYs) are present in the same model. The bug affected implicit dynamic transient analysis (IMASS = 1 on *CON­TROL_­IM­PLIC­IT_­­DY­NAM­ICS).

  7. Fixed bug for *ELE­MEN­T_­DIS­CRETE with *DE­FINE_­S­D_­ORI­EN­TA­TION and a deflection limit provided with *SEC­TION_­DIS­CRETE. This combination could cause a crash.

  8. Corrected indexing error when using two or more superelements (*ELE­MEN­T_­DI­REC­T_­­MA­TRIX_­IN­PUT) with *BOUND­ARY_­SPC applied to the nodes of at least one superelement that was not the first one. This issue only impacts explicit time integration. The error would have shown up during matrix assembly of the superelement system with the error message including the term LCPACK.

  9. Fixed bug in mapping internally generated part IDs to parts IDs given in the input file for composite shell elements (*ELE­MEN­T_­SHEL­L_­­COM­POS­ITE) for writing the dynain file.

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

  11. Fixed issue with mass scaling of cohesive solids (*SEC­TION_­­SOL­ID with ELFORM = 19 to 22). Inverted elements (negative volume) could lead to a huge negative added mass. Replacing current volume by initial volume fixes this issue.

  12. Fixed shell thickness update with PSTUPD on *CON­TROL_­SHELL. This feature has not working properly for ELFORM = 16 since May 2021 (previous R14 releases).

  13. Fixed bug for *PART_­S­TACKED_­ELE­MENTS with INPLCMP = 1. If new shells should be generated, errors could occur.

7.11 EM (Electromagnetic Solver)

  1. Fixed an MPP bug that could prevent an Eddy current 2D axisymmetric simulation from starting if the model was small and the number of CPUs used was large.

  2. Fixed a bug that could cause wrong results when using wedge elements in *EM_­­CIR­CUIT­S_­­SOURCE parts.

  3. Fixed a crash that could happen when *EM_­EX­TER­NAL_­­FIELD was used with *EM_­­CON­TROL_­­CON­TACT.

  4. Fixed a minor issue when *EM_­­CON­TAC­T_­RE­SIS­TANCE was combined with *EM_­RAN­DLES_­­BAT­MAC that led to incorrect results and could cause the job to fail.

  5. Fixed issue with broadcasting parameters defined for *EM_­RAN­DLES_­EXOTHER­MAL_­RE­AC­TION to all CPUs in MPP when using *EM_­RAN­DLES_­­SOL­ID or *EM_­RAN­DLES_­T­SHELL.

  6. Fixed an output issue to d3plot in the current collector conductivity when using *EM_­RAN­DLES_­­BAT­MAC.

  7. Fixed an issue in the Joule heating term sent to the tabs in *EM_­RAN­DLES_­­BAT­MAC that could cause small inaccuracies.

7.12 Implicit (Mechanical) Solver

  1. Fixed bug when using LSOLVR = 22 - 26 on *CON­TROL_­IM­PLIC­IT_­­SOLVER in MPP that caused the simulation to hang. The bug typically manifested in situations with a small number of degrees of freedom combined with a large number of MPI ranks.

  2. Fixed bug causing the d3eigv files not to close properly when using the LOBPCG eigenvalue extraction method (EIGMTH = 102 on *CON­TROL_­IM­PLIC­IT_­EIGEN­VAL­UE. The failure to close properly led to an error termination when using the files with other keywords, such as *FRE­QUEN­CY_­­DO­MAIN_­SSD.

  3. Fixed bug in Sectoral Symmetry (EIGMTH = 111 on *CON­TROL_­IM­PLIC­IT_­EIGEN­VAL­UE) that yielded (easily identifiable) incorrect results.

  4. Fixed a memory allocation error that may cause a segmentation fault when using *CON­TROL_­IM­PLIC­IT_­­GEN­ER­AL.

  5. Fixed bug for implicit dynamics analysis (IMASS = 1 on *CON­TROL_­IM­PLIC­IT_­­DY­NAM­ICS). If a model contains many load curves, each with a large number of points, the analysis could take longer to run than necessary. The time taken per time step would increase with time, meaning the model would run slower and slower as the analysis proceeds.

  6. Corrected the reading of the d3mode file in modal dynamics (*CON­TROL_­IM­PLIC­IT_­­MODAL_­­DY­NAM­IC) to properly handle whether stresses are present in that file or not independent of stresses present in the d3eigv file. This issue impacts any modal dynamics simulation using prescribed motion when the presence of stresses differs between d3eigv and d3mode.

  7. Corrected reading of d3eigv and d3mode for modal dynamics (*CON­TROL_­IM­PLIC­IT_­­MODAL_­­DY­NAM­IC) when some hexahedral elements have 10 nodes and some do not. Previously, it was assumed that the hexahedral element either all had 8 nodes or all had 10 nodes.

  8. Fixed using superelements in explicit for SMP, which was broken in R14 due to an upgrade of the sparse linear equation solver. This was not a problem in MPP.

  9. Corrected an indexing error in the MPP implementation when using superelements (*ELE­MEN­T_­DI­REC­T_­­MA­TRIX_­IN­PUT) with implicit mechanics. Also, corrected an MPP issue with forces on the dependent nodes of rigid bodies connected to superelements.

  10. Corrected MPP-only issue due to improper indexing when creating the superelement mass damping matrix with *CON­TROL_­IM­PLIC­IT_­­MODES and *DAMP­ING_­­GLOB­AL or *DAMP­ING_­­PART_­­MASS.

  11. Corrected the handling of nodal mass matrices (*ELE­MEN­T_­­MASS_­­MA­TRIX) for the implicit eigenvalue problem (*CON­TROL_­IM­PLIC­IT_­EIGEN­VAL­UE). The nodal mass was being added twice to the assembled mass matrix, causing the computed eigenvalues to be too small.

  12. Fixed incorrect frequency of the residual vector output to d3resvec (*CON­TROL_­IM­PLIC­IT_­RESID­U­AL_­VEC­TORS).

  13. Corrected an array allocation error for the case of implicit mechanics with inertia relief to deal with the increased order of the linear algebra problem.

  14. Corrected output to d3eigv for SMP for large problems to make it the same as MPP. The record size was incorrect, corrupting the states. Thus, post-processors could not properly process the data.

  15. Made two corrections to the output for *CON­TROL_­IM­PLIC­IT_­­MODES:

7.13 Initial Cards

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

  2. Fixed issue where *INI­TIAL_­STRESS/S­TRAIN_­SHELL in long format was not written correctly to dynain.

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

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

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

7.14 Materials and Equations-of-State

  1. Fixed issue with *MAT_­AD­D_­­DAM­AGE_­DIEM by not extrapolating the strain rate tables (2D) given by P1.

  2. Fix for *MAT_­AD­D_­­DAM­AGE_­GISS­MO. Damage is driven by plastic strain (DTYP = 0 or 1) or a history variable (DTYP \(\ge\) 10). If that history variable is not monotonically increasing (plastic strain always is), damage could grow even below the already-reached maximum value. This behavior is now prevented by remembering the maximum value. See also IFLG4 = 1 on *MAT_­AD­D_­­GEN­ER­AL­IZED_­­DAM­AGE.

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

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

  5. Bug fix for *MAT_­AD­D_­­DAM­AGE_­GISS­MO and solid elements: There was a mistake in the Lode parameter computation when LCREGD < 0 referred to a *DE­FINE_­TABLE_­3D or FADEXP < 0 referred to *DE­FINE_­TABLE_­3D.

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

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

  8. Fixed incorrect scaling of the yield stress for shell elements with model *MAT_­024_­S­TO­CHAS­TIC when VP = 1 and LCSS is defined with a table.

  9. Fixed issue for *MAT_­024 with MITER = 2 on *CON­TROL_­SHELL. The yield stress on history variable #5 could be zero if SIGY was not defined, leading to NaNs in the constitutive matrix for implicit.

  10. Report the plastic strain of an integration point reaching FAIL for *MAT_­024 only once. Previously, failure of the same integration point was reported many times.

  11. *MAT_­034 (*MAT_­­FAB­RIC) did not work with *DE­FINE_­STAGED_­­CON­STRUC­TION_­­PART or *LOAD­_­S­TIFF­EN_­­PART.

  12. Fixed bug for the combination of *MAT_­USER_­DE­FINED_­­MA­TE­RI­AL_­­MOD­ELS with IORTHO=1 and shell type 23/24. The number of integration points was incorrect for orthotropic user materials with these shells, leading to an error.

  13. Corrected problem with the number of history variables in user-defined materials (*MAT_­USER_­DE­FINED_­­MA­TE­RI­AL_­­MOD­ELS) with solid elements when options INTOUT/NODOUT of *DATA­BASE_­EX­TEN­T_­BI­NA­RY are set to “STRAIN” or “ALL.” It was already fixed in 2014 for explicit (subroutine urmathn), but now it is also fixed for implicit (subroutine urtanh).

  14. Modified longitudinal tensile failure (XT) of *MAT_­EN­HANCED_­­COM­POS­ITE_­­DAM­AGE (*MAT_­054) in implicit solutions when DFAILT = 0. This option was developed to fail slowly over many cycles, which works okay for explicit solutions but prevents the failure of implicit solutions. Failure is now immediate in implicit solutions.

  15. For *MAT_­058 (*MAT_­LAM­I­NAT­ED_­­COM­POS­ITE_­­FAB­RIC with shell elements when EA, EB, or GAB < 0:

  16. Made *MAT_­058_­­SOL­ID work with AOPT = 4.

  17. Fixed bug for *MAT_­079 (*MAT_­HYS­TERETIC_­­SOIL). The strain rate effect (input field LCSR giving enhancement factor versus strain rate) worked only for a limited range of curve shapes. It worked okay for curves with a constant gradient but not for some other shapes. Symptoms of the bug could include either LCSR being completely ineffective or a noisy response with stresses sometimes dropping back to the non-rate-enhanced level. Furthermore, if the first strain-rate point in the curve LCSR was input as zero, error SOL+1082 was tripped unnecessarily. Zero is now allowed.

  18. Fixed behavior of *MAT_­081 with solid elements when using nonzero LCDM and EPPFR. If the plastic strain exceeds EPPFR, the element is deleted irrespective of LCDM. This changed behavior matches the behavior of this material for shell elements.

  19. Fixed bug for *MAT_­098 with solid elements initialized by *INI­TIAL_­STRESS_­­SOL­ID through a dynain file. The initial volume was not properly scattered to all the integration points.

  20. Fixed an error in solid element weld assemblies with OPT set to 0 or -1 on *MAT_­100, which erroneously used the torsional strength term for the in-plane shear strength and the in-plane shear strength for the torsional strength. This error caused welds to fail at the wrong stress unless they were dominated by Mode I failure.

  21. For *MAT_­SPOTWELD (*MAT_­100), fixed mixing up the resultant failure moments (MRR, MSS, and MTT) for beam and hexahedral spot welds. The error had an impact if different values for MRR, MSS, and MTT were defined.

  22. Fixed issue for solid spot welds used in implicit with IACC = 1 on *CON­TROL_­AC­CU­RA­CY. The initialization of solid element weld failure tables was missing. Therefore, options like *MAT_­100 with OPT = 10, *MAT_­100_­­DA with *DE­FINE_­­CON­NEC­TION_­PROP­ER­TIES, and *MAT_­240_­­FUNC­TIONS did not work correctly.

  23. Fix for the internal energy computation in *MAT_­123 with VP = 1 and ELFORM 13 tetrahedral solids. The energy could have been wrong (e.g., negative) if all the elements in a vector block were elastic.

  24. Fixed issue for *MAT_­124 when a huge number of curves (> 9999) is used in a model. This bug could lead to an error or the material using the wrong curve.

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

  26. Fix for *MAT_­133 when used with plain strain or axisymmetric elements (ELFORM = 13, 14, or 15 on *SEC­TION_­SHELL). This combination did not work before. The stresses were likely zero all the time.

  27. Fixed bug for *MAT_­135 (*MAT_­WT­M_­STM) that caused SIGMA0 < 0 (yield curve) to not work for WTM (FLG = 2).

  28. Fixed issue with *MAT_­159 when used with thick shells type 3, 5, and 7. Initialization of history variables was missing.

  29. Fixed a bug in *MAT_­179 affecting the stress extraction from tables.

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

  31. Fixed issue for *MAT_­187L when RATEOP = 1 and LCID-C is specified as a table. A potential change of the Drucker-Prager slope during return mapping was not correctly considered, leading to wrong stresses.

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

  33. For *MAT_­209 (*MAT_­HYS­TERETIC_­BEAM):

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

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

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

  37. Determine the current E/PR at the current temperature for *MAT_­255. They were determined at the center temperature, but that did not match with the computation of the average value and the increment.

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

  39. For *MAT_­262 (*MAT_­LAM­I­NAT­ED_­FRAC­TURED_­­DAIM­LER_­­CA­MAN­HO with shell elements when EA, EB, or GAB < 0:

  40. Fixed type 6 and 7 hourglass control with *MAT_­264 (*MAT_­TAB­U­LAT­ED_­JOHN­SON_­­COOK_­ORTHO_­­PLAS­TIC­I­TY) and *MAT_­224_­­GYS (*MAT_­TAB­U­LAT­ED_­JOHN­SON_­­COOK_­­GYS). The material constants were wrong, causing unpredictable hourglass behavior.

  41. Fixed bug for *MAT_­264 when using CMPFLG = 1 in *DATA­BASE_­EX­TEN­T_­BI­NA­RY. The stresses were not transformed to the local material frame.

  42. Avoid negative strain rates for *MAT_­280 with RATENL > 0 or FT < 0.

  43. Fixed issue for *MAT_­280 with thick shell elements. Sudden crack propagation through the thickness with option NIPF = 1 did not work as intended.

  44. Fixed stress-update routine for *MAT_­307 that led to an unphysical response for the viscoelastic stresses.

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

7.15 MPP

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

  2. Exclude PLOTEL elements during MPP decomposition because not excluding them caused inconsistent results due to changing the PLOTEL definition.

  3. Fixed I/O operations that might cause simulations with REMSPH set to 1 or 2 in *CON­TROL_­MP­P_­DE­COM­PO­SI­TION_­RE­DE­COM­PO­SI­TION to crash immediately after a redecomposition.

7.16 Output

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

  2. Fixed a bug in finding the cross-sectional force (*DATA­BASE_­CROSS_­­SEC­TION that occurred when the section has 2D seat belts (*ELE­MEN­T_­SEAT­BELT). The contribution from the 2D belts to the sectional force was ignored.

  3. Fixed issue where *DATA­BASE_­R­C­FORC could cause a segmentation fault for AVX2 binaries.

  4. Fixed issue where *DATA­BASE_­CROSS_­­SEC­TION_­­PLANE with a local coordinate system gave erroneous moments.

  5. The option to update reference nodes for beams (NREFUP = 1 on *CON­TROL_­OUT­PUT) did not work in adaptive simulations.

  6. Fixed bug associated with *DATA­BASE_­RBD­OUT. Displacements were not being output.

  7. Fixed error in output files when QUADSLD and CUBSLD of *DATA­BASE_­EX­TEN­T_­BI­NA­RY are greater than 0. This bug affects MPP only. It corrupted the output files, leading LS-PrePost to crash.

  8. Fixed the mass calculations for parts that are output to *DATA­BASE_­SS­STAT. Previously, the wrong geometry was used, causing the overall mass to decrease.

  9. Fixed issue with *DE­FINE_­­MA­TE­RI­AL_­HIS­TO­RIES when Label set to Plastic Strain Rate and tetrahedral elements. The output to the history variable could have been incorrect.

  10. For *DATA­BASE_­BI­NA­RY_­D3­MAX:

7.17 Restarts

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

  2. Fixed restart issue in MPP for models including type 13 solid (tetrahedrons) elements. The issue led the restart to fail.

  3. Fixed bug for restarts with pore pressure analysis (*CON­TROL_­­PORE_­FLU­ID). The bug only manifested under the following simultaneously met specific conditions:

    Under these conditions, the pore pressures from the previous run would not be carried across to the new run.

7.18 Sensors

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

  2. Fixed outputting erroneous error message for *SEN­SOR_­DE­FINE_­­FORCE when FTYPE is PRESC-MOT. The bug led to outputting error message KEY+157 (BOUNDARY_PRESCRIBED_MOTION_SET ### not found).

7.19 SPH

  1. Fixed issue with computing pressures on the mesh surface associated with ISPH through *DE­FINE_­SPH_­MESH_­­SUR­FACE. The bug caused the program to crash.

7.20 Thermal Solver

  1. Fixed bug when using LSOLVR = 12 - 16 on *CON­TROL_­THER­MAL_­­SOLVER in MPP that caused the simulation to hang. The bug typically manifested in situations with a small number of degrees of freedom combined with a large number of MPI ranks.

  2. Fixed bug in SOLVER = 17 on *CON­TROL_­THER­MAL_­­SOLVER for single precision executables, leading to (easily identifiable) incorrect results.

  3. Fixed issue where mechanical history variables could not be read by thermal materials for tetrahedrons and pentahedrons.

  4. Fixed bug in thermal parts that are part of TIED_WELD contacts in MPP. The tied condition being fulfilled or not was not being communicated when the contact segments are on different processors.

7.21 User-Defined Features

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

  2. Fixed issue where shear strain was not treated correctly in the external usermat inferface (EXT > 0 on *MAT_­USER_­DE­FINED_­­MA­TE­RI­AL_­­MOD­ELS).

  3. Fixed combination of *PART_­AV­ER­AGED and *MOD­ULE. A missing part ID could lead to a crash or error (SOL+1378: No user subroutine (usrmat) is loaded for part 0).

  4. Fixed issue with *USER_­IN­TER­FACE_­FRIC­TION. Determining element history variables could go wrong if triangular shell elements were involved. Also, a large number of history variables were not taken care of correctly.

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

7.22 Miscellaneous

  1. For *COSIM_­FMI_­IN­TER­FACE, fixed a bug causing incorrect solutions that occurred when an imported curve prescribed displacement (VAD=2 in *BOUND­ART_­PRE­SCRIBE_­­MO­TION).

  2. Fixed a bug in using *IN­CLUDE_­­TRANS­FORM with *N­ODE_­­TRANS­FORM that occurred when the node set is defined by BOX or VOL. The node set could be transformed in an unexpected way.

  3. Fixed a bug when using *SET_­SHEL­L_­LIST_­­GEN­ER­ATE that happened when BiBEG and/or BiEND is not defined. The shell list was not generated correctly.

  4. Fixed issue where *DE­FINE_­CURVE_­­FUNC­TION could overwrite previously defined curve functions if no coordinate system was specified.

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

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

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

  8. Fixed issue with *DE­FINE_­S­D_­ORI­EN­TA­TION. In large models (> 16.8 million nodes), it was possible that the internal node IDs of NID1 and NID2 were the same, leading to error STR+509 (orientation vector 8: nodes are coincident).

  9. Fixed misleading error message for *DE­FINE_­­TRANS­FOR­MA­TION output if POS6N was used with nodes not yet defined. The error message had the wrong node ID.

  10. Fixed potential memory issue with *DE­FORMABLE_­­TO_­­RIGID using part sets. This could have led to a segmentation violation.

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

  12. Fixed issue with *PART_­AV­ER­AGED. A segmentation fault during initialization was possible if nodes were not numbered in a certain way. The numbering should not matter, and now, it doesn’t.