LSDYNA R10.0.0 リリース « ACS NEWS

LSDYNA R10.0.0 リリース

2017 年 7 月 27 日 by yo yamgatta

LSDYNA R10.0.0 の実行モジュールとリリースノートが公開されました。
R10の実行には、リリースノート I.LICENSE に記載されているように、R10実行権付ライセンスが
必要となります。Windows用Complete Install版が出たら、各ユーザにはR10対応ライセンスを

となっています。R10であれば、 LS-DYNA/R10.0 以下に実行モジュールがあります。

DRAFT最新版 ( 2017/07/26 ) を Manual/R1000 以下にアップしてあります。

LSPREPOST:Ver4.3 Windows版のみリビジョン番号が付けられ、4.3.12 をアップしました。


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


The string “REVISION 10” must appear in the LS-DYNA license file in order to run
version R10.0.0. Please contact your LS-DYNA distributor ( if
you’re a direct customer of LSTC) if you need to have your license updated.

Due to missing ANSYS libraries, R10.0.0 cannot be run on Windows machines using an
ANSYS-issued license, nor can ANSYS data format be output by LS-DYNA.




Until such time the R10.0 User’s Manual is posted at,
the DRAFT User’s Manual at may be used as a
temporary substitute, but please be aware that a few features in the DRAFT
User’s Manual are not implemented in version R10.0.0.




The remainder of this file provides a brief description of new features and
enhancements in version 10.0.0. Some bug fixes are also described, some of
which may also be included in R9 releases.

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

Excluding the “Miscellaneous” category, the categories are arranged alphabetically.

The categories are:

CESE (Compressible Fluid Solver)
Discrete Element Method
EM (Electromagnetic Solver)
Forming Analysis
ICFD (Incompressible Fluid Solver)
Implicit (Mechanical) Solver
Isogeometric Elements
*MAT and *EOS
SPG (Smooth Particle Galerkin)
SPH (Smooth Particle Hydrodynamics)
Thermal Solver



________________________ *AIRBAG ___________________

Enhance the robustness of *AIRBAG_INTERACTION to help avoid instability
in MPP when the interaction involves more than two bags.

– Adjust dm_out calculation of vent hole to avoid truncation error.
– Fix bug in chamber output when there are multiple airbags and multiple chambers
not in sequential order.
– Bug fix for closed volume of airbag/chamber with intersecting tubes.
– Add new feature to allow user to define local coordinates of jetting of particles
through internal vents.
– Support *SENSOR_CONTROL for CPM airbag.
– CPM is not supported for dynamic relaxation. Disable CPM airbag feature during DR
and reactivate airbag following DR.
– Allow solid parts in definition of internal part set. The solid volume will be excluded
from the the airbag volume.
– Allow additional internal part set for shells. The shell part should form a closed
volume and its volume will be excluded from the airbag volume.


________________________ ALE ___________________

*LOAD_BLAST_SEGMENT: Automatically generate the ALE ambient elements attached to
a segment or segment set.

*BOUNDARY_AMBIENT_EOS: implement *DEFINE_CURVE_FUNCTION for the internal energy
and relative volume curves.

If NBKT<0 in *CONTROL_ALE, call *DEFINE_CURVE to load a curve defining the number
of cycles between bucket sorting in function of time.
If NBKT>0, the bucket sorting is activated if the mesh rotations and deformations
are large.

*ALE_FSI_TO_LOAD_NODE: Implement a mapping of the FSI accelerations
(penalty forces/masses) computed by *CONSTRAINED_LAGRANGE_IN_SOLID (ctype=4)
between different meshes.

Add a parameter CID to output fsi forces in a local coordinate system.

*DATABASE_ALE: Add VAR=15 to output the kinetic energy by elements and ALE groups.

Structured ALE (S-ALE) solver:
– ALE models using rectilinear mesh can be directly converted to S-ALE models
and run using S-ALE solver by assigning CPIDX=-1 in *ALE_STRUCTURED_MESH.
– S-ALE progressive mesh generation via RATIO in *ALE_STRUCTURED_MESH_CONTROL_POINTS.

Recode ALE Donor Cell/Van Leer advection routines and restructure
*CONSTRAINED_LAGRANGE_IN_SOLID communication algorithm.
These give 30% improvement in run time.


________________________ *BOUNDARY ___________________

*BOUNDARY_PWP can now accept a *DEFINE_FUNCTION instead of a load curve.
The input arguments are the same as for *LOAD_SEGMENT: (time, x, y, z, x0,
y0, z0).

Add option of “toffset” for *BOUNDARY_PRESCRIBED_ORIENTATION_RIGID to offset
the curves by the birth time.

MPP now supports MCOL coupling, *BOUNDARY_MCOL.

Fix bug of there being fully constrained motion of a rigid part when prescribing
more than one translational dof with *BOUNDARY_PRESCRIBED_MOTION_RIGID while
con2=7 in *MAT_RIGID, i.e., all rotational dof are constrained.

Instead of error terminating with warning message, STR+1371, when *BOUNDARY_PRESCRIBED_MOTION
and *BOUNDARY_SPC is applied to same node and dof, issue warning message, KEY+1106, and
release the conflicting SPC.

Fix erroneous results if SET_BOX option is used for *BOUNDARY_PRESCRIBED_MOTION.

or give wrong results if more than one of this keyword is used.

Fix segmentation fault when using *BOUNDARY_PRESCRIBED_ORIENTATION with vad=2,
i.e. cubic spline interpolation.

Added instruction *BOUNDARY_ACOUSTIC_IMPEDANCE for explicit calculations
that applies an impedance boundary condition to the boundary of
*MAT_ACOUSTIC element faces. This is a generalization of the non-reflecting
boundary conditon. Both *LOAD and *BOUNDARY_ACOUSTIC_IMPEDANCE may
be used on the same faces, in which case the boundary acts like both
and entrant and exit boundary.

Fixed a problem with non-reflecting boundaries redefining the bulk modulus which
caused contact to change behavior.

Added support for acoustic materials ith non-reflective boundaries.

Fix the single precision version so that *INCLUDE_UNITCELL now has no problem
to identify pairs of nodes in periodic boundaries.

When using *INCLUDE_UNITCELL to generate Periodic Boundary Constraints (PBC)
for an existing mesh, a new include file with PBCs is generated instead of
changing the original mesh input file. For example, if users include a file
named “mesh.k” through *INCLUDE_UNITCELL (INPT=0), a new include file named
“uc_mesh.k” is generated where all PBCs are defined automatically following
the original model information in mesh.k.

*INCLUDE_UNITCELL now supports long input format in defining the element IDs.

Include SPC boundary conditions as part of H8TOH20 solid element conversion.

This option allows a node set to be generated including existing nodes and new
nodes created from h-adaptive mesh refinement along the straight line connecting two
specified nodes to be included in prescribed boundary conditions.


________________________ Blast ___________________

– Consider eroding of shell and solid in particle_blast.
– Support interface force file output for gas particle-structure coupling.
– Bug fix for wet DES coupled with beam.
– MPP now uses async communication for DES coupling to improve general performance.
– Support for solid element whens modeling irregular shaped charge with
– Output adaptive generated DES and NODE to a keyword file.

Fix inadvertent detonataion of HE part when there are more than one HE part and
even though the HE part is not defined with *INITIAL_DETONATION.

Fixed explicit *BOUNDARY_USA_COUPLING to support *INITIAL_STRESS and
*INITIAL_STRAIN_ usage, typically from a dynain file.

IDRFLF=5, so a static implicit calculation can be used to initialize/preload
a model before conducting an explicit transient calcultion. If inertia
relief is used during the static phase, then it must be disabled with
*CONTROL_IMPLICIT_INERTIA_RELIEF for the explilcit phase.

Support imperial unit system for *PARTICLE_BLAST.
mass=lbf-sツイ/in , length=inch, time=second, force=lbf, pressure=psi.

Add option to define detonation point using a node for *PARTICLE_BLAST.

Add interface force file output for *PARTICLE_BLAST with keyword
*DATABASE_BINARY_PBMFOR and command line option “pbm=”.
This output of forces for gas-particle-structure coupling.

For *PARTICLE_BLAST, add built-in smoothing function for particle structure

For *PARTICLE_BLAST, when coupling with DEM, the DEM nodes that are
inside HE domain are automatically deactivated.

Add support for solid elements when modeling irregular shaped charge with
The original approach only supports shell elements and the initial coordinates
of HE particle are at shell surface. The model had to relax several
hundred timestep to let particle fill in the interior space, which was not convenient.
Using new approach, the initial positions of HE particles are randomly distributed
inside the container by using solid element geometry.
Both hex and Tet solids are supported.

For particle blast method (PBM), consider reflecting plane as infinite.



________________________ CESE (Compressible Fluid Solver) __________________


CESE time steps:

Modified the blast wave boundary condition treatment to make it more stable
in blast wave calculations (with *LOAD_BLAST_ENHANCED).

The flow field calculation will be skipped if the structural time-step is
much smaller than the fluid time step, until both time-steps reach the same
order. This will save CPU time in some fluid/structure interaction (FSI)
problem calculations.

In addition to depending upon the local CFL number, the fluid time step
‘dt’ calculation has been modified to also adjust dynamically to extreme
flow conditions. This makes stiff flow problems more stable especially in
3D fluid problem calculations when the mesh quality is poor.


Moving mesh solvers:

Corrected several aspects of the implicit ball-vertex (BV) mesh motion solver
for the following keywords:

The absolute tolerance argument is no longer used by the BV solver. As an
example, the following is all that is needed for CESE moving mesh problems:
$ ialg numiter reltol
1 500 1.0e-4

Also corrected the CESE moving mesh solvers for a special case involving a
wedge element. Also, fixed the d3plot output of wedge element connectivities
for the CESE moving mesh solvers.


CESE d3plot output:

Added real 2D CESE output, and this is confirmed to work with LSPP4.3
and later versions. This also works for d3plot output with the 2D CESE
axisymmetric solver.

For all immersed-boundary CESE solvers, corrected the plotting of the
Schlieren number and the chemical species mass fractions.

The following new CESE input cards are related to surface d3plot output:
In conjunction with the above, new FSI and conjugate heat transfer
output on solid (volume) mesh outside boundaries is now supported.


CESE immersed-boundary method (IBM) FSI solvers:

*CESE_FSI_EXCLUDE is a new keyword for use with the CESE immersed boundary
method FSI solvers. With it, unnecessary structural parts that are not
actively participating in the FSI in the CESE IBM-FSI solver can now be
excluded from the CESE FSI calculation. This is also supported for the
case when some of the mechanics parts involve element erosion.


CESE chemistry solvers:

In R10, we also updated several things in the FSI solver with chemistry called FSIC.
In chemical reacting flow, a delta time between iterations is extremely important for
code stabilization and thus, to get reasonable results. To this end, we optimized such
an iterative delta time, which is based on the CFL number. This optimization is based on
the gradient of the local pressure, which we think will dominate control of the CFL number.

Next, the total number of species are increased up to 60 species in chemical reacting flow,
so that the reduced Ethylene(24~53 species) and Methane(20~60 species) combustion are
possible with this version.

We will update more practical examples about FSIC problems including precise experimental

Note that we can provide some related examples upon user request.

Other corrections of note include the following:

Brought in enthalpy-related corrections to the CESE chemistry solvers.

Fixed the conjugate heat transfer boundary condition for the 2D and 3D
CESE fixed mesh chemistry solvers.

Corrected the initialization of fluid pressure for CESE IBM chemistry solvers.

Enabled output of the timing information for the CESE chemistry solvers.

Added restart capability to the CESE chemistry solvers.



________________________ *CHEMISTRY ___________________

New inflator models of Pyrotechnic and Hybrid type are updated. It is
important to note that these are basically 0-dimensional models via the
following two main keywords,


By using the *CHEMISTRY CONTROL_INFLATOR keyword, the user can select the
type of of the solver, output mode, running time, delta t, and time
interval for output of time history data.

For example, if we have a keyword set up as,
$ isolver ioutput runtime delt p_time
1 0 0.1 1.0e-6 5.0e-4

with “isolver set to 1”, the user can simulate a conventional Pyrotechnic
inflator mode, while with “isolver” set to 2 or 3, Hybrid inflator simulation
is possible.

In addition, to continue an airbag simulation via an ALE or CPM method,
the user can save the corresponding input data file by using “ioutput” option.
For more details about airbag simulations using a saved data file, refer to
the keyword manual.

