LS-DYNA R8.0.0 (R8.95309) released

Herein are summarized new features, enhancements, and a few select bug fixes not included in the most recent previous LS-DYNA release, version R7.1.2. These notes are arranged by topic. Understand that in many cases, a particular note may have applicability to multiple topics, but in the interest of brevity, each note is listed only under one topic heading.

.

Airbag

Add RDT option for *AIRBAG_SHELL_REFERENCE_GEOMETRY. When the RDT option is active the time step size will be based on the reference geometry once the solution time exceeds the birth time which can be defined by RGBRTH of *MAT_FABRIC.

LCIDM and LCIDT of *AIRBAG_HYDRID can now be defined through *DEFINE_CURVE_FUNCTION.

New variable RGBRTH in *MAT_FABRIC to input part-dependent activation time for airbag reference geometry.

Fix a bug that could result in non-zero internal energy when BIRTH option of *AIRBAG_REFERENCE_GEOMETRY is used together with *AIRBAG_SHELL_REFERENCE_GEOMETRY.

Negative PID of *AIRBAG_INTERACTION considers the blockage of partition area due to contact.

Variable ID distinguishes one bag from another when postprocessing when there are multiple bags.

Also optional variables for scaling the reference geometry.

Enable *DEFINE_CURVE_FUNCTION for *AIRBAG_SIMPLE_AIRBAG_MODEL.

*AIRBAG_PARTICLE:

Calculate heat convection (HCONV) between environment and airbag in consistent fashion when TSW is used to switch from a particle airbag to a control volume.

For *AIRBAG_PARTICLE, add ENH_V=2 option for vent hole such that two-way flow can occur, i.e., flow with or against the pressure gradient. In contrast, ENH_V=1 allows only one-way flow through vent holes, from high-to-low pressure.

.

ALE

*BOUNDARY_ALE_MAPPING: add the following mappings:

1d->2d, 2d->2d, 3d->3d.

*SET_POROUS_ALE:

new keyword to define the properties of an ALE porous mediaby an element set. The porous forces are computed by *LOAD_BODY_POROUS.

*ALE_FSI_SWITCH_MMG:

applies also now to 2D.

*ALE_SWITCH_MMG:

new keyword to switch multi-material groups based on criteria defined by the user with *DEFINE_FUNCTION.

*CONTROL_ALE:

Allow PREF (reference pressure) to be defined by materials. Implement *ALE_COUPLING_NODAL_DRAG to model the drag force coupling between discrete element spheres or SPH particles and ALE fluids. This command includes an option to calculate the drag coefficient using *DEFINE_FUNCTION.

Implement *ALE_COUPLING_RIGID_BODY as an efficient alternative for constraint type coupling between ALE fluids and a Lagrangian rigid body.

.

Boundary

Fix input rounding error when reading the 5th load curve of *BOUNDARY_PRESCRIBED_ORIENTATION_RIGID_DIRCOS, which was read and stored as real, causing errors in single precision for load curves with more than 7 digits.

*BOUNDARY_PAP could calculate incorrect pressure in MPP when CVMASS>0; now fixed.

Fix incorrect external work when using *BOUNDARY_PRESCRIBED_MOTION with or without _RIGID option. The DOF specified was not considered when computing the external work.

Fix incorrect velocities when using *BOUNDARY_PRESCRIBED_MOTION_RIGID_LOCAL and *INITIAL_VELOCITY_RIGID_BODY for rigid bodies.

Error terminate if *BOUNDARY_SPC_NODE_BIRTH_DEATH is applied to a node that belongs to a rigid body.

Fix *BOUNDARY_SPC_SET_BIRTH_DEATH which was not working for MPP when the birth and death time were set to non-zero.

Modify *BOUNDARY_PRESCRIBED_ORIENTATION_VECTOR to accommodate bodies which undergo no changes in orientation.

Fix bug in which typeID in *BOUNDARY_PRESCRIBED_MOTION could not be input as an alphanumeric label.

Add a new keyword *BOUNDARY_SPC_SYMMETRY_PLANE:

Purpose: Define constraints to enforce planar symmetry for nodes on or near a specified plane. These constraints will be enforced even during adaptivity. This command is similar to *CONSTRAINED_LOCAL but allows selectivity via a part ID.

Activate previously inactive death time BTEND for *PARTICLE_BLAST. Blast particle is omitted from the display after the death time.

New command *DEFINE_PBLAST_GEOMETRY allows the high explosive domain for *PARTICLE_BLAST to be defined by various geometric shapes.

Allow multiple *PARTICLE_BLAST definitions

Add *DATABASE_PBSTAT to output particle blast statistics.

Output the initial volume and initial mass of HE particles and air particles for *PARTICLE_BLAST to d3hsp.

.

Compressible Flow Solver CESE

Add the command *CESE_BOUNDARY_BLAST_LOAD to allow a blast described by the *LOAD_BLAST_ENHANCED command to be used as a boundary condition in CESE. This is designed to be used with the CESE immersed boundary FSI solver.

Switch all CESE boundary conditions that use a mesh surface part to define the boundary to use the character string "MSURF" instead of "PART" in the option portion of the keyword name.

Correct the element search in LSO for point output.

Correct the CESE dt for rigid body coupling. Note that mass scaling will not work in an FSI coupling with the CESE solver.

Add missing temperature interpolation in time for imposing solid temperatures as a boundary condition in the CESE solver.

Optimize the IDW-based mesh motion for the CESE moving mesh solver.

Treat the input mesh as 3D by default.

.

Chemistry

All of the chemistry features mentioned below are coupled only to the CESE compressible flow solver when 2D or 3D calculations are involved.

Chemical source Jacobians have been added.

implicit full model

simplified implicit model

explicit model: iso-combustion only.

numerical model (currently not active, but will activate if a user requests it)

Introduce two new commands for airbag applications:

*CHEMISTRY_CONTROL_PYROTECHNIC and *CHEMISTRY_PROPELLANT_PROPERTIES In conjuction with these commands, basic airbag inflator models are implemented.

The pyrotechnic inflator model using NaN3/Fe2O3 propellant is newly implemented. To connect with the existing ALE aribag solver, two load curves, mass flow rate and temperature, are saved in "inflator_outfile" as a function of time. This model computes three sub-regions:

combustion chamber, gas plenum, and discharge tank. Each region can be initialized with different *CHEMISTRY_COMPOSION models, which means that user can compute Propellant+Gas hybrid mode.

The following 0-dimensional combustion problems have been improved:

constant volume, constant pressure, and CSP.

For iso-combustion. temperature and species mass fractions as a fucntion of time are displayed on screen and saved in "isocom.csv" to plot with LS-PrePost.

Another chemical ODE integration method has been implemented.

The output file of the pyrotechnic inflator is updated so that this file can be read from ALE solver for an airbag simulation.

The related keyword files including theory manual (please contact you local LS-DYNA distributor)

The special thermodynamics data (please contact you local LS-DYNA distributor)

Only one solid combustion model is included in this version.

For the chemical kinetics model, the stoichiometric equilibrium model is implemented since no chemical kinetics is available so far.

Implement a mix modeling method for use with CESE solvers. These multi-component mixing solvers are implemented in:

2-D Euler and N-S solvers.

2-D axisymmetric Euler and N-S solvers.

3-D Euler and N-S solvers

All solvers require specification of initial species compositions, meaning that *CHEMISTRY_COMPOSION models should be input, and thermodynamics and transport data files must be provided.

Correct D3PLOT chemistry variable output when using meshes based upon *MESH_... commands.

Modify *CHEMISTRY -related keyword commands to allow multiple chemistry models in the same problem. Basically, the changed chemistry commands are due to the need to identify a chemistry model (chemkin model) in several of keyword commands, and eventually, to allow multiple chemistry models to be used in the same problem (but in separate subdomains of the problem that do not mix). This includes a mechanism for input selection of a Jacobian calculation method.

Add command *CHEMISTRY_MODEL which identifies the files that define a Chemkin chemistry model.

Modify the following commands such that the files related to the chemistry model have been removed. These commands are only used to select the type of chemistry solver:

*CHEMISTRY_CONTROL_CSP

