March 10, 2025
This file constitutes revision 0 of the release notes for Ansys LS-DYNA® version R16.0.0.
The string “REVISION 16” must appear in the license file to run version R16.0.0. Please contact your distributor or your Ansys sales representative if you need to have your license updated.
Until such time the R16.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 some features mentioned in the DRAFT User’s Manual may not implemented for R16.0.0.
The remainder of this file briefly describes new features, enhancements, and bug fixes in version R16.0.0. Other recent releases may also include some of these updates.
We arranged the items by category. Understand that, in many cases, a particular item may pertain to more than one category. In the interest of brevity, we list each item only once, under a single category.
Introduction of the new Continuum-based Particle Gas (CPG) solver: A particle-based compressible gas solver for accurate airbag deployment simulations. See *AIRBAG_CPG and related keywords.
Added *AIRBAG_SALE. It is a wrapper keyword intended for easily setting up an airbag inflation model. It contains new algorithms for solving “contact locking” and alleviating constrained flow in long tubes.
The following keywords (only available for S-ALE) are related component keywords to *AIRBAG_SALE added in this release:
Added *DUALCESE_MAT_LIQUID to support simple models of viscous liquids.
*DUALCESE_GRAVITY is a new keyword that allows liquids to experience the load provided with *LOAD_BODY... With this keyword, gravity source terms are active for the following 2D and 3D solvers: single fluid with (FSI-IBM or FSI-MMM) or without FSI.
Added *DUALCESE_FSI_EXCLUDE_PARTSET as a convenience tool for excluding sets of structural parts created with *SET_PART from the FSI calculation when using the dual CESE IBM-FSI solvers.
Introduced a viscoelastic solver. See *ICFD_MODEL_VISCOELASTIC to set viscoelastic properties. See also *ICFD_BOUNDARY_PRESCRIBED_VISCOELASTIC.
Introduced a higher-order level-set method. See SLLS of *ICFD_CONTROL_ADVECTION and SRL of *ICFD_CONTROL_LEVELSET.
Introduced the Resistive Immersed Implicit Surface (RIIS) method (IMMTH = 2 on *ICFD_CONTROL_IMMERSED).
Added in-core refinement for structured isogeometric shells and solids. *IGA_REFINE_SHELL and *IGA_REFINE_SOLID enable specifying various refinement types for structured isogeometric shells and solids defined using the *IGA_SHELL and *IGA_SOLID, respectively.
Support subcycling (*CONTROL_SUBCYCLE_{K}_{L} and *CONTROL_SUBCYCLE_MASS_SCALED_PART) for IGA solid elements (*IGA_SOLID). These techniques are suited for reducing the computational cost for models involving large spatial variations in mesh density and/or material characteristics.
Added basic incremental failure model: *MAT_ADD_BASIC_INCREMENTAL_FAILURE. It is a simplified version of GISSMO with a smaller input parameter set and automatic failure curve/surface generation. It is intended as an alternative to something like “FAIL” in *MAT_024 (which is too simple) and a fully calibrated GISSMO or DIEM (which is sometimes too elaborate).
Added *MAT_ADD_EXTVAR_EXPANSION to define material expansion based on the evolution of an external variable (*LOAD_EXTERNAL_VARIABLE). It accounts for nonlinear (load curve) and orthotropic behavior. This expansion property is available for solid formulations 1, 2, -1, and -2 and shell formulations 2, 16, and -16.
Added a new glass strength prediction model by Rudshaug et al. (2023) invoked with *MAT_GLASS_SPM (*MAT_280_SPM). It is a Monte-Carlo-based fracture-initiation predictor that combines the theories of linear elastic fracture mechanics and sub-critical crack growth to generate a representative sample of virtual glass plates that are monitored during the simulation. The model results in representative fracture strength distributions that span the probable fracture initiation instances with respect to time, location, and stress level.
Added new material *MAT_317/*MAT_RRR_POLYMER.
Added IMERGE to *ISPG_CONTROL_ADAPTIVITY to activate a merging algorithm for parts that are sufficiently close together. In MPP, this merging feature requires parts to be on the same processor. To do this, use *ISPG_DEFINE_MERGER_MPP.
Added the keyword *ISPG_DAMPING_SURF to define Rayleigh damping related to fluid surface tension on all the ISPG parts.
ISPG 3D supports a new curing-degree-dependent viscosity model via the keyword *ISPG_MAT_CASTRO_MACOSKO_CARREAU.
Added new keyword *ISPG_CONTROL_D3ISPG to control outputting the curing, viscosity, temperature, stresses, and strain rates for ISPG.
For adaptive ISPG, support thermal-flow coupled analysis. We added the following features for this:
Added *DEFINE_CABLE to simplify the creation and data collection of electric cables for failure modeling.
When using dynain and dynain.lsda files to transfer the state of a system between simulations, it is important to provide reference configuration information for hyperelastic material models. Providing this information is particularly tricky when switching between implicit and explicit, for instance, or if the way the deformation gradient is stored changes because of a different set of control parameters. To this end, we introduced *NODE_REFERENCE, *ELEMENT_SOLID_REFERENCE, and *ELEMENT_SHELL_REFERENCE that are part of the dynain(.lsda) content whenever hyperelastic materials are present in a model. These keywords allow for a seamless approach to dealing with hyperelasticity in a dynain context, meaning that the RFLAG on *INTERFACE_SPRINGBACK_LSDYNA becomes redundant. Users will typically never insert these keywords in a simulation, but previous simulations always generate them. Seamless transfer requires properly setting up the first simulation, for which the reference configuration typically coincides with the configuration at time zero or is specified using *INITIAL_FOAM_REFERENCE_GEOMETRY for solids or *AIRBAG_REFERENCE_GEOMETRY for shells.
Improved SMP load balancing for METHOD 2, 211, 3, and 311 on *FREQUENCY_DOMAIN_ACOUSTIC_BEM. These changes improved performance, particularly for a large number of threads/cores.
Support IGA parametric points (*IGA_POINT_UVW) and IGA physical faces (*IGA_FACE_XYZ) for setting excitation loads on *FREQUENCY_DOMAIN_SSD (see NTYP on Card 7).
Extended transient Ensight animation support (MASEPLT = 4 on *CONTROL_ACOUSTIC_SPECTRAL) to 12th-order spectral acoustic elements.
Enabled fast computing of the mcf file (*CONTROL_FREQUENCY_DOMAIN) without writing d3ssd (BINARY = 0 in *DATABASE_FREQUENCY_BINARY_D3SSD).
Added option NDD = 0 to *FREQUENCY_DOMAIN_ACOUSTIC_BEM to use a recommended domain decomposition.
Implemented an option to match the tied surfaces of two adaptive parts with tied contact in the first adaptive set. See ICONOPT = -1 on *CONTROL_ADAPTIVE.
Added printout of what triggers the adaptivity in EFG interactive adaptivity.
Control extra d3plot output in 3D \(r\)-adaptive simulation with ADPD3P on *CONTROL_ADAPTIVE. Note that this flag existed previously, but the behavior has changed. The default behavior changed from outputting the extra data. Extra data was output starting in R13 without any controls. ADPD3P was added in R15 to turn off outputting this extra data. With R16, this extra data is not output by default and by setting ADPD3P = 1; ADPD3P = -3 (set to not output the datain R15) was removed; and ADPD3P = 2 and 3 were added to output this extra data.
Added an automatic checker during the keyword phase to check airbag quality for S-ALE. The results are output to saleabchk.msg.
Support TYPE = CURVE on *SENSOR_CONTROL with *AIRBAG_PARTICLE.
Support coupling CPM (*AIRBAG_PARTICLE with the thermal solver.
Support unlimited gas species for *AIRBAG_PARTICLE. Internally, there had been a limit of 40 species.
Support including solid parts when defining the airbag (SID1 and SID2 on *AIRBAG_PARTICLE). Previously, the airbag could only be defined with shell parts. Deleted segments are removed from the coupling.
Enabled using GEOM = ALL on *ALE_STRUCTURED_MESH_VOLUME_FILLING to assign velocity using VID to all S-ALE nodes. Previously, VID worked with all GEOM settings except ALL.
Improved algorithm to cure pressure oscillation during the ALE advection process when using *MAT_ELASTIC_PLASTIC_HYDRO with *EOS_TABULATED_COMPACTION.
Support beam erosion for S-ALE FSI in 2D.
Implemented using an element set to specify the ALE fluid subjected to the porous flow condition (SIDTYP = 2 on *LOAD_BODY_POROUS).
If ALE groups fully fill the ambient elements (see *BOUNDARY_AMBIENT), MMG = 0 keeps these fillings as sources instead of replacing them.
Added command line option map2=[listofmappingfiles.txt]
for *INITIAL_ALE_MAPPING to map ALE data from several mapping files created by previous ALE runs with the same dimensions and identical ALE groups. Note that listofmappingfiles.txt needs to be a .txt file that lists the names of the mapping files. In this case, map=
is not used.
Made *ALE_FSI_TO_LOAD_NODE available for S-ALE FSI.
For *BOUNDARY_ALE_MAPPING with INI = 1, write S-ALE data to a mapping file that can be read by *INITIAL_ALE_MAPPING and *BOUNDARY_ALE_MAPPING.
Added OPTION = AMBIENT to *BOUNDARY_SALE_MESH_FACE as a macro for applying *BOUNDARY_AMBIENT with AMBTYP = 4 along the boundary faces.
Applying OPTION = AMBIENT and OPTION = NONREFL on *BOUNDARY_SALE_MESH_FACE to the same mesh faces causes the elements attached to the faces to turn into ambient elements with a non-reflecting boundary condition on the faces connecting the ambient elements to the rest of the S-ALE mesh.
Enabled moving joined S-ALE meshes.
Enabled DVOL on *SET_SOLID_GENERAL to work for S-ALE elements.
Enabled DVOL on *SET_SEGMENT_GENERAL to work for S-ALE segments.
Enabled DVOL on *SET_NODE_GENERAL to work for S-ALE nodes.
Check that there are no conflicts between the IDs used for *RIGIDWALL_PLANAR and *CONSTRAINED_NODAL_RIGID_BODY.
Support solid elements for *CONSTRAINED_COORDINATE.
Added TITLE keyword option to *CONSTRAINED_EXTRA_NODES and *CONSTRAINED_RIGID_BODIES.
Setting |CMO| = 2 on *CONSTRAINED_NODAL_RIGID_BODY_SPC enables applying the constraints or prescribed motion (*BOUNDARY_PRESCRIBED_MOTION) of the rigid body about a specified coordinate.
Added an SPR3 with a strongly objective formulation (see MODEL = 3 of *CONSTRAINED_INTERPOLATION_SPOTWELD).
Added ability to position the spot weld (see SPROFF) between the two sheets for spot welds defined with [*CONSTRAINED_INTERPOLATION_SPOTWELD}{.kwstyle}.
Added new search method for *CONSTRAINED_SPR2 and *CONSTRAINED_INTERPOLATION_SPOTWELD (SPR3) invoked by flag SPRSRCH on *CONTROL_CONSTRAINED. The option includes the nodes inside the search radius and all nodes from elements inside the search radius.
Modified SPR2/SPR3 search. The height of the search cylinder (THICK) can be too small if there is a substantial gap or THICK is defined way too large, causing problems with bent sheets. The modified search uses the measured distance with some tolerance instead of using THICK from the input. It is only supported for the recently added option SPRSRCH = 1.
Added option STIFF2 < 0 to *CONSTRAINED_INTERPOLATION_SPOTWELD (SPR3). |STIFF2| is a load curve ID for shear stiffness as a function of load angle. This curve allows a better fit for the elastic-mixed-mode response.
Add damping option, DAMP, to *CONSTRAINED_INTERPOLATION_SPOTWELD (SPR3) to apply viscous damping.
Added MPP support for *TERMINATION_CONTACT.
Added an initialization error termination check for MPP only due to an issue with contact. Before the decomposition, contact segments are mapped to the element they come from. Any not found will cause error termination.
Added support for beam elements in segment-to-segment (SOFT = 2) contact. To use beam elements, simply use parts or part sets to define surface A and/or surface B and include beam parts in the surface definition. This works with all contact keywords that are compatible with segment-to-segment contact. However, it must be used with DEPTH options that support edge-to-edge contact, which currently are DEPTH = 5, 15, 25, 35, and 55. If other DEPTH options are input, they are switched internally to DEPTH = 55.
Improved segment-to-segment (SOFT = 2) contact when shell element segments contact solid element segments. There were spurious forces in some instances that caused nonphysical deformation.
Implemented edge treatment options SRNDE = 1 and 2 (on Optional Card E) for *CONTACT_AUTOMATIC_SURFACE_TO_SURFACE in SMP for SOFT = 0 and 1.
The ORTHO_FRICTION keyword option in *CONTACT_…_MORTAR allows for 3D tables, thereby adding a temperature dependence in addition to sliding velocity and contact pressure.
Thermal edge contact is supported and automatically enabled when the underlying mechanical contact is of *CONTACT_…_MORTAR type.
Support output of tied area to binout for *CONTACT_…_MORTAR_TIED types.
Account for the OFFSET option on *ELEMENT_BEAM and NSLOC/NTLOC on *SECTION_BEAM when determining contact with *CONTACT_AUTOMATIC_…_MORTAR. However, the contact still uses an approximate tubular section.
Support *LOAD_THERMAL_BINOUT with *CONTACT_…_MORTAR.
Added MINFO < 0 on *CONTROL_OUTPUT, where -MINFO is a time-step frequency for output penetration and memory information from *CONTACT_…_MORTAR. This negative option applies also to explicit analysis.
Added TIEOPT to *CONTROL_CONTACT to invoke constrained tied contacts in explicit algorithms that circumvent some of the shortcomings in the standard implementations. It is mandatory (and automatically applied) for selective mass scaling (IMSCL \(\neq\) 0 on *CONTROL_TIMESTEP) to properly support all tied contact combinations. The primary justification for this option is the completion of tied contact support in selective mass scaling. However, even without that, this option offers some advantages for constrained tied contacts, such as:
Added STROBJ to *CONTROL_CONTACT to turn on strong objectivity for single surface contacts with SOFT = 0 or 1.
Setting SRTFLG = 1 on *CONTROL_ACCURACY 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.
Added options ESORT = 11, 12, 13, and 14 to *CONTROL_SOLID. These are the same as ESORT = 1, 2, 3, and 4, respectively, except tetrahedrons are sorted to type 13.
Added ability to request additional output with *CONTROL_EOS_USER_LIBRARY for plotting 3D surface graphs of seslib data.
Added the ASCII keyword option to *CONTROL_EOS_USER_LIBRARY for reading Los Alamos sesame tables instead of seslib and handling several ASCII table files.
Switch to LAMSHT = 3 when LAMSHT = 1 on *CONTROL_SHELL. LAMSHT = 1 is only implemented for a few material models, and even for them, it does not seem to work properly.
Extended UMCHK on *CONTROL_MAT to check for default user-defined friction (only MPP).
Reduce memory requirement of detailed energies for materials (MATEN = 2 on *CONTROL_ENERGY) by only requesting it after MPP decomposition.
Made the NASG EOS (*DUALCESE_EOS_NASG) available to the single fluid solvers, including both with and without FSI.
Added viscous shear to the feedback forces for the viscous 2D and 3D FSI-IBM solver.
Introduced a porous media model for supersonic flow with thin-shell porous structures in the dual CESE FSI-IBM and two-phase FSI-IBM solvers. This model solves the Darcy-Forchheimer equation as a jump condition across the porous media interfaces. This new porous media model is available for the following two-phase and single-fluid FSI-IBM dual CESE solvers: 2D, 2D axisymmetric, and 3D.
Reversed the modification done in R15 to the local CFL number formula for a new time-step-size calculation. In other words, we restored the R14 treatment of this calculation.
Added option ASA to *SECTION_BEAM for resultant beam type 2. ASA flags automizing the shear area approximation for tubular (SECTION_09) and solid box (SECTION_11) shapes.
Extended the STRETCH field in *CONTROL_SHELL to check the three edges of triangular shells in the same manner that it checks the diagonals of a quadrilateral. Previously, this option ignored triangular shells.
The definition of baseline orientation vectors with *PART_FIELD for finite element solids ELFORM = 1 is now supported for the following material models: 22, 23, 26, 33, 40, 54, 55, 58, 59, 91, 92, 103, 104, 122, 126, 133, 142, 143, 157, 199, 213, 215, 219, 221, 233, 245, 261, 262, 263, 264, 278, and 291.
Extended to beams with ELFORM = 13 the existing option of using BEAMIP on *DATABASE_EXTENT_BINARY to cause writing the moments at both ends of resultant beams (ELFORM = 2) to d3plot and d3thdt.
Enhanced the check for cohesive elements to properly reorientate them so that the orientation matches neighboring elements by changing the connectivity.
Added experimental options ISTUPD = 5 and 6 on *CONTROL_SHELL. These are the same as 1 and 4, respectively, but associated thickness changes are double precision in single precision binaries for shell elements with ELFORM = 2, 4, and 16. These options should make results more comparable (single precision versus double precision) in long-lasting explicit analyses.
Added option to change some cohesive errors to warnings invoked with COHEQC = 10, 11, and 12 on *CONTROL_SOLID.
Support stiffness proportional damping for cohesive elements. *DAMPING_PART_STIFFNESS did not have any effect on them until now. Also, support RYLEN = 2 from *CONTROL_ENERGY for cohesive elements to include the damping energy in the internal energy computation.
Added warning for the use of pentahedral thick shell (TSHELL) elements:
Thick shell element ... is a degenerated hexahedron (nodes N3=N4 and N7=N8). Such pentahedral thick shells are currently not supported and should therefore be avoided.
Added CIRCTYP = 30 to *EM_CIRCUIT to include Diode modeling in the circuit. It is available with the Eddy current solver only (EMSOL = 1 in *EM_CONTROL).
An imposed current condition (see CIRCTYP IN *EM_CIRCUIT) when using the Resistive heating solver is now done via a Neumann boundary condition rather than an internal transformation into a voltage condition (after doing an initial solve to get the mesh resistance and using Ohm’s law). We made this change after realizing that the previous way could cause issues in cases that involved multiple circuit branches. Resistance and current output values may be affected.
Added the option to turn off the time interpolation (INTERP on *EM_CONTROL_COUPLING) of the EM forces between two EM steps. This can be useful in magnetostatic steps (especially rotating problems) where the default linear time interpolation of the EM force at each mechanical step can introduce a larger error than having no interpolation at all.
Added an optional third line to [*EM_CONTROL_COUPLING]{.kwstyle] for providing three node IDs defining a local coordinate system for the EM solver to follow during the force interpolation phase given to the mechanical solver. This feature may be recommended in rotating magnetostatic problems for increased accuracy.
Added an optional second line to *EM_CONTROL_SOLUTION for defining two local coordinate systems and specifying that BEM matrix recomputations can only occur based on specific translation and rotation criteria.
Fixed bug in magnet ID ordering (*EM_PERMANENT_MAGNET). Previous versions assumed the user defined the magnet IDs in their keyword file in an ordered fashion (from small ID to large) which is not always the case.
For *EM_RANDLES_BATMAC, added the option to have temperature-dependent equilibrium voltage as a function of state of charge tables.
For Randles circuits (*EM_RANDLES_…), state of charge values in battery cells are now hard capped at 100.
Enabled specifying a part ID instead of segment sets for the associated Rogowsky coil in 2D axisymmetric Eddy current problems (see PID on *EM_CIRCUIT_ROGO. This ability simplifies creating the input for this case.
Added CONTYPE = 2 to *EM_CIRCUIT_CONNECT to have the circuit connect constraint take precedence over the constraint (if it exists} defined in *EM_CIRCUIT for the second circuit. In contrast, for CONTYPE = 1, the constraint for the second circuit takes precedence over the circuit connect constraint.
Support beam elements with the eikonal solvers (solver types 14 and 15 on *EM_CONTROL) so that beams can be coupled with tetrahedral elements.
For eikonal models (*EM_EP_EIKONAL), SIGMA in the data cards of EM materials *EM_MAT_001 and *EM_MAT_003 corresponds to the wave velocity. Note that *EM_MAT_001 is supported for beam elements, while *EM_MAT_003 is supported for tetrahedral elements.
Added ionic model using splines instead of solving the ODEs at each node. See IONSOL = 2 on *EM_CONTROL_EP. One spline is built for each ionic model once and for all at the beginning of the run, and is then used at each node, starting at the activation time of the node. This method can be used either for the eikonal solvers (EMSOL = 14 or 15 in *EM_CONTROL) or the mono/bi domains (EMSOL = 11 or 12 on *EM_CONTROL_EP). It saves a lot of cpu time in the ionic model part. An optional Card 2 on *EM_CONTROL_EP can be included to give the end time (SPLTEND) and time step for building the spline (SPLDT).
Added ability to add delays between 2 depolarizations/repolarizations on *EM_EP_ISOCH to avoid detecting successive repol/depol in cases where the transmembrane potential oscillates.
For *ICFD_BOUNDARY_WINDKESSEL, added detailed Windkessel circuits types 7, 8, 9, 10. We also reworked this feature to make it more robust and less time-step-dependent. We added WTYPE = 6 to specify a user-defined model.
Added the radius factor to the flux output (see *ICFD_DATABASE_FLUX) in 2D axisymmetric analyses to make it consistent with 3D output.
For *ICFD_CONTROL_ADAPT, added an option, DT, to control the remeshing frequency via a time step (transient analysis only).
For the steady state solver, a velocity boundary condition is now considered constant during the steady state analysis (the first value of the *DEFINE_CURVE will be picked).
For weak 2-WAY FSI with the implicit structural solver (OWC = 3 on *ICFD_CONTROL_FSI), enabled the implicit solver to perform sub-stepping until convergence with a single CFD step.
For *ICFD_CONTROL_ADAPT:
For *ICFD_CONTROL_TURBULENCE:
Support the advection of two species instead of just one (see *ICFD_MODEL_SPECIES_TRANSPORT, *ICFD_BOUNDARY_PRESCRIBED_SPTRANSP_CONC, and *ICFD_INITIAL_SPTRANSP).
Support initializing species concentrations by *ICFD_PARTs and *ICFD_PART_VOLs (see *ICFD_INITIAL_SPTRANSP) in the species transport flow solver. Previously, initialization only worked globally.
For *ICFD_MODEL_POROUS, added support to have hybrid porous/non-porous membrane/fabrics in the same model. A mixing of porous and non-porous deforming embedded shells is now allowed.
The option ITORM on *SECTION_BEAM is now supported for implicit transient analyses. Before, it could only be used for eigenvalue analyses.
Made the sectoral symmetry method (EIGMTH = 111 on *CONTROL_IMPLICIT_EIGENVALUE) available in MPP. This method only works for jobs running on one processor, but it no longer requires SMP to run and gives the same results as for SMP.
For LSOLVR = 30 (MUMPS) on *CONTROL_IMPLICIT_SOLVER:
Support ORDER = 3 (ParMETIS) on *CONTROL_IMPLICIT_SOLVER in PGI builds.
For METHOD = 102 (LOBPCG) on *CONTROL_IMPLICIT_EIGENVALUE:
Support modal analysis (*CONTROL_IMPLICIT_EIGENVALUE) with rotational dynamics terms (*CONTROL_IMPLICIT_ROTATIONAL_DYNAMICS) for MPP executables when the number of MPI ranks is 1. Full MPP capability is the subject of future work.
Made *DATABASE_ADAMS available again. This feature outputs a Modal Neutral File, d3mnf, for later use with Hexagon’s Adams software. It was available up to R7 upon customer request and required an external library. It is now available with all MPP builds without additional software.
Added MXMODES to *CONTROL_IMPLICIT_INERTIA_RELIEF for setting the maximum allowed eigenvectors to be computed.
Added printing information about the JFNK nonlinear solver (NSOLVR = 13) if NLPRINT = 3 on *CONTROL_IMPLICIT_SOLUTION.
Output time history results for beam elements undergoing modal dynamics (*CONTROL_IMPLICIT_MODAL_DYNAMIC) to elout and d3thdt. Previously, the beam results were written as zero to both elout and d3thdt.
For implicit, imposing spc on too many rigid body nodes results in an overdetermined set of constraints. Previously, doing this would result in an error termination. Now, we process these constraints during the initialization and translate them into the equivalent combination of nodal and rigid body constraints that allow the simulation to continue with expected results.
For implicit, stacked use of tied contacts (think laminates/composites) may result in an overdetermined set of constraints that could lead to an error termination or automatic deletion of important ties just to start the simulation. Now, we use a dependency graph to delete only the tied contacts that must be deleted, resulting in a more expected behavior. It may still result in an error termination if the dependencies cannot be resolved.
IACC = 1 on *CONTROL_ACCURACY is now the default for nonlinear implicit simulations. To recover the old behavior, set IACC = -1.
Equipped incompressible control volumes (*DEFINE_CONTROL_VOLUME) with two new features:
Implemented *INITIAL_FOAM_REFERENCE_GEOMETRY for axisymmetric elements (ELFORM = 14 and 15 on *SECTION_SHELL).
Implemented initializing velocities with *INITIAL_VELOCITY_GENERATION_START_TIME under a switch condition (*SENSOR_SWITCH). When STIME < 0, |STIME| refers to a sensor switch ID.
Implemented defining the high explosive as a part or element set (HETYP = 1 or 2) on *INITIAL_DETONATION_GEOMETRY.
Added selecting elements to ignite with a box for *INITIAL_DETONATION_GEOMETRY.
Added support for implicit MPP contact for trimmed IGA solids (*IGA_SOLID).
Added support for MPP eigenvalue extraction for trimmed IGA solids (*IGA_SOLID).
Map the friction definition (*DEFINE_FRICTION_TABLE) of IGA contact parts to the related interpolation element parts to properly reflect the friction behavior in the contact evaluation.
In case multiple faces (*IGA_FACE_XYZ) are defined on the same underlying surface patch (*IGA_2D_NURBS_XYZ) and the individual faces are topologically connected with *IGA_EDGE_UVW and *IGA_EDGE_XYZ, check that the generated interpolation mesh for the individual faces matches at the shared interface and that the corresponding interpolation nodes are merged. This check solves an issue that may appear if the faces are in the same contact definition, and edge contact may happen between the free boundaries of the individual faces.
Add support for the parameters THICK, PSTRN, STRAIN, and STRESS in *INCLUDE_STAMPED_PART for IGA shells (*IGA_SHELLs).
Added support for *INCLUDE_TRANFORM for IGA-related keywords.
Add support to use *IGA_POINT_UVW for trimmed IGA solids (*IGA_SOLIDS). This can be used to define constrained nodal rigid bodies or similar boundary conditions.
Support *CONSTRAINED_SPR2 for (trimmed) IGA shell/solid (*IGA_SHELL/SOLID) parts.
Improve force sharing for shared interpolation nodes along MPP domain boundaries for IGA solid parts (*IGA_SOLID).
Add support for *LOAD_THERMAL for IGA solid elements (*IGA_SOLID).
Properly map IGA shell (*IGA_SHELL) thickness to related interpolation elements to have the correct thickness reflected in contact.
For *MAT_001 / *MAT_ELASTIC
Setting |CMO| = 2 on *MAT_RIGID (*MAT_020) enables applying the constraints or prescribed motion (*BOUNDARY_PRESCRIBED_MOTION) of the rigid body about a specified coordinate.
Enabled IRATE on *CONTROL_IMPLICIT_DYNAMICS for Hughes-Liu beam elements (ELFORM = 1) with *MAT_024.
For *MAT_024, allow simultaneous use of keyword options _STOCHASTIC and _2D for shell elements.
Enabled fabric material formulation 24 (FORM on *MAT_034/*MAT_FABRIC and *MAT_B01/*MAT_SEATBELT) to be used in implicit analysis. Previously, parts input with formulation 24 were internally switched to formulation 14.
Made the Poisson’s ratio behavior of fabric material formulation 24 (FORM on *MAT_034/*MAT_FABRIC and *MAT_B01/*MAT_SEATBELT) more accurate for large strains. Results for problems where fabric material strains remain small should change little.
Added implicit tangent to *MAT_058 (*MAT_LAMINATED_COMPOSITE_FABRIC).
Made *MAT_074 work with *INITIAL_STRESS_BEAM.
Enabled *MAT_083_PATH_DEPENDENT to work with *INITIAL_FOAM_REFERENCE_GEOMETRY.
Made the latest features and bug fixes in *MAT_106 available for type 13 solid (tetrahedron) elements.
Added support for plastic strain tensor output with STRFLG = 11 on *DATABASE_EXTENT_BINARY for *MAT_106, *MAT_123, *MAT_224, and *MAT_251.
Added flag PDV to *MAT_148 / *MAT_GAS_MIXTURE. This flag sets the method for computing the element energy update. The default (PDV = 0) and original implementation is the ideal gas gamma law, which violates energy conservation when temperature-dependent \(C_v\)/\(C_p\) are used with ALE formulations. PDV = 1 invokes pressure work for this calculation.
For *MAT_SOIL_SANISAND (*MAT_207), improved stability for elements at low pressure.
Updated *MAT_213 / *MAT_COMPOSITE_TABULATED_PLASTICITY_DAMAGE to version 1.3.7. The new version:
For *MAT_LAMINATED_FRACTURE_DAIMLER_PINHO (*MAT_261), improved the behavior when the compressive stress reached XC prior to the actual failure criterion. In this case, we start computing damage values (dkink) to limit the stress within bounds, but we did not compute the failure strain in case the failure criterion is finally met, which led to a brittle failure due to lack of damage evolution. Now, we compute the failure strain in this scenario before reaching the failure criterion, which enables damage evolution and, thus, softening behavior before failure.
Added parameter DOSPOT to *MAT_270, which activates thinning of tied shell elements when SPOTHIN > 0 on *CONTROL_CONTACT.
Added grouping option, GRPFT, to *MAT_280 to scale down the tensile strength of several parts with FTSCL at the same time.
Added plasticity to *MAT_291 (*MAT_SHAPE_MEMORY_ALLOY).
Added the FIBAND (FIBer distribution based ANisotropic Damage) model to *MAT_DMN_COMPOSITE_FRC (*MAT_303) for predicting the damage and failure of injection-molded short-fiber-reinforced composites with any fiber distribution.
Enabled support for using *MAT_305 / *MAT_HOT_PLATE_ROLLING with 1-point pressure tetrahedrons (type 13).
For *MAT_307 / *MAT_GENERALIZED_ADHESIVE_CURING:
Implemented automatically renumbering the ID of *MESH_VOLUME if the same ID exists in *MESH_SURFACE_ELEMENT already to avoid output confusion. This change is only for output purposes. Results are unaffected.
For *MESH_SIZE_SHAPE, a *DEFINE_FUNCTION can now be used to define the mesh size as a function of the \((x,y,z)\) coordinates. This capability enables defining a gradual coarsening or refinement.
LSTC_DIR_LOCAL
to specify the local directory for scratch files from an environment variable. This directory should be on a local disk on each processor for performance reasons. Note that the pfile command local
has priority over this environment variable. Include energy due to *INTERFACE_LINKING_SEGMENT in the external work reported to the glstat file.
Added *DATABASE_RCFORC_DR to output rcforc during dynamic relaxation.
The mass and inertia properties output to d3hsp are now computed using double precision regardless of binary precision.
*DATABASE_BINARY_ISPHFOR now supports the FILE keyword option.
Added *DATABASE_FSI_DR to save the dbfsi data from the 1st dynamic relaxation phase.
Enabled converting the binary file created with *DATABASE_BINARY_FSILNK into a keyword file with *LOAD_SEGMENTs and *DEFINE_CURVEs generated from the data in that file. To generate this keyword file, run LS-DYNA with only the fsilnk=[fsifile]
command line option, where fsifile is the name of the binary file.
For *DATABASE_D3MAX:
Add the contribution of the shell force to the section force when the shell is a 2D seat belt.
For MPP decompositions, every 2D seat belt is assigned a separate core to speed them up.
Enable *SENSOR_DEFINE_MISC to trace seat belt slip rings (MTYPE = SLIPRING).
Added the options PULLOUT and FORCE for TYPE = RETRACTOR on *SENSOR_DEFINE_MISC to trace the retractor’s total pull-out and the force of the attached belt, respectively.
Added TFIRE to *SENSOR_CPM_AIRBAG to control the activation time of the mass flow rate and temperature curves.
Made coupling between SPG particles and a surface (*DEFINE_SPG_TO_SURFACE_COUPLING) available in MPP.
Added option SFPN to *DEFINE_ISPG_TO_SURFACE_COUPLING to scale the thickness of the solid structure that is coupled with the ISPG fluid. This option improves contact detection if the structure is very thin and the length of the solid elements along the normal direction is much smaller than the length in the in-plane direction.
Support the TITLE keyword option for *SECTION_ISPG, *MAT_ISPG_…, *MAT_THERMAL_ISPG, *DEFINE_ISPG_TO_SURFACE_COUPLING for ISPG adaptivity.
Repeated solid or shell part IDs in *DEFINE_ADAPTIVE_SOLID_TO_SPH will now raise an error. Specifying the same parent part more than once will cause: (1) overlapping particles if NQ is the same in both instances, or (2) particles of different sizes that are too close.
For *DEFINE_ADAPTIVE_SOLID_TO_SPH, select history variables are now scaled by volume ratios between SPH and their parent solid/shell element. This lack of scaling could cause simulations to destabilize when NQ > 1 while using some materials or equations of state.
Enhanced internal treatment of curves defined with *DEFINE_CURVE. These curves have a regularly spaced internal representation. With this update, the way these curves are stored has been changed, resulting in significant memory reductions, particularly when different curves have different values of LCINT. Evaluating these curves is also more efficient.
For those implementing user-defined materials, note that the curve array crv is NOT AVAILABLE anymore beginning with R16. Please use new curve/table evaluation routines instead:
curveval
curveval_v
tableval
tableval_v
Improved implicit co-simulation with *COSIM_FMI_INTERFACE by exchanging data in every iteration.
Added command line option stdout=
to control the messages to stdout. See the manual for details.
Added parameter IORIEN to *DEFINE_PRESSSURE_TUBE to use the third beam node or *BEAM_ORIENTATION for solid/shell orientation.
*DAMPING_FREQUENCY_RANGE_DEFORM now works with ELFORM = 13 beam elements.
Fixed a bug that may cause memory errors when INMEMORY is on and ADPTYP is greater than 2 in *CONTROL_ADAPTIVE.
Fixed bugs in nodal mass calculations when INMEMORY is on in *CONTROL_ADAPTIVE. These bugs affect solution accuracy, especially in metal forming deep drawing simulations.
Fixed bugs in the initialization of load curves that may cause memory errors after an adaptive cycle.
Fixed bugs in the initialization of contacts that may cause errors when INMEMORY is on in *CONTROL_ADAPTIVE.
Fixed bugs in shell size evaluation that may induce inconsistencies in adaptivity criteria between in-core and out-of-core adaptivity.
Fixed a bug for LCBCHK on *BOUNDARY_PRESCRIBED_MOTION_SET_BOX. The bug was due to mistakenly assuming all related nodes to be inside the checked box initially, leading to unexpected behavior.
Fixed issue with *BOUNDARY_PWP during a full-deck restart. The boundary conditions were not being obeyed in the restart run.
For *BOUNDARY_FLUIDM:
Fixed a bug in the *CONSTRAINED_BEAM_IN_SOLID general slip-force law (AXFOR = 999) to consider negative slip.
Fixed issue that caused very slow initialization in models that have BOTH a large number of nodal rigid bodies (*CONSTRAINED_NODAL_RIGID_BODY) AND a large number of *BOUNDARY_PRESCRIBED_MOTION cards.
Fixed problem with *CONSTRAINED_SPR2/SPR3 and *SET_NODE_ADD. The following error occurred: node set for spr # 123 is not found
. Generating the visualization beams somewhat later resolves it.
Fixed issue with MPP contact near the decomposition boundary between processors. It occurred if some of the contact nodes were involved in a *CONSTRAINED_TIED_NODES_FAILURE constraint that failed. The failure was not being properly treated.
Fixed issue for MPP groupable contacts with birth times. If some processors ended up with no currently active groupable contacts, while others did have currently active groupable contacts, the code could hang.
When using the DISPLAY keyword option of *RIGIDWALL_GEOMETRIC/PLANAR_…, contacts defined by BOX or SURFATYP/SURFBTYP = 6 included the segments of the rigid wall display parts. The nodes of the display parts could become tracked by other rigid walls.
Enabled *ELEMENT_SHELL_SOURCE_SINK when used with MPP segment-to-segment (SOFT = 2) contact in the MPP version. Previously, the job would error terminate.
Fixed an error in implicit segment-to-segment (SOFT = 2) contact stiffness when DEPTH = 5, 15, 35, or 55 and contact is between edge pairs. The stiffness was uninitialized, causing unpredictable behavior.
Fixed a conflict between *CONTACT_EXCLUDE_INTERACTION and the thick segment pair check in MPP segment-to-segment (SOFT = 2) contact. The conflict led to excluding the wrong segment pairs.
Fixed damping in segment-to-segment (SOFT = 2) contact when using contact stiffness scaling by part. The damping was not adjusted correctly for the scaled stiffness values. This fix may change results a little but should not cause big changes.
Consider IDDOFF from *INCLUDE_TRANSFORM for REGION on optional Card E of *CONTACT_….
Consistent mass treatment of rigid bodies (RBSMS = 1 on *CONTROL_RIGID) did not work with rigid-to-deformable switching.
Selective mass scaling (IMSCL on *CONTROL_TIMESTEP) did not work properly on constrained tied contacts using backup tied contact (IPBACK = 1 on optional Card E of *CONTACT_…).
When ATYPE = 3 or 4 on *CONTROL_PORE_FLUID, pore fluid is modeled flowing through the solid element mesh. Cracks in the mesh act as impermeable barriers, except that fluid can flow through tied contacts (*CONTACT_TIED…) if FTIED = 1. In previous releases, this did not work if the tied contact was “groupable.”
For *CONTROL_STAGED_CONSTRUCTION:
Corrected the setup for the use of *DEFINE_CURVE_FUNCTION with the dual CESE solvers.
For dual CESE d3plot IBM-FSI nodal outputs, if the nodes on a fluid boundary are also very close to a structural part, they are now treated for plotting as if they were effectively inside the structure.
Fixed issue with *ELEMENT_DIRECT_MATRIX_INPUT combined with *CONTROL_IMPLICIT_MODAL_DYNAMIC that led to a crash.
Fixed internal energy computation for cohesive elements. Shear components were too small by a factor of 2.
Fixed damping energy computation (RYLEN = 2 on *CONTROL_ENERGY) for Hughes-Liu beam elements. Necessary strain increments were not rotated to the global system. Global \(z\)-components were not included in the energy computation.
Made fixes when using the EM 2D axisymmetric solver (*EM_2DAXI) with EM contact. Memory issue could cause some cases to fail.
Bug fix for EMSOL = 2 (periodic inductive heating solver) on *EM_CONTROL. Previously, models that involved imposed voltage and also had EM contact present would fail during the solve.
Fixed issue that caused the presence of *ICFD_DATABASE_FLUXSURF to affect the generated mesh.
Fixed update of the stiffness matrix for turbulent flows.
Fixed bug in the computation of the volume region of *ICFD_DEFINE_POROUS_REGION and *ICFD_CONTROL_GAP.
Fixed MPP implicit issue that caused some nodes not to tie for *CONTACT_AUTOMATIC_TIEBREAK when using NSOLVR = 12 on *CONTROL_IMPLICIT_SOLVER.
For METHOD = 102 (LOBPCG) on *CONTROL_IMPLICIT_EIGENVALUE:
Fixed incorrect element offsets for *INITIAL_STRAIN_SHELL and *INITIAL_STRAIN_TSHELL when they are in an included file with nonzero element offsets.
Fixed issue in dynain where *INITIAL_{STRESS/STRAIN}_SHELL did not use “+” to indicate long format.
Fixed issue where *INCLUDE_TRANSFORM did not work properly for *INITIAL_STRESS_SECTION.
Fixed the incorrect initialization of the additional thickness stretch degree of freedom of shells (ELFORM = 25, 26, and 27) when initialized with *INITIAL_VELOCITY.
Fixed some *INITIAL_STRAIN_SHELL output in the dynain file (written with *INTERFACE_SPRINGBACK_LSDYNA). The parametric coordinate \(T\) of through thickness-integration points could have been wrong, mainly in the case of using *PART_COMPOSITE.
Properly update control point coordinates prior to writing the dynain file (*INTERFACE_SPRINGBACK_LSDYNA). The local integration point coordinates were not grabbed correctly, leading to a low-quality mapping.
Fixed potential mapping errors with *INCLUDE_STAMPED_PART from standard FE parts to IGA shell parts *IGA_SHELL in cases where the number of in-plane integration points and through-thickness integration points differ.
Properly exclude interpolation elements for the computation of mass and inertia properties written to d3hsp and d3plot. This computation only affected the output but not the actual analysis.
Fixed some bugs in the mapping of the results from the IGA solid elements (*IGA_SOLID) to the related interpolation elements that may have led to strange post-processing results in the interpolation elements.
Fixed the following bugs that occurred for *MAT_ADD_DAMAGE_DIEM when in a file included with *INCLUDE_TRANSFORM:
Fixed issue for *MAT_ADD_DAMAGE_DIEM by not extrapolating in strain rate tables given by P1.
Fixed incorrect table evaluation of LCSDG on *MAT_ADD_DAMAGE_GISSMO when it is a *DEFINE_TABLE_4D. The table evaluation was not working correctly for the strain rates, and the temperature was zero in a purely mechanical analysis.
Fixed issue for *MAT_ADD_DAMAGE_GISSMO for the unlikely event of using shells with Lode parameter dependent FADEXP < 0 (*DEFINE_TABLE_3D) or LCREGD<0 (*DEFINE_TABLE_3D). Shell elements do not need a Lode dependence anyway.
Fixed error in the load curve input added during the input phase for *MAT_ADD_SOC_EXPANSION. For all load curves, an offset OFFA = 1 was accidentally added during the input phase.
Fixed not correctly accounting for temperature in the evaluation of the load curves for *MAT_ADD_THERMAL_EXPANSION.
Fixed combination of tetrahedron type 13 and material models with an equation of state (*EOS_…). A wrong new volume value was used in the energy update, leading to unstable results. This issue affected *MAT_015 (EOS mandatory), *MAT_224 (when using EOS), and *MAT_260 (when using EOS).
Stopped erroneously converting parameter C on *MAT_024 when *MAT_024 with VP = 3 is in a file included with *INCLUDE_TRANSFORM.
Corrected problem with the number of history variables in user materials (*MAT_USER_…) with solid elements when options INTOUT/NODOUT of *DATABASE_EXTENT_BINARY are set to STRAIN or ALL. It was already fixed in 2014 for explicit (subroutine urmathn
), but now it is also fixed for implicit (urtanh
).
For *MAT_058 (*MAT_LAMINATED_COMPOSITE_FABRIC) and *MAT_262 (*MAT_LAMINATED_FRACTURE_DAIMLER_CAMANHO), fixed bug in table evaluation for EA, EB, and GAB < 0 for shell elements that could have led to a wrong initial stiffness evaluation.
For *MAT_WINFRITH_CONCRETE (*MAT_084), fixed bug that affected the combination of RATE = 8 with DILRAT greater than zero, when cracks were undergoing sliding (shear displacement). Symptoms could include stresses being noisier than expected or crack opening displacements being tracked incorrectly in some elements.
Fixed the transformation of DAMP on *MAT_089 when *MAT_089 is in a file included with *INCLUDE_TRANSFORM.
Fixed issue with *MAT_098 solids initialized by dynain (*INITIAL_STRESS_SOLID). The initial volume was not properly scattered to all integration points.
For beam and hex spot welds, fixed a wrong interpretation of the values MRR, MSS, and MTT on *MAT_100 (*MAT_SPOTWELD), which were cyclically shifted. This error could have affected material definitions, where \(\mathrm{MRR}\neq\mathrm{MSS}\neq\mathrm{MTT}\).
Fixed issue with time averaging using NF on *MAT_100. We reduced the number of cycles for averaging when the total number of cycles thus far is less than NF. Initial stresses or forces could have been reduced inappropriately without this fix. This fix applies to spot weld solids, solid assemblies, and spot weld beams.
Align implicit behavior of *MAT_100 solids with and without SIGY < 0.
Added missing initialization of solid spot weld failure table when using solid spot welds in implicit with IACC = 1 on *CONTROL_ACCURACY. Without this fix, options like *MAT_100 with OPT = 10, *MAT_100_DA with *DEFINE_CONNECTION_PROPERTIES, or *MAT_240_FUNCTIONS did not work correctly.
Fixed bugs in the plasticity algorithm of *MAT_106 / *MAT_ELASTIC_VISCOPLASTIC_THERMAL that may result in a floating error in element processing.
Fixed issue with *MAT_124 (*MAT_PLASTICITY_COMPRESSION_TENSION) 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.
Enable *MAT_126 to be used with *MAT_ADD_GENERALIZED_DAMAGE, meaning add *MAT_126 to the list of available materials for IFLG2 = 1 (material system).
For *MAT_135, SIGMA0 < 0 (yield curve) did not work for WTM (FLG = 2), option NUMFI was not working as expected, and the failure mode on history variable #7 was missing.
Fixed bug in *MAT_COHESIVE_GENERAL (*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.
For *MAT_187 in a file included with *INCLUDE_TRANSFORM, fixed the conversion of logarithmic strain rates in LCIDT.
Fixed issue with *MAT_SOIL_BRICK (*MAT_192) that could cause a crash when running SMP with two or more processors.
Limit SLIMXT to 0.99 on *MAT_213 (*MAT_4A_MICROMEC). This restriction resolves the fiber stress dropping to 0.
Fixed thickness computation in *MAT_240 with THICK = 0.0 for pentahedral cohesive elements (ELFORM = 21 and 22).
Allow using *MAT_PML_NULL (*MAT_246) in a model with ALE, SALE, or SPH.
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.
Fixed stability issue in *MAT_273 / *MAT_CDPM causing a segmentation fault in some cases for MPP single precision.
Fixed bug in using large curve IDs (> 16.7 million) in *MAT_S15 (*MAT_SPRING_MUSCLE). The bug led to an error reporting the load curve as undefined.
Fixed a bug for *DATABASE_CURVOUT for thermal-structural coupling analysis that caused the database to be wrong.
Fixed incorrect mass reporting for cohesive shells type 46 and 47 in d3hsp.
Labels Principal/Max Stress Range on *DEFINE_MATERIAL_HISTORY did not work with dynamic relaxation.
Fixed issue with *DATABASE_PWP_FLOW when using automatic time factoring (see *CONTROL_PORE_FLUID with TARG, FMIN, FMAX). The fluid flow rate tended to rise or drop suddenly every 100 time steps during the period when the time factor was changing. This bug could also have affected the displacement time histories of nodes in the consolidating material, again with a pattern that repeated every 100 time steps.
Correct spcforc calculation for nodes with *ELEMENT_MASS_MATRIX.
Fixed a bug for *SENSOR_DEFINE_FORCE when TYPE = JOINT. The sensed results could depend on the joint definition sequence.
Fixed a bug for *SENSOR_DEFINE_FORCE when TYPE = PRESC-MOT. The sensed force was not correct.
Fixed a bug for TYPE = BELTPRET on *SENSOR_CONTROL that caused the pretensioner to not turn off correctly for pretensioner types 4 through 8.
Fixed bugs in the code that removes inactive SPH particles during redecompositions when REMSPH > 0 in *CONTROL_MPP_DECOMPOSITION_REDECOMPOSITION. Some issues would cause the program to crash, while others would cause SPH injections to terminate prematurely.
Fixed memory issues that could cause SPH simulations to crash when any of the following keywords were used: *DEFINE_SPH_MESH_OBJ, *DEFINE_ADAPTIVE_SOLID_TO_SPH, *RIGIDWALL, or *CONTACT_AUTOMATIC_NODES_TO_SURFACE.
Fixed bug that caused issues when running a simple restart of SPH simulations with MEMSPH < 0 in *CONTROL_SPH. The bug led to different issues depending on the feature used, including crashes or error terminations.
Fixed (simple) restarts for sharelib usermat when using *MODULE_LOAD or the command line option module=
. It was not working.
Fixed issue for sharelib usermat where *MODULE_USE could not be used for thermal materials.
Fixed format issue with *USER_INTERFACE_FRICTION when long=s
.
Fixed bug in interpreting part sets. This bug was only triggered if the input deck had part sets that contained composite materials. In this situation, if MPP decomposition referenced any part sets, the decomposition might not be what was expected. In some cases (even if the decomposition did not reference any part set), the program crashed during input processing. If no part sets were used in the decomposition, and the program did not crash during startup, the rest of the calculation was fine. There were no adverse effects on the actual simulation.
When OFFA > 0 on *DEFINE_CURVE, the old discretization code assumed that the first abscissa value on the input curve was 0.0, and inserted two extra curve values at \((0,0)\) and \((\mathrm{OFFA}\times 0.999,0)\). However, this assumption caused a reversal in the resulting curve if the first abscissa value on the curve was < 0. If the first abscissa value on the curve was > 0, \(\mathrm{OFFA}\times 0.999\) might be quite a bit less than the shifted curve location. The revised behavior is not to insert these two points at all if the original starting abscissa is < -OFFA, and otherwise to insert the two points at \((0,0)\) and \((\text{starting abscissa}+0.999\times\mathrm{OFFA},0)\).
For *COSIM_FMI_INTERFACE:
Fixed a bug that occurred when using *INCLUDE_TRANSFORM together with *NODE_TRANSFORM for a node set defined by BOX or VOL. The model was not transformed correctly.
Fixed issue with *PART_AVERAGED. A segmentation fault during initialization was possible if nodes were not numbered in a certain way. The numbering should not matter, and now it does not.
Made fixes for keyword format signs +, -, and %. Mixing those different format signs did not work in every case. See the section “GENERAL CARD FORMAT” for a description.
Fixed bug with *DEFINE_TABLE_2D in a *INCLUDE file. One symptom of the bug was incorrect output in dyna.inc.
Avoid error termination when *DEFINE_CONNECTION_PROPERTIES is used with (D)SIGY < 0.
Fixed issue with *DEFINE_MULTI_SHEET_CONNECTORS. Different parts/materials for joining elements JNTxx did not work.