Also, note that the updated version has two options for the Hybrid models:
– isolver = 2 => Hybrid model for the cold flow
– isolver = 3 => Hybrid model for the heated flow.

In the *CHEMISTRY_INFLATOR_PROPERTIES keword, there are several cards to set up
the required properties of an inflator model. The first two cards are for the
propellant properties involved in inflator combustion.
For example,
$card1: propellants
$ comp_id p_dia p_height p_mass p_tmass
10 0.003 0.0013 2.0e-5 5.425e-3
$card2: control parameters
$ t_flame pindex A0 trise rconst
2473. 0.4 4.45e-5 0.0 0.037
In the first card, the user can specifiy the total amount of propellant particles
and their shape.
Using the second card, the user can also specifiy the thermodynamics of the propellant
and its burning rate.
To support the options in card2, especially the second option, pindex, and the third, A0,
we provide a standalone program upon request for the propellant equilibrium simulation.
The remaining cards are for the combustion chamber, gas chamber, and airbag, respectively.


________________________ CONTACT ___________________

Surfaces are tied based on meeting temperature and proximity criteria.
Non-MORTAR version of this contact was introduced at R9.0.1.

Fix issue setting contact thickness for rigid shells in ERODING contact.

Add MPP support for *CONTACT_AUTOMATIC_GENERAL with adaptivity.

Change “Interface Pressure” report in intfor file
from abs(force/area) to -force/area, which gives the
proper sign in case of a tied interface in tension.

Rework input processing so that more than one *CONTACT_INTERIOR may be used,
and there can be multiple part sets in each one.

Minor change to how pressure is computed for triangles in the intfor database.

Fix 2 bugs for contact involving high order shell elements:
– When high order shell elements are generated by SHL4_TO_SHL8.
– When using a large part id like 100000001.

Implement a split-pinball based contact option for neighbor elements in
segment-based contact. Invoke this option by setting |SFNBR|>=1000.
The new algorithm is more compatible with DEPTH=45 so that there
is no longer a need to split quads.


The effect of shell reference system offsets on contact surface location is now properly
considered when running MPP. The shell offset may be specified using NLOC in *SECTION_SHELL
or in *PART_COMPOSITE, or by using the OFFSET option of *ELEMENT_SHELL.
This effect on contact is only considered when CNTCO is set to 1 or 2 in *CONTROL_SHELL.

Fix bug of zero forces in rcforc at time=0.0 for *CONTACT_AUTOMATIC_SURFACE_TO_SURFACE
after dynamic relaxation when consistency is on in SMP.

Fix input error when using many *RIGIDWALL_GEOMETRIC_… with _DISPLAY option.

Fix input error when *CONTACT_ENTITY is attached to a beam part, PID.

Fix error termination due to negative volume, SOL+509, even when
*CONTACT_ERODING… is set. This affects MPP only.

Check whether a slave/master node belongs to a shell before updating the
nodal thickness when ISTUPD>0.0 in *CONTROL_SHELL and SST/ and
in SSFT/SMFT=0.0 card 3 of *CONTACT_….. For SMP only.