*CHEMISTRY_CONTROL_FULL

*CHEMISTRY_CONTROL_1D

Modify *CHEMISTRY_DET_INITIATION where the files related to the chemistry model have been removed, and the Model ID used is inferred through a reference to a chemistry composition ID.

Fix intfor output for TIED_SURFACE_TO_SURFACE groupable MPP contact, which was not writing out the slave side of the interface even though it could have. Non-groupable cannot because it treats *CONTACT_TIED_SURFACE_TO_SURFACE as if it were *CONTACT_TIED_NODES_TO_SURFACE.

MPP contact:

fix routine that updates segment thicknesses for solid elements (every cycle) so that it honors the OPTT parameter in *PART_CONTACT.

Fix MPP adaptivity for very large models:

the reading of the adaptive dump file was not working properly for files over 8GB.

Fix problem when using *INTERFACE_LINKING together with constraint-based tied contacts. Nodes involved in both are removed from the linking interface, but this was leaving some internal structures out of sync, sometimes causing nodes to be moved improperly.

Add error check in case of a contact definition with an empty node set being given for the slave side.

Modify output of ncforc (*DATABASE_NCFORC) in order to support output in a local coordinate system. If CID_RCF is defined for a contact interface, output the ncforc file in this coordinate system (so that it matches the rcforc file).

For ERODING contacts, reduce memory allocated for segments so each interior segment is only allocated once.

Improve initialization for tie-breaking contact. If there are more than 10 master nodes, use a bucketsort approach.

BT and DT in *CONTACT can be set to define more than one pair of birthtime/death-time for the contact by pointing to a curve or table. These pairs can be unique for the dynamic relaxation phase and the normal phase of the simulation.

Add EDGEONLY option to *CONTACT_AUTOMATIC_GENERAL to exclude node-to-segment contact and consider only edge-to-edge and beam-to-beam contact.

VDC defines the coefficient of restituion when CORTYP on Optional Card E is defined. Available for *CONTACT_AUTOMATIC_NODES_TO_SURFACE, *CONTACT_AUTOMATIC_SURFACE_TO_SURFACE, and *CONTACT_AUTOMATIC_SINGLE_SURFACE; SOFT=0 or 1 only.

Enhancements for *CONTACT_AUTOMATIC_GENERAL:

Add beam to beam contact option CPARM8 in *PART_CONTACT (MPP only).

Add option whereby beam generated on exterior shell edge will be shifted into the shell by half the shell thickness. In this way, the shell-edge-to-shell-edge contact starts right at the shell edge and not at an extension of the shell edge. (see OPT2=10, CPARM8, MPP Card 1).

Fix incorrect contacts when using *CONTACT_AUTOMATIC_GENERAL_INTERIOR for beams with large differences in thickness and when the thinner beams are closer to each other than to the thicker beams. Affects SMP only.

Add warning if number of contact segments/nodes > 99999999 (i8) or if number of contact parts > 999999999 (i9).

Fix incorrect contact thickness used for *CONTACT_ENTITY types 8 and 9 when the contact thickness scale factor, g2, is non-zero.

Fix *RIGIDWALL_GEOMETRIC_FLAT_DISPLAY which incorrectly displayed the rigidwall being penetrated by the slave nodes.

Implement *CONTROL_CONTACT PENOPT=3 option to *CONTACT_AUTOMATIC_NODES_TO_SURFACE and *CONTACT_ERODING_NODES_TO_SURFACE for SMP.

