10月 « 2018 « ACS NEWS

2018 年 10 月 のアーカイブ

LSDYNA 新機能紹介セミナ 2018

2018 年 10 月 16 日 火曜日
今年も講師にLSTC社 開発担当Dr. Isheng Yehを招待、ユーザ向けセミナを実施しました。
今回は、都内で合流。タクシーに乗ったらTOKYO 2020仕様、自分達には珍しかったので
ドライバさんに記念写真を撮ってもらいました。



先ずは再会の乾杯



イシェンとは、6月のデトロイト以来だ。その後彼はデトロイトからアリゾナに引っ越していた。
LSTCは在宅勤務OK、なので「寒くない所」を選んだようだ。
アリゾナは、今から22年前に一度だけ行ったことがある。太陽が眩しくてサングラスなしでは
何も見えなかったような、そして周囲はデカいサボテンだらけ、だった記憶。これは1996年



距離感はハンパじゃない。



住所も教えてくれたので、Google Mapで調べたら、こんな風景? 裏庭にはコヨーテが来るらしい。
(向こう側が、新興住宅街? になっていて、そのあたりの雰囲気)



セミナスナップショット。セミナ中の撮影は結構できないから、これ一枚だけ。




LSDYNA R11.0

2018 年 10 月 2 日 火曜日
R10.1 WinSuite版
 LS-OPT等LSTC社製品殆ど+多くの例題を含んだWindows用インストーラ。
2017/10/23紹介のR10.1版です。
 LS-DYNA/R10.1 にありますが、容量が大きい(約900MB) です。        
R11.0 
今年8月終わりに Linux版から出始め、全OS用の実行モジュールが出揃い、リリースノートも
公開されたので、最新バージョン R11 を紹介します。

実行モジュールは、ダウンロードサイトの LS-DYNA/R11.0 にあります。
正式マニュアルは未だのようで、最新DRAFT版が manual/DRAFT にあります。

未だリリースされていないもの:Windows版インストーラ版、正式マニュアル
 R11.0実行には、ライセンスの更新(R11.0実行権付加)が必要です。

R11.0リリースノート

私が実際試した印象ではImplicitソルバ(特にMPP版)が大きく変わっていました。
詳細は幾つかテストして結果をお知らせします。以下リリースノート、、、長いです。

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

I. LICENSE

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

—————————————————————————-

II. DOCUMENTATION

Until such time the R11.0 User’s Manual is posted at www.lstc.com/download/manuals,
the DRAFT User’s Manual at www.lstc.com/download/manuals may be used as a
temporary substitute, but please be aware that there may be features mentioned in the DRAFT
User’s Manual which are not implemented in version R11.0.0.


—————————————————————————-

III. NOTES

The remainder of this file provides a brief description of new features and
enhancements in version 11.0.0. Some bug fixes are also described, some of
which may also have been included in release notes of prior versions.

The items are arranged by category. Understand that in many cases,
a particular item may pertain to 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:

*AIRBAG
ALE
*BOUNDARY
Blast
CESE (Compressible Fluid Solver)
*CHEMISTRY
CONTACT
*CONSTRAINED
*CONTROL
Discrete Element Method
EFG (Element Free Galerkin)
*ELEMENT
EM (Electromagnetic Solver)
Forming Analysis
*FREQUENCY_DOMAIN
ICFD (Incompressible Fluid Solver)
Implicit (Mechanical) Solver
*INITIAL
Isogeometric Elements
*LOAD
*MAT and *EOS
MPP
Output
Restarts
*SENSOR
SPG (Smooth Particle Galerkin)
SPH (Smooth Particle Hydrodynamics)
Thermal Solver
XFEM (eXtended Finite Element Method)
Miscellaneous

==============================================================================


________________________ *AIRBAG ___________________

Fix an airbag bug that can cause MPP to hang when reference geometry is used in a huge model.

Limit the EXCP option (excluding application of bag pressure to partition parts) in
*AIRBAG_INTERACTION to *AIRBAG_WANG_NEFSKE and *AIRBAG_HYBRID only.

Allow no-pressure venting parts for *AIRBAG_WANG_NEFSKE.

Output material leakage information, including leakage rate, in abstat for
*AIRBAG_WANG_NEFSKE.

Allow airbag venting holes of *AIRBAG_HYBRID to be represented by a part set.

Enhance the robustness of *AIRBAG_INTERACTION to curtail instability, especially in MPP,
due to excessive mass exchange owing to numerical noise.

Support UP (uniform pressure) airbag in MPP full deck restart.
(We use the equivalent terms UP airbag or CV (control volume) airbag for
airbags that are NOT based on ALE or particle (CPM) methods.)

Treat PPOP for *AIRBAG_WANG_NEFSKE similar to other types of UP airbag – once it pops,
it stays open.

*AIRBAG_CPM_INTERACTION:
– Support slave bag with chamber definition.
– Support master/slave bags having multiple gas components.

New CPM (*AIRBAG_PARTICLE) particle-to-fabric and particle-to-particle contact algorithms.
These are about 3x faster than the old scheme and it is the default method
without any input modifications.

Support *SENSOR_SWITCH_SHELL_TO_VENT for SMP.

New variable TSPLIT in *AIRBAG_PARTICLE to activate particle splitting.
Particles that exit by porosity leakage or a vent are removed from the
system. If TSPLIT is set, the code keeps track of the number of removed parti-
cles (A) and active particles (B) every 200 cycles after time TSPLIT. Once A is
greater than B, each active particle will be split into A/B + 1 particles for a bet-
ter particle density in the volume.

Enable OpenMP. This allows MPP hybrid to scale better.

Support the exterior air drag force capability while switching from particle to UP formulation.

Enable *DEFINE_FUNCTION for user to control the airbag particle deflection angle.
Three airbag history variables are passed to the user defined function to control the surface roughness:
bag pressure, bag volume, current time.

Support *MAT_ADD_AIRBAG_POROSITY_LEAKAGE
Support FAC in the option can be defined as a factor/define_curve/define_function
If defined_function, it only works with vopt 7/8. the porosity leakage velocity is a function of
current part pressure and time.

Support molar-fraction-based inflator gas flow rate curve LCMASS (MOLEFRACTION option)
even after particle airbag switches to CV airbag via the TSW switch.

Enhance dm_out calculation to treat trunction error.

Support specification of inflator orifice area as function of time to control the
distribution of mass flowrate.

Fix bug affecting particle-to-UP switch for multi-chambered airbag.
The bug was introduced in r82352 and showed up if gas contains multi-species.

*AIRBAG_LINEAR_FLUID:
Prior to R11, the tangent stiffness matrix resulting from a pressure-volume relationship
in simple airbag models was merely an approximation and sometimes resulted in poor
convergence. A justification of the approximation is that a rigorous treatment reveals
that coupling terms between all nodes in bag result in a dense stiffness matrix and slow
execution. Exploiting the low rank structure of this matrix contribution and the use of
Sherman-Morrison formula, the correct (or at least close to correct) stiffness matrix is
now implemented without sacrificing speed and at the same time obtaining much
better convergence.


________________________ ALE ___________________

*ALE_STRUCTURED_MESH_CONTROL_POINTS:
If the S-ALE mesh has different mesh sizes and transition zones, suggest new lists of
control points to create optimal mesh transitions (the new list is output in
the messag file).

*ALE_STRUCTURED_MESH:
2D version of the S-ALE code.

*ALE_INJECTION:
Inject materials in an ALE mesh (i.e. add a group to some elements and
prescribe the velocities of the related nodes).

*ALE_PRESCRIBED_MOTION:
Prescribe or initialize velocities by ALE group.

*ALE_FSI_TO_LOAD_NODE:
Use the 2nd line for a directory path where to read or write the files with the
fsi data (alefsi2ldnd*.tmp*). Implement the restart.

*CONTROL_ALE and *SECTION_ALE2D_SMOOTHING
mpp version of the AFAC, BFAC, CFAC and DFAC mesh smoothings in the 2D ALE code.

*CONTROL_ALE (END<0, 2nd line, 2nd column):
If END<0 in *CONTROL_ALE, remove the ALE mesh after |END|.

*CONTROL_ALE (IALEDR=1, 4th line, 2nd column) and *CONTROL_DYNAMIC_RELAXATION:
Exclude ALE computations if IDRFLG=1 unless IALEDR=1.

*MAT_ADD_EROSION (IDAM>0, 1st line, 3rd column):
Implement the GISSMO damage model in ALE.

*DATABASE_ALE_MAT:
Output the volume averaged pressures of each ALE groups

*INITIAL_DETONATION and *CONTROL_EXPLOSIVE_SHADOW:
Compute the lighting times by ALE explosive groups.

*DATABASE_ALE_BINARY:
Output ALE data in a binary file that can be post-treated.

*CONTROL_MPP_DECOMPOSITION_DISTRIBUTE_ALE_ELEMENTS (ALECOMM=1, 1st line, 2nd column):
Create a MPP communicator for processors involved in ALE applications.

Added *ALE_STRUCTURED_MESH_TRIM so initial mesh can be trimmed to better fit the
domain of interest.
S-ALE mesh starts from a rectangular box and the elements away from the domain of interest
are then deleted based on the distance to certain geometry or part/element set.
This way S-ALE mesh could be of irregular shape. Fewer elements leads to less running time.

Added *ALE_STRUCTURED_MESH_MOTION so S-ALE mesh can be made to follow the motion
of the mass center of certain ALE material material(s).

Add variable TDEATH in *ALE_STRUCTURED_MESH so S-ALE mesh can be deleted during
the run to save running time. All related FSI and nodal coupling cards are
automatically deleted too.

Fix bugs affecting S-ALE (*ALE_STRUCTURED_MESH):
– Fix sometimes improper volume fraction initialization by *INITIAL_VOLUME_FRACTION_GEOMETRY
when using with ESORT=1 in *CONTROL_SOLID.
– Fix sometimes incorrect effect of *INITIAL_HYDROSTATIC_ALE and *ALE_AMBIENT_HYDROSTATIC
when using with ESORT=1 in *CONTROL_SOLID.


________________________ *BOUNDARY ___________________

Speedup the input error checking for *BOUNDARY_PRESCRIBED_MOTION.

Fix *BOUNDARY_PRESCRIBED_ORIENTATION_RIGID_DIRCOS which did not orientate the
rigid body when angles are close to PI when using double precision.

*BOUNDARY_CYCLIC is supported in selective mass scaling (*CONTROL_TIMESTEP).

*BOUNDARY_SPC_SYMMETRY_PLANE:
– Add a new option _SET.
– Allow more than two definitions of symmetric planes.
– Fix core dump when *BOUNDARY_SPC_SYMMETRY_PLANE, and *ALE_MULTI-MATERIAL_GROUP
are used together.


________________________ Blast ___________________

For *LOAD_BLAST_ENHANCED BLAST=4, apply blast pressure to segments which reside
below the ground plane with new parameter FLOOR. This allows blast pressure
to be applied to a deformable floor which deflects below the ground plane, and
accomodates floors which are not planar.

Implement blast particle-SPH coupling algorithm as invoked by variable NODID in
*DEFINE_PARTICLE_BLAST (SMP). The SPH smoothing length is taken into
consideration.


________________________ CESE (Compressible Fluid Solver) ________________

Added a new prescribed boundary condition card that allows a normal
velocity to be specified in the inlet boundary.

Added a positivity-preserving strategy for the spatial derivatives
calculations to make the solver more stable (currently only CESE 2D,
3D, and CESE-FSI-IBM 2D solvers are supported).

Made it a fatal error to attempt to use *LOAD_BLAST_ENHANCED as a
CESE boundary condition with other than a type-2 blast.

Improved error tolerances in the conjugate heat transfer method
solver used with the immersed-boundary method FSI solver, and
corrected other small related errors.

Any unused nodes specified in a standalone CESE problem are now
treated as a fatal error. This fixes an issue with d3plot output
when such orphan nodes were passed on to the d3plot file.

Corrected some weightings for the MPP CESE moving mesh solvers.
This could have been an issue in cases where an MPP CESE shared
node is next to a moving boundary.

Adjusted the information output by the implicit ball-vertex mesh
motion solver to reflect that the absolute error tolerance is no
longer used, only the relative error tolerance. This applies
to both the ICFD and CESE solvers that use this mesh motion solver.

For the *CESE_DATABASE cards, corrected these issues:
a) Any used segments that are not in the CESE mesh are reported.
b) Element sets look up is now guaranteed to work.
c) Drag calculation output that is attempted for the incorrect FSI method,
is now reported. Here are the illegal cases:
i) *CESE_DATABASE_FSIDRAG is only available with the CESE immersed
boundary FSI solvers.
ii) *CESE_DATABASE_SSETDRAG is not available with the CESE immersed
boundary FSI solvers. In other words, it only works with the
non-FSI solvers and moving mesh FSI solvers.
d) Failure to find an internal node number in *CESE_DATABASE commands is now
reported.
e) Output was not being performed for the initial conditions. Instead, it
is now done after the first time step.
f) Warning is given when illegal IDs are given in *CESE_DATABASE… cards.
Such IDs are then ignored.

Changed behavior for the *CESE_DATABASE cards includes:

a) Output times are now selected in a manner similar to CESE d3plot output,
meaning when the CESE simulation time has reached at least the requested
output times. Also, output never occurs more than once per CESE time step.
b) Cycle number was reported in some outputs as the ‘time step’. The actual
solver time step is now used instead.

When performing d3plot output for the immersed boundary CESE FSI solver,
take into account what structural elements overlay CESE elements for the
Schlieren number and chemical species mass fractions.

Formation enthalpy concept is added to the CESE Navier-Stokes solver.

Many restart-related bugs were fixed in various CESE solvers.

CESE immersed-boundary method (IBM) FSI solvers now work with adaptive
shell problems.


________________________ *CHEMISTRY ___________________

The chemistry solvers are working with the following CESE solvers:
a) 2D, 3D, and axi-symmetric Euler and Navier-Stokes solvers.
b) Immersed boundary method FSI 2D, 3D, and axi-symmetric Euler solvers.

Added a restart capability for the CESE chemistry solvers.


________________________ CONTACT ___________________

Fix initialization error related to *CONTACT_GENERAL_INTERIOR
that resulted in every subsequent *CONTACT_GENERAL also being
treated as INTERIOR.

Fix for spotwelds improperly deleted due to
rigid body conflict when an IPBACK contact interface
is in effect. The failure of the constraint-based
contact to tie should not cause the weld
to be deleted if the penalty-based contact ties.

Fix reported contact forces and energies for
*CONTACT_TIED_SHELL_EDGE_TO_SOLID.

Fix bug for *CONTACT_ERODING_NODES_to_SURFACE. The slave nodes’ thickness was ignored,
which was problematic for SPH simulations, for example. SST is now taken into account for this contact.

Fix a problem with SMOOTH contact during implicit springback.

Enhance implicit processing of tied contact and rotational dofs on slave nodes
for special cases with *CONTACT_…_CONSTRAINED_OFFSET.

Adjust logic for unconstraining rigid body slave nodes for SMOOTH contact
to be compatible with deformable to rigid switching.

Enable the use of *CONTACT_FORMING_…_SMOOTH for implicit.

Fix the problem of tied contact in MPP having a slave node from another
process working with new approach for tied contact.

Correct initialization of MPP tied contact with implicit mechanics when
explicit is running dynamic relaxation followed by implicit.