Fix penetrating nodes when using *CONTACT_ERODING_NODES_TO_SURFACE with SOFT=1
in *MAT_142/*MAT_

Fix seg fault when using *CONTACT_AUTOMATIC_SINGLE_SURFACE_TIED with consistency
mode, .i.e. ncpu<0, for SMP.

Fix corrupted intfor when using parts/part sets in *CONTACT_AUTOMATIC_….
This affects SMP only.

Implement incremental update of normal option, invoked by TIEDID=1,

resulting in warning message, SOL+540. This affects SMP only.

Fix spurious repositioning of nodes when using *CONTACT_SURFACE_TO_SURFACE for SMP.

Added support to segment based contact for the SRNDE parameter on optional card E.
This option allows round edge extensions that do not extend beyond shell edges and
also square edges. The latter overlaps with the SHLEDG parameter on card D.

Fixed a potential memory error that could occur during segment based contact input.

Fixed an error that could cause an MPP job to hang in phase 3. The error
could occur when SOFT=2 contact is used with the periodic intersection check
and process 0 does not participate in the contact.

Modified SOFT=2 contact friction when used with *PART_CONTACT to define
friction coefficients, and the two parts in contact have different coefficient
values. With this change, the mu values used for contact will be the average of the
values that are calculated for each part. Prior to this change, mu was
calculated for only the part that is judged to be the master. This change makes
the behavior more predictable and also makes it behave like the other contacts
with SOFT=0 and SOFT=1.

Added a warning message (STR+1392) for when trying to use the ORTHO_FRICTION contact option with
SOFT=2 contact, because that option is not available. The contact type is switched to SOFT=1.

Fixed serious error in MPP *CONTACT_2D_AUTOMATIC_SURFACE_TO_SURFACE when used
with node sets to define the contact surfaces. The master side was likely to
trigger an spurious error about missing nodes that terminated the job.

Swiched segment based (SOFT=2) non-eroding contact to prevent it from adding any
new segments when brick element faces are exposed when other elements are deleted.
There were two problems. The first is that the interface force file could not
support NFAIL=1 on *DATABASE_EXTENT_INTFOR because the intfor file does not expect
new segments to replace the old, so it just undeletes the old segments instead of
adding the new. The second problem is that when non-eroding contact is used, we
only have enough memory in fixed length arrays for the segments that exist at
t=0. When segments are deleted, I was using the space that they vacated to create
new segments, but it was very likely that some segments could not be created when
the number of open spaces was less than the number of new segments that are needed.
In this case, some segments would not be created and there would be surfaces that
could be penetrated with no resistance. This behavior is impossible to predict, so
it seems better to prevent any new segments from being created unless eroding
contact is used.

Fixed rcforc output for MPP 2D automatic contact. The forces across
processors were missed.

Fixed a segment based contact error in checking airbag segments. This affects
only airbags that are defined by control volumes, that is defined by *AIRBAG.
The symptom was a segmentation fault.

Fixed SMP eroding segment based (SOFT=2) contact which was not activating the negative
volume checking of brick elements. The MPP contact and the other SMP contacts were
doing this but not SMP SOFT=2.

Fixed support for CNTCO on *CONTROL_SHELL by segment based (SOFT=2) contact. It
was adjusting the contact surface only half of what it should have done.

Fixed eroding segment based contact when used with the CNTCO>0 on *CONTROL_CONTACT.
A segmentation fault was occurring.

Modified MPP segment based (soft=2) contact to use R8 buffers to pass
nodal coordinates. This should reduce MPP scatter when decomposition

Added support for using a box to limit the contact segments to those initially in
the box when using eroding segment based contact. The box option has not been available
for any eroding contact up until now. (SOFT=2 and SBOXID, MBOXID on *CONTACT_ERODING_…).

Fixed force transducers with MPP segment based contact when segments are involved
with multiple, 2-surface force transducers. The symptom was that some forces were
missed for contact between segments on different partitions.

Added support for *ELEMENT_SOURCE_SINK used with segment based contact. With this update,
inactive elements are no longer checked for contact.

Fixed an MPP problem in segment based contact that cased a divide by zero
during the bucket sort. During an iteration of the bucket sort, all
active segments were somehow in one plane which was far from the origin
such that a dimension rounded to zero. The fix for this should effect
only this rare case and have no affect on most models.

Modified segment based (SOFT=2) contact to make SMP and hybrid faster,
particularly for larger numbers of processors.

Fixed thermal MPP segment based contact. The message passing of thermal energy due
to friction was being skipped unless peak force data was written to the intfor file.

Fixed likely memory errors in MPP problems with 2D automatic contact when
friction is used.

Support the VC parameter (coefficent for viscous friction) in the case of
segment based contact, which has previously been unsupported. This option will work best
with FNLSCL>0, DNLSCL=0 on optional card D. The card D option causes the contact
force to be proportional to the overlap area which causes even pressure distribution.

Enabled segment based contact (SMP and MPP) to work with type 24 (27-node) brick elements.

Fixed MPP segment based contact for implicit solutions. During a line search,
some data was not restored correctly when the solver goes back to the last converged
state. This caused possible memory errors.

Fixed friction for MPP segment based contact in the implicit solver. The sliding velocity was
calculated incorrectly using the explicit time step rather than the implicit step.

Fixed a bug in MPP *CONTACT_2D_AUTOMATIC…, where a flaw in code used during
MPP initialization could cause segments to fail to detect penetration.

Fixed the thick beam checking of *CONTACT_2D_AUTOMATIC_SINGLE_SURFACE in the MPP version.
There was a memory error that could occur if thick beams were in the model.

New values for user friction element history (*USER_INTERFACE_FRICTION):
material directions, relative velocity components and yield stress.

Add new user-defined interface for tiebreak contact invoked by

Begin MORTAR contact notes=========================================

PENMAX and SLDTHK has taken over the meanings of SST and TKSLS
in R9 and earlier, although in a different way. Now
PENMAX corresponds to the maximum penetration depth for solid
elements (if nonzero, otherwise it is a characteristic length).
SLDTHK is used to offset the contact surface from the physical
surface of the solid element, instead of playing with SST and
TKSLS, which was rather awkward. This update also saves the
pain of having to treat shells and solids in separate interfaces
if these features are wanted. This changes the behavior in some
inputs that did have SST turned on for solids, but a necessary
measure to make the contact decent for future versions.

The characteristic length for solid elements has been revised to not
result in too small sizes that would lead to high contact stiffnesses
and less margin for maximum penetration.

SFS on CONTACT_…_MORTAR can be input as negative, then
contact pressure is the -SFS load curve value vs penetration.

Smooth roundoffs of sharp edges in MORTAR contact has been extended
to high order segments, meaning that edge contact is valid even in this

The MORTAR contact now honors the NLOC parameter for shells, see *SECTION_SHELL,
adjusting the contact geometry accordingly. Note that CNTCO on *CONTROL_SHELL
applies as if always active, meaning that if NLOC is on, then CNTCO will also
be “on” for MORTAR contacts.

Output of contact gaps to the intfor file is now supported for MORTAR contact, see

Transducer contacts, *CONTACT_…_FORCE_TRANSDUCER, are supported
for MORTAR contact in SMP and MPP. A disclaimer is that the slave and master sets
in the transducer have to be defined through parts or part sets.
Warnings are issued if this is violated.

Option 2 is now supported for tiebreak MORTAR contact, *CONTACT_…_MORTAR_TIEBREAK,
but only for small sliding. Options 4 and 7 are supported in the MORTAR tiebreak
contact for any type of sliding.

For explicit analysis, the bucket sort frequency for MORTAR contact is 100, but
can be changed through parameter BSORT on the CONTACT_…_MORTAR card or
NSBCS on CONTROL_CONTACT. Note that the MPP bucket sort parameter does not apply.
This assumes to improve the efficiency of MORTAR explicit contact significantly
compared to R9 and earlier versions.

Dynamic friction is supported in MORTAR contact for explicit and implicit dynamic
analysis. See FD and DC on *CONTACT_… card.

Wear calculations are supported for the MORTAR contact. See CONTACT_ADD_WEAR.

Triangular shell form 24 is supported with MORTAR forming contact and accounts
for high order shape functions.

Automatic MORTAR contact now supports contact with end faces of
beam elements and not just the lateral surfaces.

Mortar contact is available in 2D plane strain and
axisymmetric simulations, but only for SMP implicit. See CONTACT_2D_…MORTAR.

End MORTAR contact notes=================================================

Wear computed from *CONTACT_ADD_WEAR can optionally be output to dynain
on optional card of *INTERFACE_SPRINGBACK_LSDYNA. This will generate
*INITIAL_CONTACT_WEAR cards for subsequent wear simulations, and LS-DYNA
will apply this wear and modify geometry accordingly. Restrictions
as described in the manual apply.

to define part ID and a node set is automatically generated.


________________________ *CONSTRAINED ___________________

Add frictional energy calculation for constraint-based rigid walls.

– Works with r-adaptivity now.
– Can now constrain beams in tshells as well as solids.

Fix a bug for *CONSTRAINED_LOCAL that might mistakenly constrain z-translation
when RC=0.

The following options do not support MEMORY=auto properly. The MEMORY=auto option will
be turned off in this section and report an error if additional memory allocation is needed.

Switched translational joints with stiffness to use double precision storage
for the displacement value so that the calculated forces are more accurate.
This prevents round-off error that can become significant.

Fixed *CONSTRAINED TIED_NODES_FAILURE when used with MPP single surface
segment based contact. Non-physical contact between segments that share
tied constraints was being penalized leading to failure of the constraints.

now support the SPOTDEL option of *CONTROL_CONTACT. That means if shell
elements involved in the SPR domain fail, the SPR gets deactivated.


________________________ *CONTROL ___________________

Fix possible error termination with single precision MPP when in
*CONTROL_SOLID and using solid formulation 10/13/44.

Fix spurious deletion of elements when using in *CONTROL_TERMINATION,
erode=1 in *CONTROL_TIMESTEP and initialized implicitly in dynamic relaxation.

Added keyword *CONTROL_ACOUSTIC to calculate the nodal motions of
*MAT_ACOUSTIC nodes for use in d3plot and time history files. Without
this option the *MAT_ACOUSTIC mesh propagates pressure but does not
deform because it uses a linear Eulerian solution method. The structural
response is unaffected by this caluclation; it is only for visualization
and will roughly double the time spent computing acoustic element

When IACC=1 on *CONTROL_ACCURACY and for shell type 16/-16 in nonlinear implicit,
shell thickness change due to membrane strain when ISTUPD>0 in *CONTROL_SHELL
is now included in the solution process and will render continuity in forces
between implicit time steps. The output contact forces will reflect the
equilibriated state rather than the state prior or after the thickness update.

Fix bug when RBSMS in *CONTROL_RIGID, affecting mass scaled solutions,
is used in conjunction with *ELEMENT_INERTIA and/or *PART_INERTIA,
specifically with choices of IFLAG on

Tshells added to the subcycling scheme (*CONTROL_SUBCYCLE).

Tshells and spotweld beams are supported in selective mass scaling..

Add a new keyword: *CONTROL_FORMING_SHELL_TO_TSHELL to convert shell elements
to tshell elements.
– If a parent node has SPCs, the same SPC constraints will be applied to the
corresponding tshell nodes.
– If adaptivity is invoked, *BOUNDARY_SPC_SET is automatically updated to
include newly generated nodes.
– Allows the normal of the segment set to be changed.
– Can offset the generated tshells from the mid-surface of the parent shells.
– Automatically generate segment sets for the top and bottom surfaces, which
can be used for contact.


________________________ Discrete Element Method ___________________

Implement generalized law of erosion for *DEFINE_DE_TO_SURFACE_COUPLING based
on the following article in the journal “Wear”:
Magnee, A., Generalized law of erosion: application to various alloys
and intermetallics, Wear, Vol. 181, 500, 1995.

Modify tangential force calculation to get better rigid body rotation behavior

Support restart feature for DEM interface force file and DATABASE output.

Instead of using bulk modulus, use mass and time step to estimate contact
stiffness for SPH-DEM coupling. This should be better if DEM material is
quite different from SPH material.

Fix *DEFINE_DE_MASSFLOW_PLANE bug if DE injection is defined.

Add CID_RCF to *DEFINE_DE_TO_SURFACE_COUPLING for force output in
local coordinates to ‘demrcf’ file.

Update the *DEFINE_DE_BY_PART card so that it matches the capabilities of

Add penalty stiffness scale factor, thickness scale factor, birth time

Add dynamic coefficient of friction to *CONTROL_DISCRETE_ELEMENT.

Implement Finnie’s wear law and user defined wear model to

Implement user-defined curve for DEM frictional coefficient as function of time.

Implement user-defined curve for contact force calculation for

Fix inconsistent results between *DEFINE_DE_BY_PART and


________________________ *ELEMENT ___________________

Fixed bug affecting output from beam elements ELFORM=2 when certain uncommon inputs
are present. Forces and moments in the output files could be wrongly
rotated about the beam axis. This affected the output files only, not
the solution inside LS-DYNA. The error could occur under two circumstances:
(a) if IST on *SECTION_BEAM is non-zero, the output forces
and moments are supposed to be rotated into the beam’s principal axis
system, but this rotation could be applied to the wrong beam elements;
and (b) when no ELFORM=2 elements have IST, but the model also contains
beams with ELFORM=6 and RRCON=1 on the SECTION_BEAM card, some of the
ELFORM=2 elements can have their output forces and moments rotated by
1 radian.

Fix a bug affecting 2d seatbelt with time-dependent slipring friction.

Fix erroneous 1d seatbelt slipring message.

Fix seatbelt consistency issue in SMP (ncpu<0).

Add error message when 2d seatbelt part doesn’t have shell formulation of 5 and

Fix a bug for 2d seatbelt that could occur when a model has both 1d and 2d belts,
and a 1d pretensioner of type 2, 3 or 9.

Fix an MPP seatbelt bug that could occur when using a type 9 pretensioner.

Allows shell formulation 9 to be used for 2d seatbelt. It was reset to formulation 5 by
LS-DYNA, no matter what formulation was input. Now, only formulation 5 and 9 are
accepted as input. Other formulations will incur error message.


Added cohesive shell formulation -29. This formulation uses a cohesive
midlayer where local direction q1 coincides with the average of the
surrounding shell normals. This formulation is better suited for
simulating normal shear.

Cohesive shell formulation +/-29: Fixed absence of part mass in d3hsp.

Make *TERMINATION_DELETED_SOLIDS work with hex spot weld failures.

Fix incorrect load curve used if large value is used for FC<0 and/or FCS<0 in

Fix incorrect velocity on accelerometer if
– velocity is prescribed on the rigid body that the accelerometer is attached to, and

Fix incorrect discrete spring behavior when used with adaptivity.

Fix input error when using *DEFINE_ELEMENT_DEATH with BOXID>0 for MPP.

Modify tolerances on error messages SOL+865 and SOL+866 to prevent unnecessary error
terminations when translational or rotational mass of a discrete beam was
close to zero.

Made the solid element negative volume warning SOL+630 for penta formulatgion 15
consistent with the volume calculation in the element. With this change, elements
are deleted rather than the job terminating with error SOL+509.

Fixed the default hourglass control for shell form 16. It was defaulting
to type 5 hourglass control rather than 8.

Fixed default hourglass control when the *HOURGLASS control card is used but no HG
type is specified. We were setting to type 1 instead of 2. Also, fixed the
default HG types to match the user’s manual for implicit and explicit.

Fixed the fully integrated membrane element (shell ELFORM=9) when used with NFAIL4=1
on *CONTROL_SHELL and there are triangular elements in the mesh. Triangular elements
were being deleted by the distorted element check.

Fixed a divide by zero error that occurred with *SECTION_BEAM, ELFORM=6,
SCOOR=12 or -12, and node 3 was omitted on *ELEMENT_BEAM, and nodes 1 and 2
are along the global y-direction or z-direction.

Fixed laminated shell theory for type 6 and 7 shell elements when made
active by LAMSHT=3 or 5 on *CONTROL_SHELL.

called SHRFAC which is a scale factor for the out-of-plane shear stress that
allows the user to choose the stress distribution through thickness.
This was motivated by test data that shows that for large differences is layer
shear stiffness, the parabolic assumpion is poor.

Fixed implicit hourglass stiffness in viscoelastic materials when used with
tshell forms 5 or 6. The stiffness was much too small.

Modified tshell type 5 to use the tangent stiffness for calculating the Poisson’s affects
and hourglass control for *MAT_024. This makes the behavior softer during buckling
which is much more realistic.

Fixed a significant bug in segment based contact when SHLEDG=1 and SBOPT=3 or 5 and
DEPTH<45, and shell segments in contact have different thicknesses. A penetration
check was using incorrrect thicknesses causing contact to be detected too late,
particularly for edge to surface contact.

Improved the time step calculation for triangular tshell elements. The time
step was too conservative for elements with significant thickness. This fix does
not affect tshell type 7.

Fixed all tshells to work with anisotropic thermal strains which can be defined
by *MAT_ADD_THERMAL. Also, this now works by layer for layered composites.

Enabled tshell form 5 to recalculate shear stiffness scale factors when
plasticity material models 3, 18, 24, 123, or 165 are included in a composite section.
Prior to this change the scale factors were based on elastic properties so
after yielding, the stress distribution was not what was expected. This
new capability supports the constant stress option, the parabolic option, and

Improved tshell 5 when used with mixed materials in the layers. A failure to use
the correct Poisson’s ratio was causing a less accurate stress tensor.

Modified the time step calcualtion for tshell forms 3 and 5. A dependence on
volumetric strain rate was removed in order to prevent oscillations in the time step which
caused stability problems, particularly for tshell 5.

Fixed tshell constant shear stress option (TSHEAR=1 on *SECTION_TSELL or *PART_COMPOSITE).
It was producing a not very constant stress distribution.

Fixed stress and strain output of tshells when the composite material flag
CMPFLG is set on *DATABASE_EXTENT_BINARY. The transformation was backwards.

Fixed mass of parts reported to d3hsp when *ELEMENT_SHELL_SOURCE_SINK
is used. The mass of inactive elements was being included.

Enabled *MAT_026 and *MAT_126 (HONEYCOMB) to be used with tshell forms
3, 5, and 7. It was initialized incorrectly causing a zero stress.

Added a missing internal energy calculation for tshell form 6.

Enabled tshell forms 1, 2, and 6 to work with material types 54, 55, and 56.

Modified the z-strain distribution in tshell forms 5 and 6 when used in
composites with mixed materials that are isotropic. The existing assumed strain scheme
was doing a poor job of creating a constant z-stress through the thickness.

Increased the explicit solution time step for thin shell composite elements.
The existing method calculated a sound speed using the stiffness from the
stiffest layer and dividing it by the average density of all layers. This
could be overly conservative for composites with soft layers of low density.
The new method uses the average stiffness divided by average density. This
is still conservative, but less so.

Corrected rotational inertia of thin shells when layers have mixed density and the outer
layers are more dense than innner layers. The fix will mostly effect elements that are
very thick relative to edge length.

Added support for *ELEMENT_SHELL_SOURCE_SINK to type 2 shells with BWC=1 on

Prevent inactive shell elements (from *ELEMENT_SHELL_SOURCE_SINK) from
controlling the solution time step.

Fixed *LOAD_STEADY_STATE_ROLLING when used with shell form 2 and Belytschko-
Wong-Chang warping stiffness (BWC=1 *CONTROL_SHELL). The load was not being applied.

Improved the brick element volume calculation that is used by the option erode
elements (ERODE=1 on *CONTROL_TIMESTEP or on *CONTROL_SOLID). It was
not consistent with the element calculation which caused an error termination.

Fixed all tshell forms to work with anisotropic thermal strains which can be defined
by *MAT_ADD_THERMAL. Also, this now works by layer for layered composites.

Reworked shell output so that we can correctly output stress in triangular shells when
triangle sorting is active, that is when ESORT=1 or 2 on *CONTROL_SHELL.

Permit the definition of zero thickness layers in the stacking sequence.
This allows the number of integration points to remain constant even as
the number of physical plies varies and eases post-processing since a
particular integration point corresponds to a physical ply.
Such a capability is important when plies are not continuous across a
composite structure.
To represent a missing ply, set THK to 0.0 for the corresponding integration
point and additionally, either set MID=-1 or set PLYID to any nonzero value.
Obviously, the PLYID option applies only to the keywords containing LONG.

Implemented sum factorization for 27-node quadratic solid that may increase
speed by a factor of 2 or 3.

Support second order solid elements (formulations 23,24,25,26) for

Invoke consistent mass matrix of 27-node hex element for implicit dynamics
and eigenvalues.

Reorder node numbering when assembling global stiffness matrix for 27-node hex.
This fixes a bug in which it was reported than the implicit 27-node element
didn’t work

Automatically transfer nodal boundary conditions for newly generated nodes
if H8TOH27 option is used in *ELEMENT_SOLID.


Modify initialization of material directions for solid elements.
If there are only zeros for all the 6 values in *INITIAL_STRESS_SOLID,
then the values from the other input (e.g. *ELEMENT_SOLID_ORTHO) are kept.

Enable *PART_STACKED_ELEMENTS to pile up shell element layers.
Before, it was necessary that solid element layers were placed between
shell element layers. Now, shell element layers can follow each other
directly. Contact definitions have to be done separately.

Allow *PART_STACKED_ELEMENTS to be used in adaptive refinement simulations.

Add alternative mass calculation for critical time step estimate
of cohesive elements. This hopefully resolves rarely occuring
instability issues. Option ICOH on *CONTROL_SOLID is used for that.

Correct the strain calculation for tet formulation 13.
This did not affect the stress response, only output of strains.
Nodal averaging was not accounted for.

User defined elements (ELFORM = 101 to 105 on *SECTION_SHELL/SOLID)
can now be used together with *MAT_ADD_EROSION.

Add option to define a pull-out force vs. time curve
in *ELEMENT_BEAM_SOURCE by defining a negative variable FPULL.

Solid tet form 13 supported for all materials in implicit,
including a presumable consistency improvement for the future.

The Hughes-Liu beam is supported in *INTEGRATION_BEAM such each integration
point may refer to a different part ID and thus have a different coef. of
thermal expansion. See *MAT_ADD_THERMAL_EXPANSION.


Shell types 2 and 16 that combines thermal expansion and thick
now correctly treat temperature gradient through
the thickness to create bending moments. All shell types are to
be supported in due time.

*SECTION_BEAM_AISC now provides predefined length conversion factors for
specific unit systems.

3D tet r-adaptivity now supports *DEFINE_BOX_ADAPTIVE.
– For every adaptive part, users can define multiple boxes where different BRMIN
& BRMAX (corresponding to RMIN & RMAX in *CONTROL_REMESHING) can be specified
for 3D tet remesher to adjust the mesh size.
– Current implementation does not support LOCAL option.

Fix bug in 3D adaptivity so that users can now have both non-adaptive tshell
parts and 3D adaptive parts in one analysis.

Fix the bug in 3D adaptivity so that users can now have both dummy nodes and
3D adaptive parts in one analysis.


________________________ EM (Electromagnetic Solver) ___________________

Begin notes for Randles Circuits for Battery Modeling=============================

A Randles circuit is an equivalent electrical circuit that consists of
an active electrolyte resistance r0 in series with the parallel
combination of the capacitance c10 and an impedance r10.
The idea of the distributed Randles model is to use a certain number
of Randles circuits between corresponding nodes on the two current
collectors of a battery unit cell.
These Randles circuits model the electrochemistry that happens in
the electrodes and separator between the current collectors.
The EM solver can then solve for the EM fields in the current collectors,
and the connections between them.

Added analysis of distributed Randles circuits to MPP.

Added d3plot output for distributed Randles circuits:
This output can be visualized in LS-PrePost versions 4.3 and 4.5
on the separator part of the battery cell using Post/FriComp/Extend/EM node.

Added tshells for EM analysis for use in battery modeling.

Added new capability for modeling Randles short, based on *DEFINE_FUNCTION
so that the user has a lot of freedom to define where and when
the short happens as well as the short resistance.

Added a new capability for battery exothermal reactions also
makes it possible to complement the heating of a short circuit created by a short
by exothermal reactions if, for example, the temperature becomes higher than
a threshold value.

End notes for Randles Circuits for Battery Modeling=============================


________________________ Forming Analysis __________

Extend *INCLUDE_AUTO_OFFSET to solid and beam elements (draw beads).

Add a new keyword for springback compensation:*INTERFACE_COMPENSATION_NEW_REFINE_RIGID
to refine and break rigid tool mesh along the user supplied trim curves so compensated
tool mesh follows exactly the blank mesh (file “disp.tmp”). This needs to be done only
once in the beginning of the springback compensation (ITER0).

– Change the default element formulation option for onestep method to QUAD2.
– Add a new option QUAD to allow quadrilateral elements to be considered.
– Limit the maximum thickening by using a new variable TSCLMAX for the sheet blank.
– Set the value of OPTION to a negative value to output the file ‘onestepresult’
in large format (E20.0).
– Calculate and add the damage factor and output to the 6th history variable in the
output file “onestepresult”. Add the variable for a curve ID to define the
fracture strain vs. triaxility. Add another variable DMGEXP (damage parameter),
as used in GISSMO model.
– Keep the original coordinates for the onestep output “onestepresults”.

Add a new option VECTOR to *CONTROL_FORMING_BESTFIT to output deviation vector
(in the format of: NODEID, xdelta, ydelta, zdelta) for each node to its closest
target element. The deviation vectors are output under the keyword

– Output will skip any negative abscissa (Y1) value.
– When CIDT<0, the positive value defines the time dependent load curve.

Add a warning in springback compensation *INTERFACE_SPRINGBACK_COMPENSATION to
identify which input file (typically the blank with adaptive mesh not output
directly by LS-DYNA) has the wrong adaptive constraints.

*INTERFACE_COMPENSATION_3D: turn off the output of nikin file.

– Allow some unused lancing curves to be included in the input.
– When the gap between the two ends of a lancing curve is not zero, but small
enough, then this curve is automatically closed.
– Allow several parts to be cut during lancing; the parts can be grouped in
*SET_PART_LIST, and defined using a negative value IDPT.
– Specify the distance to bottom dead center as AT and ENDT when the new
variable CIVD is defined.
– Set IREFINE=1 (default) in lancing, to refine blank mesh automatically along
the lancing curves.
– Re-set the adaptive level to be 1 to prevent those elements along the lancing
route to be further refined.
– When IREFINE=1, elements along the lancing curve will be refined to make sure
that no adapted nodes exist in the neighborhood. This helps get improved
lancing boundary.
– Change of tolerance for lancing to merge the small elements into bigger ones.

Add a new keyword to perform trimming after lancing (shell elements only):
*DEFINE_LANCE_SEED_POINT_COORDINATES. Maximum of two seed nodes can be defined.

Extend *CONTROL_FORMING_TOLERANC to *MAT_036, *MAT_037, *MAT_125, and *MAT_226.
When beta is less than -0.5, there is no necking and no calculation of FI.
When beta is greater than 1.0, beta=1.0/beta.
This keyword adds a smoothing method to calculate the strain ratios for a better
formability index.

– Disable *CONTROL_ADAPTIVE_CURVEs for sandwich parts, since refinement along
the curve is automatically done during trimming.
– Refine the elements along the trimming curve to make sure no slave nodes
are be cut by trimming curves.
– Allow mesh adaptivity.
– Allow multi-layers of solids.
– Add a check to the variable IFSAND in *CONTROL_ADAPTIVE for sandwitch part
to be refined to exclude solid elements.

Solid element trimming (*DEFINE_CURVE_TRIM):
– Refine those elements along the trimming curve.
– Improve solid trimmig to allow the trimming of one panel into two panels with
two seed nodes.

adaptive constraints on a formed, adapted blank, and replaced them with
triangular elements.

Allow trimming of tshells.

Add a new keyword:*INTERFACE_WELDLINE_DEVELOPMENT to obtain initial weld line
from the final part and the final weld line position.
– When Ioption=-1, convert weld line from its initial position to the final part.
– Output the element nodes that intersect the weld line in the final part,and
the output file is: affectednd_f.ibo
– Output the element nodes that intersect the weld line in the initial part,
and the output file is: affectednd_i.ibo

Add a new variable DT0 to *CONTROL_IMPLICIT_FORMING so there is no need to

– Add a new feature DEVELOPMENT option. When ORIENT=2, then a reference mesh
file for the formed part should be included. The calculated and compensated
boundary will be based on the reference mesh.
– Add a new option SCALE_FACTOR that allows the target curve to be moved.
This is useful when multiple target curves (e.g. holes) and formed curves
are far away from each other.


________________________ *FREQUENCY_DOMAIN ___________________

Added new keyword *CONTROL_FREQUENCY_DOMAIN to define global control parameters
for frequency domain analysis. Currently two parameters are defined:
– REFGEO: flag for reference geometry in acoustic eigenvalue analysis (either the
original geometry at t=0, or the deformed geometry at the end of transient analysis).
– MPN: large mass added per node, to be used in large mass method for enforced motion.

– Enabled using incident wave (*FREQUENCY_DOMAIN_ACOUSTIC_INCIDENT_WAVE) in
Rayleigh method (METHOD=0).
– Enabled acoustic pressure fringe plot (*FREQUENCY_DOMAIN_ACOUSTIC_FRINGE_PLOT)
in Rayleigh method (METHOD=0).
– Fixed bug in running acoustic analysis with multiple boundary conditions in MPP.
– Fixed running MATV (Modal Acoustic Transfer Vector) approach in MPP
– Added treatment for triangular elements used in Rayleigh method (METHOD=0).
– Added output of acoustic intensity to binary database D3ACS (defined by
– Fixed bug in acoustic pressure fringe plot for collocation BEM (METHOD=3) and
dual BEM based on Burton-Miller formulation (METHOD=4).

Fixed bug in acoustic analysis by FEM, when dimensions of mass and k (stiffness)
matrices are mismatched.

Implemented acoustic fringe plot for MPP for the options PART, PART_SET, and NODE_SET.

– Added new loading types:
VAD1 =5: enforced velocity by large mass method
=6: enforced acceleration by large mass method
=7: enforced displacement by large mass method
=8: torque
=9: base angular velocity
=10: base angular acceleration
=11: base angular displacement
– Added rotational dof output for FRF.

Added option _EXCLUDE to exclude some eigenmodes in modal superposition in
frequency domain analysis.

– Fixed bug in running random vibration with random pressure wave load
(VAFLAG=2) in MPP.
– Improved random vibration analysis by allowing using complex variable
cross PSD functions. Previously cross PSD was defined as real variables thus
the phase difference was ignored.
– Added PSD and RMS computation for Von Mises stress in beam elements.

– Added Von Mises stress output for beam elements in database D3SPCM.
– Corrected computation of response spectrum at an intermediate damping value by
interpolating spectra at two adjacent damping values. Now the algorithm is
based on ASCE 4-98 standard.

– Added new loading types:
VAD =5: enforced velocity by large mass method
=6: enforced acceleration by large mass method
=7: enforced displacement by large mass method
=8: torque
– Fix for running SSD fatigue in MPP (affected keyword: *FREQUENCY_DOMAIN_SSD_FATIGUE).
– Updated ssd computation with local damping, and enabled the restart feature by
reading damping matrix.
– Implemented ERP (Equivalent Radiated Power, keyword *FREQUENCY_DOMAIN_SSD_ERP)
for MPP.

Added keyword *DATABASE_FREQUENCY_ASCII_{OPTION} to define the frequency range for
writing frequency domain ASCII databases NODOUT_SSD, ELOUT_SSD, NODOUT_PSD and ELOUT_PSD.


________________________ ICFD (Incompressible Fluid Solver) ________________


New ICFD features and major modifications

Simple restart is now supported for ICFD.

Added wave damping capabilities. See *ICFD_DEFINE_WAVE_DAMPING.

Added steady state solver. See *ICFD_CONTROL_GENERAL and *ICFD_CONTROL_STEADY.

Added steady state potential flow solver. See *ICFD_CONTROL_GENERAL.

Weak thermal coupling for conjugate heat transfer is now possible in addition to
the classic monolithic approach. See *ICFD_CONTROL_CONJ.

Windkessel boundary conditions are now available for blood flow.

It is now possible to output the heat transfer coefficient as a surface variable
in LSPP or in ASCII format on segment sets for a subsequent solid-thermal only analysis.

Two way coupling is now possible with DEM particles. See *ICFD_CONTROL_DEM_COUPLING.

Modifications introduced in the SUPG stabilization term used in thermal and conjugate
heat transfer problems for improved accuracy and speed.


Additions and modifications to existing ICFD keywords

Added a boundary condition for wave generation of 2nd order stokes waves with
free surfaces

Added a flag which, when turned on will project the nodes of the CFD domain
that are at the FSI interface onto the structural mesh. This is recommended
for cases with rotation.

Added a flag to allow the user control over whether there will be re-mesh or not.
If there is no re-mesh then we can free space used to backup the mesh and lower
memory consumption.

Added option to force the solver to turn off any mesh displacements. This can
be useful in cases where the mesh is static to save a little bit of calculation time.

– Added option to support output in Fieldview format, binary and ASCII.
– When output of the fluid volume mesh is requested, the mesh will be divided
into ten distinct parts, grouping elements in ten deciles based on the mesh
quality (Part 1 has the best quality elements, part 10 the worst).

Improvements for RTM problems.

– Added an option to define an initial timestep.
– Added an option to shut off the calculation of Navier Stokes after a certain
time leaving only the heat equation. This can be useful to save calculation
times in conjugate heat transfer cases where the fluid often reaches steady
state before the thermal problem.

– It is now possible to output the force on segment sets in a FSI run directly in
LS-DYNA compatible format. This can be useful for a subsequent linear FSI
analysis running only the solid mechanics part.
– Added flag to output drag as a surface variable in LSPP.

Added option to change output frequency

The user node IDs are now required rather than the internal node IDs

Added the option to choose between imposing the displacements or the velocity.

Choose implicit time integration scheme for NS.

Added a scale factor for the sphere radius in the computation of the DEM force.

Added a scale factor option on the permeability for model 1 and 2.
A *DEFINE_FUNCTION can also be used.

Added option to generate boundary layer mesh using a growth factor.


ICFD bug fixes and minor improvements

Fixed bug when multiple *DEFINE_FUNCTIONs were used in a ICFD problem. Only the
last one was taken into account.

LES turbulence model: fixed van Driest damping issue in the boundary layer.
LES models can use wall functions.

RANS turbulence models: Standard k-epsilon, realizable k-epsilon, Wilcox k-omega
uses HRN laws of the wall by default while SST and Spalart Allmaras use LRN.
Improvements on the convergence of all those models.

The DEM particle volume is now taken into account in free surface problems.

Average shear is now output as a surface variable in the d3plots.


Added more output for the mesh generation indicating the stage of the meshing
process and the amount of elements that are being generated as a multiple of 10000.
Added progress % for the extrusion of the mesh during the BL mesh generation.

Improvements on the element assemble speed in MPP.

Fixed synchronization problem for the last timestep in an FSI problem.

More options have been added to the timer output.

Correction of the calculation of the flux in *ICFD_DATABASE_FLUX in free surface cases.

Boundary layer mesh can go through free-surfaces or mesh size interfaces.

The Center of Gravity of the fluid is output in the icfd_lsvol.dat ASCII file in
free surface problems


________________________ Implicit (Mechanical) Solver _______

Enhanced termination of MPP eigensolver when non eigenmodes are found.

Implicit was enforcing birth and death times on *BOUNDARY_SPC during dynamic
relaxation contrary to the User’s Manual. These times are now ignored by implicit
during dynamic relaxation.

Corrected ouput of eigenvalues and frequencies to file eigout for the unsymmetric
eigenvalue problem.

Enhanced logic that determines when to write out the last state to d3plot for

Improved error message for reading d3eigv file for *PART_MODES for the
case when the user inputs a d3eigv file from a different model than intended.

Corrected the reporting of kinetic and internal energy in file glstat for implicit.

Applied corrections to tied contact in implicit (MPP). This affects slave nodes coming
from other processes.

Corrected output to file d3iter (implicit nonlinear search vectors) for restart.

Enhanced termination process when the implicit solver deterimined an early termination.

When implicit springback was following an explicit transient step, the
implicit keywords with the _SPR were not properly handled. This is now

Added a warning about the combined use of *CONSTRAINED_RIGID_BODY_STOPPERS and the
lagrange multiplier formulation for joints (*CONTROL_RIGID) for explicit.
The warning recommends switching to the penalty joint formulation.

Applied numerous bug fixes to the implicit solver associated with *CONSTRAINED_INTERPOLATION
where there are lots of independent degrees-of-freedom.

Corrected initialization of MPP tied contact with implicit mechanics when
the implicit phase follows explicit dynamic relaxation.

Fixed an implicit problem where a linear implicit analysis follows inertia relief

Added gathering of damping terms from discrete elements from implicit
especially for FRF computations and matrix dumping.

Fixed Implicit for the case of multi-step Linear (NSOLVR=1) with
Intermittent Eigenvalue Computation.

Corrected the output to d3iter when 10-noded tets are present.

Keypoints specified in *CONTROL_IMPLICIT_AUTO are now enforced at the initial
time step and on restart from explicit.

Skip frequency damping during implicit static dynamic relaxation, i.e. IDRFLAG>5.

– The VID of the rotating axis can now be defined by both *DEFINE_VECTOR
and *DEFINE_VECTOR_NODES. It enables the movement of the rotating axis.
Previously, only *DEFINE_VECTOR could be used to define the VID.
– The rotational dynamics now work in MPP.

Shell forms 23 and 24 (high order shells), 1D seatbelts, Hughes-Liu and spotweld
beams (types 1 and 9) are now supported with the implicit accuracy option
(IACC=1 in *CONTROL_ACCURACY) to render strong objectivity for large rigid body
rotations. Also, shell type 16 is supported with implicit accuracy option, resulting
in forms 16 and -16 giving the same solution.

Translational and generalized stiffness joints are now strongly objective for
implicit analysis. See CONSTRAINED_JOINT_STIFFNESS….

In implicit it may happen that the initial loads are zero, for
instance in forming problems. In addition, the goal is to move
a tool in contact with a workpiece, and the way line search
and convergence works, it is hard to get things going.
We now attempt to handle this situation by automatically associating an
augmented load to the prescribed motion simply to get off the ground.

New tolerances on maximum norms are introduced for convergence in implicit:
ratio of max displacement/energy/residual, and absolute values of nodal and
rigid body translation/rotational residual can be specified.
See DNORM.LT.0 on *CONTROL_IMPLICIT_SOLUTION for defining an additional card
for these parameters DMTOL, EMTOL and RMTOL.
Furthermore, maximum absolute tolerances on individual nodal or rigid body
parameters can be set on NTTOL, NRTOL, RTTOL and RRTOL on the same card.

If ALPHA<0 on first *CONTROL_IMPLICIT_DYNAMICS card, the HHT implicit
time integration scheme is activated.


________________________ *INITIAL ___________________

was broken due to misplaced conditionals in r100504.

Fix 3 bugs for *INITIAL_VELOCITY_GENERATION involving omega>0 and icid>0:
– When nx=-999. Now the directional cosine defined by node NY to node NZ will
be the final direction to rotate about. In other words, the direction from
node NY to node NZ will not be projected along icid any more.
– When nx != -999, (xc,yc,zc) should not be rotated along icid, since (xc,yc,zc)
are global coordinates.
(xc,yc,zc) is transformed.

Add the option of ramping time steps, ndtrrg, for *INITIAL_FOAM_REFERENCE_GEOMETRY.
The solid elements with reference geometry and ndtrrg>0 will restore its reference
geometry in ndtrrg time steps.

Fix incorrect initial velocity when in *INITIAL_VELOCITY_GENERATION,
and rotational velocity, omega, is not zero and *PART_INERTIA is also present.

Add variable IZSHEAR in *INITIAL_STRESS_SECTION to initialize shear stress.

Fix incorrect initial velocity for *INITIAL_VELOCITY if IRIGID=-2 and ICID>0.

Fix incorrect NPLANE and NTHICK for *INITIAL_STRESS_SHELL when writing dynain
for shell type 9.

Fix *INITIAL_STRAIN_SHELL output to dynain for shell types 12 to 15 in 2D analysis.
Write out strain at only 1 intg point if INTSTRN=0 in *INTERFACE_SPRINGBACK_LSDYNA and
all strains at all 4 intg points if INTSTRN=1 and nip=4 in *SECTION_SHELL.

Skip transformation of the initial velocities if ICID>0 and *INCLUDE_TRANSFORM is
used to transform the keyword input file with the *INITIAL_VELOCITY…. keyword.
Also echo warning message, KEY+1109, that the transformation will be skipped
since icid is specified.

Fix incorrect transformation of *DEFINE_BOX which results in incorrect initial
velocities if the box is used in *INITIAL_VELOCITY.

Fixed *INITIAL_STRESS_DEPTH when used with 2D plane strain and axisymmetric elements.
The prestress was being zeroed.

Improved the precision of the initial deformation calculation for
*INITIAL_FOAM_REFERENCE_GEOMETRY in the single precision version.

Fixed stress initialization (*INITIAL_STRESS_SECTION) for type 13 tet elements.
The pressure smoothing was causing incorrect pressure values in the elements
adjacent to the prescribed elements.

Add _SET option to *INITIAL_STRESS_SOLID for element sets.

Fix bug in 3D adaptivity so that users can now define *INITIAL_TEMPERATURE for
adaptive parts.


________________________ Isogeometric Elements ___________________

The stability of the trimmed NURBS shell patches has been improved.

Add *LOAD_NURBS_SHELL to apply traction type loading directly on the surface of
NURBS shell.

Users can use the PART option of *SET_SEGMENT_GENERAL to define segment set of
a NURBS patch. The segment set will contain all segments of interpolated null
shell elements.

– Isogeometric solid analysis implemented for MPP.
– Isogeometric solid analysis implemented for SMP with multiple CPUs,
including consistency (ncpu<0).
– Activate user-defined materials for isogeometric solid.

– Isogeometric shell analysis now implemented for SMP with multiple CPUs,
including consistency (ncpu<0).
– Add a power iteration method to get the maximum eigen-frequency for each
isogeometric element. This will be used to set a reasonable time step
for trimmed elements.

Changed the way of projecting the results from isogeometric (NURBS)
elements to the interpolation elements. Now a background mesh, spanned
over the locations of the integration points of the isogeometric (NURBS)
elements serves as basis to interpolate results from the integration
points to the centroid of the interpolation elements. This change may
lead to slightly different post-processing results in the interpolation

Add support for trimmed NURBS to work in single precision. Anyway, it
is still recommended to use double precision versions for trimmed
NURBS patches.

Add post-processing of strains and thickness for interpolation shells.


________________________ *LOAD ___________________

Fixed bugs affecting discrete beam elements (ELFORM=6) when used with
staged construction. Here, “dormant” refers to elements that have not
yet become active as defined on *DEFINE_STAGED_CONSTRUCTION_PART.
– Dormant discrete beams could still control the timestep and attract
mass-scaling, when they should not do so.
– Dormant discrete beams reaching a failure criterion defined on the *MAT
card were deleted, when they should not be.
– The displacements output (see *DATABASE_DISBOUT) included displacements
occurring while the elements were dormant. Now, the output displacements
are reset to zero at the moment the element becomes active.

Fixed bug in Staged Construction: if FACT on
*CONTROL_STAGED_CONSTRUCTION had been left blank, and Dynamic Relaxation
was active, an error termination occurred.

Fixed bug: *LOAD_GRAVITY_PART (and also gravity loading applied by
*DEFINE_STAGED_CONSTRUCTION_PART) was failing to account for non-structural
mass when calculating gravity load: NSM on *SECTION_BEAM and MAREA on

Fixed bug in *LOAD_VOLUME_LOSS: inconsistent results when run in SMP parallel.

Fix bugs affecting *LOAD_SEGMENT_FILE:
– Remove LOAD_SEGMENT_FILE file size limit (It used to be 200M).
– Apply correct pressure on the shared boundary between processors.

Fix GRAV=1 in *PART which was not were not working correctly with *LOAD_DENSITY_DEPTH.
Make *LOAD_DENSITY_DEPTH work for Lagrangian 2D elements.

Fix insufficient memory error,SOL+659, when using *LOAD_ERODING_PART_SET with MPP.

Fix incorrect loading when using *LOAD_ERODING_PART_SET with BOXID defined.

Added *LOAD_SUPERPLASTIC_FORMING for implicit analysis.

*LOAD_SUPERPLASTIC_FORMING box option now works in MPP.


________________________ *MAT and *EOS ______________

*MAT_197 (*MAT_SEISMIC_ISOLATOR) could become
unstable when the parameter DAMP was left at its default value. A workaround
was to input DAMP as a small value such as 0.05. The timestep
for *MAT_197 is now smaller than previously, irrespective of the DAMP setting,
and the behaviour is now stable even if DAMP is left at the default.

Fixed bug: Timestep calculation was wrong for *MAT_089
solid elements. Response could be unstable especially for higher values
of Poisson’s ratio, e.g. 0.4.

Fixed bug: An error trap was wrongly preventing ELFORM=15 for *MAT_169
(*MAT_ARUP_ADHESIVE). Wedge elements with ELFORM=15 are now permitted.

Note that items (1) and (2) below can lead to different results
compared to previous versions of LS-DYNA.
(1) The number of potential cracks in MAT_172 shell elements has been increased
from 2 to 4. MAT_172 uses a fixed crack model: once the
first crack forms, it remains at the same fixed angle relative to the
element axes. Further cracks can then form only at pre-defined angles to
the first crack. Previously, only one further crack could form, at 90
degrees to the first crack. Thus, if the loading direction subsequently
changed so that the principal tension is at 45 degrees to the first crack,
that stress could exceed the user-defined tensile strength
by a considerable margin. Now, further cracks may form at 90, +45 and -45
degrees to the first crack. Although the maximum principal stress can
still exceed the user-defined tensile strength, the “error” is much
reduced. There is an option to revert to the 2-crack model as in R9
(to do this, add 100 to TYPEC).
(2) Add element erosion to MAT_172. This change may lead to different results
compared to previous versions, because erosion strain limits are now
added by default. Elements are now deleted when crack-opening
strain becomes very large, or the material is crushed beyond the
spalling limit. Plastic strain in the rebar is considered too. Previously,
these elements that have passed the point of being able to generate any stress
to resist further deformation would remain in the calculation, and
sometimes showed very large non-physical deformations and could even cause
error terminations. Such elements would now be deleted automatically.
Default values are present for the
erosion strains but these can be overridden in the input data, see new input
(3) New history variables 10,11,12
(maximum value so far of through-thickness shear stress). This is useful
for checking results because MAT_172 cracks only in response to in-plane
stress; before cracking occurs, the through-thickness shear capacity
is unlimited. The data components are:
Ex History Variable 10 – maximum out of 11 and 12
Ex History Variable 11 – maximum absolute value of YZ shear stress
Ex History Variable 12 – maximum absolute value of ZX shear stress
These are in the element local axis system.
Note that these variables are written only if TYPESC is zero or omitted.
TYPESC is a pre-existing capability that requests a different type of
shear check.
(4) Fixed bug. Elastic stiffness for MAT_172 beams
was not as described in the manual, and the axial response could
sometimes become unstable. The bug did not affect shell elements, only beams.
(5) *MAT_172 can now handle models with temperatures
defined in Kelvin (necessary if the model also has heat transfer by
radiation). *MAT_172 has thermally-sensitive material properties
hard-wired to assume temperatures in Centigrade. A new input TMPOFF in
*MAT_172 offsets the model temperatures before calculating the material
(6) When the input parameter AGGSZ is defined,
the maximum shear stress that can be transferred across closed cracks is
calculated from a formula that has tensile strength and compressive stress
as inputs. In MAT_172, the tensile strength of concrete is reduced when
compressive damage has occurred (see description of UNLFAC). Up to now, compressive
damage was therefore influencing the maximum shear across cracks. However, the
Norwegian standard from which the shear forumla is taken treats the tensile
strength as a constant. Therefore, for the purpose of calculating the
maximum shear stress across closed cracks only, the compressive damage effect
is now ignored.
(7) Added capability for water pressure in cracks, for offshore applications.
The water pressure is calculated from the depth of the element below the water
surface (calculated from the z-coordinate). The water pressure is applied as
a compressive stress perpendicular to the plane of any crack in the
element. See new input fields WRO_G and ZSURF.


Fixed bug in UNLOAD option 2. The bug occurs if an
unloading curve has been left zero (e.g. LCIDTUR) while the corresponding
loading curve was non-zero (e.g. LCIDTR), and UNLOAD=2. Depending on the
computer system, the symptoms could be harmless or the code could crash.
Now, if the unloading curve is left blank, it is assumed to be the same as
the loading curve i.e. load and unload up and down the same curve. That
behaviour was already implemented for UNLOAD=1.

Added Equation Of State 19 (*EOS_MURNAGHAN). Used extensively for fluid
modeling in SPH through Weakly-Compressible formulation, in conjunction
with SPH formulations 15 (fluid form) and 16 (normalized fluid form).

Added a new form of Basquin equation to define material’s SN curve: LCID=-3:
S=a*N^b, where a and b are material constants.

Add the option of A0REF for *MAT_FABRIC. That allows the option of using reference
geometry to calculate A0 for the purpose of porosity leakage calculation.

Add optional parameter DVMIN for *MAT_ADD_PORE_AIR to define the min volume ratio
change to trigger pore air flow analysis.

Distance of shell from the weld center is treated consistently under MPP and the shell material’s
yield stress is scaled properly.

*MAT_168 and *MAT_279: Fixed support for element erosion.

*MAT_092: Improved of implicit convergence for shells.

*MAT_224: Fixed bug where wrong shear modulus was used in EOS.

*MAT_270: Increased stability for thickness strain iterations for shells.

*MAT_240: Added support for cohesive shell formulation +/-29.

Scale load curve, LCSRS, of *MAT_ADD_EROSION when used with *INCLUDE_TRANSFORM.

Fix incorrect results when using *MAT_TABULATED_JOHNSON_COOK/*MAT_224 with
table LCKT defined and the first abscissa value, temperature, is negative.

Fix spurious element deletion when using table for LCF in

Error terminate with message, KEY+1142, if *MAT_ADD_EROSION is applied to resultant
materials 28,116,117,118,130,139,166,170 and 98(with 1 intg point).

Increase robustness of *MAT_033/*MAT_BARLAT_ANISOTROPIC_PLASTICITY for solids.

Fix input error when using *MAT_ELASTIC_WITH_VISCOSITY_CURVE/*MAT_060c when

Fix seg fault when using shell type 15, axisymmeteric volume weighted, with
*MAT_ADD_EROSION and also materials with equation-of-states.

Store computed yield strength as history variable #6 for *MAT_255.

Fix inconsistency for *MAT_MODIFIED_PIECEWISE_LINEAR_PLASTICITY/*MAT_123 when ncpu<0.

Include original volume output to dynain file for 2D analysis when materials
with an equation-of-state are used. This is needed to compute the deformation
gradient when initializing a run using the dynain file.

Fix improper stress initialization using *INITIAL_STRESS_SHELL via dynain

Make AOPT<0 work for *MAT_170/*MAT_RESULTANT_ANISOTROPIC, i.e. with material
coordinate system using *DEFINE_COORDINATE_(OPTION).


Fix incorrect damping when using *DAMPING_PART_STIFFNESS for *MAT_16/*MAT_PSEUDO_TENSOR

Fix incorrect computation of bulk modulus which caused complex sound speed
error when using *EOS_TABULATED/EOS_09 with tabulated input.

Fix moving part with *MAT_220 during dynamic relaxation when velocities are

Fix convergence issue for *MAT_065/*MAT_MODIFIED_ZERILLI_ARMSTRONG for shells
when VP=1.

Error terminate with message, KEY+1115, if _STOCHASTIC option is invoked for
materials 10,15,24,81,98, or 123 but no *DEFINE_STOCHASTIC_VARIATION or
*DEFINE_HAZ_PROPERTIES keyword is present in the input file.

Fix spurious error termination when using *DEFINE_HAZ_PROPERTIES with adpativity.

Fix incorrect results or seg fault for *MAT_FU_CHANG_FOAM/*MAT_083 if KCON > 0.0

If SIGY=0 and S=0 in *MAT_DAMAGE_2/*MAT_105, set S=EPS1/200, where EPS1 is the
first point of yield stress input or the first ordinate point of the LCSS curve.

Allow *MAT_ENHANCED_COMPOSITE_DAMAGE/*MAT_054 failure mechanism to work together
with *MAT_ADD_EROSION for shells.

Fix incorrect erosion behavior if *MAT_ADD_EROSION is used with failure criteria

Implement *MAT_FHWA_SOIL/*MAT_147 for 2D analysis, shell types 13, 14 and 15.

*MAT_123_STOCHASTIC for shells.

Fix incorrect behavior for *MAT_LINEAR_ELASTIC_DISCRETE_BEAM/*MAT_066 when using
damping with implicit (static) to explicit switching.

Fixed *MAT_FABRIC/*MAT_034 with the negative unloading curve option. When searching
for the intersection point of the load and unload curves, and extrapolation of one
of the curves was needed to find the intersection point, the extrapolated stress
was calculated incorrectly causing unpredictable behavior.

Fixed fabric material forms 0 and 1 when used with a reference geometry.
There were two problems, both occuring when there are mixed quad and triangular
elements in the same block. A flaw in the strain calculation was leading to possible
NaN forces in the elements. When a reference geometry was not used, the forces
from trinagular elements in mixed element blocks were 2 times too high.

Added a new option for *MAT_SPOTWELD called FMODE. The FMODE option is available for
DMGOPT=10, 11, and 12. When the failure function is reached, and when FMODE>0.0 and
<1.0, the value of FMODE will determine if a weld will fail immediately, or will have
damage initiated. The failure function may include axail, shear, bending and torsion
terms. If the sum of ths squares of the shear and torsion terms divided by the sum of
the square of all terms is greater than FMODE, then the weld will fail immediately.
Otherwise, damage will be initiated.

Enabled OPT=-1 on *MAT_SPOTWELD for brick elements which had not worked previously.
Also, fixed TRUE_T when used with brick element forms 0, 1, and -1.

Fixed spotwelds with DMGOPT=12 by removing warning STR+1327 which made
it impossible to set a small value of RS without triggering this warning,
or without setting EFAIL smaller. Setting EFAIL small however could lead
to damage initiation by plastic strain when the user wanted only initation
by the failure function.

If DMGOPT=10, 11, or 12 and EFAIL=0, on *MAT_SPOTWELD, damage will now initiate only
by the failure function. If EFAIL>0, then damage will initiate be either then
failure function or when plastic strain exceeds EFAIL. Prior to this version,
amage could initiate when plastic strain exceeds zero if the user set EFAIL=0.
This behavior is still true for DMGOPT=0, 1, or 2, but no longer for DMGOPT=10, 11, or 12.

Allow solid spot welds and solid spot weld assemblies to have up to 300 points in the
running average that is used to smooth the failure function. In other words,
up to NF=300 is possible.

Fixed a problem with brick spot weld assemblies when OPT=0 failure is used without
defining any weld resultant values. Welds were being immediately deleted.

Added new PID option for *DEFINE_SPOTWELD_FAILURE (applies to *MAT_SPOTWELD, OPT=10).
Changes the Card 3 input for static strength values to use part set ID’s rather
than material ID’s.

Modified shell *MAT_214/*MAT_DRY_FABRIC to calculate fiber strains based on the
current distance between the points where the fibers intersect with the element
edges. Previously, they were calculated from the rate-of-deformation, but this was
not as accurate as the new total strain measure.

Fixed unit scaling for GAMAB1 and GAMAB2 on *MAT_DRY_FABRIC. We were incorrectly
transforming them as stress.

Reworked the plastic stress update in *MAT_225/*MAT_VISCOPLASITC_MIXED_HARDENING
to prevent a divide by zero.

Enabled *MAT_ADD_EROSION to be used with beams that have user defined integration.
Memory allocation was fixed to prevent memory errors.

Fixed *MAT_106 when used with tshell form 5 or 6. The elastic
contstants used in the assumed strain field were not reasonable.

Fix issue that could have lead to problems using *MAT_054 (or *MAT_058 or
*MAT_158) in combination with TFAIL/ and damping.

Add possibility to use failure criterion in *MAT_054 for solids in a
transversal isotropic manner. It is assumed that the material 1-direction
is the main axis and that the behavior in the 2-3 plane is isotropic.
This feature is invoked by setting TI=1 in *MAT_054.

– Bugfix for shear stiffness behavior in *MAT_058 when using a table
definition for GAB and only providing stress-strain-curves for positive
– Bugfix for strain-rate dependent stiffness behavior in *MAT_058 when
using a table definition for EA, EB or GAB under compressive loading.
– Add default values for strengths (XT,XC,YT,YC,SC) 1.e+16 for *MAT_058.
If no values for the strengths were defined, unpredictable things could
have happened.

Store total mixed-mode and normal separation (delta_II & delta_I) on history
variables 1&2 for *MAT_COHESIVE_MIXED_MODE (*MAT_138). This is only for
post-processing and should not lead to any changes in the results.

– Add Tsai-Hill failure criterion (EXTRA=2).
– Allow strain-rate dependent strength values (XT,XC,YT,YC,ZT,ZC,SXY,SYZ,SZX)
using *DEFINE_CURVE. This is available for Tsai-Wu (EXTRA=1) and Tsai-Hill.
– Fixed bug in using *MAT_157 with for shells.
Thickness strain update d3 was not correct and plasticity algorithm may
have failed.
– Add additional option to IHIS in *MAT_157 for SHELLs.
– Now also the strength values (XT,XC,YT,YC,SXY) may be initialized via
*INITIAL_STRESS_SHELL. See variable IHIS and remarks in the User’s
Manual for details of initializing various blocks of material parameters.

Add new material *MAT_215 that is a micromechanical material model that
distinguishes between a fiber/inclusion and a matrix material. The
material is intended for anisotropic composite materials, especially for
short (SFRT) and long fiber thermoplastics (LFRT). This model is available
for shells, tshells and solids.

Fixed bug in *MAT_225 (*MAT_VISCOPLASTIC_MIXED_HARDENING) when using
a table for LCSS together with kinematic hardening.

– Allow table input for fracture toughness values for mats 261/262..
Table represents fracture toughness vs. element length vs. strain rate
(shells, tshells, solids)
– Fixed bug in mats 261/262 when using *DAMPING_PART_STIFFNESS together with
– Correct shear failure behavior in *MAT_262. This will most probably have
no effect to any real application, but could be seen in very special
1-element tests.


Changed storage of history variables for *MAT_249 (*MAT_REINFORCED_THERMOPLASTIC).
A new variable POSTV controls which variables are written and at what history
variable location in d3plot.

*MAT_254 (*MAT_GENERALIZED_PHASE_CHANGE) can now be used with shell elements
and thermal thick shells.

Added flag ‘EZDEF’ to *MAT_249_UDFIBER. In this case the last row of the
deformation gradient is replaced by 0-0-1.

Add opt. damage limitation curve/table LCDLIM for *MAT_ADD_GENERALIZED_DAMAGE.

Add pre-defined damage tensors option PDDT to *MAT_ADD_GENERALIZED_DAMAGE.

*MAT_ADD_GENERALIZED_DAMAGE now works for solid elements (only shells in R9).

Add optional failure criterion FFCAP to *MAT_100 with OPT = -1 or 0.

Enable *MAT_ADD_COHESIVE to be used in implicit analysis.

Add alternative version of *MAT_280 invoked by new flag on 1st card.
It is a physically based damage model with 4 new parameters.

Enable *DEFINE_CONNECTION_PROPERTIES’ option PROPRUL>=2 to be used with
spotweld clusters, i.e. not only 1 hex element but several

Enable *MAT_ADD_EROSION to be safely used with material models
that have more than 119 history variables, for now the new limit is 169
(e.g. necessary for *MAT_157 with IHIS=7).

Add Tsai-Wu failure criterion to *MAT_157 for solid and shell elements
invoked by EXTRA=1 on card 6 and corresponding parameters on cards 8 and 9.

Add viscoelastic option to *MAT_187 (SAMP-1). Rate dependent Young’s
modulus and associated settings can be defined on new optional card 5.

to govern random number generation (deterministic or true random).

Add option to define element size dependent parameters EN and SN
for *MAT_120 and *MAT_120_JC by setting them to negative values (curves).

Minor improvements for *MAT_252: Optional output of damage initiation
information and more post-processing history variables.

If the first abscissa value of *MAT_224’s failure strain curve LCG is negative,
it is assumed that all abscissa values are natural logarithms of a strain rate.

Put *MAT_100_DA’s “failure function” value to history variable 18.

Add optional in-plane failure strain to *MAT_169 (ARUP_ADHESIVE):
new input parameter FSIP.

*MAT_USER_DEFINED_MATERIAL_MODELS now provides a few more variables
for cohesive elements, i.e. additional arguments in subroutines umatXXc:
temperature, element size, implicit rejection flag,
integration point identifier, and total number of integration points.

A modified version of the 3-parameter Barlat model (*MAT_036) is introduced
hardening in 00, 45, 90, biaxial and shear can be specified as load
curves. Furthermore, r-values in 00, 45, 90, biaxial and shear can be specified
in terms of load curves vs plastic strain or constants. This is an extension
of hardening law 7 of the original 3-parameter Barlat model.

Improve implicit version of *MAT_098/*MAT_SIMPLIFIED_JOHNSON_COOK.

*MAT_181/*MAT_SIMPLIFIED_RUBBER/FOAM is now supported for 2D implicit simulations.

Fixed issue in which *MAT_WINFRITH_CONCRETE wrote d3crack data too frequently.

*EOS_JWL now has an AFTERBURN option. This adds afterburn energy to the EOS,
where the energy can be added at a constant or linear rate, or can be added
according to Miller’s extension.

*MAT_084 (*MAT_WINFRITH_CONCRETE) with predefined units (CONM<0) is now
transformed correctly with *INCLUDE_TRANSFORM.

User-defined materials for Hughes-Liu beams can now be used with implicit analysis by
defining the appropriate tangent modulus in the supplied routine urtanb.

User-defined cohesive materials can now be used with implicit analysis by
defining the appropriate tangent stiffness.

*MODULE for user-defined materials and other user-defined capabilities:
– A new command line option “module=filename” is added to load one module file
without changing the input deck. It provides back compatibility to input
deck without the MODULE keywords.
– The system paths defined in LD_LIBRARY_PATH are also included for searching
module files for those filenames start with “+”.

Add shell implementation to *MAT_277 (*MAT_ADHESIVE_CURING_VISCOELASTIC).

Add *MAT_278 for carbon fiber prepreg compression forming simulation.
This material model is available for both solid and shell formulations.

Add *MAT_293 non-orthogonal material model for carbon fiber prepreg forming simulation.
This material model is only available for shell formulations.

– Extend *MAT_260A to include solid elements.
– Add a new option XUE for Xue’s fracture criteria/theory for *MAT_M260A (solid
elements only).

– Set default values for P’s and G’s in *MAT_260B.
– Add a length scale to the fracture limit. The fracture limit strongly depends
on the length scale in the measurement.
– Add a new fracture criterion to *MAT_260B (Xue and Wierzbicki, Int. J. solids
and Structures 46 (2009) 1423-1435). When the option XUE is activated, an
additional card is needed, for example:
$ ef0 plim q gama m
0.70 925.7 0.970 0.296 2.04

– Improve *MAT_037 with negative R value in implicit calculation.
The modification will allow the implicit method stress calculation to be
more accurate.
– Add a new option NLP2 to calculate formability index in *MAT_037.
The previous method (option NLP_FAILURE) was based on the effective strain
method, which assumes that necking happens at one instant. In fact, it might
happen over a longer process. The new method calcuates the damage accumulation.

Add *MAT_165B (*MAT_PLASTIC_NONLINEAR_KINEMATIC_B) for shells and solids.


________________________ MPP ___________________

Fix the report of decomp balance (shown as
“Normalized element costs assigned during decomposition”
in the d3hsp file), which was broken in r109760

MPP decomposition has not been properly balanced
since r112652 due to a bug in that revision

Fix MPP SYNC error due to inconsistent summation

Allow real values as the scale multipliers for “memory=” on the command line.
For example, “memory=2.5G memory2=1.1G” and the like.

MPP: fix support for nlq setting in *CONTROL_SOLUTION
which was not being honored on processors other than 0.

Significant improvements in MPP groupable routines for FORMING contact.

MPP: increase contact release distance for SINGLE_SURFACE contacts in the case
of a node coming into contact with a solid element.
The previous interpretation was releasing when the contact penetration was
0.5*solid thickness, but now when the node passes below the solid surface by
0.5*solid thickness (which is different by the half thickness of the slave
material, in the case of a shell slave node).

MPP: fix for viscous damping in automatic tiebreak contact.

Implement new bucket sort based extent testing for MPP single surface contact.


Fixed *CONTROL_MPP_PFILE so that it honors ID offsets from
*INCLUDE_TRANSFORM for parts, part sets, and contact IDs referenced
in “decomp { region {” specifications.

Furthermore, such a region can contain a “local” designation, in which
case the decomposition of that region will be done in the coordinate
system local to the include file, not the global system. For example:

decomp { region {
partset 12 local c2r 30 0 -30 0 1 0 1 0 0
} }

would apply the c2r transformation in the coordinate system of the
include file, which wasn’t previously possible. The local option can
be useful even if there are no such transformations, as the “cubes”
that the decomposition uses will be oriented in the coordinate system
of the include file, not the global system.

Furthermore, the following decomposition related keywords now
have a _LOCAL option, which has the same effect:


MPP job performance profiles are output to both .csv and .xy files.


________________________ Output ___________________

Fix for writing d3plot file when individual output states
exceed 8GB in single precision

exclude selected portions from the generated dynain file.

Add a new option to *INTERFACE_COMPONENT_FILE to output only 3 degrees of
freedon to the file even if the current model has 6.

Fix missing plastic strain tensors in d3plot when STRFLG in *DATABASE_EXTENT_BINARY

Fix no output to bndout when run with q=remap even though the keyword *DATABASE_BNDOUT
was present in the remap run but was not present in the initial run.

Fix d3plot output frequency which was different from the dt specified in

Fix stress output to elout for solid elements which was in the global coordinates
instead of local coordinates when CMPFLG=1 in *DATABASE_EXTENT_BINARY and OPTION1>0

Fix incorrect mass properties for solids in ssstat file when using

Fix seg fault during writing of dynain file if INSTRN=1 in *INTERFACE_SPRINGBACK

If HYDRO is nonzero in *DATABASE_EXTENT_BINARY, LS-PrePost will now combine the
solid and shell internal energy densities when fringing ‘Internal Energy Density’
in the Misc menu.

By putting SIGFLG/EPSFLG=3 in *DATABASE_EXTENT_BINARY, the stresses
and plastic trains are excluded not only for shell elements but
also for solids. This applies to d3plot and d3eigv.

Added new file option *DATABASE_BINARY_INTFOR_FILE to define interface file name.

Fixed legend in bndout in the case of multiple *BOUNDARY_PRESCRIBED_MOTION_SET_ID.

Fix corrupt d3part data caused by DECOMP=4 in *DATABASE_EXTENT_BINARY.

Fixed the legend of ssstat in binout.

The subsystem id will be included in the ASCII ssstat file.

Fixed bug in stbout (seatbelt output) if NEWLEG=0 in *CONTROL_OUTPUT.

Fixed bug in which DECOMP=2 corrupted d3part.

Fixed d3plot bug if dynamic relaxation was activated in the input deck.

Added another digit for coordinates in *NODE in dynain, e.g.,
what was written as 0.999266236E+00 is now written as 9.992662368E+00.

Added *DATABASE_EXTENT_BINARY_COMP for alternative (simpler) control of output to d3plot and d3eigv.
Output control flags: 0-no 1-yes
IGLB : Global data
IXYZ : Current coordinate
IVEL : Velocity
IACC : Acceleration
ISTRS: 6 stress data + plastic strain
ISTRA: 6 strain data
ISED : Strain energy density
This command can be used in combination with regular *DATABASE_EXTENT_BINARY but will
disable most of the options in the latter, including output of extra history

Bugfix: *DATABASE_TRACER without the optional NID parameter was read
incorrectly when used with *INCLUDE_TRANSFORM, but is now fixed

Fixed incomplete output from Windows version of LS-DYNA.
This affected demtrh (*DATABASE_TRACER_DE) and curvout (*DATABASE_CURVOUT).


________________________ Restarts ___________________

Enable definition of sensors in full restarts.

For a small restart in MPP, the value of “memory=” (M1) needed for each processor is
stored in the dump files. This is the minimum requirement to read back the model info.
If the value of “memory2=” (M2) is specified on the command line,
the code will take the maxiimum of M1 and M2.

Fix input error during structured input when using *INITIAL_VELOCITY_GENERATION
and *CHANGE_VELOCITY_GENERATION together in a full deck restart.

Fix incorrect full deck restart analysis if initial run was implicit and the
full deck restart run is explicit. This affects MPP only.

Fix insufficient tying of nodes when doing full deck restart and the contact
is newly added to the restart involving newly added parts. This applies to
SMP contact only.

Fix incorrect velocity initialization for SMP full deck restart when using

Fix incorrect initialization of velocities for SMP full deck restart when
existing parts defined by *STRESS_INITIALIZATION should not be zeroed.

Fix *CHANGE_CURVE_DEFINITION for curve specifying d3plot output.

Fixed bug in full deck restart if the new mesh has different part numbers.


________________________ *SENSOR ___________________

was triggered when the force refers to a local coordinate system.

Add the option of “ELESET” to *SENSOR_CONTROL to erode elements.

Add the option of NFAILE to *SENSOR_DEFINE_MISC to track number of eroded elements.

Fix a bug that was triggered when using a sensor to control spotwelds.
The bug was triggered when the spotweld-connected nodal pairs happen to belong
to more than 1 core (MPP only).

Add FAIL option to *SENSOR_DEFINE_ELEMENT to track the failure of element(s).

Fix a bug related to *SENSOR_DEFINE_FUNCTION when there are more than 10 sensor

Effect of TIMEOFF in *SENSOR_CONTROL is implemented for TYPE=PRESC-ORI.


Add optional filter id to SENSORD of *DEFINE_CURVE_FUNCTION.


Allow moments in SPCFORC and BNDOUT to be tracked by *SENSOR_DEFINE_FORCE.

Fix *SENSOR_CONTROL using TYPE=”PRESC-MOT” which was not switching at all.


________________________ SPG (Smooth Particle Galerkin) __________________

MPP is ready in 3D SPG fluid particle stabilization (ITB=1 & 2 in *SECTION_SOLID_SPG).

Added one SPG control parameter (itb=2) for semi-brittle fracture analysis.
In comparison to itb=0 or itb=1, itb=2 is more efficient in modeling the
fragmentation and debris in semi-brittle fracture analysis such as impact
and penetration in concrete materials.

Fixed a bug related to E.O.S. in SPG.

Removed some temporary memory allocations to improve efficiency.

Changed the sequence of SPG initialization so that all state variables are properly

Subroutines were developed for SPG failure analysis with thermal effects.
Both explicit and implicit (diagonal scaled conjugate gradient iterative only) SPG
thermal solvers are available in SMP version only. However, thermal effect is
applied only on material properties, which means thermal induced deformation
(i.e., thermal strain or thermal expansion) is not currently included.

Modified *MAT_072R3 for SPG method in concrete applications.

Fixed a bug for SPG method in using continuum damage mechanics. (IDAM=0).

Added the “fluid particle algorithm” (itb=1) to SPG method.
This algorithm is implemented in R10.0 as an alternative to the (itb=0) option
in previous version to enhance the numerical stability for SPG method.
Users are recommended to use this new option for their ductile failure analysis.


________________________ SPH (Smooth Particle Hydrodynamics) ______________

Add ITHK flag in *CONTROL_SPH, card 3. If flag is set to 1, the volume
of the SPH particles is used to estimate a node thickness to be employed
by contacts.
– The thickness calculated by ITHK=1 is used only if SST or OFFD
are set to zero in the contact cards definitions.

Add SOFT=1 option to *CONTACT_2D_NODE_TO_SOLID. This should help
obtain reasonable contact forces in axisymmetric simulations.
Default penalty PEN is 0.1 when SOFT=1.

Implemented non-reflecting boundary conditions for SPH using a new

Bug fix for renormalized SPH formulations with symmetry planes. The renormalization
was slightly incorrect in the vicinity of symmetry planes.

Density smoothing in SPH formulations 15 and 16 is now material
sensitive. The smoothing only occurs over neighbors of the same material.

Resolved an MPP bug in SPH total Lagrangian formulations (FORM=7/8)
which was causing strain concentrations at the interfaces
between CPU zones.

SPH total Lagrangian (FORM=7/8) in SMP was pretty much serial, hence much
slower than forms 0 or 1. SPH with FORM 7 and 8 now scales properly.

Added support for FORMs 0/1 in axisymmetric. Until
now, renormalization was always active (equivalent to FORM=1)
which can be problematic for very large deformations or material fragmentation.

Improved tracer particles output for SPH: Use normalized kernel function
for interpolation between particles.

Implemented enhanced fluid flow formulations (FORMs 15/16) with pressure

Recode SPH neighborhood search algorithm to reduce the memory requirement
and produce consistent results from MPP and HYBRID code.

*DEFINE_ADAPTIVE_SOLID_TO_SPH now reports both active and inactive adaptive SPH
particles in the fragment file sldsph_frag. This file gives a report of
nodal mass, coordinates, velocities.

MPP now supports:
– SPH type 3 inflow
– Bulk viscosity option for SPH

Sort SPH by part and then node ID to ensure consistent results while changing
order of input files.

– Corrected the SPH sphere radius (half of the particles distance) for node to node
contact detecting algorithm.
– Updated masses for SPH node to node coupling with damping contact force option.
– Added a new option (Soft=1) for SPH to SPH coupling: contact stiffness comes from
particles masses and time step for softer contact.

– Updated temperature transfer (from solid elements to SPH particles) when converting
solid elements into SPH particles with ICPL=1, IOPT=0.
– Bug fixed when part ID for newly generated SPH particles is smaller than the original
SPH part ID.
– Introduced a new pure thermal coupling between SPH part and solid parts with ICPL=3
and IOPT=0 option (no structural coupling provided).
– Added a thermal coupling conductivity parameter CPCD. Applies to ICPL=3 option.
– Normalized the nodal temperatures for the corner SPH particles with ICPL=3 and IOPT=0
option (MPP only).
– Extended ICPL=3 and IOPT=0 option to Lagrangian formulation (form = 7,8).

Added in an error message if TAIL and HEAD points are at the same location.

Added a variable OFFD to specify contact offset.

Added a new option IEROD=2 in *CONTROL_SPH in which SPH particles that satisfy
a failure criterion are totally eactivated and removed from domain interpolation.
his is in contrast to IEROD=1 option in which
particles are partially deactivated and only stress states are set to zero.

Added *MAT_SPH_VISCOUS (*MAT_SPH_01) for fluid-like material behavior with
constant or variable viscosity. Includes a Cross viscosity model.

Output strain rates for SPH particles to d3plot, d3thdt, and sphout file.

Added support of *MAT_ADD_EROSION, including GISSMO and DIEM damage, for SPH particles.

Echo failed SPH particles into d3hsp and messag file.

– Changed the method of generating SPH particles. SPH particles will be
generated based on the injection volume (injection area*injection velocity*dt)*density
from the material model, resulting in more consistent particle masses and particle
– Offset injecting distance inside each cycle so that outlet distance will be consistent
for different outlet SPH layers.
– Corrected mass output in d3hsp.


________________________ Thermal Solver ____________

Begin Explicit Thermal Solver notes=========================

*CONTROL_EXPLICIT_THERMAL_SOLVER: Implement an explicit thermal solver and adapt
it to support multi-material ALE cases.

*CONTROL_EXPLICIT_THERMAL_PROPERTIES: Enter thermal properties for the
explicit thermal solver.

*CONTROL_EXPLICIT_THERMAL_CONTACT: Implement a thermal contact for the
explicit thermal solver.

*CONTROL_EXPLICIT_THERMAL_ALE_COUPLING: Implement a thermal coupling between
ALE and Lagrangian structures for use by the explicit thermal solver.

*CONSTRAINED_LAGRANGE_IN_SOLID_EDGE: For the explicit thermal ALE coupling,
allow the heat transfer through the shell edges if _EDGE is added to

*CONSTRAINED_LAGRANGE_IN_SOLID: For the explicit thermal solver, add work due to
friction to the enthalpies of ALE and structure elements coupled with

*CONTROL_EXPLICIT_THERMAL_INITIAL: Initialize the temperatures for the
explicit thermal solver.

*CONTROL_EXPLICIT_THERMAL_BOUNDARY: Control boundary temperatures for the
explicit thermal solver.

*CONTROL_EXPLICIT_THERMAL_OUTPUT: Output the temperatures at element centers for
the explicit thermal solver.

*DATABASE_PROFILE: For the explicit thermal solver, output temperature profiles.

End Explicit Thermal Solver notes================================

Modify the thermal solver routines so they return
instead of terminating, so that *CASE works properly.

*MAT_THERMAL_USER_DEFINED: Fixed bug in element numbering for IHVE=1.

Accept load curve input for dtmin, dtmax and dtemp in *CONTROL_THERMAL_TIMESTEP.
As usual if a negative integer number is given its absolute value refers to the
load curve id.

The temperature results for the virtual nodes of thermal thick shells are now
accounted for in *LOAD_THERMAL_D3PLOT. For the mechanics-only simulation
thermal thick shells have to be activated.

New contact type for thermal solver that models heat transfer
from and to a shell edge onto a surface (*CONTACT_…_THERMAL with ALGO>1):
– Shells have to be thermal thick shells.
– Shells are on the slave side.
– So far only implemented for SMP.
– Includes support for quads and triangles.

New keyword *BOUNDARY_THERMAL_WELD_TRAJECTORY for welding of solid or
shell structures.
– Keyword defines the movement of a heatsource on a nodal path (*SET_NODE).
– Orientation given either by vector or with a second node set.
– Works for coupled and thermal only analyses.
– Allows for thermal dumping.
– Different equivalent heat source descriptions available.
– Can also be applied to tshells and composite shells.
– Weld torch motion can be defined relative to the weld trajectory.

Solid element formulation 18 now supports thermal analysis.

Thermal solver now supports the H8TOH20 option of *ELEMENT_SOLID.
This includes support of *INITIAL_TEMPERATURE condition for the
extra 12 nodes generated by H8TOH20.

Thermal solver now supports the H8TOH27 option of *ELEMENT_SOLID.


________________________ Miscellaneous ___________________

*INITIAL_LAG_MAPPING: Implement a 3D to 3D lagrangian mapping and map the nodal

call a set of nodes to flag element edges along which new child nodes are constrained.

*BOUNDARY_PRESCRIBED_MOTION_SET_SEGMENT: Add DOF=12 to apply velocities in local
coordinate systems attached to segments.

Fixed bug occurring when a part has non-zero *DAMPING_PART_STIFFNESS,
AND is defined using *PART_COMPOSITE, AND the MIDs referenced by the
different integration points have different material types.
Symptoms could include many types of
unexpected behaviour or error termination, but in other cases it
could be harmless.

Improved internal calculation of damping constants such that the level of
damping more accurately matches the user-input value across the whole of the frequency
range FLOW to FHIGH. As an example, for CDAMP=0.01, FLOW=1 Hz and
FHIGH=30 Hz, the actual damping achieved by the previous algorithm varied
between 0.008 and 0.012 (different values at different frequencies between
FLOW and FHIGH), i.e. there were
errors of up to 20% of the target CDAMP. With the new algoritm, the errors
are reduced to 1% of the target CDAMP.
This change will lead to some small differences in results
compared to previous versions of LS-DYNA. Users wishing to retain the old
method for compatibility with previous work can do this by setting IFLG
(7th field on Card 1) to 1.

Fixed bug that could cause unpredictable symptoms if Nodal Rigid Bodies
were included in the Part Set referenced by *DAMPING_FREQUENCY_RANGE or
*DAMPING_FREQUENCY_RANGE_DEFORM. Now, the _DEFORM option silently ignores
NRBs in the Part Set while *DAMPING_FREQUENCY_RANGE (non _DEFORM option)
damps them.

Fixed bug in *PART_COMPOSITE: if a layer had a very small thickness defined,
such as 1E-9 times the total thickness, that layer would be assigned a
weighting factor of 1 (it should be close to zero).

Fix errors in implementation of *DEFINE_FILTER type CHAIN.

Fix for *INTERFACE_LINKING_LOCAL when LCID is used. During keyword processing,
the LCID value was not properly converted to internal numbering.

Switch coordinates in keyword reader to double precision.

Change “Warning” to “Error” for multiply defined materials, boxes,
coordinate systems, vectors, and orientation vectors.
The check for duplicate section IDs now includes the element type and
remains a warning for now, because SPH is still detected as a SOLID.
Once that is straightened out, this should be made an error.

Add “TIMESTEP” as a variable for *DEFINE_CURVE_FUNCTION.
This variable holds the current simulation time step.

Fix a bug for the case of CODE=5 in *DEFORMABLE_TO_RIGID_AUTOMATIC.
(Fields 3 to 8 are now ignored.)

Issue error message and terminate the simulation when illegal ACTION
is used for *DEFINE_TRANSFORM.

Add option of POS6N for *DEFINE_TRANSFORM to define transformation with
3 reference nodes and 3 target nodes.

Fix a bug that can occur when adaptive elements are defined in a file

Merge *DEFORMABLE_TO_RIGID_AUTOMATIC cards if they use the same switch time.
This dependency of results on the order of the cards and also gives
better performance.

If *SET_PART_OPTION is used, a “group_file” will be created which can be read into
LS-Prepost (Model>Groups>Load) for easy visualization of part sets.

Forces on *RIGIDWALL_GEOMETRIC_CYLINDER can now be subdivided into sections
for output to rwforc. This gives a better idea of the force distribution
along the length of the cylinder. See the variable NSEGS.

Added the keywords *DEFINE_PRESSURE_TUBE and *DATABASE_PRTUBE for simulating pressure tubes in pedestrian crash.

*SET_SEGMENT_GENERAL to delete segments.

Fix incorrect transformation of valdmp in *DAMPING_GLOBAL with *INCLUDE_TRANSFORM.

Make *SET_NODE_COLLECT work together with *NODE_SET_MERGE.

Fixed bug in adaptivity for *INCLUDE_TRANSFORM if jobid is used.

Bugfix: *INTERFACE_SSI with blank optional card is now read in correctly.

====================== END of Release Notes for R10.0.0 =============================