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

LS-DYNA R11.0.0 (R11.129956; 2018/09) released

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

Release notes for LS-DYNA R11.0.0

Herein are summarized new features and enhancements in version 11.0.0.  Some bug fixes are also described, some of which may also be included in R10.1 releases.

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

Excluding the "Miscellaneous" category, the categories are arranged alphabetically.
.

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 particles (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 better 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:
      • Any used segments that are not in the CESE mesh are reported.
      • Element sets look up is now guaranteed to work.
      • Drag calculation output that is attempted for the incorrect FSI method,is now reported. Here are the illegal cases:
        • *CESE_DATABASE_FSIDRAG is only available with the CESE immersed boundary FSI solvers.
        • *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.
      • Failure to find an internal node number in *CESE_DATABASE commands is now reported.
      • Output was not being performed for the initial conditions. Instead, it is now done after the first time step.
      • 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:
      • 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.
      • 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:
    • 2D, 3D, and axi-symmetric Euler and Navier-Stokes solvers.
    • 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.
    • 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:
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 independent 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.
    • 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 3x3 integration.
    • *USER_NONLOCAL_SEARCH:
      • Provides an interface for gathering the history data of specified elements that surround a 'master' 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 3x3 integration but now supports both 2x2 and 3x3.
    • 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.
    • 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.
    • 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. 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.
    • 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
    • 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. 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.
    • 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.
    • 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.