Fix a bug in assignment of contact thickness for null beams.
This bug was introduced at r89658/R9.

Add variable 2DBINR (Card F) for surface-to-surface contact involving 2D seatbelt elements
initially inside a retractor. This is only available for SOFT=2 contact.

Fix a bug for contact involving high order shell elements that occurs when 8-node
shell elements are generated by SHL4_TO_SHL8, or when using large part id like 100000001.

Add an alternative implementation of ICOR (coefficient of restitution) for contact.
The algebraic sign of ICOR determines which implementation is used.

Command line option, soft=1to2 converts all possible contacts from soft=1 to soft=2
Command line option, soft=2to1 converts contacts from soft=2 to soft=1

Fix *CONTACT_AUTOMATIC_GENERAL for spotweld beams when using SSID=0, i.e. all
parts included in the contact, and CPARM8=2.

Implement unloading curve, UNLCID, for options FCM=2/3 in *CONTACT_RIGID_(OPTION).

Fix zero frictional energy output to glstat and sleout when using
*CONTACT_AUTOMATIC_SURFACE_TO_SURFACE_ORTHO_FRICTION.

Implement SMP consistency mode, i.e. ncpu<0, for:
– *CONTACT_SURFACE_TO_SURFACE_CONTRACTION_JOINT
– *CONTACT_AUTOMATIC_SURFACE_TO_SURFACE_COMPOSITE

Fix seg fault when using *CONTACT_AUTOMATIC_NODES_TO_SURFACE for SPH elements
impacting on shell plate.

Fix *DEFORMABLE_TO_RIGID switching using contact forces, CODE=2 & 4, when the
contact type is *CONTACT_FORCE_TRANSDUCER.

Fix zero contact stiffness if *EOS_TABULATED is using curve LCC
instead of tabulated input cards.

Allow *CONTACT_TIED_SURFACE_TO_SURFACE to use MAXPAR in Optional Card A
It was previously hardcoded to 1.01.

Implement edge treatment option SRNDE=1,2 (Optional Card E) for *CONTACT_AUTOMATIC_NODES_TO_SURFACE.

Fixed MPP segment based (SOFT=2) contact when used with 2-surface force transducers.
Output data may have been incrrect due to errors in accessing arrays. This error
occurred when different processors participate in different contact interfaces.

Fixed MPP implicit SOFT=2 contact which was failing to properly reset the segment
and node data from a converged state leading to possible “floating invalid” error
or possible convergence failure.

Fixed an MPP SOFT=2 contact problem that could occur if a contact interface used
SBOXID to eliminate slave segments. This could cause a segmentation fault during initialization.

Fixed a possible memory error during initialization of SOFT=2 contact, when using
DEPTH=5, 15, 25, or 35 or SBOPT=4 or 5.

Fixed an error in MPP SOFT=2 eroding contact that could cause force spikes and inappropriate
contact detection after solid elements erode.

Fixed an error in SOFT=2 eroding contact that caused the contact to fail to create
new segments on interior elements when there were no active segments at the start of the run.
This error was most likely to occur in MPP runs when a decomposition can result in a process
that has no active segments at the start of the run.

Changed the behavior of SOFT=2 contact when the contact keyword indicates a surface to surface
contact, but the master surface has no segments. In older versions, the contact would use the
slave segments and do a single surface contact with them. Going forward, the contact will
not do anything because the slave surface has nothing to contact.

Fixed some contact options when using linear 3D solids or linear shell elements in implicit analysis.
These element were causing a zero explicit time step, and some contacts use this explicit step in
the denominator of the stiffness matrix. These include SOFT=1, SOFT=2, and tied, penalty-based contacts.

Added a gap calculation to SOFT=2 contact. The gaps are written to the binary interface force file.
This is supported for both SMP and MPP. Overlaps are reported as negative gaps.

Fixed a flaw in the support of SSF on *PART_CONTACT when using SOFT=2 contact with DEPTH=5.
The consequence was to sometimes choose the wrong part when looking up the scale factor so
the stiffness was not predictable.

Added variable SSFTYP on card F of *CONTACT which affects how SSF on *PART_CONTACT works when used
with SOFT=2 contact. By default, the contact chooses a master segment for each pair of segments
in contact. The SSF factor is then taken from the slave segment. When SSFTYP is set to 1 (or any
nonzero value), it changes the behavior so the maximum SSF value of the 2 segments in contact will be used.
The contact stiffness is therefore independent of how the contact chooses master and slave segments.

Fixed MPP *PART_CONTACT when used with SSF. It was possible for SSF to be incorrectly taken
as zero, so penetration would occur.

Improved the accuracy of *CONTACT_2D_AUTOMATIC contact. For problems where penetration depths
are small, there was an accuracy issue that could cause contact forces to be set to zero in cycles
when they should not have been, which could cause a loss of contact history. Because the
penetrations are small, the results look about the same, but the contact pressure history is smoother.

Fixed *CONTACT_2D_AUTOMATIC so it will correctly add new segments when elements using
*MAT_081 or*MAT_082 are used for an eroding part.

Fixed *CONTACT_2D_AUTOMATIC_TIED which could could fail if more than 1 tied contact
was used in a model.

Fixed the sliding option, ISLIDE, of *CONTACT_2D_AUTOMATIC type contacts in both SMP and MPP.

Fixed MPP *CONTACT_2D_AUTOMATIC_SINGLE_SURFACE and *CONTACT_2D_AUTOMATIC_SURFACE_TO_SURFACE
which had a problem in the bucket sort where the buckets may have been too small if
segments passed from other processors were larger than the segments already in the processors.
This could cause some contact to be missed. It could also cause the job to terminate with
Error SOL+1274 if the passed segments are large enough such as can occur with shooting nodes.

Added an option to offset the contact surface segments attached to 2D solid elements
in *CONTACT_2D_AUTOMATIC. The option is controlled by two new parameters, SLDSOS and SLDSOM,
on new optional card 5. If the card is omitted, or SLDSOS or SLDSOM are input as zero, then
there is zero offset which has always been assumed for surfaces of solids. If input with
a value greater than zero, then the offset is set equal to the input value. This behavior
is not consistent with the 3D SLDTHK option, which uses half the input value, but it is
consistent with the negative value option of SOS and SOM on card 2 which uses the input value,
not half of it.

Add option NEHIS to *USER_INTERFACE_FRICTION:
– With NEHIS=0 (default), special choice of element history
variables is provided in subroutine usrfrc, see comments there.
– With NEHIS>0, plastic strain and element history variables
up to NEHIS-1 are provided in original order in subroutine usrfrc.

Add new *CONTACT_AUTOMATIC_…_TIEBREAK model OPTIONs 13 and 14,
which are based on *MAT_240.

Allow unlimited number of history variables for user-defined tiebreak,
*CONTACT_AUTOMATIC_ONE_WAY_SURFACE_TO_SURFACE_TIEBREAK_USER.

IGNORE=2 on *CONTACT_…_MORTAR is set to default to avoid unnecessary bad behavior.

If ISYM<0 on *CONTROL_CONTACT, this will point to a node set
containing all nodes on symmetry planes in the model, which will be
picked up by the mortar contact and treat edge treatment accordingly.

If MPAR1<0 on *CONTACT_…_MORTAR for IGNORE=3, this will govern the
penetraction reduction as a function of a curve.

If SLDTHK<0 on *CONTACT_…_MORTAR, the contact surface is offset “inwards”,
previously only a positive value was supported.

Implicit tied contacts (strong objective) supported for groupable option,
which is necessary when running a coupled thermal/mechanical simulation.

User friction supported in mortar contact, see *USER_INTERFACE_FRICTION.
The subroutine is called mortar_usrfrc and found in dyn21.F.

FS=2 on *CONTACT_…_MORTAR supported, allowing friction as function of
sliding velocity and contact pressure in mortar contact.

For large penetrations in mortar contact during implicit analysis, the
step will be abandoned and a retried with a smaller time step.

*CONTACT_AUTOMATIC_SURFACE_TO_SURFACE_MORTAR_TIED_WELD supported, SMP and MPP,
particularly intended for implicit.

When mortar tied contact is used with shells, offsets are accounted
for to induce a moment from tangential tractions in the interface.

In mortar contact, let PENMAX and SLDTHK take over the meanings SST
and TKSLS have in R9 and earlier, although in a different way. Now
PENMAX corresponds to the maximum penetration depth for solids.
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 desired.

A “shooting node logic” algorithm is implemented for mortar contact,
and is always active. This should reduce the presence of negative
sliding energies when run in explicit and also improve
initial penetration situations in implicit.

The MPP groupable contacts include all eroding contacts, i.e.
*CONTACT_ERODING_NODES_TO_SURFACE
*CONTACT_ERODING_SURFACE_TO_SURFACE
*CONTACT_ERODING_SINGLE_SURFACE.

The MPP groupable contacts include beam-to-beam treatment in *CONTACT_AUTOMATIC_GENERAL.
It supports rectangular beams, and output of contact forces to rcforc for an
accompanying 2-sided force transducer.

The MPP *CONTACT_AUTOMATIC_SINGLE_SURFACE_TIED is implemented and supports parameter CLOSE.

MPP’s *CONTACT_AUTOMATIC_BEAMS_TO_SURFACE_ID now supports the contact of slave beam
nodes from both sides of the master surface.

Fix incorrect *INITIAL_STRESS data written to dynain in MPP when np>1.

*CONTACT_FORMING_ONE_WAY_SURFACE_TO_SURFACE:
Improve SOFT=6 behavior. In guide pin contact, consider the pin’s curved edge,
therefore overcome the false penetration problem.

*CONTACT_FORMING_NODES_TO_SURFACE_SMOOTH:
Allow segment definition, in addition to part or part set ID.


________________________ *CONSTRAINED ___________________

Fix MPP message passing error that could occur
if a node involved in *CONSTRAINED_SHELL_TO_SOLID
is shared between more than 2 processors.

*CONSTRAINED_GLOBAL: Added user-defined tolerance parameter TOL in length
units. If non-zero, the internal mesh-size dependent tolerance gets
replaced by this value.

Added option to continue a calculation with constrained interpolation after an
indpendent node is deleted using INDSW in *CONSTRAINED_INTERPOLATION.

Fix to exactly singular constraint matrix for *CONSTRAINED_INTERPOLATION
running in fast/vector mode.

Correct MPP communication during the detection of co-linear nodes in *CONSTRAINED_INTERPOLATION.

Add additional error checking on coincident nodes for revolute and screw joints.

Promote linear algebra processing for *CONSTRAINED_INTERPOLATION in
explicit single precision to real*8 to remove round-off accumulation
errors.

A more robust solution to the processing of birth and death times for
prescribed motion constraints for the LaGrange Multiplier Formulation
of joints for explicit.

Add implicit capabilities pertaining to UNITCELL:
– Always unconstrain the last 3 nodes in input and output if they are referenced
in *CONSTRAINED_MULTIPLE_GLOBAL constraints. These are control points
for UNITCELL.
– At the end of implicit time step always go through the computation to
compute the resultant forces. If there are *CONSTRAINED_MULTIPLE_GLOBAL
constraints, output the resultant forces on the last 3 nodes.

Enhance nodal constraint handling for superelements
using explicit to properly handle the implicit/explicit switching
case. I also extended the code to recognize *BOUNDARY_SPC
definitions instead of just those on the *NODE cards.

The logic to handle *CONSTRAINED_INTERPOLATION with large number of independent nodes
extended for *CONTROL_IMPLICIT_MODES.

Implicit was enforcing birth and death times on *BOUNDARY_SPC during dynamic
relaxation contrary to the manual. So such times are now ignored with dynamic
relaxation.

Added a warning about the combined use of rigid body stoppers and the
lagrange multiplier formulation of joints for explicit recommending
switching to the penalty formulation.

Corrections to get implicit to work with *CONSTRAINED_INTERPOLATION with lots
of independent nodes especially in MPP.

*CONSTRAINED_BEAM_IN_SOLID:
– Add _PENALTY option to invoke a penalty-based formulation (implicit and explicit).
– Implicit support for IDIR=1 (allow sliding along axial direction).
– Implicit support for AXFOR (user prescribed debonding force between beam and solid).
– Thermal solver recognizes *CONSTRAINED_BEAM_IN_SOLID by constraining temperature
fields between beam and solid nodes.
– Write LSDA format output file named “cbisfor” containing debonding force
(constraint-based) or penalty force (penalty-based).

Add two keywords *CONSTRAINED_SHELL_IN_SOLID and *CONSTRAINED_SOLID_IN_SOLID,
which are similar to *CONSTRAINED_BEAM_IN_SOLID, but are used to couple
shells immersed in solids and solids immersed in solids, respectively.

Fix a bug affecting *CONSTRAINED_LOCAL whereby z-translation was mistakenly constrained when IRC=0.

Fix a bug for PIDCTL of *DEFINE_CURVE_FUNCTION, that occurs when using “0” as sampling rate.

*CONSTRAINED_SPOTWELD:
Enable the normal and shear forces at spotweld failures to be temperature-dependent functions.

Allow the same part to be used in SPR connections, i.e.,
MID and SID can now match in *CONSTRAINED_SPR2 or rather
PID1 and PID2 can match in *CONSTRAINED_INTERPOLATION_SPOTWELD.
The requirement for this is that the SPR node lies in between the
shell elements to be self-connected.

*CONSTRAINED_INTERPOLATION_SPOTWELD, MODEL=1,
can now be used as connection of two beam nodes.

Several updates for *CONSTRAINED_INTERPOLATION_SPOTWELD (new card 5):
– Incorporate torsion mode with GAMMA>0.
– Allow definition of separate stiffnesses STIFF, STIFF2, STIFF3,
and STIFF4 for tension, shear, bending, and torsion.
– Optional exponential damage law via LCDEXP.
– Alternative shear kinematics treatment, parameter SROPT.
– Output of history variables with NEIPB=7 on *DATABASE_EXTENT_BINARY.

Add GISSMO damage as failure variable for *CONSTRAINED_TIED_NODES_FAILURE.

Fixed bug in processing *CONSTRAINED_NODAL_RIGID_BODY and *PART_INERTIA
so code does not abort with a bogus “Error 10144”.

*CONSTRAINED_COORDINATE:
– Fix a machine dependent error when the input coordinates are far away from the part.
– Extend to rotational constraints. The constraint will be appled to the closest node.
When IDIR>10, IR = IDIR-10:
IR=1, constrain rx
IR=2, constrain ry
IR=3, constrain rz
IR=4, constrain rx+ry
IR=5, constrain ry+rz
IR=6, constrain rz+rx
IR=7, constrain rx+ry+rz
– Fix a segmentation fault problem when IDIR is greater than 10.

*CONSTRAINED_RIGID_BODY_STOPPERS:
Extend to have multiple rigid body stoppers for one single rigid body.


________________________ *CONTROL ___________________

*CONTROL_REFINE_SOLID and *SECTION_SOLID (ELFORM=2):
Support fully integrated S/R solids.

*CONTROL_REFINE_… (IBOX, 1st line, 5th column):
Implement *DEFINE_BOX_LOCAL and *DEFINE_BOX_ADAPTIVE to refine elements
checking criteria provided by these box keywords.

*CONTROL_ADAPTIVE (ADPOPT=8, 1st line, 3rd column) and *SECTION_SHELL (ELFORM=12):
Map the plain stress shell thicknesses for the 2D adaptive remeshing