Fix *CONTACT_TIED_SURFACE_TO_SURFACE which did not tie shell elements using *MAT_ORTHO_ELASTIC_PLASTIC/*MAT_108.

Fix invalid error message when using *DEFINE_FRICTION where PTYPEi and PTYPEj are not the same.

Fix spurious error messag, KEY+141, when using *RIGIDWALL_GEOMETRIC..._DISPLAY and the optional card 6 for the _DISPLAY option is not defined.

Update segment based (SOFT=2) contact to improve accuracy at points away from the origin. The final calculations are now done with nodal and segment locations that have been shifted towards the origin so that coordinate values are small.

Unify automatic tiebreak messages for damage start and final failure. SMP and MPP should now give the same output to d3hsp and messag. This affects *CONTACT_AUTOMATIC_...TIEBREAK, OPTIONs 6, 7, 8, 9, 10, and 11.

*CONTACT_ADD_WEAR:

Associates wear calculations to a forming contact interface whose quantities can be posted in the intfor database file. Adaptivity is supported.

Mortar contact supports FS=-1.0, meaning that frictional coefficients are taken from *PART_CONTACT parameters.

Mortar contact supports FS.EQ.-2 meaning that friction is taken from *DEFINE_FRICTION.

*CONTACT_AUTOMATIC_SINGLE_SURFACE_MORTAR:

Using IGNORE.LT.0 for single surface mortar contact will ignore penetrations of segments that belong to the same part. This will hopefully facilitate removal of initial penetrations in large models.

Friction factors are now a function of temperature for *CONTACT_..._THERMAL_FRICTION.

.

Constrained

*SET_POROUS_LAGRANGIAN:

new keyword to define the porosity of Lagrangian elements in an element set. The porous forces are computed by *CONSTRAINED_LAGRANGE_IN_SOLID ctype=11 or 12.

*CONSTRAINED_LAGRANGE_IN_SOLID:

CTYPE=12 is now also available in 2D.

Add helix angle option for *CONSTRAINED_JOINT_GEARS.

Change keyword from *CONSTRAINED_BEARING to *ELEMENT_BEARING.

Enhance explicit to use the implicit inertia relief constraints. This allows implicit-explicit switching for such problems. Add new input options to *CONTROL_IMPLICIT_INERTIA_RELIEF.

user specified number of nodes

user specified list of modes to constrain out.

Implement *CONSTRAINED_BEAM_IN_SOLID. This feature is basically an overhauled constraint couping between beams and Lagrangian solids that includes features that make it more attractive in some cases than *CONSTRAINED_LAGRANGE_IN_SOLID, for example, in modeling coupling of rebar in concrete.

Fix invalid error message when using large load curve ID for FMPH, FMT, FMPS in card 3 of *CONSTRAINED_JOINT_STIFFNESS with _GENERALIZED or _TRANSLATIONAL options.

Fix segmentation fault if using tables for FMPH of *CONSTRAINED_JOINT_STIFFNESS and if the angle of rotation is less than the the abscissa of the table or load curves.

Fix incorrect *CONSTRAINED_EXTRA_NODES nodes' initial velocity when using IVATN=1 and IRIGID=1 in *INITIAL_VELOCITY_GENERATION.

Fix incorrect mass/inertia if using *CONSTRAINED_RIGID_BODIES with IFLAG=1 and the master part, PIDM, is using *PART_INERTIA.

Fix incorrect initialization with drdisp.sif when using *CONSTRAINED_EXTRA_NODES.

Fix incorrect mass & inertia for rigid body part when IFLAG=1 in *CONSTRAINED_EXTRA_NODES.

Allow *CONSTRAINED_INTERPOLATION to use node set to define the independent nodes.

Add new feature MODEL.GE.10 to *CONSTRAINED_INTERPOLATION_SPOTWELD (SPR3). This allows parameters STIFF, ALPHA1, RN, RS, and BETA to be defined as *DEFINE_FUNCTIONs of thicknesses and maximum engineering yield stresses of connected sheets.

Added failure reports for *CONSTRAINED_SPR2.

Add more d3hsp output for *CONSTRAINED_INTERPOLATION_SPOTWELD and *CONSTRAINED_SPR2. Can be deactivated by setting NPOPT=1 on *CONTROL_OUTPUT.

Add option to *CONSTRAINED_JOINT:

Relative penalty stiffness can now be defined as function of time when RPS<0 refers to a load curve. Works for SPHERICAL, REVOLUTE, CYLINDRICAL in explixit analyses.

Add new option to *CONSTRAINED_INTERPOLATION_SPOTWELD:

SPR4. There is a new parameter MODEL to select the new method.

*CONSTRAINED_JOINT_GEARS:

Gear joint now supports bevel gears and similar types, i.e., the contact point does not necessarily have to be on the axis between the gear centers.

New subcycling scheme activated for *CONTROL_SUBCYCLE and *CONTROL_SUBCYCLE_MASS_SCALED_PART. By default the ratio between the largest and smallest time step is now 16 and the external forces are evaluated every time step. The old scheme had a hard wired ratio of 8. The ratios can be optionally changed by *CONTROL_SUBCYCLE_K_L where K is the maximum ratio between time steps for internal forces and L is likewise the ratio for external forces.

Fix bug for *CONTROL_IMPLICIT_MODAL_DYNAMIC if jobid is used

Fix bug of solid spot weld collapsing when using *CONTROL_SPOTWELD_BEAM to convert a beam spot weld to a solid spot weld.

Can specify a local coordinate system (CID) for orbital adaptivity (ADPOPT=3 in *PART) with the limitation that the local z-axis is parallel to the global z-axis. The local z-axis is the orbital axis for the part being adapted. CID defaults to the global coordinate system.

.

Database

*DATABASE_PROFILE:

output kinetic and internal energy profiles,

output volume fraction profiles,

add a parameter MMG to specify the ALE group for which element data can be output.

*DATABASE_ALE_MAT:

can now use *DEFINE_BOX to compute the material energies, volumes and masses for elements inside boxes (instead of the whole mesh).

*DATABASE_TRACER_GENERATE:

new keyword to create ALE tracer particles along iso-surfaces.

*DATABASE_FSI:

add option to output moments created by FSI forces about each node in a node set. These moments about nodes are reported in dbfsi.

When writing *INITIAL_STRESS_SOLID to dynain file, IALEGP is now written as zero by default. Previously it was written as 1, suggesting a non-existent multi-material group. This was harmless in LS-DYNA but could be confusing for users.

Fix incorrect node number in eloutdet for solids' stress when output to binout. Broken at revision 89209.

Fix stress/strain output to elout which were in local system instead of global when EOCS=2 in *CONTROL_OUTPUT and CMPLG=1 in *DATABASE_EXTENT_BINARY. Resolve the conflicting input by giving priority to EOCS.

Fix incorrect output 0.0 for history variable #3, pressure from bulk viscosity, of solids to d3plot when HYDRO.gt.0 in *DATABASE_EXTENT_BINARY and when equation-of-state is used.

*DATABASE_SBTOUT and *DATABASE_DEFORC now work. These commands were being ignored in some revisions of the code.

Include eroded hourglass energy in hourglass energy in glstat file to be consistent with KE & IE calculations so that the total energy=kinetic energy + internal energy + hourglass energy + rigidwall energy.

Add support for new database pbstat (*DATABASE_PBSTAT) for *PARTICLE_BLAST.

internal energy and translational energy of air and detonation products

force/pressure of air and detonation products for each part

*DATABASE_EXTENT_INTFOR:

New parameter NWEAR on optional card governs the output of wear depth to the intfor database.

*DATABASE_EXTENT_BINARY, *MAT_FABRIC, *MAT_FABRIC_MAP:

Using CMPFLG=-1 will work just as CMPFLG=1, except that for *MAT_FABRIC (form 14 and form -14) and *MAT_FABRIC_MAP the local strains and stresses will be engineering quantities instead of Green-Lagrange strain and 2nd Piola-Kirchhoff stress.

*DATABASE_EXTENT_BINARY, *MAT, *SECTION:

For some materials and elements, thermal and plastic strain tensors can be output to d3plot database, see STRFLG.

Fix bug in d3plot file if *LOAD_THERMAL_D3PLOT is used.

Allow PSETID in *DATABASE_BINARY_D3PLOT and _D3PART for SPH elements

Eliminate error issued when *DATABASE_HISTORY_SHELL_SET references a shell set defined using a box and shell adaptivity is invoked.

The output times for intfor (*DATABASE_BINARY_INTFOR) were off by a time step. This was particularly noticeable for implicit runs. This problem is now fixed.

Add option for output of detailed (or long) warning/error messages to d3msg. See MSGFLG in *CONTROL_OUTPUT. Only a few "long" versions of warnings/errors at this time but that list is expected to grow.

Add options for data compression in d3plot; see DCOMP in *DATABASE_EXTENT_BINARY.

Introduce a small perturbation to the initial position of newly generated discrete elements for *DEFINE_DE_INJECTION. This allows a more random spatial distribution of the generated particles.

*INTERFACE_DE_HBOND replaces *INTERFACE_DE_BOND. Used to define the failure models for bonds linking various discrete element (DE) parts within one heterogeneous bond definition (*DEFINE_DE_HBOND).

*DEFINE_ADAPTIVE_SOLID_TO_DES:

Embed and/or transform failed solid elements to DES (*ELEMENT_DISCRETE_SPHERE) particles. The DES particles inherit the material properties of the solid elements. All DES-based features are are available through this transformation, including the bond models and contact algorithms. This command is essentially to DES what *DEFINE_ADAPTIVE_SOLID_TO_SPH is to SPH particles.

.

EFG

Fix a bug when EFG shells are used in a seatbelt model.

Add parameter output to d3hsp for EFG solids.

.

Electromagnetic Solver - EM

Add EM orthotropic materials where the electric conductivity is a 3x3 tensor, see new card, *EM_MAT_003.

Add new keyword family, *EM_DATABASE_... which triggers the output of EM quantites and variables. All EM related ASCII outputs now start with em_***.

Add capability to plot magnetic field lines in and around the conductors at given times, see *EM_DATABASE_FIELDLINE. ASCII output files are generated (lspp_fieldLine_xx) and are readable by LSPP in order to plot the field lines. In the future, LSPP will be capable of directly generating the field lines.

Add EM quantities in *DEFINE_CURVE_FUNCTION:

EM_ELHIST for element history (at element center).EM_NDHIST for node history.EM_PAHIST for part history (integrated over the part).

An underlying solid mesh (hexes and prisms) is built where the EM is solved and the EM fields are then collapsed onto the corresponding shell.

The EM mat for shells is defined in *EM_MAT_004 This works for EM solvers 1, 2 and 3 and the EM contact is available for shells.

Add different contact options in the *EM_CONTACT card.

Add new methods to calculate electric contact resistance between two conductors for Resistive Spot Welding applications (RSW). See *EM_CONTACT_RESISTANCE.

Add Joule Heating in the contact resistance (see card *EM_CONTACT_RESISTANCE). The Joule heating is evenly spread between the elements adjacent to the faces in contact.

Add new circuit types 21 and 22 (see *EM_CIRCUIT) allowing users to put in their own periodic curve shape when using the inductive heating solver. This is useful in cases where the current is not a perfect sinusoidal.

Provide default values for NCYCLEBEM and NCYCLEFEM (=5000) and set default value of NUMLS to 100 in *EM_CIRCUIT.

.

Element

Fix bug affecting *DAMPING_FREQUENCY_RANGE_DEFORM used with beams with ELFORM=2. Damping forces were included in the forces and moments output to the d3plot and elout files, but are now excluded. For all other element types and formulations, the damping forces and stresses were already excluded from the output. This change has no effect on the solution, only on the output forces and moments.

Add two additional formulations, FORM=3 and 4, to *PART_MODES.

FORM=3 is now the default and allows more general mode shapes in order to handle non-free/free boundary conditions.FORM=4 does not orthogonalize the modes with respect to the rigid body modes, and may allow boundary conditions to be imposed more simply in some cases than FORM=3.

Add option SOLSIG to *CONTROL_OUTPUT which will permit stresses and other history variables for multi-integration point solids to be extrapolated to nodes. These extrapolated nodal values replace the integration point values normally stored in d3plot. NINTSLD must be set to 8 in *DATABASE_EXTENT_BINARY when a nonzero SOLSIG is specified. Supported solid formulations are solid elements are: -1, -2, 2, 3, 4, 18, 16, 17, 23.

Warning: Do not use "Setting - Extrapolate" in LS-PrePost when SOLSIG is nonzero.

Activate contact thickness input from *PART_CONTACT for solids.

Fix possible problems in *ELEMENT_MASS_DISTRIBUTE when some beam types are used.

Enhance FORM=3 of *PART_MODES to properly set rigid body constraints. Also set FORM=3 when using input from d3mode database.

Made many enhancements for *PART_MODES for robustness and MPP implementation.

Correct the application of mass damping when used with superelements (*ELEMENT_DIRECT_MATRIX_INPUT). Mass damping on the superelement attachment nodes had to be moved from non-superelement side to the superelement side. Works for both *DAMPING_GLOBAL and *DAMPING_PART_MASS.

Issue error message and terminate the simulation when *ELEMENT_SEATBELT_RETRACTOR or *ELEMENT_SEATBELT_PRETENSIONER refers to an undefined seatbelt sensor.

Forming

Enhance *ELEMENT_LANCING by supporting *PARAMETER, *PARAMETER_EXPRESSION. This is especially useful to define birth and death time for lancing by using the distance from punch bottom and by using *PARAMETER_EXPRESSION.

Add a new feature, *CONTROL_FORMING_TRIMMING, for 2D and 3D trimming of a 3-layer, sandwich laminate blank via *DEFINE_CURVE_TRIM.

Add 3D normal trimming of solid elements via *DEFINE_CURVE_TRIM_3D:

Allow normal (to sheet plane) trimming.

Trimming is done by using the local element normal directions.

Add new features for solid elements 2D trimming *DEFINE_CURVE_TRIM_NEW:

Allow support of arbitrary trimming vector (previously only global z direction was allowed).

Improve trimming algorithm for speed up.

Allow trimming curves to project to either the top or bottom surface.

Add a new AUTO_CONSTRAINT option to *CONTROL_FORMING_ONESTEP. Add new features to *CONTROL_FORMING_UNFLANGING:

The incoming flange mesh will be automatically checked for mesh quality and bad elements fixed.

Allow thickness offset of deformable flange to use the blank thickness from user's input.

Allow definition any node ID in the outer boundary of the flange, to speed up the search when holes are present in the part.

Add a new parameter CHARLEN:

default = 150 to limit the search region. It should be set bigger than the biggest width of the flange.

Allow holes to exist in the flange regions.

Output a suggested flange part after unflanging simulation, with the failed elements deleted from the unflanged part.

Define automatically a node set and constraints for the flange boundary nodes through the user definition of three nodes: NB1, NB2, and NB3.

NB1: the node ID in one end of the flange boundaryNB2: any node ID in the middle of the flange boundaryNB3: the node ID in one the other end of the flange boundary

In unflanging simulation, it's important to obtain xa correct trimming curves. In this keyword, failed elements are removed to come up with the trim curves.

Enhance *CONTROL_FORMING_OUTPUT:

If NOUT is larger than the number of states specified by either Yiâ€™s or LCID, the remaining states are evenly distributed between TBEG and the time corresponding to the biggest Yi from the home position. If NOUT is zero or blank. then the number of states is automatically determined based on either Yi's or LCID.

Add a new keyword *CONTROL_FORMING_TRIM_MERGE: - Purpose: Close a user specified (gap) value in the trim curves, so each trim curve will form a closed loop, which is required for a successful trimming.

IMERGE: if(imerge.eq.1) this keyword will be activatedGAPM: if the gap between neighboring curve ends is smaller than GAPM, the ends of the curve will be moved to close the gap.

Add a new keyword: *CONTROL_FORMING_MAXID:- Purpose: Set a maximum node ID and element ID for the incoming dynain file (typically the blank) in the current simulation. These give a starting point for newly added nodes and elements due to adaptivity of the blank. This is typically used in line die simulation when many sets of tools are used in several simulation processes.

.

Frequency Domain

*FREQUENCY_DOMAIN_ACOUSTIC_BEM:

Update the boundary condition definition for BEM acoustics so that impedance and other user defined boundary conditions can be combined with time domain velocity boundary condition.

Implement this keyword to define the incident waves for acoustic scattering problems. To be used with *FREQUENCY_DOMAIN_ACOUSTIC_BEM.

*FREQUENCY_DOMAIN_ACOUSTIC_SOUND_SPEED:

Implement this keyword to define frequency dependent complex sound speed, which can be used in BEM acoustics. By using complex sound speed, the damping in the acoustic system can be considered. To be used with *FREQUENCY_DOMAIN_ACOUSTIC_BEM.

Add a new keyword *MAT_ADD_FATIGUE, to define the SN fatigue curve for material models. Enabled this keyword to define SN curve in random vibration fatigue.

*FREQUENCY_DOMAIN_SSD:

Add strain computation.

Add parameter LC3 to define the duration of excitation for each frequency. This parameter is optional and is only needed for simulating sine sweep vibration.

Implement fatigue analysis based on ssd (sine sweep). The fatigue analysis feature is activated by option _FATIGUE. The material's SN fatigue curve is defined by *MAT_ADD_FATIGUE. Results of fatigue analysis are reported in binary database D3FTG.

Add an option to use *DAMPING_PART_MASS and *DAMPING_PART_STIFFNESS in SSD (DMPFLG=1).

*MAT_ADD_FATIGUE:

Implement this keyword to define material's SN fatigue curve, which can be used in random vibration fatigue and SSD fatigue analysis. To use *MAT_ADD_FATIGUE in random vibration fatigue, set NFTG=-999 in *FREQUENCY_DOMAIN_RANDOM_VIBRATION_FATIGUE.

Add linear-linear interpolation to the SN curve (parameter LTYPE).

*FREQUENCY_DOMAIN_ACCELERATION_UNIT:

Implement this keyword to facilitate the acceleration unit conversion. In industry, sometimes people use g (gravity acceleration, 9.81 m/s^2) as unit of acceleration (this is very common for vibration analysis). But in LS-DYNA, consistent units are required and the [acceleration unit] = [length unit]/[time unit]^2. This keyword automatically converts [g] to the consistent acceleration unit.

Implicit

Add option for implicit dynamic relaxation so that only a subset of parts is active during the dynamic relaxation phase. See IDRFLG=6 and DRPSET in *CONTROL_DYNAMIC_RELAXATION. This allows element formulations which are not supported by implicit, e.g., ALE and SPH, to be included in the model and active for the normal phase of the simulation but ignored during the dynamic relaxation phase.

Add self piercing rivet capability to implicit mechanics, both SMP and MPP. This is *CONSTRAINED_SPR2 and *CONSTRAINED_INTERPOLATION_SPOTWELD.

Can now dump the damping matrix from implicit mechanics. See MTXDMP in *CONTROL_IMPLICIT_SOLVER. In addition to mass damping and stiffness damping terms, beam damping terms are also dumped.

Extend matrix dumping capability (MTXDMP) to MPP.

MTXDMP<0 will terminate the run after dumping of matrices.

Improve stress and strain computation induced by mode shapes. This computation is invoked by MSTRES in *CONTROL_IMPLICIT_EIGENVALUE. This vastly improves the robustness of the stress/strain computation in the presence of nonlinear elements and materials.

Add variable MSTRSCL to *CONTROL_IMPLICIT_EIGENVALUE for user control of geometry scaling for the stress computation.

Make SMP and MPP treatment of autospc constraints consistent. AUTOSPC on *CONTROL_IMPLICIT_SOLVER controls the application of autospc constraints.

Fix reading of d3kil file to allow for implicit switches with more than 4 characters.

Fix MPP implicit's output of forces to bndout due to prescribed motion on nodes. Forces on shared nodes were being counted multiple times.

Enhance output for *ELEMENT_DIRECT_MATRIX_INPUT (superelements) to describe how they are attached to the LS-DYNA model and to refer to their element ID from the input deck instead of an internal elmeent ID.

The computation of the inertia matrix in the presense of rigid bodies is correct.

Adjust superelement computation to accept initial velocities.

Add null beams for the visualization of superelements. This allows users to observe each superelement where it is connected to the nonlinear model in LS-PrePost by the use of null beam elements connecting those nodes.

Enhance implicit to allow the use of *CONSTRAINED_RIVET in conjunction with axisymmetric shell element problems.

Remove application of stiffness damping (*DAMPING_PART_STIFFNESS) during the implicit assembly of elemental stiffness matrices. This damping was being applied twice.

Add output of performance statistics for the MPP implicit eigensolver to mes0000.

Enhancements to modal dynamics (*CONTROL_IMPLICIT_MODAL_DYNAMIC):

Correct reading of d3eigv database in the presence of higher order elements and tshell elements.

Add Stress computation to modal dynamics.

Fix computation of time step for modal dynamics in the presence of *CONTROL_IMPLICIT_MODAL_DYNAMIC_DAMPING.

Fix damping factor ZETA in *CONTROL_IMPLICIT_MODAL_DYNAMIC.

Allow unsymmetric terms to the assembled stiffness matrix from some implicit features. This is available in both SMP and MPP. See LCPACK=3 in *CONTROL_IMPLICIT_SOLVER. There are an increasing number of unsymmetric terms enhancing the physical modeling. These terms are listed under the remarks for LCPACK. Use of this unsymmetric feature adds those terms but at a cost of twice the storage and twice the computation for the linear algebra, a substantial cost.

Output of midside nodes (e.g., 10 noded tets) data to d3eigv and d3mode databases was incorrect in MPP for implicit. Code was add to correct this issue.

Enhance implicit-explicit switching (IMFLAG<0 in *CONTROL_IMPLICIT_GENERAL) so that curve |IMFLAG| can be defined using *DEFINE_CURVE_FUNCTION.

Upgrade the implicit implementation of rack and pinion and screw joints (*CONSTAINED_JOINT_RACK_AND_PINION, *CONSTRAINED_JOINT_SCREW) so the joint is driven by relative motion of the assembly instead of absolute motion.

Fix segmentatin fault when using *CONTROL_IMPLICIT_GENERAL with IMFLAG=4 for implicit/explicit switching.

*CONTROL_IMPLICIT_ROTATIONAL_DYNAMICS:

This new keyword is added to study Rotordynamics using the implicit time integrator. Applications for this feature include the transient and vibration analysis of rotating parts such as turbine blades, propellers in aircraft, and rotating disks in hard disk drives. It is available for beam, shell, solid and thick shell elements. The current implementation requires a double-precession SMP version of LS-DYNA. An MPP implementation is under development.

Fix a problem with implicit solutions using *CONTACT_2D_AUTOMATIC_..._THERMAL. The thermal gap option (LMIN,LMAX) was not working because the contact pairs data needed to calculate the heat transfer across the gap was being purged of pairs that were not currently generating stiffness. This purging is now done after the thermal step.

*MAT_SEATBELT is supported for implicit by introducing bending stiffness, preferrably used with NSOLVR=12

Nonsymmetric linear solver can be used by specifying LCPACK=3 in *CONTROL_IMPLICIT_SOLVER.

*CONTROL_IMPLICIT_SOLVER, *SECTION_SHELL, *SECTION_SOLID:

User resultant elements (ELFORM=101,102,103,104,104 and NIP=0) can be used with nonsymmetric implicit solver.

Material

Fix bug in *MAT_174 whereby the code could crash when input parameter EUR=0 and FRACR=0.

Fix bug in *MAT_ARUP_ADHESIVE. When the power-law terms PWRS, PWRT were not both equal to 2, the plastic strain was calculated incorrectly, leading to a post-yield stress-strain response that did not match the description in the manual. This was especially noticeable with rate effects (EDOT2, SDFAC), when the peak stress generated did not match the theoretical rate-enhanced yield stress.

Make several enhancements to *MAT_172:

Add option for concrete behaviour from Eurocode 2 Part 1-1 (general structural engineering). The default options are taken from Part 1-2 (fire engineering). There are small differences in the compressive stress-strain curve and some other details. This is selected by TYPEC=9.

A common design code assumption is that concrete has zero tensile strength. However, the actual (non-zero) tensile strength is used when calculating the maximum shear stress that can be carried across a crack.

To allow for this in LS-DYNA models, it is now possible to input the two tensile strengths separately:

FT for tension, and FTSHR for use in the shear calculation. These are input on the new optional Card 9.

If the user inputs an artificially-low tensile strength (it is a common design assumption that concrete cannot carry any tension), models can crack in an uncontrolled way due to small stress oscillations when loads are first applied. An option has been added (LCFTT on new optional Card 9) to scale down the tensile strength as a function of time. This allows cracks to develop in a more realistic manner.

Small correction to the action of TAUMXF:

this property is no longer scaled down in response to previous crushing or high temperature.

*MAT_HYPERELASTIC_RUBBER (*MAT_077_H) has new thermal option for material properties.

Add *MAT_ORTHOTROPIC_PHASE_CHANGE, *MAT_ELASTIC_PHASE_CHANGE, and *MAT_MOONEY-RIVLIN_PHASE_CHANGE whereby elements change phase as they cross a plane in space.

Add P1DOFF to 2D seatbelt material, *MAT_SEATBELT_2D, to specify a part ID offset for the internally created 1D seatbelt elements.

All load curves for *MAT_067 can be defined via *DEFINE_FUNCTION.

Enhance *MAT_CWM:

Add support for shell elements.

Add support for hardening curves. Yield stress can be supplied as table depending on plastic strain and temperature.

Fix bug in *MAT_HILL_3R_3D where wrong shear stress was calculated. Fix erosion due to damage, maximum shear & critical temperature in elastic state for *MAT_MODIFIED_JOHNSON_COOK/*MAT_107 for solids.

Check diagonal elements of C-matrix of *MAT_002/*MAT_{OPTION}TROPIC_ELASTIC and error terminate with message, STR+1306, if any of them are negative.

Fix incorrect stress initialization of *MAT_057/*MAT_LOW_DENSITY_FOAM using dynain file with *INITIAL_STRESS_SOLID when NHISV is equal to the number of history variables for this *MAT_057.

Fix error when using *MAT_144/*MAT_PITZER_CRUSHABLE_FOAM with solid tetahedral ELFORM 10.

Fix incorrect writing of material data to dyna.str for *MAT_SEATBELT when using long=s.

Fix out-of-range forces after dynamic relaxation when using VP=1 for *MAT_PIECEWISE_LINEAR_PLASTICITY and non-zero strain rate parameters, C & P, and the part goes into plastic deformation during dynamic relaxation.

Fix incorrect *MAT_PLASTICITY_COMPRESSION_TENSION/*MAT_124 yield stresses for shells when SRFLAG=2. The yield stress was not scaled correctly according to strain rate curves, LCSRC and LCSRT.

Fix *MAT_ADD_THERMAL_EXPANSION which did not work for hyperelastic materials in 2D analysis.

Fix incorrect results when using *DEFINE_TABLE for LCSS of *MAT_089/*MAT_PLASTICITY_POLYMER.

Fix incorrect results when using *MAT_MUSCLE/*MAT_156 with *PART_AVERAGED for the truss elements.

Fix segmentation fault when using *MAT_NONLOCAL with nhv > 16 and also output warning message, STR+1291, if the largest history variable # is > than the number of stored history variables (including plastic strain).

Fix effect of shear correction factor, SHRF, in *SECTION_SHELL and *PART_COMPOSITE on *MAT_ORTHO_ELASTIC_PLASTIC/*MAT_108.

Add warning message, INI+382, for *MAT_HILL_FOAM/*MAT_177 when fitting is not performed because no load curve, LCSR, for the stretch data is defined.

Fix incorrect transformation of load curves and tables by *INCLUDE_TRANSFORM for *MAT_089/*MAT_PLASTICITY_POLYMER with LCSS set to a table ID.

Fix spurious internal energy when using *MAT_MOONEY-RIVLIN_RUBBER with type=-2 for *CONTROL_BULK_VISCOSITY and dynamic relaxation enabled.

Fix spurious deletion of beam elements when using *MAT_ADD_EROSION with an exclusion number EXCL and either

MXEPS not set to the exclusion number, or

all failure criteria set to the exclusion number.

Fix spurious deletion of beam elements when using *MAT_ADD_EROSION and all failure criteria are set to the exclusion number, EXCL.

Fix incorrect stresses/strains when using *MAT_PIECEWISE_LINEAR_PLASTIC_THERMAL/*MAT_255 with *LOAD_THERMAL_OPTION.

Fix divide by zero for *MAT_HILL_FOAM/*MAT_177 during the stress tensor eigenvector iterations which resulted in elements disappearing in d3plot.

Fix *MAT_SIMPLIFIED_JOHNSON_COOK_ORTHOTROPIC_DAMAGE/*MAT_099 shell elements which were not deleted despite reaching the rupture strain and number of integration points failed.

Fix *MAT_PLASTIC_NONLINEAR_KINEMATIC/*MAT_165 for implicit analysis.

Fix incorrectly large time step when using *MAT_MODIFIED_PIECEWISE_LINEAR_PLASTICITY without any failure criteria, FAIL/TDEL/EPSMAJ, for solid elements.

Fix incorrect viscous force to elout in binout for *MAT_MUSCLE/*MAT_156.

Fix non-zero z-strain when using *MAT_USER_DEFINED_MATERIAL_MODELS and shell element type 13 with nip=4.

Fix zero stress/strains when using IORTHO=1 for *MAT_USER_DEFINED_MATERIAL_MODELS and shell element type 13. Also fix incorrect strains output in general for shell type 13 and using *MAT_USER_DEFINED_MATERIAL_MODELS.

Add a keyword option called MIDFAIL for *MAT_024, (*MAT_PIECEWISE_LINEAR_PLASTICITY). When MIDFAIL appears in the keyword, failure by plastic strain will only be checked at the mid-plane. If the mid-plane fails, then the element fails. If there are an even number of integration points through the thickness, then the two points closest to the middle will check for failure and the element fails when both layers fail.

Enable solid and solid assembly spot welds (*MAT_SPOTWELD) to use the NF parameter for force filtering.

Fix the resultant force and moment calculation that is used by solid spot weld assemblies. We were calculating moments that were too small because they omitted the contribution of hourglass control. This was particularly noticable in torsion loading.

Add the shear angle in degrees as the first history variable for shell material *MAT_214 (*MAT_DRY_FABRIC). It starts as 90 and updates if the fibers scissor.

Modify fabric material (*MAT_FABRIC, *MAT_034) so that it does not suffer from excessive high frequency noise in the strain and stress at points far from the origin. If fabric damping is used, this noise is controlled, but then strain energy from from the viscous damping may grow throughout the solution. This was observed in single precision but not double precision. A fix is now made which makes the strain calculation more accurate and eliminates this effect entirely. This fix should have little effect on airbag behavior since the high frequency noise does not have much affect on the solution.

Correct the calculation of viscous strain energy in fabric material (*MAT_FABRIC, *MAT_034). This effects output only and could result in slightly higher reported strain energy.

Expand from 2 to 5 the number of additional cards that can be used for the user defined weld failure, OPT=12 or OPT=22 on *MAT_SPOTWELD. Now a total of 46 user variables are possible.

Add a solid spot weld material option in *MAT_SPOTWELD to treat the stress state as uniaxial. This option is available for solid assemblies also. The uniaxial option is used by setting the elastic modulus to a negative number on *MAT_SPOTWELD where the absolute value of E is the elastic modulus. The nodes of solid and solid assemblies are tied to shell elements with constraints that allow almost no movement relative to each other. As a consequence, the strain state is effectively uniaxial meaning no transverse strains are allowed. A weld loaded in tension will therefore develop significant tensile stress in the transverse directions, particularly after a weld has yielded when the strain state is nearly incompressible. This can lead to huge stresses and very slow growth of plastic strain based damage. The uniaxial option assumes that the transverse stress is always zero. In other words, the stress state is uniaxial. The shear stress and axail stress are unmodified, but the two transverse terms are set to zero. These stress terms really contribute nothing since the welds are tied at each end. By zeroing them, plastic strain grows much more quickly and plastic strain based damage is a reasonable option.

Add *MAT_FABRIC form 24 which is a modified version of form 14. The main improvement is that the Poisson's effects work correctly with the nonlinear curves for fiber stress. Also, the output of stress and strain to d3plot are engineering stress and strain instead of 2nd PK stress and Green's strain. Added an option to input curves in engineering stress and strain rather than 2nd PK stress vs. Green's strain. To use this, set DATYP=-1 on *DEFINE_CURVE

Add support for up to 24 plys in a sublaminate with *MAT_CODAM2. Before the change, only 8 plys were possible.

*MAT_THERMAL_CHEMICAL_REACTION:

This is a beta release. The intent of this material is to model a material undergoing a chemical reaction such as an epoxy used in manufacturing composite materials. Epoxies are modeled by an endothermic induction reaction followed by an exothermic autocatlytic reaction. The heat of reaction is an input parameter.

*MAT_058:

Add possibility to use nonlinear (elastic) stress-strain curves instead of constant stiffnesses (EA, EB, GAB) in *MAT_58 (*MAT_LAMINATED_COMPOSITE_FABRIC). If a negative value is input for EA/EB/GAB, it is assumed that a corresponding elastic stress-strain curve is defined.

Add possibility to use strain-rate dependent nonlinear (elastic) stress-strain curves instead of constant stiffnesses (EA, EB, GAB) in *MAT_58 (*MAT_LAMINATED_COMPOSITE_FABRIC) using a table definition (a negative value needs to be defined for EA, EB, GAB to point to the corresponding table ID).

Add possibility to define proper poisson ratios PRCA and PRCB. If PRCA and PRCB are not defined, they are set to PRBA. This feature is also added to *MAT_158.

*MAT_100 (solids):

Add possibility to use yield curve or table in *MAT_100 (*MAT_SPOTWELD) for solid elements if SIGY.lt.0 is used.

Add *MAT_157 for solid elements.

This includes an optional variable IHIS that invokes *INITIAL_STRESS_SOLID to initialize material properties on an element-by-element basis This allows the user to map/initialize anisotropic material properties from an injection molding simulation via *INITIAL_STRESS_SOLID

Add optional variable IHIS, similar to that described for solids above.

Add new option to *MAT_103 for solids:

When setting FLAG.eq.4, a table ID may be defined in LCSS which defines for each strain rate value a load curve ID giving the stress versus effective plastic strain for that rate. Only isotropic hardening is implemented for this option and it is only available for solid elements.

*MAT_136 (*MAT_CORUS_VEGTER):

Fixed input for N.gt.5.

Implemented an alternative, implicit plasticity algorithm (define N.lt.0). In some examples, this enhances stability of the computation significantly.

*MAT_244 (*MAT_UHS_STEEL):

In plasticity with non-linear hardening, temperature effects and strain rate effects are now dealt with the same way they are implemented in *MAT_106. In particular, strain rate now refers to the plastic strain rate.

Modifications are included to avoid NaNs for TRIP algorithm and phase computation.

Allow for the definition of start temperatures for each phase change, not only for cooling but also for heating in *MAT_244. Parameters FS, PS, BS and MS now accept negative values that point to a load curve defining start temperatures for cooling (first value) and heating (last value).

Account for elastic transformation strains, given as a curve wrt temperature.

Add feature to *MAT_244 for welding simulations. Similar to *MAT_270, material can be initialized in a quiet (ghost) state. Material parameters for the ghost material are defined in an additional input card. Material is activated when temperature reaches birth temperature. Furthermore, annealing is accounted for. Feature is active when new parameter CWM=1.

Modified formula for Pearlite phase kinetics based on Kirkaldy and Venugoplan (1983).

*MAT_249 (*MAT_REINFORCED_THERMOPLASTIC): Implement new material formulation for shells, which is based on additive split of stress tensor.

For the thermoplastic matrix, a thermo-elasto-plastic material is implemented, where the temperature dependence is defined by load curves/tables in the input file.

Includes hyperelastic fiber contribution.

For any integration point, up to three different fiber directions can be defined. Their (non-linear) response to elongation and shear deformations can also be defined with load curves.

Includes input parameters for anisotropic transverse shear stiffness.

*MAT_T07 (*MAT_THERMAL_CWM):

Add HBIRTH and TBIRTH as user input parameters

Fix for combination of *MAT_USER with GISSMO. Arrangement of history variables was not always correct in that case.

One additional parameter (exponent GAMMA) for B-K law of *MAT_138.

*MAT_187:

Speed-up of load curve lookup for curves with many points.

Add new option "MAGNESIUM" to *MAT_233:

*MAT_CAZACU_BARLAT_MAGNESIUM. This material model is available for shell and solid elements. Differences between tension and compression are included.

Add enhanced damage model with crack closure effects to *MAT_104. It is activated by setting FLAG >= 10 and includes some new parameters.

Some improvements for *MAT_075 (*MAT_BILKHU/DUBOIS_FOAM):

Volumetric strain rate can now be averaged over NCYCLE cycles, original input curve LCRATE is used instead of a rediscretized curve, and averaged strain rate is stored as history variable #3.

Add new history variables to *MAT_123:

A mixed failure indicator as history variable #10 and triaxiality as #11.

Decrease memory requirements for *MAT_ADD_EROSION by 50%.

Add *MAT_098 for tetrahedral solid type 13.

Add new history variable #8 to *MAT_157 for shell elements:

"Anisotropic equivalent plastic strain".

Add tangent stiffness to *MAT_224 for implicit analyses with solid and shell elements.

Fix minor single precision issue in strain calculation of *MAT_FABRIC with FORM = 12, 13, or 14.

Fix for combination of *MAT_USER... with RYLEN=2 on *CONTROL_ENERGY, and *DAMPING_PART_STIFFNESS.

Add new flag to switch off all *MAT_ADD_EROSION definitions globally. This will be the 1st parameter "MAEOFF" on new keyword *CONTROL_MAT.

Add option to define a load curve for isotropic hardening in *MAT_135. If SIGMA0 < 0, then |SIGMA0| refers to a stress-strain curve. Parameters QR1, CR1, QR2, and CR2 are ignored in that case.

*MAT_CDPM:

*MAT_273, *MAT_CONCRETE_DAMAGE_PLASTIC_MODEL (CDPM), has been reimplemented by its original developers (Peter Grassl and Dimitros Xenos at University of Glasgow) for enhanced robustness. A new parameter EFC is introduced governing damage in compression and the bilinear law is exchanged for an exponential one. This model should be used in double precision only.

*MAT_3-PARAMETER_BARLAT:

In *MAT_036, HR=7 is complemented with biaxial/shear hardening curves.

*MAT_FABRIC_MAP:

A stress map material for detailed stress response in fabrics, stress can be prescribed through tables PXX and PYY corresponding to functions of biaxial strain states.

A compaction effect due to packing of yarns in compression is obtained by specifying BULKC (bulk modulus) and JACC (critical jacobian for the onset of compaction effect). This results in increasing pressure that resists membrane elements from collapsing and/or inverting.

Strain rate effects can be obtained by specifying FXX and FYY which in effect scales the stress based on engineering strain rate. A smoothing effect is applied by using a time window DT.

A hysteresis option TH is implemented for stability, given in fraction dissipated energy during a cycle. Can also depend on the strain state through a table.

*MAT_GENERAL_HYPERELASTIC_RUBBER, *MAT_OGDEN_RUBBER:

By specifying TBHYS.LT.0 a more intuitive interpolation of the damage vs. deviatoric strain energy is obtained. It requires however that the damage and strain energy axes are swapped.

*MAT_SIMPLIFIED_RUBBER:

For AVGOPT.LT.0 the absolute value stands for a time window over which the strain rates are averaged. This is for suppressing extensive noise used for evaluating stress from tables.

*MAT_FABRIC:

The bending stiffness contribution in *MAT_034, ECOAT/SCOAT/TCOAT, is now supported in implicit calculations.

Enhance d3hsp to include possible values of ONEMPA for *MAT_272.

Add *MAT_122_3D which an extension of *MAT_122 to solid elements. This material model combines orthotropic elastic behavior with Hillâ€™s 1948 anisotropic plasticity theory and its applicability is primarily to composite materials.

MPP

Output messages about initial node movement due to projection, like non-groupable routines do.

MPP tied contact initialization:

Change a tolerance in groupable tied contact bucketsort to match the non-groupable code, and fix the slave node thickness used for beam nodes during initial search in non-groupable contact to match groupable contact.

Fix decomposition compatibility problem, where decomposing in double precision and running in single (or bigendian then littleendian) was not working correctly due to the way ASCII legend data was being stored during decomposition.

Fix *CONSTRAINED_BUTT_WELD to behave better if there are no master nodes on my processor.

Make fixes for MPP input processing of *DEFINE_HAZ_TAILOR_WELDED_BLANK.

Redo MPP support for *CONSTRAINED_MULTIPLE_GLOBAL which before only worked for some specific problems.

For MPP, set a "last known location" flag to give some indication of where the processors were if an error termination happens. Each writes a message to their own message file. Look for a line that says "When error termination was triggered, this processor was".

Fix MPP contact forces to shell element formulations that allow for through thickness compression. There was a summation error leading to incorrect behavior along decomposition boundaries.

Make sure the pfile.log file gets created in case of termination due to *CONTROL_STRUCTURED_TERM.

Fix MPP decomposition problem if there are 2D sliprings.

Fix MPP initialization problem for adaptivity when used with tied contacts, which could have resulted in a segmentation fault.

Make new MPP eroding contact algorithms the default, but still able to be turned off (for now) Add two new decomposition region-related pfile options "nproc" and "%proc" so that any given decomposition region can be assigned to some subset of all the processors. nproc takes a single argument, which is a specific number of processors. %proc takes a single argument, which is a percentage of processors to use.The old modifies "lump" and "distribute" are still available, and are mapped to the new options thusly:

lump => "nproc 1"distribute => "%proc 100.0"

MPP ncforc output:

sum forces for slave nodes (and ALL of them) to fix possible problems with shared nodes and symmetric contacts.

Fix MPP problem of creating a pre-decomposition file while using a jobid.

support for new solid and shell cost routines. Not yet suggested for regular use, as they need some filling out to include beams, thick shells, and additional materials. But the framework is all there.

MPP tied contact:

don't skip force calculation on the very first cycle.

MPP contact:

improve treatment of initial penetrations for solid elements, which were sometimes being offset in the wrong direction.

Fix MPP groupable contact issue with adaptive constraints.

MPP force transducers:

fix possible memory clobber when some processors in a contact have force transducers and others don't.

MPP tied contact with adaptivity:

if any master segments get adapted, we were dropping any slave nodes. Now flag these, and do a bucketsort for just these nodes, to find their new tied location. This allows tied contacts to work across adaptive steps.

MPP guided cable contact:

modify initial bucketsort to better handle beams of very different sizes.

Fix MPP *CONTACT_AUTOMATIC_GENERAL in case a processor has beams but no shells:

beam contact thicknesses and stiffnesses were not being properly set.

Fix MPP for dynamic relaxation in polar coordinates. Part numbers for shared nodes were not consistent, resulting in some nodes not being properly treated.

MPP contact:

add support for IGAP > 2 added to the SINGLE_SURFACE, AUTOMATIC_GENERAL, and *..._TO_SURFACE contacts.

Fix bug in MPP non-groupable single surface contact when used with force transducers, which was causing memory overwrites in some cases. This problem has existed since r83944.

Add MPP support for *LOAD_ERODING_PART_SET, which was not properly working before.

Fix MPP groupable contact which wasn't working with implicit if there were both constraint and penalty groupable contacts.

Change to the way MPP computes slave node areas for AUTOMATIC_TIEBREAK contacts (and other that use areas). The calculation was being done every cycle, which is probably not a good idea. Now it is only being done at time=0. Also, a different calculation is being done which I think treats triangles much better, and should result in less mesh dependency in the failure condition of AUTOMATIC_TIEBREAK contacts.

MPP: - synchronize rigid body flags for shared nodes during rigid-to-deformable switching so that these nodes are handled consistently across processors.

MPP spotweld thinning: - skip tied contacts with non-zero birthtime.

Fix MPP adaptivity error termination in the case where processors do not all share the same local directory.

Add new pfile decomposition region option:

partsetsTakes a list of partsets (SET_PART) from the keyword input and uses them to define a region, like this:

region { partsets 102 215 sy 1000 } would take those two partsets, scale y by 1000, and decompose them and distribute them to all processors.

MPP:

change to the decomposition behavior of *CONTROL_MPP_DECOMPOSITION_PARTS_DISTRIBUTE, *CONTROL_MPP_DECOMPOSITION_PARTSET_DISTRIBUTE, *CONTROL_MPP_DECOMPOSITION_ARRANGE_PARTS in the case where a decomposition transformation is also used. Previously, any such regions were distributed without the transformation being applied. This has been fixed so that any given transformation applies to these regions also.

Fix sleout output for two-sided force transducers in MPP:

No energy calculations were being done for force transducers, so although they looked OK in the rcforc file, the sleout file had all 0s for them. Energies (including frictional energy) should now be OK for two-sided force transducers in MPP. Their energies are NOT included in the total energies, since that would be redundant. A new output column is added to the sleout file indicating which interfaces are from force transducers. These changes are all MPP only, and only for the two-sided force transducers.

MPP spotweld deletion:

fix bug whereby flags were not properly allocated/set if there were no solid spotwelds in the model, causing beam failure to be missed. This bug was introduced at r86335.

Ignore 32ieee flag when writing interface linking file, since this file may be used as an INPUT file to future double precision runs, and we can't read a single precision file as if it were double precision. This was an MPP-only problem.

Add new MPP pfile option:

directory { local_dirs { path1 path2 path3 } } will assign different local working directories to different processors, to balance the I/O load.

Fix for MPP selective mass scaling (IMSCL=1 in *CONTROL_TIMESTEP) when used together with tie-breaking contact.

MPP contact with BEAM_OFFSET:

solids were in some cases still unstable, particularly if the user specified a large contact thickness (positive or negative) for searching purposes. So switch to using 10% of the characteristic edge length instead of 100% of the "segment" thickness.

Speed up input processing of the d3part option for MPP.

Change MPP treatment of two-sided force transducers so that proper mass and moment values can be output to the rcforc file.

Fix hang up when using *DEFINE_CURVE_FUNCTION with element function BEAM(id,jflag,comp,rm) and running MPP with np>1.

Fix end-of-file error for MPP when using more than one *LOAD_ERODIING_PART_SET.

Fix memory error messages after 'Normal Termination' for MPP when using *DAMPING_RELATIVE.

.

Restart

Add the following options for small restarts:

*CHANGE_VELOCITY_GENERATION,

*CHANGE_RIGIDWALL_option,

PSNFAIL option to *CONTROL_SHELL

Make fixes for adaptivity with small deck restart.

Fix MPP for full deck restart in case some processors have no contact interfaces.

Fix possible MPP hang during full deck restart if unimplemented contact types are used (e.g., AUTOMATIC_GENERAL). Also, change the resulting warning message to indicate that the contact may not be supported yet.

Fix a couple of minor issues for MPP full deck restarts:

If the new run specifies an output file (e.g., rcforc) that was not output in the original run, it was not being output in the new run.

If a jobid was used, an extra empty copy of the d3full input file was being created with the jobid prepended.

MPP full deck restart:

Restore behavior consistent with SMP which is that only the nodes of materials being initialized (not all nodes) are initialized from d3full.

Fix a bug related to *PARAMETER and restart that was resulting in parameters not being properly redefined on the first restart in MPP on processors other than 0, or on the second and subsequent restarts in SMP and MPP (all processors). This is only a problem if there are *DEFINE_CURVE_FUNCTION definitions that use parameters.

Free some memory that might have leaked during restarts.

MPP:

add full deck restart support for AUTOMATIC_TIEBREAK contact types.

Make change related to missing binout file on restarts:

Previously, if the binout file that the code wanted to append to did not exist, it created a brand new series named "binout_", which caused confusion for some users. Now, it opens whatever would have been the next binout in the series. For example, if the user was running a long problem and already had binout, binout%001 and binout%002, if binout%002 is not available when the restart occurs, the file binout%003 will be created (instead of binout_). So the user can just copy the newly generated binout%* files in with their old ones, and all the post processing routines will automatically see them.

Allow rcforc output in MPP for full deck restart.

Implement *DELETE_PART for seatbelt parts. The associated slipring, retractors and pretensioners will be deactivated as well.

Fix ineffective boundary condition for *MAT_RIGID when using *CHANGE_RIGID_BODY_CONSTRAINT with *RIGID_DEFORMABLE_R2D for small restart.

Fix internal energy oscillation after full deck restart when using *CONTACT_TIED_SURFACE_TO_SURFACE_OFFSET with TIEDID=1 in optional card D. This affects SMP only.

*DELETE_ELEMENT_BEAM/SOLID/SHELL/TSHELL - fix maximum number of elements that can be deleted in small deck restart due to field width limitation. Increase field width from i5 to i10.

Combined with CONT=1 in *CONTROL_SPH card, this keyword is used to define the partial interaction between SPH parts through normal interpolation method and partial interaction through the contact option. All the SPH parts defined through this keyword will interact with each other through normal interpolation method automatically.

Add support for *DATABASE_TRACER for axisymmetric SPH (IDIM = -2 in *CONTROL_SPH).

ICONT in *CONTROL_SPH now affects *DEFINE_SPH_TO_SPH_COUPLING in the sense of enabling or disabling the coupling for deactivated particles.

.

Storastic

The commands *STOCHASTIC_TBX_PARTICLES and *CHEMISTRY_CONTROL_TBX are no available for use (along with the CESE solver) in TBX-based explosives simulations.

Multi-nozzle injection mode is implemented for spray injection.

.

Thermal

Fix MPP for possible deadlock in adaptivity when used with thermal coupling.

Fix bug that IAUTO affected the thermal time step when IAUTO<0 in *CONTROL_IMPLICIT_AUTO and *CASE was used. IAUTO should have no bearing on the thermal time step.

*LOAD_THERMAL_D3PLOT:

This keyword is used to read a d3plot file to define node point temperatures. The format for reading d3plot was changed to be compatibile with the new d3plot data structure. The 1st d3plot family member contains control words, geometry, and other control entities. Time state data begins in the 2nd family member. This change is not backward compatible. The old d3plot data structure, which may be written by 3rd party sofware, will not be read correctly by ls-dyna.

*CONTROL_DYNAMIC_RELAXATION:

Logic was added to skip thermal computations during dynamic relaxation for a coupled thermal-stress problem (i.e. when SOLN=2 on the *CONTROL_SOLUTION keyword). This does not affect the use of *LOAD_THERMAL keywords during dynamic relaxation.

Added input error detection for loc=1/-1 for radiation, flux, and temperature boundary conditions when THSHEL is set to a thin or thick thermal shell in *PART_COMPOSITE.

Friction energy distribution to triangular shells is updated.

Include the reading of thermal data to *INCLUDE_BINARY.

.

Miscellaneous

Fix bug in long format input for *DEFINE_STAGED_CONSTRUCTION_PART.

Fix problem of LOCAL parameters and adaptivity. Because the adaptive process merges all the include files, the "locality" of these was being lost. Two new keywords are introduced (*PARAMETER_PUSH and *PARAMETER_POP) and are used to work around this issue.

Fix problem with collection of contact forces for *USER_INTERFACE_FORCES.

Fix bug in LSDA option of *INTERFACE_COMPONENT_FILE:

the titles of the interfaces were clobbered before being written to the linking file. Also, add general job information to the LSDA linking file (date of run, title of job, executable information).

Allow *DEFINE_FUNCTION_TABULATED to be used in any place that requires a function of 1 variable. Specifically, as a displacement scale factor with *INTERFACE_LINKING_NODE.

Make fixes to *NODE_TRANSFORM, which was not working correctly with *SET_NODE_GENERAL

Add new MUTABLE option for *PARAMETER and *PARAMETER_EXPRESSION to indicate that it is OK to redefine a specific parameter even if *PARAMETER_DUPLICATION says redefinition is not allowed. Also, only honor the first *PARAMETER_DUPLICATION card.

Add a new keyword *INCLUDE_AUTO_OFFSET. With this keyword, the node and element IDs of the include file will be checked with the node and element IDs of the previous included/read files to see if there is any duplication. If duplicate element or node ID is found, it will be replaced with another unique id. Required input is a incoming file name.