Staged construction (*CONTROL_STAGED_CONSTRUCTION, *DEFINE_STAGED_CONSTRUCTION_PART):
Change the behaviour when a part is added.
Previously, the stiffness and strength of the part would ramp up gradually
according to ramp time ATR on *DEFINE_CONSTRUCTION_STAGES. Now, the stiffness
and strength have their full value immediately at the start of the stage when
the part becomes active (STGA). The reason for the change is to prevent unrealistic
deformations occurring while the part is only partially stiff. The same change
applies if a part is added using STGA on *LOAD_STIFFEN_PART. There is no change
to gravity loading associated with *DEFINE_STAGED_CONSTRUCTION_PART:
when a part is added, the gravity load still ramps up according to ramp time ATR.
Nor is there any change to the behaviour during part removal.

Other updates to Staged Construction are:

– Enabled _TITLE option for
*DEFINE_CONSTRUCTION_STAGES and *DEFINE_STAGED_CONSTRUCTION_PART. The titles
are ignored by LS-DYNA, and are used only in pre-processing. Previously,
adding _TITLE would have caused an input error.

– Fixed bugs in energy balance output for
staged construction (*DEFINE_STAGED_CONSTRUCTION_PART and also
*LOAD_STIFFEN_PART and *LOAD_GRAVITY_PART). The internal energy was wrongly
calculated for dormant parts, and the gravity loading could sometimes be
missing from the external work calculation, depending on the other contents
of the model. These bugs affected the energy outputs (e.g. in glstat file)
but did not affect the other results (stress, displacement, etc).

– Fix bug in dynain file related to the format of *INITIAL_PWP_NODAL_DATA card,
which is written if the model contains *CONTROL_PORE_FLUID. The resulting dynain
file could not be read into LS-DYNA.

– *DEFINE_CONSTRUCTION_STAGES have option inputs RTS, RTE (“real time” at
start and end of stage). This is intended to enable an “accelerated analysis”
in which processes that really take days or weeks can be modelled in
seconds of analysis time. These inputs previously had no effect, they were
present only to help the user understand the times in the input file. Now,
“real times” will be written to the output files in place of analysis time.

– Fixed bug that occurred with *CONTROL_STAGED_CONSTRUCTION
if Dynamic Relaxation was also switched on. Staged construction is compatible with
D.R. only if the analysis begins at the first stage (i.e. time=0). If not, D.R. now
gets switched off automatically and a warning is issued.

– Enabled *LOAD_GRAVITY_PART for tshells.

— CONTROL_ADAPTIVE —

Fix to avoid segfault in R-adaptivity
if 2*(number of shells) > 3*(number of nodes).

Fix problem with 2d adaptivity and boundary merging.
Some boundary points between materials
weren’t merged in some cases, depending on where the
program thought the 2d contours started. This
only applies for *CONTROL_ADAPTIVE adpopt=8
with mmm2d=1.

Fix excessive memory growth during adaptive problems, and reduce
memory requirements overall.

Generate input error message if *DEFINE_FILTER is used
together with *CONTROL_ADAPTIVE, because these filters
just won’t work with adaptivity.

Increase the size of some statically allocated
arrays so that larger 2d adaptive problems can be
run.

*CONTROL_ADAPTIVE:
Added Card 5 with only one input variable called INMEMORY.
EQ.0: conventional out of core shell adaptivity
EQ.1: in-core shell adaptivity with load rebalancing.

*CONTROL_IMPLICIT_ROTATIONAL_DYNAMICS:
– 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.
Previous verion only use *DEFINE_VECTOR to define the VID.
– The rotational dynamics can work in MPP now.

Added variable ICRFILE in *CONTROL_OUTPUT so that nodes sets and
element sets associated with *DATABASE_CROSS_SECTION are written to
a file to facilitate checking of the cross-section definition.

The adaptive element size range defined by RMIN/RMAX in *DEFINE_BOX_ADAPTIVE can
now be out of the range defined in *CONTROL_REMESHING for 3D adaptivity.

*CONTROL_ADAPTIVE:
Add warning message that IREFLG is not supported in 3D adaptivity (ADPOPT=7).

*CONTROL_ADAPTIVE:
– Add a new feature to the adaptivity of sandwich part: allow multi-layers of solid core to be refined.
– Support the refinement of 6-node solid elements in the refinement.
– Fix a bug in the output of ‘adapt.msh’: an extra blank line was output in *ELEMENT_SHELL_THICKNESS.
– Fix a duplicate beam error with adaptivity involving beam elements.

*CONTROL_ADAPTIVE_CURVE:
Fix a bug where the refinement width control was not functioning properly.


________________________ Discrete Element Method ___________________

Switch material type from rigid to elastic for DEM.

Enhance MPP’s particle-DEM coupling algorithm for *PARTICLE_BLAST.

Fix bug if de_massflow_plane and interface force file for
*DEFINE_DE_TO_SURFACE_COUPLING are both defined.

Fix MPP bug for *PARTICLE_BLAST if some processors contain solid
elements while other processors have no solid elements.

Fix bug for *PARTICLE_BLAST if solids are used as geometry for HE particles.

Implement rebalancing algorithm for *PARTICLE_BLAST, the performance of
particle-particle contact and particle-structure contact is increased by
~10~30 times for hundreds of cores—-MPP only.

Fix bug for *DEFINE_DE_MASSFLOW_PLANE output error if multiple planes
are defined.

Fix bug for *DEFINE_DE_INJECTION if multiple injection planes are defined.

Implement eroding coupling between particle and structure (shell/solid)
for *PARTICLE_BLAST. New surfaces of eroded solid parts are taken into
consideration.

Fix MPP bug when detonation point is defined using a node for *PARTICLE_BLAST.

Fix wear depth calculation error for DEM interface force file (MPP only).

Skip *PARTICLE_BLAST calculation during dynamic relaxation phase.

Fix MPP bug when there are multiple *PARTICLE_BLAST definitions.

Add calculation of coordination number for DEM in MPP.

Add automatic bucket sort for *DEFINE_DE_TO_SURFACE_COUPLING.

Reformualte particle injection algorithm for MPP such that
particles with different radii can be injected.

Add birth time and death time for *CONTROL_DISCRETE_ELEMENT.

Fix bug in calculation of capillary force for *DEFINE_DE_TO_SURFACE_COUPLING.

Fix bug for capillary force calculation if DEM model has zero potential
contact pairs but non-zero capillary force.

Implement DEM mass output to interface force file for
*DEFINE_DE_TO_SURFACE coupling.

Add mass output for demrcf.

Add moment output to demrcf (SMP only).

Report damping energy for DE non-reflecting boundary conditions.

Implement explicit thermal modeling of DES (SMP only).

Implement user defined curve to get mass flow rate for
*DEFINE_DE_INJECTION.

Fix minor bug for *DEFINE_DE_TO_SURFACE_COUPLING when the thickness of shell
is much larger than segment size.


________________________ EFG (Element Free Galerkin) _____________

Variables STRFLG and INTOUT in *DATABASE_EXTENT_BINARY can now be turned on when
using 3D adaptivity on EFG solid.

Special decomposition is implemented for EFG shell formulation 41 to avoid the
memory error in MPP.

Automatically set IPS=0 (no pressure smoothing) for EFG solid formulation 41.

*MAT_076 is now supported for EFG shell formulation 44.

Fixed incorrect stresses in:
– Plane strain EFG formulation (shell type 43) in both explicit and implicit,
– Axisymmetric EFG formulation (shell type 44) in explicit.


________________________ *ELEMENT ___________________

*INTEGRATION_BEAM with different PIDs at each integration point: this was an existing
capability, but the time step calculation was overly conservative for cases where the
section contained a small proportion
of a stiffer material, such as the reinforcement in reinforced concrete. For
the same reason, LS-DYNA could add large amounts of mass-scaling unnecessarily.
The time step calculation has been improved to remedy this.

Fixed bug for beam elements ELFORM=2: with certain combination of inputs only,
the output forces and moments could be wrongly rotated about the beam axis. This affected
the output forces only, not the solution inside LS-DYNA. The error could take
two forms: (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 could have their output forces and moments rotated by
one radian. These bugs are now fixed.

Speed up keyword for some models that use lots of
*ELEMENT_SOLID_TET4TOTET10 due to too many memory allocation calls.

*SECTION_BEAM: Added a flag ITORM for improved representation of torsional
modes which can be activated (ITORM=1) only if an eigenvalue analysis is
performed and which applies only to beam type 13. If ITORM is not active
(ITORM=0) the torsional inertia from structural analysis is used which may
result in too large eigenvalues related to torsional modes.

Added cubic solid element formulations 27,28,29 (*SECTION_SOLID).

Added section forces for higher order solid elements.

Added element deletion capability for higher order elements.

Correct issue with prescribed motion on superelements for explicit mechanics.

Enhance the application of damping to superelements for explicit.

Tune up output of consistent elemental mass matrices. Needed to capture
the lumped mass terms that had been removed. This code changes output
of the elemental mass matrices to include the lumped terms.

Enhance *ELEMENT_DIRECT_MATRIX_INPUT where the matrices for the same
superelement do not match in order.

SEATBELT:
– Fix MPP bug that could occur where there is more than one type-9 seatbelt pretensioner.
– Fix misprinted section number and material number for 2D belt error message.
– Limit the bending stiffness of *MAT_SEATBELT to implicit analysis only.
Warning will be issued when non-zero bending stiffness is defined for explicit analysis.
– Fix a MPP bug whereby incorrect belt material length information is output to d3hsp.
– Fix a bug that occurs when time-dependent slipring friction is used for 2D belts.
– Fix erroneous 1d seatbelt slipring message that has been there since version R8.0.0.

Enhance *DATABASE_RECOVER_NODE so that it works for shell form 23 with 3×3 integration.

*USER_NONLOCAL_SEARCH:
Provides an interface for gathering the history data of specified elements that surround
a 窶徇aster窶・element to average (or smooth) the history data of the master element.
The surrounding elements are determined using a user defined strategy. The type of averaging
is also user specified. Currently this keyword only works for solid elements.
– supports solid form 1, 16, 19, 21
– supports _ORTHO to search in material local abc directions
– enables user to define a nonlocal search in ellipsoid shape

Added cohesive element formulation -29 that defines the cohesive midlayer from the
average of surrounding shell normals. This fomulation is better suited for simulating normal shear.

Fixed absence of part mass in d3hsp for cohesive shell element formulation 29.

Fix memory error when using *NODE_THICKNESS_SET and also fix node set not found
error when using *NODE_THICKNESS_SET with *SET_NODE_INTERSECT.

Make *TERMINATION_DELETED_SOLIDS work with hex spot weld failures.

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

Fixed implicit accuracy when using higher order shell form 23. The element was
forced to use 3×3 integration but now supports both 2×2 and 3×3.

Modified discrete beam form 6 when it is defined with rotational stiffness, but no
rotational damping. This change adds a small amount of damping to prevent beams from
excessive oscillations which can cause error in the element strain measure.

Fixed the NREFUP option (*CONTROL_OUTPUT) when the ORIENTATION option of *ELEMENT_BEAM
is not active and some other options are not active. The NREFUP option is available for
beam types 1, 2, 11, 12, and 14.

Fixed the thinning of shell form 24 which was thinning about 33% more than it should
under large tensile strain.

Enabled adaptive tet meshing (ADPOPT=7 on *CONTROL_ADAPTIVE) to work for any reasonable
solid element form at the start of the calculation. Previously, the part could only be
tet meshed with form 13 elements, or else EFG solid elements 41 or 42, or the job would
crash at the first remap step. Now it should work with any structural element form.

Improved the accuracy of tetrahedral solid form 13. During rigid body translation,
some pressure could develop. Now it can translate pressure free, and therefore stress free.

Fixed beam elements when some elements in a part use *ELEMENT_BEAM_ORIENTATION, and some do not.
The affected beam forms are 1, 2, 11, and 14.

Modified the behavior of isotropic materials that are used in composites that are modeled with
tshell form 5. The oscillation check on the thickness stress was modified to directly check
stress rather than a total strain. For nonlinear materials, this is more reliable as it was
possible to miss the oscillations when checking strains. This should have little effect on
most solutions.

Fixed tshell forms 5 and 7 when used with total Lagrangian material models such as *MAT_002.
Large rotations were leading to incorrect strains and stresses.

Fixed tshell form 3 when used with the hyperelastic materials. The L matrix was in
the global coordinate system instead of the local system.

Changed the d3hsp output of 3-node triangular shell elements so that zero thickness
is reported for node 4. The inputted node 4 value was being output and included in the
element thickness calculation, but now it is ignored.

Fixed output of membrane shell form 5 when used with materials other than 34 and 134.
The stress and history data written to the d3plot file was wrong.

Fixed the behavior of CDL and TDL on *SECTION_DISCRETE when one of the nodes is
constrained by an SPC. Also, corrected the deforc output when CDL and TDL limits
are reached.

Fixed the strain output in eloutdet for higher order shell form 23.

Improvement of error checking of cohesive elements (solid forms 19/20/21/22).
In addition to checking for adjacent elements (shells, tshells or solids),
we now check for being part of a tied contact definition.
This eliminates a lot of unnecessary warning messages.

Fixed adaptivity (and restart) for tetrahedral solid formulation 13 by porting
nodal averaged data between adaptive steps. Before this fix, spurious peaks in
cross-section forces could occur and be mistaken for contact pressure peaks.

Add new option for *PART_STACKED_ELEMENTS to deal with in-plane composed
reference mesh parts. Has to be used together with *NODE_MERGE_SET.

Add cross section forces (*DATABASE_SECFORC) for 20-node and 27-node hexas,
i.e., solid forms 23 and 24.

Add variable ITOFF in *SECTION_BEAM to control torsion behavior for spotweld
beams (beam form 9).

Improve time step estimate for 10-noded tet form 16 with “curved” edges
to improve robustness.

Add variable ICRQ=2 on *CONTROL_SHELL to
only treat thickness continuously across element edges.
This is an alternative to ICRQ=1 which treats both thickness and plastic strain
continuously across element edges.

For higher order shells, the body loads account for
shape functions when assembling nodal forces.

The kinematics for warped/hourglassed cohesive solid forms 20/22 are
now corrected so that rigid body motion should give zero eigenvalues.

If IACC=1 on *CONTROL_ACCURACY, 6-node quadratic shell form 24 is treated
according to Martin & Breiner for alleviating membrane and shear locking.

If IBEAM on *CONTROL_IMPLICIT_EIGENVALUE is set to 2 or 13, then beam
formulations 1, 4 and 5 undergo section conversion from an integration
rule to resultant properties.

Fixed error for reading *ELEMENT_SHELL_OFFSET_COMPOSITE.

Fix parsing errors in *SECTION_BEAM_AISC.

Fix error in reading of user-defined shell elements.

A new 4-node tetrahedral solid element (ELFORM=60) is implemented to support mixed materials.
The volumetric locking is eliminated without nodal averaging.


________________________ EM (Electromagnetic Solver) ___________________

EM Analysis developments are divided into several subcategories below.

I. Batteries

Added 2 extra variables in d3plot in EM_FEMSTER_NODE for batteries:
D3PL_RAND_areaCircuit_EM
D3PL_RAND_areaCell_EM
For local area of each Randle circuit and global area of the cell.

Added meshless Randle model, see *EM_RANDLES_MESHLESS.

Fixed bugs for addition of joule heat rate in meshless Randle.

Added battery model with composite tshells.

Switched from *EM_CIRCUIT_RANDLE to *EM_BATTERY_RANDLES for solids and
*EM_RANDLE_LAYERED for composite tshells.

In *EM_BATTERY_RANDLES, *EM_RANDLE_LAYERED and *EM_RANDLE_SHORT,
Randle Area=2 is now the default, and the old Randle Area=0 (“as is”)
is now Randle Area=3.

Added cylindrical cells.

Fix bug in build of the layered (composite tshells) circuits when layers end
up by a separator (like in cylindrical cells).

Addition of RANDLES instead of RANDLE in *EM_RANDLE_… keywords to be
consistent with the manual (the old RANDLE still works).

Fix bug in building layer mesh for addition of different composite tshell parts.

Addition of Randle Area in randles circuit for composite tshells.

Addition of Randles circuit in connection with new LS-PrePost
battery packaging for solid elements, in serial and MPP.

Addition of optional joule heating from a meshless Randle
circuit to a set of parts (uniformly). This is triggered using
*EM_ISOPOTENTIAL_CONNECT.


II. Electrophysiology

Added Monodomain (EPMD) and bidomain (EPBD) solvers for electrophysiology.

Addition of bath loading in EP models, both in EPBD, and in EPMD,
using an augmented monodomain approach. This should work both in serial and MPP.

Added calcium concentration at nodes vector in EP so that it can be
used in mechanical models. It can be visualized using d3plot
in relative permeability for now.

Added PCG in EP: the user can choose between MF2 and PCG using EM_SOLVER_FEM.

Added tetrahedrons in EPMD and EPBD.

Addition of *EM_EP_TENTUSSCHER_STIMULUS2 to create stimulus on a node
set where the amplitude is time dependent given by a load curve
(amplitude vs time). Several such stimuli can be created at the same time.

Addition of user cards for *EM_EP_TENTUSSCHER and
*EM_EP_TENTUSSCHER_STIMULUS for user to input parameters for electrophysiology.

Addition of beta and Cm in *EM_MAT_003 and *EM_MAT_005.

Added Godunov method using MF2 in MPP for EP bidomain.

Addition of *EM_MAT_005 with 2 conductivity tensors for EP bidomain model.

Addition of implicit and first order operator split (+ combination of the 2) in
monodomain method.

Added activation time as a d3plot output as well as an ASCII file
(x,y,z,time) at each node. In d3plot, the activation time is at the
ohm heating power for now.

Added transmembrane potential in d3plot output: it is in
the scalar potential for now.


III. Resistive Spot Welding

Addition of resistive spot welding in 2D (rsw2d).

Addition of contact Joule Heat Rate for contact resistance in rsw2d.

Addition of resistive heating solver in 2D, for rsw in 2D.

Added zero out of em_nodeJHrate in em_zeroEMFieldsOut, so that no more
JHR from the contact resistance is added after EM is switched off.


IV. Eddy current

Added option to use *DEFINE_FUNCTION in LCID for the imposed scalar potential
circuit type in EM_CIRCUIT. Allows users to use their own circuit equation as input.


V. Inductive heating

Added option to define NUMLS, F and A with a Load Curve function of the macro time
if a negative integer value is entered.


VI. Miscellanous EM

Creation of d3p_bemDecomp file if gmv > 0 in *EM_OUTPUT with BEM face domains.

Corrected an MPP issue for the EM solver that could occur in problems where some
solid and shell elements have the same element number.


________________________ Forming Analysis __________

A special form of shell h-adaptivity called “tube adaptivity” can now be invoked
using *DEFINE_BOX_NODES_ADAPTIVE. Here, fission and fusion occurs in shells located
inside a “tube”, that is, a torus-shaped volume, based on the path of a moving tool.
This form of adaptivity can help reduce simulation time for incremental forming or roller hemming.

*ELEMENT_BLANKING:
Fix corner trimming problem of a flat blank, where the corner elements would not
follow the trim line when trimmed.

*CONTROL_FORMING_ONESTEP:
– Improve support to-be-unfolded part as a dynain file, by accepting *ELEMENT_SHELL_THICKNESS,
*INITIAL_STRESS_SHELL,and *INITIAL_STRAIN_SHELL.
– Add *MAT_123 to onestep method.
– Fix friction force calculation error.
– Improvements: some of the executables were not able to use multiple CPU in SMP
before, now it is possible.

*CONTROL_FORMING_TRIMMING, *DEFINE_CURVE_TRIM:
– Fix bug in trimming: some of the history variables were lost during trimming.
– Fix bug: some SPC nodes were mistakenly removed.
– Fix bug in trimming of sandwiched part with multi-layerd core: shells were wrongly
created for every layer of the sandwiched core.
– Improve trimming of solid elements: allow the corner to be trimmed exactly as the trim curve.

*CONTROL_FORMING_TRIMMING, *DEFINE_CURVE_TRIM_3D:
Improve trimming with _3D option: if a vector id is provided (by mistake) with 3D trimming,
the code will set the vector to be zero, as 3D trimming does not require a vector.

*DEFINE_CURVE_TRIM_2D:
Change from *DEFINE_CURVE_TRIM_NEW to *DEFINE_CURVE_TRIM_2D.

*CONTROL_FORMING_REMOVE_ADAPTIVE_CONSTRAINTS:
– Fix segmentation fault.
– Extend to triangular elements, in addition to quadrilateral elements.

*CONTROL_IMPLICIT_FORMING:
– For IOPTION=2, fix a truncation error that prevented completion of the analysis.
– Fix a bug that prevented application in dynamic implicit analysis.
– Fix kinetic energy calculation error.

*DEFINE_FORMING_CLAMP:
– Add error message: “Vector: xx was not defined” in case vector’s direction is defined incorrectly.
– Check constraints for the rigid clamper and free the constraints from the moving clampers.

*DEFINE_PART_FROM_LAYER:
Add *CONTACT_SURFACE_TO_SURFACE between layers generated by this keyword.

*CONTROL_FORMING_AUTOPOSITION_PARAMETER:
– If separation distance cannot be found, for example, when the MPID is not found when
calculating the separation distance, or out of position, or the DIR is not input correctly,
instead of returning a very large number, the value of PREMOVE will be returned.
– Support *DEFINE_COORDINATE_VECTOR.

*CONTROL_FORMING_OUTPUT:
– Enable the variable NOUT not only in punch drawing but also in binder closing.
– Allow output of d3plot according to NOUT without using y1,y2,… or a curve id.
– Fix a bug to prevent excessive intfor output.

*DEFINE_FORMING_BLANKMESH:
Fix X, Y shifting problem (not working) for NPLANE=2 and 3.

*INCLUDE_AUTO_OFFSET:
– Extend to beam and solid elements.
– Fix a beam offset problem when adaptivity is turned on.
– Add a new option _USER. User can now control how much the node and shell element are offset.
In addition, with this option, the offset can be used for sheet blank part. Without this
option, the auto offset can only be used for rigid bodies.
– Extend _USER option to include solid and beam parts.

*CONTROL_FORMING_TIPPING:
Improve this keyword to allow three source coordinates and the corresponding three
target coordinates for the tipping. Use NMOVE=-6 to activate this feature.

*CONTROL_FORMING_UNFLANGING:
Fix a segmentation fault when writing the result file ‘unflanginfo.out’.

*DEFINE_MULTI_DRAWBEADS_IGES:
Fix a duplicate node set issue when SMOOTH contact is used with automatic
draw beads generation from IGES.

*CONTROL_FORMING_PRE_BENDING:
Add a warning message that the keyword must be placed at the end of the input file.

*DEFINE_BOX_DRAWBEAD:
Fix a bug in calcuating the box size.

*CONTROL_FORMING_STONING:
Allow the element set to be defined with *SET_SHELL_GENERAL and *DEFINE_BOX.

*DEFINE_FIBERS, and *CONTROL_FORMING_ONESTEP:
– Add a new keyword (*DEFINE_FIBERS) to define carbon fibers and their related properties
for one-step inverse forming simulations of carbon fiber reinforced composites.
– Output initial flat part, which is re-orienated by aligning node N1 and N2 in x-direction.
– Output element fiber information, including orientation and width.
– When N1 or N2 is zero or undefined, another line of input is required for the
target coordinates for N1 and N2, and the code will find the nearest nodes.
– Outputs:
1st history variable: the angle between two fibers.
2nd history variable: the angle between the first fiber with respect to the element direction.
3rd history variable: the angle between the second fiber with respect to the element direction.
– Up to three major fiber reorientations are allowed.

*CONTROL_FORMING_STRAIN_RATIO_SMOOTH:
Change keyword name from *CONTROL_FORMING_TOLERANCE to *CONTROL_FORMING_STRAIN_RATIO_SMOOTH.

*CONTROL_FORMING_AUTOCHECK:
– Add a new variable IFSHARP. When IFSHARP=0, check the sharp edge and delete the elements;
when IFSHARP=1, ignore sharp edge.
– Check for and fix for triangular elements incorrectly defined with four unique nodes.

*INTERFACE_COMPENSATION_FLANGE:
Added this new keyword to handle flanging die compensation.

*DEFINE_PART_FROM_LAYER:
Add a new keyword to generate multi-layers of shells for a composite structure
(carbon fiber material, for example).

*ELEMENT_LANCING:
Add lancing of multi-layered solid elements.

*CONTROL_FORMING_BESTFIT:
– Add some bestfit statistics in the “messag” file after best fit. The first column
is the percentage of nodes within the range indicated; the second column is the
percentage of nodes within the upper limit of the range indicated.
– Output the maximum gap.

*DEFINE_CURVE_FLD_FROM_TRIAXIAL_LIMIT, and *DEFINE_CURVE_TRIAXIAL_LIMIT_FROM_FLD:
Added these two new keywords.

*INCLUDE_COMPENSATION_TRIM_NODE:
Add a new option which will include a file containing all the nodes near the trimming
line. This file should be generated from *INTERFACE_COMPENSATION_NEW_REFINE_RIGID (bndnd0.tmp).

*INTERFACE_COMPENSATION_3D:
– Add a new option _REFINE_RIGID to automatically identify the nodes near the trimming
curves, so surface compensation later will be smoother.
– Add a new variable TANGENT. TANGENT=1 maintains the boundary tangency from the addendum to the binder.
– Combine rigid refinement along trimming curve into the main compensation in one single run.
– Change keyword *INTERFACE_COMPENSATION_NEW to *INTERFACE_COMPENSATION_3D.


________________________ *FREQUENCY_DOMAIN ___________________

Added logic for some frequency response computations so that the amount
of drilling rotation control is the same as for eigenvalue computations.

*DATABASE_FREQUENCY_ASCII_OPTION:
– Added modal contribution fraction output to NODOUT_SSD and ELOUT_SSD.
– Added option NODFOR_SSD as an option to *DATABASE_FREQUENCY_ASCII.
– Added options NODOUT_PSD and ELOUT_PSD for random vibration analysis.

*DATABASE_FREQUENCY_BINARY_OPTION:
– Added D3ZCF binary database to fringe plot zero-crossing frequencies (with positive
slope) in random vibration analyis.
– Added D3ACC binary database to fringe plot acoustic pressure contribution from
boundary elements in BEM acoustic computation.

*FATIGUE:
– Implemented this keyword to run time domain fatigue analysis based on stress or strain.
– Added new mean stress correction methods: Goodman-tension-only and Gerber-tension-only
to provide conservative analysis for compression mean stress.
– Added an option EN to *MAT_ADD_FATIGUE to define material’s EN curve.
– Improvement to skip fatigue computation if the local strain is less than 1.e-6.
– Improved strain based fatigue analysis when using Maximum Shear Strain and using
Signed Von Mises strain.
– Added restart option RESTRT to fatigue analysis, if the stress/strain time history
has been precomputed.

*FREQUENCY_DOMAIN_ACOUSTIC_BEM:
– Added half space option to dual BEM based on Burton-Miller formulation.
– Implemented incident wave to Kirchhoff method.
– Implemented incident wave to Burton-Miller BEM.
– Implemented incident wave to Rayleigh method.
– Fixed bug in running acoustic analysis with multiple boundary conditions in MPP.
– Enabled running BEM restart (ibemrest=6) based on atv matrix computed previously. SMP only.
– Generating D3ACS database for collocation bem (method=3) and dual collocation bem (method=4) only.

*FREQUENCY_DOMAIN_PATH:
Added option _NOJOBID, so that users can run restart based on the same eigenvector database
for each CASE (otherwise, LS-DYNA will add different prefix to the file name in each
CASE automatically).

*FREQUENCY_DOMAIN_RANDOM_VIBRATION:
– Added the following new load types for random vibration analysis:
VAFLAG = 9 base velocity
10 base displacement
11 enforced acceleration by large mass method
12 enforced velocity by large mass method
13 enforced displacement by large mass method
– Fixed a bug in running PSD interpolation when log-log interpolation is used and
the PSD includes both magnitude and phase delay (for cross PSD).
– Implemented Lalanne method for frequency domain fatigue analysis.
– Added option LCTYP2 to define phase difference in cross psd by degrees and radians.

*FREQUENCY_DOMAIN_RESPONSE_SPECTRUM:
– Changed the rule of dumping nodal displacement results to D3SPCM. Now the state variable
of nodal displacement results is the displacement peak value itself, without adding
original nodal coordinates. LS-PrePost has been updated to accomodate this change.
– Added xyplot file spectrum_curve_print. This file saves the intermediate base acceleration
spectrum, converted from base motion time history (LCTYP=10, 11, 12).
– Added the following new load types for response spectrum analysis:
LCTYP = 5 (base velocity vs natural period)
6 (base acceleration vs natural period)
7 (base displacement vs natural period)
8 (nodal force vs natural period)
9 (pressure vs natural period)
10 (base velocity time history)
11 (base acceleration time history)
12 (base displacement time history)
– For group force computation, now we calculate the group force for each mode first and
then run the mode combination on them. Previously we calculate the group force as
the sum of the nodal force, after the mode combination.
– Added Von Mises stress output for beams for response spectrum analysis.
– Updated response spectrum analysis so that it can work with intermittent eigenvalue analysis.
– Added nodal force and group force output (NODFOR_SPCM) for response spectrum analysis.

*FREQUENCY_DOMAIN_RESPONSE_SPECTRUM_DDAM:
– Implemented DDAM for navy ship shock response analysis.
– Implemented CSM (Closely Spaced Modes) treatment for DDAM.
– Added mcomb=-14 to run DDAM with user defined CSM.
– Added a new parameter EFFMASS, to define a required mininum percentage for total modal mass,
to decide the modes to be used in DDAM analysis. The default value is 80 (80%).
– Added a parameter UNIT, to define the unit system in the input deck, as the NAVSEA constants
are only valid with the BIN unit system.

*FREQUENCY_DOMAIN_SSD:
– Implemented mean stress correction for SSD fatigue analysis.
– Implemented option restmd=2 to restart with old scratch file modeshp to save time.
– Implemented an option _FRF to *FREQUENCY_DOMAIN_SSD, to provide FRF results in SSD.
– Added option _MODAL_CONTRIBUTION to output modal contribution fraction for nodes and elements.
– Enabled combination of modal damping and local damping in SSD computation.
– Added the following new load types with rotational degree-of-freedom.
VAD = 9 (base angular velocity)
10 (base angular acceleration)
11 (base angular displacement)


________________________ ICFD (Incompressible Fluid Solver) ______________

New ICFD features and major modifications:
– Major rework of the boundary layer mesh generation capabilities. See MESH_BL keyword.
– Major rework on the wave generation capabilities. Added 2D and 3D solitary waves as
well as a irregular wave model (JONSWAP spectra). See *ICFD_BOUNDARY_FSWAVE keyword.
– Added an option so that pmin and pmax in MESH_SIZE_SHAPE can be defined using *ICFD_DEFINE_POINT.
The big advantage is that *ICFD_DEFINE_POINT can move and therefore *MESH_SIZE_SHAPE as well.
Also added new Shape name : SPOL as well as birth and death times.
– Added keyword to define a volumetric heat source. See *ICFD_DEFINE_HEATSOURCE.
– Added keyword which allows the user to define an initial plane for levelset rather than building
the initial interface mesh. See *ICFD_INITIAL_LEVELSET.
– Added keyword to control gap size in embedshell cases. See *ICFD_CONTROL_EMBEDSHELL.

Small feature additions in ICFD and modifications to existing keywords:
– Output frequency of d3plot in steady state in now controlled by sixth flag of *ICFD_CONTROL_OUTPUT.
– Added output frequency for *ICFD_DATABASE_TEMP.
– *ICFD_DEFINE_POINT : can now be made to follow a surface part’s displacements.
– Allowing *DEFINE_FUNCTION to be used for R and LCID in *ICFD_DEFINE_NONINERTIAL.
– *ICFD_CONTROL_GENERAL : potential flow solver can now be used in transient analysis
(which can for example be useful in cases like conjugate heat transfer).
– *ICFD_MAT : added the option to scale the surface tension by using a load curve or a *DEFINE_FUNCTION.

Bug fixes in ICFD:
– Fix temperature SUPG stabilizing parameter for Conjugate Heat Transfer problem.
– Fix the viscosity as a function of temperature when using Non-Newtonian fluids
with NNID=6,7,8 in Free-Surface problems.
– Fix the surface tension force term.
– Fix issue in multiphase algorithm. Stability and accuracy greatly improved.
– Improved stability of k-epsilon model in steady state solver.

Minor ICFD improvements:
– Change the nodal assembly by an element integration and assembly.
in anisotropic porous media solver. This way, forces at porous media
interfaces are better described for coarse meshes and thin porous
media domains.
-Split the mesh statistics in icfd_mstats.xxx.dat into bulk mesh and boundary layer.
– Added ‘wetness’ variable for free surface cases that shows how much a surface has touched the water.
– Support of icfd_timeiter.dat for the steady state solver.
– Added timer for potential flow solver.
– Added a spatial smoothing for the surface shear stress calculation.
– Added ICFD endtime in d3hsp initial keyword reading.
– Accelerated heat transfer calculation.
– Added a small warning that ICFD does not scale in SMP with ncpu higher than 1.
– Change in unreference node detection criteria. Before, it was stopping with an error message,
now it proceeds with a warning.
– Added warning when porous media model or non newt model not detected.
-Added avg pre and avg flux to ICFD_DATABASE_FLUX output.


________________________ Implicit (Mechanical) Solver _______

*CONTROL_IMPLICIT_MODAL_DYNAMIC:
– Support output to elout for modal dynamic analysis.
– Make performance enhancements for transient modal analysis including the implicit Newmark scheme
for time integration and a node set for loads in *CONTROL_IMPLICIT_MODAL_DYNAMIC.

When using a direct solver for implicit (LSOLVR = 2 or 6 in *CONTROL_IMPLICIT_SOLVER),
the system of linear equations is reordered (permuted) to reduce the solution cost.
Up to and including version R10, two options were available: MMD (Multiple Minimum Degree) and
METIS (external package from University of Minnesota). These two options are serial algorithms,
and they might run out of memory or consume a large fraction of total run time for very large models.
As of version R11, a parallel, distributed-memory algorithm, LS-GPart, is introduced.
It scales in both memory and time and should only be attempted for very large MPP implicit models
and with the guidance of implicit support staff at LSTC (support@lstc.com).
LS-GPart can be used by setting variable ORDER to 4 in *CONTROL_IMPLICIT_SOLVER).
A new keyword *CONTROL_IMPLICIT_ORDERING was also introduced to fine-tune ordering options.


Correct a number of minor issues with memory access for implicit.

Enhance implicit handling of nodal inertia for special cases.

Fix divide by zero in power iteration for buckling problems with inertia relief.

Enhancements for matrix dumping left out the special case of matrix dumping
for intermittent eigenvalue problems which is now corrected.

Adjust output to d3hsp for implicit linear equation solver options to
match keyword manual.

Correct the MPP implementation for the new stiffness control on implicit rotational dynamics.

Adjust shift logic for lanczos eigensolver for a special case.

Enhance implicit treatment of sense switch sw1 to avoid issues in SMP.

Apply correction for a problem that computed way too many eigenmodes in one iteration
of the MPP eigensolver.

Add the new feature for the specification of stiffness types for
*CONTROL_IMPLICIT_ROTATIONAL_DYNAMICS.

Lower the implicit dynamic memory greed factor from 0.85 to 0.80.

Put end-of-file tag on d3eigv after writing stresses for MCMS eigensolver.
Normalize MCMS computed eigenvectors to have unit norm.

Correct the dumping of matrices from implicit when MTXDMP > 1.

Correct a misalignment of statements in flxinit causing SMP to fail with
*PART_MODES and the use of the PARTM feature from *CONTROL_RIGID.

Implement handling of failure of *CONSTRAINED_TIE-BREAK for implicit.
Required saving of the failure flag to use when constraint matrix structure has
to be the same as the last analyze phase.

Fix long standing potential memory clobber for single precision SMP implicit.
(Nevertheless, single precision is not recommended for implicit.)

Improve implicit logic for determining which DOFs are active for 2D
problems in MPP.

Enhance the modal stress scaling to be more responsive to model features to make
the computation more robust.

Enhance implicit key point logic during dynamic relaxation phase. We
were using the incorrect end time which led to a zero time step.

Add error test for when dynamic relaxation is using implicit (idrflg=5 or 6)
but DRTERM is not specified.

Correct the MPP implementation of *PART_MODES so that the part can now be
distributed across processes.

Enable implicit to collect resultant forces for SPC constraints in
local coordinates.

Fix *CONTROL_IMPLICIT_MODES to correctly build superelements in MPP.

For implicit MPP, correct tagging of the end of each d3eigv* file.

Reduce memory requirements for MPP Lanczos.

Enhance implicit to recognize superelement mass in the mass matrix multiplication.
Enhance *CONTROL_IMPLICIT_MODES to be able to create a superelement for a
model that was already using a superelement.

Enhance the specification of IMFLAG<0 for *CONTROL_IMPLICIT_GENERAL.
The old approach only allowed toggling between 0 and 1 using a curve.
This was extended to allow ordinate values of 0, 1, 4, or 5 in the curve
controlling implicit/explicit switching.

Enhance processing of rotational inertias for implicit, especially
discrete elements and rigid body inertias.

Add additional implicit debugging by checking the ends of beam
elements and what they are or are not connected to.

Reset more arrays to get the nonlinear elements to work correctly
for implicit linear multi-step (NSOLVR = -1).

If two independent nodes for *CONSTRAINED_INTERPOLATION have the
same coordinates then a divide by zero could happen. That has been corrected.

Add INTERFACE_SPRINGBACK to the cases where implicit collects and processes
damping terms instead of suppressing them as is the case for implicit statics.

Update implicit’s collection of damping terms for discrete elements
to account for user specified coordinate system and the case of no
second node.

Patch up reporting of bad pivots in MPP.

For MPP, implement the checking for rigid body node replication, which was already in SMP.
Also added proper error termination for analyzing the constraint matrix in MPP.

Correct dynamic memory allocation for the implicit case for cases with
*CONSTRAINED_INTERPOLATION with a large number of independent nodes but no
inertia relief.

Adjust the output value for IMFLAG to be the user specified value
instead of the internally adjusted value. Also make sure the
user cannot input IMFLAG=3 which is an internal value that should
not be used as input.

Enhance linear implicit for prescribed motion data on deformable
nodes.

Correct reading of constraint mode aux vectors used by modal dynamics to impose
prescribed motion constraints.

Change typing of integer back to integer*4 to get proper output to
binary format of superlement file generated by *CONTROL_IMPLICIT_STATIC_CONDENSATION.

Finish migration of implicit eigensolver using Power Method for Inertia
Relief + Buckling to dynamic memory.

Enhance the separable component report to include rigid bodies.

Enhance Implicit Usage Alert message so that for SMP it only
outputs the recommended value for memory and not the memory2 setting.

Correct the memory management for the stiffness matrix in SMP as it was freed
too early when using implicit modes.

Made a number of enhancements and corrections for the feature to apply
boundary prescribed motion constraints during implicit modal dynamics.

Added a user supplied linear equation solver capability for implicit mechanics.

Extend changes for implicit nodal rotational inertia scaling to include
*CONTROL_IMPLICIT_MODES.

Account for rotational nodal inertia terms in implicit computations for
discrete nodal inertia matrices.

Remove double booking of rotational nodal inertia and discrete inertias
that have had the rotational nodal inertia added. This will change the
eigenvalues computed by implicit by making them more correct.

Adjust implicit’s treatment of inertia’s so that implicit intermittent
eigenvalue computations will match an implicit non-intermittent eigenvalue
computation.

Add control for the accuracy output to eigout.

Apply patches to implicit mechanics from the development code as part of
our work on solving very large implicit problems.

Fix a deep and long hidden bug in implicit inertia relief.

Correct underallocation of storage for inertia relief workspace for problems
with more than 6 rigid body modes.

Convert all of the implicit linear algebra to F95 dynamic memory.
Added additional tracking statistics on the use of dynamic memory used by implicit.
Enhance output with an Implicit Usage Alert to tell users how to set memory and
memory2 for this model.

Fix the marking of the end of the d3mode file when writing stresses.
Fix a problem marking the end of the d3eigv file when modal stresses are written.

Add detection of bad beam input for implicit.

Enhance keypoint logic to enforce keypoints at the initial time step and on
restart from explicit.

Fix a problem with the timing for when “dead” nodes are incorporated into
implicit.

Added features to allow tighter coupling between implicit and USA.

Correct output of eigenvalues and frequencies for the unsymmetric eigenvalue
problem to match that of rotational dynamics.

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

Enhance implicit inertia relief to be optional for any explicit phase.

Added MCMS (LSTC’s name for AMLS) approximate eigensolver.

Corrected the computation of reduced mass matrix for *PART_MODES when the nodes for
the part are distributed in MPP. Also corrected the computation of total kinetic
energy for the same situation.

Earlier enhancements to adjust for poorly scaled implicit mechanical
problems negatively affected the direct linear equation solver used in the implicit
treatment of joints for explicit in single precision. The pivot
tolerance was inappropriately being reduced. Now fixed.

Migration of shell arrays to dynamic storage broke d3iter. Also had to
reset i/o address for d3iter on restart.

When implicit springback was following an explicit transient step the
implicit keywords with the _SPR were not properly handled. Now corrected.

Added the feature of resetting implicit geometry at the start of each
time step to enable implicit linear multiple load analysis.

Fix an implicit problem where a linear implicit analysis follows inertia relief
computation.

Enabled tshells to use the consistent mass matrix option of *CONTROL_IMPLICIT_CONSISTENT_MASS.

Sense switch sw4 is now supported in implicit, in both SMP and MPP.

If IMASS=0 on *CONTROL_IMPLICIT_DYNAMICS, i.e., the analysis is static,
the kinetic energy is output as zero to make physical sense.

If HGEN=1 on *CONTROL_ENERGY, energy from drilling constraint
is included in hourglass energy and thus accounted for in energy balance.

A nonzero start time of initial velocities is supported in implicit dynamics,
see *INITIAL_VELOCITY_GENERATION_START_TIME.

If IRATE=-1 on *CONTROL_IMPLICIT_DYNAMICS, rate effects are active
even in implicit statics, which is sensible if viscoelastic effects are
used in quasi-static analyses.

Rotational prescribed motion on rigid bodies induce a fictitious
residual force to avoid initial zero loads, which is a way to prevent
stalling of the analysis. Translational prescribed motion was
supported in this way in prior versions.

Four variables (GJADSTF/GJADVSC/TJADSTF/TJADVSC) in *CONTROL_RIGID
automatically add joint stiffnesses to all joints, primarily for use
in implicit in models with many joints (e.g., dummies) to stabilize the
overall behavior.

NLNORM=4 on *CONTROL_IMPLICIT_SOLUTION mixes rotational and translational
degrees of freedom for computing residual forces by weighing the rotational
contribution with a length scale internally calculated to avoid a units problem.
The length scale used is reported in the output and can be overwridden
by NLNORM<0.

Implemented a chained *CASE treatment for implicit, for splitting a “complicated”
process into several “simple” simulations allowing for transfer of state between
each such simulation. This makes use of writing and reading dynain.lsda
(*INTERFACE_SPRINGBACK_LSDYNA/*INCLUDE) between cases, and in addition to element
stresses, etc. that are the common state constituents, we support
– mortar contact friction, tied, tiebreak and tied weld
– tied contact slave node and master segment pairs
– stabilization history of elements (hourglass and drilling)
This is an ongoing project which is intended to be supported in an Implicit GUI
in LS-PrePost for facilitating its setup.

If IACC=1 on *CONTROL_ACCURACY, “bad” implicit element formulations are
automatically switched to type 2 (solid) or type 16 (shells).

Fixed bug in d3eigv output for model with *CONTROL_IMPLICIT_INERTIA_RELIEF.


________________________ *INITIAL ___________________

*INITIAL_LAG_MAPPING (NELANGL=-1, 2nd line, 6th column):
If NELANGL=-1, no mesh are generated or projected; just map the data if the 2nd
run mesh geometry matches the 1st run one at its final cycle

*INITIAL_SOLID_VOLUME:
Recalculate and reset initial volume of solid elements using material models with EOS
before analysis if the original nodal position has been moved by nodal projections in
contact initialization. This option eliminates calculation of non-physical initial
hydrostatic pressure due to the nodal repositioning.

Fix ineffective *INITIAL_VELOCITY_GENERATION for part defined with *PART_INERTIA
when ID=0, STYPE=0 and IRIGID=1.

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

Fixed *INITIAL_STRESS_SHELL and *INITIAL_STRESS_TSHELL when used with *INTEGRATION_SHELL.
The integration rule was getting lost leading to unnecessary interpolation of data.

Fixed dynain writing and reading of *INITIAL_STRESS_SHELL for the fully integrated
C0 shell (shell form 20).

Enable multiple *INITIAL_VELOCITY_GENERATION keywords to be used with *ELEMENT_SHELL_COMPOSITE
or *ELEMENT_TSHELL_COMPOSITE. Only one velocity generation keyword was supported previously.

With the new parameter IVADD, the *INITIAL_VEHCILE_KINEMATICS velocity field can
be superimposed on pre-defined nodal velocities.

IZSHEAR=2 on *INITIAL_STRESS_SECTION gets a special treatment for
preloading bolts, each bolt is seen as an entity and the constraint is to
prescribe the mean stress in the section and not in each element,
meaning that the bolt is capable of take bending resistance,
currently applies to the common low order elements (type -2,-1,1,2,10,13,15)
for explicit and implicit


________________________ Isogeometric Elements ___________________

Addition of HAZ (heat affected zone) features to IGA shells. No new keywords were added. i
The capability works identically to standard FE shells.

Reduce unit system sensitivity of *CONSTRAINED_NODE_TO_NURBS_PATCH_SET.

*ELEMENT_SOLID_NURBS_PATCH:
– Isogeometric solid analysis is now available in both SMP (with consistency
flag turned on) and MPP.
– Activate user defined materials for isogeometric solids.

*ELEMENT_SHELL_NURBS_PATCH:
– Isogeometric shell analysis is now available in SMP with consistency
flag turned on. (MPP was already available.)
– Add a power iteration method to get the maximum eigen-frequency for each
isogeometric shell element. This will be used to set a reasonable
scale factor for trimmed element.
– Modify the time step scale factor for IGA trimmed shell element
so that the overall time step will not be unreasonably small due
to very small trimmed elements.

*ELEMENT_SHELL_NURBS_PATCH:
Fixed problem in decomposition for heavily trimmed NURBS-patches.
The problem may have occured if most parts of a NURBS-patch are trimmed
(not actually part of the geometry). In such cases the MPP decomposition
could have gone wrong.

Write element information for NURBS shells to d3hsp (Element ID, Part ID,
number of nodes and connectivity). This is invoked by setting NPOPT=1 in
*CONTROL_OUTPUT.

Fix bug when NURBS shells are present in a model and extra
DOFs where assigned (*NODE_SCALAR, or shell forms 24/25/26).

Fix for *ELEMENT_SHELL_NURBS_PATCH when applying body force using
*LOAD_BODY_GENERALIZED or *LOAD_BODY_PARTS. Apply the body force on the
control points.

Add support for initialization of shell thickness at in-plane int. point for
*ELEMENT_SHELL_NURBS_PATCH(_TRIMMED) using *INITIAL_STRAIN_SHELL_NURBS_PATCH
(SMP and MPP).

Add support for initialization of stresses, plastic strain, history variables and
strains for *ELEMENT_SHELL_NURBS_PATCH(_TRIMMED) using *INITIAL_STRESS/STRAIN_SHELL_NURBS_PATCH.

Add support of writing *ELEMENT_SHELL_NURBS_PATCH_TRIMMED to ASCII dynain file.

Add support of *PART_COMPOSITE for isogeometric shells.

*ELEMENT_SHELL_NURBS_PATCH & *CONTROL_ADAPTIVE:
Allow adaptivity for regular shell elements if NURBS patches are in the model.

Add possibility to define a negative real value for NISR and NISS to define a
desired size of the automatically created interpolation shell elements. This
may be especially useful when using NURBS elements for rigid tools in forming
applications.

Allow *CONTROL_FORMING_AUTOPOSITION_PARAMETER with IGA NURBS shells.

Allow *PART_MOVE with IGA NURBS shells.

Write stresses of interpolation elements to elout for
*ELEMENT_SOLID_NURBS_PATCH.

Add support for initialization of stresses, plastic strain, history variables and
strains for *ELEMENT_SOLID_NURBS_PATCH using *INITIAL_STRESS/STRAIN_SOLID_NURBS_PATCH.

________________________ *LOAD ___________________

Fix INCLUDE_TRANSFORM offset for coordinate systems in *LOAD_NODE_POINT
which were using the wrong offset.

Added support for *LOAD_THERMAL for higher order (quadratic and cubic) solids.
The temperature at the nodes is interpolated from the nodes to the integration
points so that the temperature is not the same at all integration points.

Correct the issue where use of *LOAD_BODY_ is applied to a model with rigid bodies
to avoid null elemental stiffness matrices.

Fixed *LOAD_THERMAL_VARIABLE_ELEMENT_TSHELL. It was not working.

Fixed *LOAD_THERMAL_VARIABLE when used with shell form 2 that has default warping stiffness
(BWC=2 on *CONTROL_SHELL), and when OSU=1 on *CONTROL_ACCURACY to activate an objective stress update.

*LOAD_SEGMENT_CONTACT_MASK is now supported for mortar contact in both SMP and MPP,
in both implicit and explicit.

Fix bug in accessing ground motion ID (*DEFINE_GROUND_MOTION) from
*LOAD_SEISMIC_SSI.

Allow *DEFINE_FUNCTION for *LOAD_THERMAL_LOAD_CURVE.

*LOAD_SURFACE_STRESS:
Fix a bug when there are more than 1 contact on one side of the blank, the area
calculation was larger and the pressure smaller than it should be.

*LOAD_BODY_VECTOR:
Fix a bug in writing binary dynain (MPP).


________________________ *MAT and *EOS ______________

Fix bug in *MAT_079. The equations giving the influence
of pressure on stiffness and strength were not exactly as written in
the manual. PREF had been used in place of (PREF-P0). The code has been
correected to match the manual. This change will affect results from
existing models, but usually P0 would be given a very small value so
in most cases the difference should not be significant.

*MAT_089:
– Now works with Tetrahedron ELFORM=13. Previously the behaviour
was the same as for ELFORM=10 (volumetric locking could occur).
– Fixed bug affecting solid elements only – timestep calculation was wrong.
Response could be unstable especially for higher values of Poisson’s ratio,
e.g. 0.4. Workaround was to reduce the timestep.

*MAT_119 unload option 3 – very small displacements followed by
unloading could result in excessive unload stiffness and unexpectedly large
mass-scaling, arising from small numerical rounding errors in the
interpolated version of the load curves LCIDTR, LCIDTS, etc. Now fixed.

*MAT_169 (*MAT_ARUP_ADHESIVE) – enabled for implicit analysis.

*MAT_172 (*MAT_CONCRETE_EC2):
– Fixed bug for combination of MAT_172 with
Staged Construction (*CONTROL_STAGED_CONSTRUCTION). While elements
were dormant, crushing damage could occur that persisted after the
element became active.
– Through-thickness strain was wrongly calculated when cracks are
opening or closing. This strain is only an output parameter
and does not affect the other results, but could potentially have led to
unexpected element deletion if used with *MAT_ADD_EROSION.
– Enabled CMPFLG (*DATABASE_EXTENT_BINARY).


*MAT_197 (MAT_SEISMIC_ISOLATOR)
– Added optional rotational stiffness (new optional Card 7).
This is useful when multiple isolator elements are stacked on top of each other.
– Added new TYPE=3 Lead Rubber Bearing. Includes cavitation in tension, buckling in
compression, degradation of shear strength due to heating of the
lead core.

*MAT_203
– Added history variables 10 & 11 for post-processing: high-tide
tensile strains in the two local reinforcement directions.
– Enabled CMPFLG (*DATABASE_EXTENT_BINARY).
– Fix bug in hysteresis behaviour that could occasionally cause error terminations.
– Elements are now eroded when existing input parameter EPDAM2 is reached.
If EPDAM2 and EPDAM1 are not defined, or if DRESID is non-zero, the element
never erodes.

*MAT_208 (*MAT_BOLT_BEAM):
– Now the element erodes when it reaches failure criteria.
Previously, the forces and moments were set to zero but the element
did not get deleted.
– Added new input field AXSHFL to control whether
shear displacements (excluding sliding within the clearance gap) are capable
of lengthening the bolt and increasing axial tension. By default (as in R10
and previous versions), shear displacements can increase axial tension.
This is reasonable if the shear deformation is associated with rotation or bending
of the bolt itself while the plates remain a fixed distance apart. But if the shearing
is largely due to deformation of the bearing surfaces then (in real life)
the bolt length does not increase and the tension is unaffected.
This latter behaviour can now be invoked by setting AXSHFL to 1. This effect
will be more significant as shear displacements become large. Note that
displacements associated with sliding across the clearance gap are always
ignored for purposes of calculating the axial load.

*MAT_211 (*MAT_SPR_JLR) fixed bug – load curve IDs 8 or 9 digits long not read
correctly from *MAT card in single precision version

GISSMO and DIEM damage models now work with higher order solid elements.

Instead of using a number or percentage of failed integration points to trigger erosion of higher
order solids in *MAT_ADD_EROSION, use volume fraction of failed material. The reason for this
approach is that the volume associated with each integration point varies widely within the higher i
order solids.

Fix a bogus error message for *MAT_ADD_PORE_AIR that occurs when PERMX is defined as “0”,
while PERMY and/or PERMZ are not zero

*MODULE feature for user-defined materials is built in with “sharelib” binaries.

*MAT_153/*MAT_DAMAGE_3: Extended to up to 10 backstresses that can be determined
from stress-strain data for solid/shell elements. This extension also supports implicit dynamics.

Added support for cohesive shells in *MAT_240.

Fix the convergence issue with plasticity algorithm in *MAT_260A/*MAT_STOUGHTON_NON_ASSOCIATED_FLOW.

Fix incorrect stress initialization when using *MAT_005/*MAT_SOIL_AND_FOAM with
vol. strain vs pressure defined using load curve LCID, together with
*LOAD_DENSITY_DEPTH.

Fix seg fault or incorrect stresses when initializing stresses using *INITIAL_STRESS_SOLID
for *MAT_107/*MAT_MODIFIED_JOHNSON_COOK.

Fix strain rate effects on *MAT_157/*MAT_ANISOTROPIC_ELASTIC_PLASTIC for implicit
static analysis.

Fix seg fault when using *MAT_157/*MAT_ANISOTROPIC_ELASTIC_PLASTIC and
MAT_ANISOTROPIC_ELASTIC_PLASTIC for 2D analysis.

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

Increase robustness of *MAT_BARLAT_ANISOTROPIC_PLASTICITY/*MAT_033 for solids.

Fix input error when using *MAT_ELASTIC_WITH_VISCOSITY_CURVE/*MAT_060c when
LCID=0.

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

Fix to work-energy sums when *MAT_090/*MAT_ACOUSTIC material is used. If kinematics
are not requested via *CONTROL_ACOUSTIC (the default), then acoustic element
energies are not included in the solution sums. If kinematics are requested,
then the energies are included. Previously, acoustic elements contributed to
the work, but not the kinetic energy. Note – computing acoustic element
kinematics is not required to calculate acoustic pressures and roughly doubles
the cost of the acoustic elements. This correction has no affect upon the computed
solution.

Fixed brick material *MAT_089 with hourglass form 6. The hourglass scaling was bad
which caused bad results.

Modified shell *MAT_214 to prevent dividing by zero in some cases.

Fixed *MAT_091 when used with shell form 16. The material directions were being
calculated incorrectly causing the stress to be wrong.

Fixed conflict between RTCL damage in *MAT_123 and heat affected zones.
The TRIAX parameter was being overwritten causing possibly excessive damage.

Node and connectivity data for elements that use *MAT_FABRIC/*MAT_034 has been restored
to the the dynain file. It had been removed along with stress and strain data which
was removed because the fabric material cannot be prestressed by dynain.

Fixed laminated shell theory with shell *MAT_172. It was calculating wrong shear strain.

Fixed *MAT_023, *MAT_072, *MAT_083, *MAT_153, *MAT_223, *MAT_229, and *MAT_259 when used
with linear solid form 18. Some material constants were not passed correctly.

Fixed *MAT_024 plastic strain failure for beam element forms 4 and 5. The elements
were not failing.

Fixed *MAT_077 for tetrahedral solid form 13. Some newer options were not working.

Fixed *MAT_244 (shells and solids) when LCY1, LCY2, LCY3, LCY4, or LCY5 was left equal to zero.
In this case, the code attempted to use nonexistent data, and it’s unclear how this affected
results. This caused the Windows executable, to error terminate with a
“Program Exception – access violation” message.

Fixed a problem where *MAT_172 was used to model 100% reinforcement and TYPEC was 3 or 6, and
Young’s Modulus of concrete (ET36) was input as zero. For steel only, this value should not matter,
but it caused a divide by zero error during initialization. This is now prevented by having ET36
default to a small positive number for 100% reinforcement.

Fixed shell form 17 when used with *MAT_077. There was no call to the stress update routine.

Fixed ESORT>0 when used with shell form 18 and *MAT_077. The triangular elements are now switched
to triangular shell form 17 to be compatible with quad shell form 18.

Fixed various errors in *MAT_NONLOCAL:
– When both incremental and non-incremental data are requested for smoothing.
– When used with shell materials with more than one in-plane point,
or brick elements with more than 1 integration point. When coefficients are calculated
for nearby points, the sum of coefficients was excluding other points within the same element
or layer. The sum is used to normalize the weighted average. Since it was too small, the
function that is smoothed would tend to grow.
– Fixed an MPP only bug in the *MAT_NONLOCAL material averaging. A buffer could be overwritten
if there was more than one nonlocal definition in the model. The same error was fixed for
*MAT_CODAM2, *MAT_GURSON_RCDC, or *MAT_PLASTICITY_WITH DAMAGE with the RCDC option and the
characteristic element length or non-local radius was defined.
– The nonlocal search messages to screen and message files were modified to be more informative.
During the search, a progress message is printed with each 100 million points added to the lists.
This is intended to combat the perception that the code has hung.

Added new options for *MAT_SPOTWELD_DAMAGE-FAILURE failure by OPT 6. There are 2 new TFLAG options:
– TFLAG=2 causes the max sheet thickness to be used.
– TFLAG=3 causes the sum of thicknesses to be used.
A sheet thickness scale factor was added which scales the sheet thickness calculated
by the TFLAG options.

Fixed *MAT_126 when used with tshell forms 3, 5, or 7. The angle initialization was incorrect
leading to bad stress values.

Enabled *MAT_025, *MAT_173, *MAT_193, and *MAT_198 to be used with tshell forms 3, 5, and 7.

Enabled *MAT_123 to work with tshell forms 3, 5, and 7 using options EPSTHIN and LCTSRF,
and also NUMINT<0 option. All 3 options were previously only available for thin shells and
tshell forms 1, 2, and 6.

Fixed the stress from *EOS_GASKET model when used with tshell form 2. Also fixed
the compressive failure strain (CFS) for *EOS_GASKET with bricks or tshell forms 5 and 7.
It was setting CFS=TFS.

Fixed the behavior of NUMFIP on *MAT_ADD_EROSION when used with shell or tshell
composite sections. When counting failed layers, the zeroing of the counter did not
happen unless the first layer of the composite used *MAT_ADD_EROSION. This would have
caused elements to fail that should not have failed.
All 3 options, NUMFIP>0, -100<NUMFIP<0, and NUMFIP<-100 are now working.

Fixed the eigenvalue calculation in the first cycle when the model has solids or
tshell forms 3, 5, or 7, and these elements are used with *MAT_022, *MAT_054, *MAT_055,
*MAT_059, or *MAT_213.

Fixed thermal strains in *MAT_021 tshells. The material directions were not processed
correctly causing incorrect thermal strains. Both deformation and output were fixed
and are now working for all tshell forms.

Fixed the material direction when using shell *MAT_091. Also enabled output in the
material direction when CMPFLG=1 on *DATABASE_EXTENT_BINARY.

If EPSR and EPSF are defined in *MAT_054,
correct computation of transverse shears strains for solids and tshells.

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 (card 2, column 7) in *MAT_054.

Fix bug for shear stiffness behavior in *MAT_058 when using a table definition
for GAB and only providing stress-strain-curves for positive shear.

Fix bug for strain-rate dependent stiffness behavior in *MAT_058 when using a
table definition for EA, EB or GAB under compressive loading.

Add history variable for ellipsoidal failure surface for
*MAT_059 (SC.lt.0), shells only. Now history variable 8 is the
failure surface “f”, which is similar to the Tsai-Wu criterion.

*MAT_100_DA (*MAT_SPOTWELD_DAIMLERCHRYSLER),*DEFINE_CONNECTION_PROPERTIES:
Add the possibility to define a yield curve or table for DSIGY, SIGY in case
of using PRUL=1.

For *MAT_100 (*MAT_SPOTWELD), OPT=0/-1:
Add the possibility to define force/moment resultants as a function of the
effective strain rate, by defining an approprite load curve. This will be
indicated by a negative value for NRR, NRS, NRT, MRR, MSS, MTT.
This functionality is implemented for beam, hex and hex-assembly spotwelds.

Extended capability of initializing *MAT_157 solids using input variable IHIS
and *INITIAL_STRESS_SOLID.
Blocks of material parameters that can be initialized in this way are:
– material direction (q11,…,q33) – 6 values
– stiffnesses (c11,c12,c13,…,c66) – 21 values
– anisotropic constants (F,G,H,L,M,N) – 6 values
– curve/table – ID (LCSS) – 1 value
– strengths (XC,XT,YC,YT,ZT,ZC,SXY,SYZ,SZX) – 9 values << NEW
See User’s Manual for details.

Add value of failure criterion (Tsai-Wu or Tsai-Hill) to history variable 10
for postprocessing in *MAT_157. Shell elements only.

Fix bug in *MAT_261 when table definition is used to define the non-linear
in-plane shear behavior (LCSS). This applies to shells/tshells/solids.

Add default strength limits (XC, … 1.e+16) if they are not defined for
*MAT_261/*MAT_262.

Added a criterion to avoid possible snapback behavior in *MAT_262 by only
allowing certain “softening” modulus with respect to the elastic stiffness.
This might be important when using rate-dependent strength limits
(*DEFINE_CURVE) and the values for the fracture toughnesses are not
properly set.

*MAT_4A_MICROMEC /*MAT_215:
Add strength limit XC for failure in fiber compression.

*MAT_GENERALIZED_PHASE_CHANGE/*MAT_254:
– Added latent heat algorithm to *MAT_254. Input follows the same phase transformation
matrix as the other transformation related parameters.
– Added user-defined history variables. Up to 8 history variables can be defined
using *DEFINE_FUNCTION. Parameter list for functions includes time, user histories,
phase distribution, temperature, peak temperature, temperature rate, stresses, and
plastic strains.

New parameter dtemp in *MAT_CWM/*MAT_270 that can invoke a subcycling
in the material formulation, if the temperature jump within a time step
exceeds the limit defined by dtemp.

Activated latent heat algorithm for thermal material *MAT_THERMAL_CWM/*MAT_T07.

*MAT_CORUS_VEGTER/*MAT_136:
– Renamed material from *MAT_CORUS_VEGTER to *MAT_VEGTER, as Corus no longer exists.
– Tabular input for strain rate dependency implemented.
– New option *MAT_VEGTER_STANDARD:
+ expects a parameter alpha_ps,theta instead of the second component of the
plane strain point
+ input consistent with most literature data
+ material routine itself is unchanged
+ temperature dependent strain rate dependency also possible with the Bergstrom
equation
– New option *MAT_VEGTER_2017:
+ uses a simplified input
+ Input of tensile strengths (Rm0,Rm45,Rm90), uniform elongation (Ag0,Ag45,Ag90)
and plastic anisotropy (R0,R45,R90)
+ based on a model provided by TATA steel, the standard input data for MAT_VEGTER
is reproduced
+ material routine itself is unchanged
+ temperature dependent strain rate dependency also possible with the Bergstrom
equation

*MAT_REINFORCED_THERMOPLASTIC/MAT_249:
Changed handling of post-processing data in history values. User can define the
post-processing data to be written into histories.

Add new failure criterion DTMIN (minimum time step) to *MAT_ADD_EROSION.

Add new failure criterion MXTMP (maximum temperature) to *MAT_ADD_EROSION
for solid and shell elements.

Add new option LCFLD < 0 to *MAT_ADD_EROSION. In this case,
|LCFLD| refers to a table where FLD curves are shell thickness dependent
(in contrast, existing LCFLD > 0 provides rate dependence).

Fix for combination of *MAT_ADD_EROSION and tshell form 2 or beams.
Strain-based criteria (e.g. MXEPS) did not work correctly before.

Several changes for *MAT_ADD_EROSION with IDAM=1 (GISSMO):
– If LCSDG<0, then |LCSDG| refers to a *DEFINE_FUNCTION
with arguments triaxiality and Lode parameter.
– New option LCREGD<0, where |LCREGD| refers to a table that contains
regularization factor vs. element size curves for different triaxialities.
– Compute element size for LCREGD not only once at t=0 (SIZFLG=0),
but also after each adaptive refinement step.
– New option REFSZ<0 of GISSMO provides a plastic strain value, that
corresponds to that reference size, written to history variable ND+17.
– Improve robustness if DMGEXP<1 is used.

Fix for GISSMO to be used in adaptive remeshing.
Evaluation of damage coupling flag could go wrong
due to averaging of history variables in rezone step.

Support DIEM (*MAT_ADD_EROSION with IDAM<0) for beam form 1.

Add new keywords *MAT_ADD_DAMAGE_GISSMO and *MAT_ADD_DAMAGE_DIEM.
The idea is to separate these damage models from *MAT_ADD_EROSION,
where only pure element erosion criteria remain. That should
simplify understanding the manual. Old input is still supported.

Add new MIDFAIL options 2 and 3 to *MAT_ADD_DAMAGE_GISSMO.

Add new keyword option _STOCHASTIC for *MAT_ADD_DAMAGE_GISSMO
to allow spatially varying failure behavior when used together with
*DEFINE_STOCHASTIC_VARIATION.

Add new option HISVN to *MAT_ADD_DAMAGE_GISSMO: A user-defined history
variable (e.g. hardness) can be used to modify the failure. LCSDG is
in this case a TABLE_3D with the arguments triaxiality, Lode parameter,
and that history variable.

Add option to *MAT_ADD_GENERALIZED_DAMAGE that allows defining
the number of failed integration points (to trigger element erosion)
for each history variable separately. Only applicable for shells.

Add new MIDFAIL options 2, 3, and 4 to *MAT_ADD_GENERALIZED_DAMAGE.

Add NUMINT option to *MAT_089 for shell elements.

Add two nonlocal failure criteria to *MAT_280. The first one works similar
to the ENGCRT/RADCRT criterion of *MAT_ADD_EROSION. The second is similar
to the SOFT option of *MAT_054, where tensile strength is reduced in
next-to-failed (crashfront) elements.

Add new material model *MAT_BARLAT_YLD2004/*MAT_199
for solid elements in explicit analysis.

New option ITERS<0 in *MAT_143 invokes an alternative plasticity algorithm.
It also comes with a new logarithmic rate dependence option, IRATE=2.

Allow initial temperatures for *MAT_224_GYS to be set via *INITIAL_STRESS_SOLID.
Also, enable *MAT_224_GYS to be used in coupled thermal-mechanical analyses.

Modified materials *MAT_234 and *MAT_235 so that they work with angles
on the *SECTION_SHELL card to define material directions for layers.

Add option HISOUT=1 to store principal strains as history variables 25-27
for *MAT_181 (available for solid elements).

New options for *MAT_240/*MAT_COHESIVE_MIXED_MODE_ELASTOPLASTIC_RATE,
invoked by adding _THERMAL, _3MODES, or _THERMAL_3MODES to the keyword.
Allows temperature dependent material data and/or inclusion of a third
deformation and fracture mode.

Add new optional hardening rule HR=10 to *MAT_036 and *MAT_243:
table with pre-strain dependence.

Variable BETA<0 of *MAT_224 can now refer to a *DEFINE_TABLE_3D,
where the dissipation factor can be defined as a function of
temperature (TABLE_3D), strain rate (TABLE), and plastic strain (CURVE).

Add principal strains as new history variables 18-20 in *MAT_083.

Add new option IHYPO to *MAT_023. IHYPO=1 switches the material model
formulation from hyperelastic to hypoelastic for solids, which allows
stress initialization through *INITIAL_STRESS_SOLID.

Fix for *MAT_190 when used together with *DAMPING_PART_STIFFNESS and RYLEN=2.
Premature failure due to FLD was likely to occur.

Allow the Material Model Driver (Appendix K) to be used in batch mode:
If a file called “mmd.bat” exists in the working directory,
then the commands contained therein get executed sequentially.
Supported commands are print, cross, time, and quit.

Algorithmically consistent tangent modulus implemented for *MAT_024 and *MAT_123.

Add flag for allowing nonsymmetric tangent moduli in user materials.
Currently supports only solid forms -1,-2 and 2.

Fix bug whereby encrypted *MAT_075 data was echoed in d3hsp.

For the case where an encrypted material model referenced load curve(s),
the material type was revealed by d3hsp in the load curve
usage summary. That is no longer the case.

Change the stress update in *MAT_PML_ELASTIC_FLUID to make it more
stable. Viscous damping is still needed to achieve stability.

*MAT_232/*MAT_BIOT_HYSTERETIC is now supported in all solid element formulations.

Added *MAT_293/*MAT_COMPRF.
This material model simulates the behavior of pre-impregnated
(prepreg) composite fibers during the high temperature preforming process. In
addition to providing stress and strain, it also provides warp and weft yarn directions
and stretch ratios after the forming process. The major applications of the model are for
materials used in light weight automobile parts.

Added *MAT_296/*MAT_ANAND_VISCOPLASTICITY. This visco-plastic model uses a set of
evolution equations instead of loading-unloading criterion to describe dislocation
motion and hardening or softening behavior of materials. This model can be applied to
simulate solders used in electronic packaging.

Added 2-way option for tshell formulation 5 in *MAT_054.

*MAT_260B:
– Set default value for P12=-0.5, p22=1.0, p33=3.0.
– Set default value for G12=-0.5, G22=1.0, G33=3.0.
– Correct shear stress calculation error.
– Set default value for DEPSO to 0.001, so as to avoid division by zero.

*MAT_260A:
– Set default value for R00 = 1.0, R45 = r00, R90 = r00
– Set default value for sig0, sig45, sig90, and sigb to make sure that the non-associated
flow will be degenerated to associated flow.
– Add Equation of State.
– If SIGB is zero, then it is assumed that all the SIGS’ are equal.
– Add Xue’s failure model.

*MAT_123:
When major strain is used as a failure criteria, the equivalent major strain is added
to the current step by using the current strain ratio and the previous deformation
strain carried over from the previous (forming) stage.

*DEFINE_CURVE_STRESS:
Add new options to *DEFINE_CURVE_STRESS, add ITYPE = 1,2,3,4,5,11.

*MAT_036:
– Output the optimized material parameters when using both R-values and the A,C,H,P parameters as input.
– Add an error message when the material model is attempted for tshells.
– Turn off the output of material parameters if encryption is used.


________________________ MPP ___________________

Suppress output of pfile information to d3hsp and messag
if the *CONTROL_MPP_PFILE line itself is encrypted.

Fix automatic setting of “decomp { bagref }” in
the pfile, which was broken in revision 101313.

Add MPP contact timing calls around force transducer
initialization and net force calculations, so they are
better represented in the contact timing table.

Adjusted initialization of *PART_MODE for MPP so that certain processing only
happens on processor 0.

Correct problems with using MPP predecomposition when using jobid specifications.
There were issues with initializing the file ids.

Enhance MPP eigensolver to have a kinder, gentler termination when no
eigenmodes found.

For MPP, register the part in *PART_MODES to not be split across processes.

Allow parameter expression in keyword *CONTROL_MPP_PFILE.

MPP load balancing profiles are output to both .csv and .xy files.

pfile directive “decomp { defgeo }” in a full deck restart causes decomposition to be re-done using the
current deformed geometry. This can keep elements in contact in the same processor and helps the MPP
performance of models with large deformation for example SPH bird strike, car wading, etc.


________________________ Output ___________________

*DATABASE_ELOUT, *DATABASE_HISTORY_BEAM:
Fix old typo in beam history collection routine,
the effect of which is not obvious but could possibly
have lead to incorrect output of some beam data in elout.

Do a better job deleting scratch LSDA files from
the file system, including removing all %XXX
extensions. This may help with some customer
file system issues during large adaptive problems.

Add rotations (moments) for nodes in the bndout
file if the problem has 6 degrees of freedom.

Implement new force collection routines for bndout data,
which should do a better job of reporting just those forces/energies
that are due to the boundary conditions applied.

Adjust implicit logic for secforc output for arclength method.

Fix a problem in reporting tied contact resultant forces in implicit.

Enhance logic that determines when to write out the last state to d3plot for implicit.

Fix a MPP bug for nodal stress/strain output, which could occur when more than
one part share a node where stress/strain output is requested.

Fix missing plastic strain tensors in d3plot when STRFLG in *DATABASE_EXTENT_BINARY
is set and INTSTRN=1 in *INTERFACE_SPRINGBACK.

Fixed stress output for shell forms 13, 14 and 15 when NIP=4 on *SECTION_SHELL and
MAXINT<0 on *DATABASE_EXTENT_BINARY. The stress outputted was incorrect.

Fixed issues when reporting eroded hourglass energy to glstat and matsum. For brick elements,
the eroded energy was counted twice, and for thick shells, eroded energy was not counted at all.
Both issues caused energy to not balance in the glstat data.

Enabled secfor output for higher order shell forms 23 and 24.

The ‘Effective Stress’ option is supported in *DEFINE_MATERIAL_HISTORIES,
meaning that the material dependent equivalent stress is output to the
d3plot database. Currently only *MAT_036 and *MAT_133 honors this option,
all other materials will output the von Mises stress for now.

Variable NTIED of *DATABASE_EXTENT_INTFOR can be used to output the tied status
on the slave side of tied mortar contact, including tiebreak and tied weld.

Fixed intfor database for SMP if the file size is larger than 7M byte.

Echo *DATABASE_EXTENT_COMP flags in d3hsp.

Fixed bug for d3plot if both
DECOMP=5 or 6 in *DATABASE_EXTENT_BINARY, and
PSETID is specified in *DATABASE_BINARY_D3PLOT.

Fixed bug for *DATABASE_HISTORY_DISCRETE if BEAM=1 in *DATABASE_BINARY_D3PLOT.

Fixed bug in writing *SECTION_*_TITLE to d3prop file.

Fixed legend of ssstat in binout.

Fixed wrong cross-section ID in secforc if dyna.str is used.

Write dynain file in I10 or long format is keyword input includes
those formats.

Fixed bug affecting d3plot when analysis includes dynamic relaxation.

Added one additional significant digit to *NODE coordinates in dynain.

Fix bug in d3plot when both higher order and ALE elements are in the model.

*DATABASE_HISTORY_NODE_LOCAL_ID:
Fix bad node labels in nodout when long input format is used.

Fixed bug where HEADING in *DATABASE_HISTORY_NODE_ID was limited to 10
characters in free (comma-delimited) format.


________________________ Restarts ___________________

Correct implicit memory pointers to work correctly on restart.
Also corrected dump and restart lengths for implicit restart.

Properly start up explicit LaGrange Multiplier treatment of joints at restart.

Fix seg fault when using *DELETE_CONTACT for restart when running with SMP.

Fix error termination for full deck restart that includes *DEFINE_ELEMENT_DEATH.

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.

*CHANGE_CURVE_DEFINITION in a restart was not working properly to modify
curve LCDT in *DATABASE_BINARY_D3PLOT.

Fix corrupt d3part database affect a small restart with *DELETE_PART and *DELETE_FSI.

Fix bug in full deck restart of tied contact that resulted in force
discontinuities across the restart.


________________________ *SENSOR ___________________

Fix a bug for *SENSOR_DEFINE_FORCE when FTYPE=JOINT, which occurs when joint id > 9999999.

Fix a bug for *SENSOR_CONTROL for type=SPC, that was introduced in r115453 & r115457.
The bug occurs when a SPC boundary condition was initially off and then turned on later.

Fix a bug for *SENSOR_DEFINE_…_SET that can occur if sensor command is defined
before the definition of the related *SET commands.

Add MTYPE=BNDOUT to *SENSOR_DEFINE_MISC to trace energy reported in bndout.

Add MTYPE=MATSUM to *SENSOR_DEFINE_MISC to trace energy reported in matsum.

Fix a sensor bug that occurs when *SENSOR_DEFINE_FORCE is used to trace the force
associated with prescribed motion.

Fix a sensor bug that occurs when *SENSOR_DEFINE_MISC has MTYPE=CURVE that refers
to a load curve of *DEFINE_CURVE_FUNCTION. The bug was introduced in r115362.

Couple thermal-only analysis with general sensor so that sensor can be used to
terminate the analysis.

Add TYPE=ELESET to *SENSOR_CONTROL to erode elements.

Add MTYPE=NFAILE to *SENSOR_DEFINE_MISC to trace number of failed elements.

Fix a bug affecting *SENSOR_DEFINE_FORCE with FTYPE=JOINTSTIF.

Fix bug in spotweld-constraint handling in MPP when TYPE=SPOTWELD in *SENSOR_CONTROL.

Fix a bug in *SENSOR_CONTROL when TYPE=SPC. The bug occurs when a node is involved
in more than one SPC definition.

Add MTYPE=CURVE for *SENSOR_DEFINE_MISC so that sensor can trace the value of a
time-dependent curve or a *DEFINE_CURVE_FUNCTION.


________________________ SPG (Smooth Particle Galerkin) __________________

Added *CONSTRAINED_IMMERSED_IN_SPG for compoiste analysis.
This keyword applies to immersion of beam or shell elements in SPG solids.
This is a new feature of SPG method for failure analysis of some particular composites
such as rebar in concrete and fiber-reinforced composites.

Added *CONTACT_SPG for self-contact in SPG method.
This feature is useful in studying some self-contact for high velocity
impact/penetration applications where failed particles may still interact in compression modes.

Optimize the SMP performance of SPG solid formulation 47.

*CONSTRAINED_IMMERSED_IN_SPG now works in MPP.

*MAT_181 is now supported for SPG solid formulation 47.


________________________ SPH (Smooth Particle Hydrodynamics) ______________

*CONTACT_2D_NODE_To_SOLID:
– Contact was not robust when using master surface with sharp angles or thin structure,
like a needle. It has been revised to handle better this kind of geometry, and take into
account the thickness of slave nodes.
– Add a maximum parametric coordinate parameter MAXPAR for segment search (default = 1.05).
– Change format when transfering values from keyword format to structured format
and pfile format. This change greatly improves precision.

*CONTROL_SPH:
Add IEROD=3 to enforce zero deviatoric stress to eroded SPH particles,
and conserve volumetric response if an EOS is defined.

*DEFINE_SPH_To_SPH_COUPLING:
Allow negative values of SRAD. In that case, we compute a contact distance based
on volume instead of smoothing length.

Fix bug for SPH parts using *MAT_147 (*MAT_FHWA_SOIL). History variables were
improperly initialized, rendering the whole damage evolution aspect of the material
inoperative with SPH.

Implement enhancement for fluid formulations in SPH so that interaction between
multiple SPH fluid parts is more robust.

Fix bug affecting *DEFINE_BOX_SPH. This feature was broken.

Fix bug for *DEFINE_ADAPTIVE SOLID_TO_SPH. History variables were not transmitted
to the SPH particles properly for some materials.

Add option to automatically compute the contact thickness of slave SPH particles
using ITHK in *CONTROL_SPH. The thickness calculated by ITHK=1 is used only if
SST (*CONTACT_AUTOMATIC_NODES_TO_SURFACE) or OFFD (*CONTACT_2D_NODE_TO_SOLID)
are set to zero. All default behaviors remain unchanged.

Enable SPH in full deck restart.

SPH part is now identified as element type 4 in d3hsp like this,
“element type ………………… = 4”

*ELEMENT_SPH_VOLUME specifies volume instead of mass for SPH particle.

Added in adaptive SPH formulation (ASPH) with anisotropic smoothing tensor (FORM=9, SMP only)
and renormalization approximation for adaptive SPH formulation with
anisotropic smoothing tensor (FORM = 10, SMP only). The axes of those forms evolve
automatically to follow the mean particles spacing as it varies in time, space and
direction based on the strain rate tensors. These forms have better accuracy and stability
than the standard SPH formulation.

Added a new function ISHOW = 1 in *CONTROL_SPH whereby SPH particles generated
by *DEFINE_ADAPTIVE_SOLID_TO_SPH will be shown as points instead of spheres
before activating them, i.e., before erosion of parent solid.

Added in a new variable ISPHKERN in *SECTION_SPH for higher order kernal
option: with ISPHKERN = 1, a quintic spline kernel function (smoother and more accurate)
will be used instead (supported in FORM=0,1,4,9,10 in *CONTROL_SPH
for both SMP and MPP version of executables).

Added binout support for SMP rcforc file with *CONTACT_2D_NODE_TO_SOLID.
Write user id (instead of interal ID) in rcforc for *CONTACT_2D_NODE_TO_SOLID.
Fixed rcforc output in the case of multiple *CONTACT_2D_NODE_TO_SOLID contacts (bug 13454).

Added in _SPH_VARIATION option (SMP only) for *DEFINE_STOCHASTIC_ELEMENT with SPH particles.

Supported *DEFINE_STOCHASTIC_VARIATION option for SPH particles (combined with *MAT….._STOCHASTIC
option) with material models *MAT_010, *MAT_015, and *MAT_024.

Support conventional mass scaling (negative DT2MS in *CONTROL_TIMESTEP) for SPH.
This feature works for both SPH 3D and 2D cases.


________________________ Thermal Solver ____________

*CONTROL_EXPLICIT_THERMAL_… and *CONTROL_ADAPTIVE (ADPOPT=8, 1st line, 3rd column):
For the explicit thermal solver, map the temperatures after each adaptive
restart for ADPOPT=7,8.

*CONTROL_EXPLICIT_THERMAL_…:
Implement the explicit thermal solver in ALE 2D.

*CONTROL_EXPLICIT_THERMAL_CONTACT:
If part id<0 in the *SET_PART called by *CONTROL_EXPLICIT_THERMAL_CONTACT,
the autocontact is activated for that part. Otherwise, by default, the thermal
contact is only searched between different parts.

Added death time TDEATH and birth time TBIRTH to *BOUNDARY_TEMPERATURE_NODE/SET
in order to activate and deactivate temperature constraints.

Add iterative solution option for the thermal radiation boundary condition
linear equation solver. Correct logic used in determining the acceptable thermal
solver options for SMP.

Fixed bug where dynain was missing thermal history variables.

New keyword *BOUNDARY_TEMPERATURE_RSW:
– Prescribe nodal temperatures within a (possibly moving) ellipsoidal
region of the structure.
– Temperatures for the center and the boundary of the ellipsoid have to
be input. In between there is a quadratic approximation.
– Outside of the ellipsoid, no temperature values are prescribed.
– Position and axis of symmetry are defined by to nodes.
– Applicable fo solid and thermal thick shell elements.

Modification of variable time stepping in thermal solver:
– Ensure that the step size of the last time step before a breakpoint is
not smaller than half the previous step. If necessary, the last two
time step sizes are averaged. The breakpoints are still hit exactly.
This avoids drastic step size reductions (sometimes by some orders of
magnitude) that slow down the further simulation.
– 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.

*LOAD_HEAT_CONTROLLER now implemented for MPP.

*BOUNDARY_THERMAL_WELD_TRAJECTORY:
– Additional option for heat source definition. With IFORM.eq.5, the energy rate
distribution does not have a pre-defined form, but can be given as a function of the
local coordinates r,s,t, the time and the current weld velocity. The formula is input
with a *DEFINE_FUNCTION keyword.
– Fixed d3hsp output. Now external IDs of used load curves instead of internal ids are
written and cross reference for the curves usage is output

Thermal edge contact:
– Models heat transfer from and to a shell edge onto a surface (solid facet or shell).
– Shell edges have to belong to thermal thick shells (THSHEL=1 in *CONTROL_SHELL).
– Shell edges are on the slave side.
– Activated if parameter ALGO is larger than 1 (2=two_way, 3=one_way).
– Available in both MPP and SMP.

Composite thick shells:
– Added composite thick shell functionality to the structure heat transfer solver.
Up to this point the lay-up defined by *PART_COMPOSITE_TSHELL has not been taken
into account by the thermal solver. Now, additional degrees of freedom are
generated and the element is split into virtual elements in the element routine.
The implementation is very similar to what has been done for thin composite
shells defined by *PART_COMPOSITE.

Fixed error in reading *SECTION_SHELL_THERMAL

*DEFINE_CURVE_FUNCTION is now supported in the thermal solver.


________________________ XFEM (eXtended Finite Element Method) ____________

Added erosion option for XFEM shells.


________________________ Miscellaneous ___________________

*DAMPING_FREQUENCY_RANGE_DEFORM can now be applied to tshells.
In previous versions it worked only for solids, beams, shells, and discrete elements.

Fixed bug in *DAMPING_FREQUENCY_RANGE_DEFORM.
The damping’s contribution to internal energy was wrongly calculated. This
did not affect the solution (stresses, displacements, etc), only the output
values of internal energy.

Update to external case driver to support
LSDA based includes in the keyword input.

Fix incorrect handling of symmetric load curves when
checking discretization errors, which resulted in
incorrect and misleading error messages.

Fix initialization problem that could arise if
more than one *INTERFACE_LINKING instance references
the same *INTERFACE_COMPONENT.

Fix some memory allocation and initialization related to
*INTERFACE_LINKING.

Improve reporting of seatbelt input errors in nastran reader.

Added *DEFINE_DRIFT_REMOVE to provide a correction to curves to compensate for
errors in accelerometers.

Fix a bug that occurs when *INCLUDE_TRANSFORM is used together with *DEFINE_BOX and/or *PART_INERTIA.

Fix a bug that generates duplicate parts even when *PART_DUPLICATE is never defined.

Automatically merge DEFORMABLE_TO_RIGID_AUTOMATIC cards with the same options for better performance.

*DEFINE_PRESSURE_TUBE: Added 2nd keyword input line for viscosity, step size, and damping.
Added support for automatically generated shell/solid tubes.

Fix wrong pointer used for section id/properties when generating part for visualization
of rigid wall during adaptivity. This caused error message, KEY+137, during adaptivity.

Fix input error for duplicate part if multiple *RIGIDWALL_GEOMETRIC_…_DISPLAY
keywords are used, some with part id PID specified and some not.

Fix non-effective OPTIONs DBOX, DVOL, DSOLID, DSHELL, DTSHELL, DSEG for
for deleting segments in *SET_SEGMENT_GENERAL.

Add failure function terms (normal, bending, shear) as arguments
of functions in *DEFINE_CONNECTION_PROPERTIES with PRUL.ge.2

Add new option DGTYP=5 to *DEFINE_CONNECTION_PROPERTIES.

Fix for *DEFINE_CONNECTION_PROPERTIES with PRUL.ge.2 (*DEFINE_FUNCTION).
The function IDs were not working with *INCLUDE_TRANSFORM
and large IDs > 2**24 also failed.

Add warning message for *DEFINE_FUNCTION: if the function name starts with
i, j, k, l, m, n, I, J, K, L, M, or N, it will return an integer value.

Removed the echo of each *CONTACT data and load curve data in d3hsp if that data
are encrypted.

Fixed bug in reading *CONTROL_REQUIRE_REVISION if free format is used.

Fix a number of issues related to long format input:
– Corrected legend that is written in nodout if long format is used.
– Fixed bug in reading long format if *KEYWORD long=yes is used in include file.
– Fixed bug in reading long format input for *INCLUDE_STAMPED_PART
if optional 4 or 5 card doesn’t exist
– Fixed bug for long format bug for the following keywords:
*MAT_EMMI
*PERTURBATION_NODE
*DEFINE_TABLE_MATRIX
*INTERFACE_SPRINGBACK_LSDYNA
*EOS_013
*ALE_FSI_TO_LOAD_NODE
*INITIAL_VOLUME_FRACTION
*CONTROL_ADAPTIVE (3d)
*CONTACT_AUTOMATIC_GENERAL_INTERIOR_MPP
*CONTACT_ERODING_SINGLE_SURFACE_MPP
*PERTURBATION_NODE
*CONSTRAINED_GENERALIZED_WELD_FILLET
*AIRBAG_HYBRID_ID
*MAT_ADD_EROSION
*FREQUENCY_DOMAIN_FRF
*PARAMETER
*DEFINE_HEX_SPOTWELD_ASSEMBLY
*DEFINE_SPH_TO_SPH_COUPLING
*ELEMENT_BEARING
*SPH_COUPLING
*ALE_2D
*ELEMENT_BEAM_PIPE
*BOUNDARY_PRESCRIBED_FINAL_GEOMETRY
*PARAMETER_EXPRESSION
*NODE_MERGE
*NODE_MERGE_SET
*ELEMENT_NURB_SOLID_PATH
*INITIAL_STRAIN_*
*BOUNDARY_THERMAL_BULKNODE
*CONSTRAINED_SHELL_TO_SOLID
*MAT_RIGID if geometry contact entity is used
*MAT_VISCOELASTIC_HILL_FOAM
*MAT_002

Fixed bug in reading multiple entries of any of the following commands:
*CONTROL_REQUIRE_REVISION
*SECTION_SHELL_EFG

Fixed bug for *INCLUDE_TRANSFORM in the case where the material ID is in
alpha (non-numeric).

Fixed bug in reading *SECTION_SHELL and *SECTION_SOLID if multiple sections
are entered under one keyword.

Correct the application of reaction forces from *INTERFACE_SSI_AUX_EMBEDDED
in *INTERFACE_SSI (MPP only).

Fix bug in running SSI problems in single precision.

3D adaptivity now partially supports *INCLUDE_TRANSFORM:
a transformation of model geometry can now be specified using TRANID.

*PART_MOVE:
Extend to support *SET_PART_COLLECT and *SET_PART_ADD.

Enable support of parametric filename in *INCLUDE when adaptivity is used.

*INTERFACE_SPRINGBACK_LSDYNA, and *INCLUDE_BINARY:
Fix missing SPCs output in binary dynain files in both SMP and MPP.


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