LS-DYNA R8.0.0 (R8.95309) released
New version of LS-DYNA is released for all common platforms.
Release notes for R8.0.0
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
- Fix message truncation error when writing out *AIRBAG_PARTICLE data to binout file.
- 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.
- Enhancements to *AIRBAG_PARTICLE:
- New blockage (IBLOCK) option for vents
.eq.0: no
.eq.1: yes
.eq.2: yes, exclude external vents
.eq.3: yes, exclude internal vents
.eq.4: yes, exclude all vents - Following two MPP keywords will be automatically applied to the CPM bag if they are not used to get better MPP performance.
*DECOMPOSITION_BAGREF
*DECOMPOSITION_ARRANGE_PARTS - External work done by inflator gas to the structure is reported to glstat.
- Enhance segment orientation checking of CPM bag and chambers.
- Allow user to excluded some parts surface for initial air particles. This will help to prevent particles trapped between two tied layer of fabrics.
- Support compressing seal vent which acts like flap vent.
- Support Anagonye and Wang porosity equation through *MAT_FABRIC.
- Add keyword option _MOLEFRACTION. If the option is used, user needs to provide ONE total mass flow rate curve and inputs specie mole fraction curve for each gas. Code will generate individual mass flowrate curve for each gas dynamically.
- Add _ID keyword option to *AIRBAG_REFERENCE_GEOMETRY and *AIRBAG_SHELL_REFERENCE:
- 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.
- Fix incorrect ID number in d3hsp for *BOUNDARY_CYCLIC.
- Fix output to bndout (*DATABASE_BNDOUT) for *BOUNDARY_PRESCRIBED_ORIENTATION_RIGID.
- 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.
.
Blast
- Solid part or solid part set is now allowed for *PARTICLE_BLAST.
- Add ambient pressure boundary condition flag BC_P for *PARTICLE_BLAST. If invoked, ambient pressure, hardwired to 1 bar, resists escape of the particles from the global domain.
- 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.
- Correct many issues with conjugate heat transfer involving CESE and CESE FSI solvers.
- Modify the FSI interface reflective boundary condition pressure treatment in some calculations for the moving mesh and immersed boundary solvers.
- Change the CESE derivatives calculation method to use the current values of flow variables.
- Add two new MAT commands for CESE solver, *CESE_MAT_000 and *CESE_MAT_002.
- Add a non-inertial reference frame solver for fluid and FSI problems using the moving-mesh method.
- For the moving mesh CESE solver, replace the all-to-all communication for conjugate heat and FSI quantities with a sparse communication mechanism.
- In conjunction with chemkin model referenced by *CHEMISTRY commands, correct problems related to usage of the *CONTROL_UNITS command in chemically-reacting flow problems with the CESE solver.
- Avoid an MPP deadlock situation caused by massless nodes being included with a CFD-only (CESE) input mesh.
- Add structural element erosion capability to the immersed boundary method CESE FSI solver (serial capability only).
- Add 2D cyclic boundary conditions capability.
- Correct final d3plot and dump times for a standalone CESE solver.
- Add a NaN detection capability for the CESE 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.
- Improve 2-D and 3-D TNT gaseous blast explosives, categorized as TBX (thermobaric explosives), are implemented for the Euler equation systems (CESE-only). Also, 3-D TNT blast + aluminum combustion for serial problems is now implemented. Note that:
- 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.
- Modify *CHEMISTRY_COMPOSITION and *CESE_CHEMISTRY_D3PLOT to add Model ID.
.
Contact
- Add *CONTACT_TIED_SHELL_EDGE_TO_SOLID for transferring moments from shells into solids.
- Add frictional energy calculation for beams in *CONTACT_AUTOMATIC_GENERAL.
- Force EROSOP=1 for all ERODING type contacts, with a warning to the user if they had input it as 0.
- Make MPP fixes related to contact's intfor database (*DATABASE_BINARY_INTFOR):
- Fix possible hang during output of intfor.
- Fix for output of contact gap in intfor for shared nodes.
- 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.
- Fix problem generating *RIGIDWALL visualization nodes if beam orientation nodes are also generated.
- Add keyword *DEFINE_CONTACT_EXCLUSION (MPP only) to allow for nodes tied in some contacts to be ignored in certain other contacts.
- Fix problem with *RIGIDWALL_FORCE_TRANSDUCER:
- penalty forces for rigid nodes impacting the wall were being overwritten during the constraint processing of the rigid wall.
- Fix *CONTACT_ENTITY problem when used with *INCLUDE_TRANSFORM:
- the entities were not being correctly transformed.
- Rewrite meshing of *CONTACT_ENTITY to use dynamic memory, which removes the previous limit of 100 meshed contact entities. There is now no limit.
- Remove undocumented release condition for MPP *CONTACT_AUTOMATIC_TIEBREAK options 5 and greater at customer request.
- 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 segmentation fault when using *CONTACT_GUIDED_CABLE.
- Fix segmentation fault when using *CONTACT_AUTOMATIC_SINGLE_SURFACE_TIED (SMP, ncpu<0 (consistency mode) only).
- 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.
- Fix incorrect *CONTACT_AUTOMATIC..TIEBREAK interface forces if OPTION=4 and PARAM=1 and viscous damping coefficient, VDC>0.0.
- 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.
- Enable user defined friction (*USER_INTERFACE_FRICTION; subroutine usrfrc) for MPP contact SOFT=4.
- Correct contact penalty stiffness for cohesive elements.
- 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.
- *CONTACT_..._MORTAR:
- Detailed warning outputs activated for mortar contact, also clarifies echoed data in d3hsp.
- Contact thickness made consistent with other contacts in terms of priority between ISTUPD on CONTROL_SHELL, SST on CONTACT and OPTT on PART_CONTACT.
- Efficency improvement of bucket sort in mortar contact allowing for significant speedup in large scale contact simulations.
- *CONTACT_..._MORTAR, *DEFINE_FRICTION, *PART_CONTACT:
- 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 coordinate/displacement output to d3plot for *CONSTRAINED_NODAL_RIGID_BODY's pnode.
- 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.
- Fix inability to handle duplicated IDs for *CONSTRAINED_SPOTWELD, _NODE_SET, _POINTS and _SPR2.
- *CONSTRAINED_MULTIPLE_GLOBAL:
- Support multiple constraints defined on the extra DOFs of user-defined elements.
.
Control
- Make the *CONTROL_SHELL PSNFAIL option work with the W-MODE deletion criterion for shells.
- Fix for *INCLUDE_PATH_RELATIVE when used with adaptivity.
- Fix incorrect transient behavior if IDRFLG=6 for *CONTROL_DYNAMIC_RELAXATION.
- Fix invalid error message when using *CONTROL_ADAPTIVE with shell elements and *BOUNDARY_SPC_NODES and single surface contact. Also correct the contact type reported for MPP+185 error message.
- Eliminate inappropriate activation of dynamic relaxation after adaptive remeshing.
- *CONTROL_SUBCYCLE:
- 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.
- *CONTROL_ADAPTIVE:
- Fix bug whereby element IDs of non-adapting parts changed when 3D adaptivity was invoked.
- 3D adaptive remesher, which creates a mesh of tetrahedral elements, supports remeshing of parts initially comprised 4-node tetrahedrons, 6-noded pentahedrons, 8-node hexahedrons, or a mixture of pents and hexes.
- *CONTROL_REMESHING:
- 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.
- Add *DATABASE_BEARING to write brngout data pertaining to *ELEMENT_BEARINGs.
- *DATABASE_SECFORC, *DATABASE_CROSS_SECTION:
- The secforc data for cross-sections through 2D seatbelt elements is recoded to provide more robust and accurate results.
- Fix incorrect output for discrete beams to binary format of disbout (*DATABASE_DISBOUT). Affects SMP only.
- 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.
- Fix output to curvout for *DEFINE_CURVE_FUNCTIONS TM, TX, TY, TZ.
- Fix incorrect seatbelt retractor number in seatbelt output (*DATABASE_SBTOUT). Affects MPP only.
- Fix incorrect coordinate system used for strain output to d3plot when CMPFLG=1 in *DATABASE_EXTENT_BINARY and MAXINT<0 for orthotropic and anisotropic materials.
- Fix inadvertent strain output to d3plot history variables when NODOUT=ALL/ALL_GL/STRAIN/STRAIN_GL or INTOUT=ALL/STRAIN in *DATABASE_EXTENT_BINARY.
- Add Warning message, SOL+1264, if user specifies itype=0 (rigid body) for *DATABASE_CROSS_SECTION and the ID for the *DEFINE_COORDINATE_NODES are specifying nodes that do not belong to a rigid body.
- Fix corrupted intfor file when RESPLT=1 in *DATABASE_EXTENT_BINARY.
- Fix incorrect element number in eloutdet file for solid elements.
- Fix jntforc forces (*DATABASE_JNTFORC) which was output in wrong coordinate system for rigid bodies when LMF=1 in *CONTROL_RIGID.
- Prevent d3drlf file from being overwritten if dynamic relaxation is enabled and adaptivity is turned on.
- Fix incorrect rotational displacements for accelerometers in nodout when intopt=1 in *ELEMENT_SEATBELT_ACCELEROMETER.
- Fix incorrect moments in secforc (*DATABASE_SECFORC) when using beam forumulation 5.
- Fix NaN in secforc file when using *DATABASE_CROSS_SECTION, ITYPE=2 and the coordinate system is specified using *DEFINE_COORDINATE_VECTOR with a nonzero NID. (MPP only.)
- Fix invalid error message when setting BEAM=1 in *DATABASE_BINARY_D3PLOT for discrete elements.
- 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.
- Add *INTEGRATION... data to d3prop database (*DATABASE_BINARY_D3PROP).
- Correct the IDs written in swforc and rcforc.
- 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.
DCOMP Data compression to eliminate rigid body data:
EQ.5: on, rigid body data compression active and rigid nodal data are eliminated from the database. only 6 dof rigid body motion is written.
EQ.6: on, rigid body data compression active, rigid nodal data, and nodal velocities and accelerations are eliminated from the database. only 6 dof rigid body motion is written.
- Add option to write revised legend to jntforc, secforc, rcforc, deforc and nodout files via input flag NEWLEG in *CONTROL_OUTPUT. This helps to avoid confusion over unassigned IDs and duplicated IDs.
- If any input data is encrypted and dynain is requested, the code issues an error message and stops the job.
.
Discrete Element Method - DEM
- Solid part or solid part set is now allowed for *DEFINE_DE_TO_SURFACE_COUPLING.
- Wear factor based on Archard's wear equation is output to DEM binout database. Implement *DELETE_PART for Discrete Element Sphere.
- The unit of contact angle changed from radian to degree for *CONTROL_DISCRETE_ELEMENT.
- Implement Archard's wear law to *DEFINE_DE_TO_SURFACE_COUPLING for discrete element spheres.
- Add damping energy and frictional energy of discrete elements to "damping energy" and "sliding interface energy" terms in glstat.
- 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_***.
Keywords are :
EM_DATABASE_CIRCUIT
EM_DATABASE_CIRCUIT0D
EM_DATABASE_ELOUT
EM_DATABASE_GLOBALENERGY
EM_DATABASE_NODOUT
EM_DATABASE_PARTDATA
EM_DATABASE_POINTOUT
EM_DATABASE_ROGO
EM_DATABASE_TIMESTEP
- 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).
- Add *EM_EOS_TABULATED2 where a load curve defines the electrical conductivity vs time.
- Introduce capability to use the EM solver on (thin) shells:
- 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 20-node solid element, ELFORM=23 in *SECTION_SOLID.
- Add H8TOH20 option to *ELEMENT_SOLID to convert 8-node to 20-node solids.
- 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.
- Fix a bug regarding contact thickness of seatbelt element:
- THICK of *SECTION_SEATBELT was ignored but is now active.
- Add new cohesive shell element (elform=29) for edge-to-edge connectivity between shells. This element type takes bending into account and supports MPP and implicit solvers.
- Fix incorrect initial velocity and also mass output to d3hsp for shell types 23 & 24.
- Fix "*** termination due to mass increase ***' error when using mass scaling with *ELEMENT_MASS_PART.
- Fixes pertaining to thick shell elements (*ELEMENT_TSHELL):
- Fix incorrect *INITIAL_STRESS_TSHELL output to dynain.
- Fix *INITIAL_STRAIN_TSHELL output to dynain.
- Fix incorrect strains written to elout_det and also INTOUT & NODOUT options in *DATABASE_EXTENT_BINARY.
- Fix incorrect results when using *MAT_JOHNSON_COOK/*MAT_15 with ELFORMs 3 and 5.
- Fix initialization error for *MAT_108/*MAT_ORTHO_ELASTIC_PLASTIC affecting ELFORM 2.
- Fix incorrect *INITIAL_STRAIN_TSHELL output to d3plot if STRFLG=1, EPSFLG=2, ENGFLG=2 in *DATABASE_EXTENT_BINARY.
- Fix incorrect stresses output to eloutdet for ELFORM 5.
- Fix incorrect reading of TIME in card 3 of *ELEMENT_SEATBELT_SENSOR SBSTYP=3 when long=s in command line.
- Error terminate with message, STR+1296, if same node is defined multiple times in *ELEMENT_MASS_MATRIX.
- Fix input read error when using *ELEMENT_SHELL_SHL4_TO_SHL8.
- Add warning message, STR+1286, when no mid-side nodes are defined for shell element formulations 23 and 24.
- Fix invalid "part not found" error during keyword input phase when using *ELEMENT_SHELL_COMPOSITE.
- Add support for negative MAXINT option in *DATABASE_EXTENT_BINARY for thick shell elements.
- *ELEMENT_TSHELL:
- Add "BETA" as option for *ELEMENT_TSHELL to provide an orthotropic material angle for the element.
- Add Rayleigh damping (*DAMPING_PART_STIFFNESS) for triangular shell element types 3 and 17.
- Add new keyword *ELEMENT_BEAM_SOURCE. Purpose:
- Define a nodal source for beam elements. This feature is implemented for truss beam elements (*SECTION_BEAM, ELFORM = 3) with material *MAT_001 or for discrete beam elements (ELFORM = 6) with material *MAT_071.
- Add new option to *DEFINE_ELEMENT_DEATH. New variable IDGRP defines a group id for simultaneous deletion of elements.
- *SECTION_SOLID, *MAT_COHESIVE:
- Convert solid type 20 and 22 to incremental formulation to properly handle large rotations. Also use consistent mass for presumed stability.
- Add Smoothed Particle Galerkin (SPG) method for solid analysis (ELFORM=47) and corresponding keyword option *SECTION_SOLID_SPG. SPG is a true particle method in Galerkin formulation that is suitable for severe deformation problems and damage analysis.
.
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 boundary
NB2: any node ID in the middle of the flange boundary
NB3: the node ID in one the other end of the flange boundary
- Add output of forming thickness, effective strain and trim curves after unflanging simulation.
- Add a new keyword *CONTROL_FORMING_TRIM to replace *ELEMENT_TRIM.
- Add a new keyword:
- *CONTROL_FORMING_UNFLANGING_OUTPUT:
- 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 activated
GAPM: 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 Burton-Miller BEM to MPP.
- Implement impedance boundary condition to Burton-Miller BEM.
- Implement half space option (*FREQUENCY_DOMAIN_ACOUSTIC_BEM_HALF_SPACE) to variational indirect BEM.
- Implement half space option to acoustic scattering problems.
- Extend acoustic ATV computation to elements, in addition to nodes.
- Support element based ATV output in d3atv.
- Add an option (_MATV) to run modal acoustic transfer vector. Implement MATV to MPP.
- Implement running BEM Acoustics based on modal ATV (SSD excitation only).
- *FREQUENCY_DOMAIN_ACOUSTIC_FEM:
- Enable running FEM acoustics based on restarting SSD (*FREQUENCY_DOMAIN_SSD).
- *FREQUENCY_DOMAIN_ACOUSTIC_INCIDENT_WAVE:
- 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.
- *FREQUENCY_DOMAIN_FRF:
- Implement mode dependent rayleigh damping to frf and ssd (DMPMAS and DMPSTF). A curve can be used to define the mass proportional damping constant or stiffness proportional damping constant vs. freq (or mode number), depending on LCTYP.
- *FREQUENCY_DOMAIN_RESPONSE_SPECTRUM:
- Add output of nodout_spcm and elout_spcm, to get nodal results and element results at user specified nodes and elements.
- Add von Mises stress computation.
- *FREQUENCY_DOMAIN_RANDOM_VIBRATION:
- Add semi-log, and linear-linear interpolation on PSD curves (parameter LDFLAG).
- 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.
.
Incompressible Flow Solver - ICFD
- The icfd_mstats.dat file now outputs the ten worst quality element locations.
- Add option in *ICFD_CONTROL_OUTPUT allowing terminal output to be written to messag file.
- Add keyword *ICFD_CONTROL_OUTPUT_SUBDOM to output only part of the domain. Available for vtk, dx and gmv formats.
- Add new keyword family, *ICFD_DATABASE_... which triggers the output of ICFD variables. All ICFD related output files now start with icfd_***.
- Add new keyword family *ICFD_SOLVER_TOL_... which allows the user to control tolerances and iteration number for the fractional step solve, the mesh movement solve, and the heat equation solve
- Curves identified on Card 2 of *ICFD_BOUNDARY_PRESCRIBED_VEL each provide a scaling factor vs. x,y, or z coordinate, respectively. These scaling factors are applied to the velocity boundary condition.
- Enable free-slip condition for FSI walls.
- Add new variable IDC to *ICFD_CONTROL_FSI that allows the modification of the scaling parameter that multiplies the mesh size to detect contact.
- Add automatic squeezing to the elements of the boundary layer when there are two very close surfaces with poor (coarse) mesh resolution.
- Add the initialization for all nodes using *ICFD_INITIAL with PID=0.
- Add a curve (LCIDSF in *ICFD_CONTROL_TIME) that scales the CFL number as a function of time.
- Add a Heaviside function that allows the solution of simple multiphase problems.
- Add the computation of the heat convection coefficient.
- Add MPP support for y+ and shear for output.
- Add uniformity index.
- Add *ICFD_CONTROL_TAVERAGE to control the restarting time for computing the time average values. By default there is no restarting and the variables are average from t=0.
- Implement the XMl format for vtk. The vtk Legacy format has issues with the reader for large output files. See *ICFD_CONTROL_OUTPUT.
- Improve temperature stabilization for thermal problems.
- Add the Generalized Flow Through Porous Media model monolithically coupled to the incompressible Navier-Stokes model. See keyword *ICFD_MAT for the new options.
- Add the capability to define the porous properties using the Pressure-Velocity (P-V) experimental curves.
- See *ICFD_MAT for details:
- Users must define the experimental data using a load curve and the thickness of the probe (deltax).
- Permeability and Forchheimer factor are computed using the Least Squares method on the data cloud.
- Add the Anisotropic version of the Generalized Flow in Porous Media. See *ICFD_MAT for details.
- Compute drag forces around anisotropic/isotropic porous domains.
- ICFD bug fixes:
- Fixed the bug for when embedded shells and mesh_interf were not working correctly when both were part of the same input deck.
- Fixed support for triangular elements on user defined meshes.
- Fixed and corrected the RANS K-e model to support the wall functions.
- Fixed a memory problem when a 3-D geometry had more than 3 internal holes.
.
Implicit
- Extend implicit debug checking when LPRINT=3 on *CONTROL_IMPLICIT_SOLVER.
- 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.
- Fix bug involving MPP contact and *CONTROL_IMPLICIT_FORMING.
- Extend implicit time step control via IAUTO<0 in *CONTROL_IMPLICIT_AUTO (step size driven by load curve) to linear analysis (NSOLVR=1 in *CONTROL_IMPLICIT_SOLUTION).
- 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.
- Enhance superelement computation (*CONTROL_IMPLICIT_MODES or *CONTROL_IMPLICIT_STATIC_CONDENSATION):
- 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.
- Fix implicit treatment of constraint-based tied contacts that feature offsets.
- 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 MPP implementation of LaGrange Multiplier treatment of joints (LMF=1 in *CONTROL_RIGID, *CONSTRAINED_JOINT_option) to properly handle prescribed motion constraints.
- Fix handling of multiple cyclic boundary conditions (*BOUNDARY_CYCLIC) by implicit mechanics in SMP (not applicable to MPP).
- Correct the computation of external work for implicit mechanics problems where the external work is coming from prescribed motion on rigid bodies (*BOUNDARY_PRESCRIBED_MOTION_RIGID).
- Fix the computation of forces associated with constraints in implicit. This affects forces output to bndout, jntforc, rcforc and intfor (for tied contact), and spcforc.
- Fix final output state in spcforc data (*DATABASE_SPCFORC) for implicit mechanics.
- Enhance implicit to properly output forces for *CONSTRAINED_RIVET to swforc (*DATABASE_SWFORC).
- Add *CONTACT_1D to implicit mechanics. Fix segmentation fault when using shell formulation 18,20,21 for implicit eigenvalue analysis and when triangular shell elements are present.
- 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.
- *CONTROL_IMPLICIT_SOLVER, *LOAD_SEGMENT_NONUNIFORM:
- Non-symmetric contribution to stiffness matrix for *LOAD_SEGMENT_NONUNIFORM on 4- 6- and 8-noded segments considered.
.
Initial
- *INITIAL_LAG_MAPPING:
- new keyword to initialize a 3D Lagrangian mesh from the last cycle of a 2D Lagrangian simulation.
- Fix incorrect intialization of velocities if using *INITIAL_VELOCITY_GENERATION with STYP=1, i.e. part set for shells with formulation 23 & 24.
- Fix incorrect initial velocities when using *INITIAL_VELOCITY_GENERATION with irigid=1 and *PART_INERTIA with xc=yc=zc=0 and nodeid>0 with *DEFINE_TRANSFORMATION.
- Fix incorrect initial velocity when using *INITIAL_VELOCITY_GENERATION with NX,NY,NZ defined and also *PART_INERTIA is used.
- Fix incorrect start time for initialization of velocities when PHASE=0 in *INITIAL_VELOCITY_GENERATION and *INITIAL_VELOCITY_GENERATION_START_TIME is present.
- Fix stress initialization with *INITIAL_STRESS_SECTION for tetahedron formulation 17.
- Assign initial velocities (*INITIAL_VELOCITY) to beam nodes that are generated when release conditions are defined (RT1, RT2, RR1, RR2 on *ELEMENT_BEAM.)
- Fix a problem where angular speeds for body-fixed axes were not properly applied for *INITIAL_VEHICLE_KINEMATICS.
.
Isogeometric Elements
- *ELEMENT_SHELL_NURBS_PATCH:
- Correct stress computation in interpolation elements for isogeometric shells.
- Correct the thickness change output (istupd.ne.0).
- Add support for dumping of strain tensor (STRFLG.eq.1) for isogeometric shells via interpolation shells.
- Add support for dumping of shell internal energy density for isogeometric shells via interpolation shells.
- Add conventional mass-scaling for isogeometric shells.
- Improved writing of IGAPLOT-file.
.
Load
- *LOAD_BODY_POROUS:
- applies also now to 1D and 2D problems.
- Add capability *LOAD_SEGMENT_CONTACT_MASK, which currently works in MPP only. This feature masks the pressure from a *LOAD_SEGMENT_SET when the pressure segments are in contact with another material.
- Curve LCID of *LOAD_NODE can be defined by *DEFINE_CURVE_FUNCTION.
- *USER_LOADING:
- pass more data to user-defined loading subroutine loadud including...
- nodal moment
- nodal rotational displacement and velocity
- nodal translational mass and rotational inertia of each node
- Add load curves for dynamic relaxation for *LOAD_THERMAL_VARIABLE.
- Fix invalid error message when using *LOAD_MOVING_PRESSURE with >100 card 2s.
- Fix incorrect stress initialization with dynamic relaxation when using *LOAD_SEGMENT_SET with AT.ne.0.
- Fix incorrect loading when using *LOAD_MASK for triangular 3-D shells.
- *LOAD_SEGMENT_NONUNIFORM, *LOAD_SEGMENT_SET_NONUNIFORM:
- By specifying a negative load curve ID the applied load becomes a follower force, i.e., the direction of the load is constant with respect to a local coordinate system that rotates with the segment.
- *LOAD_SEGMENT; *CONTROL_ADAPTIVE:
- Fix bug whereby loads on non-adapting parts were affected when 3D adaptivity was invoked.
.
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 plastic strain tensor update for *MAT_082/*MAT_PLASTICITY_WITH_DAMAGE_ORTHO.
- 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
- *MAT_157 (shells):
- Add anisotropic scale factor for plastic strain rate to *MAT_157. This affects only the viscoplastic formulation VP=1.
- Improve local stress projection for VP=1.
- 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.
- Put internal enery on "plastic strain" location for *MAT_027 solids.
- Add new option for parameter BETA of *MAT_224:
- BETA .LT. 0: strain rate dependent amount given by load curve ID = -BETA
- Add d3hsp output of additional user material parameters (LMCA) of *MAT_USER_DEFINED_MATERIAL_MODELS.
- 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.
- Fix history variable confusion when GISSMO (*MAT_ADD_EROSION with IDAM=1) was used together with TYPE=-2 on *CONTROL_BULK_VISCOSITY.
.
MPP
- Fix MPP for table-based friction (*DEFINE_FRICTION) in non-groupable contact.
- MPP groupable tied contact:
- 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.
- Also, update the slave node from beam thickness calculation for type 9,11, and 12 beams.
- 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.
- Fix MPP's input processing bug in input files that contain both *DEFORMABLE_TO_RIGID and *MAT_ADD_AIRBAG_POROSITY_LEAKAGE
- 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.
- MPP BEAMS_TO_SURFACE contact:
- Remove "beam" node mass from the penalty stiffness calculation when soft=1 is used, which matches SMP behavior
- 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.
- Tweak MPP beam-to-beam contact routine for better handling of parallel beams.
- MPP:
- 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:
- partsets
Takes 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.
- Honor TIEDPRJ flag on *CONTROL_CONTACT for MPP groupable tied interfaces.
- Increase initial search distance in MPP tied contact to include slave and master thicknesses.
- Fix summation of master node forces for MPP contact output to ncforc file -- constraint-based contacts only.
- Tweak MPP _INTERFERENCE contact to better handle deep initial penetrations.
- MPP:
- reorganize how *RIGIDWALL_PLANAR_FORCES is handled, which greatly improves scaling.
- Add new experimental "square edge" option to MPP groupable single surface contact
- 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.
- MPP support for non-zero birthtime for *CONTACT_SINGLE_EDGE.
- Miscellaneous MPP enhancements:
- Restructure and reduce memory usage of 3D ALE searching of neighboring algorithm. Now, the code can handle hundreds of millions ALE elements during decomposition.
- Support *PARTICLE_BLAST.
- Support SPH 2D contact.
- Greatly speed up reconstruction of eroding contact surface, (soft=0,1) when using large number of cores.
- Tune Xeon 64 AVX2 executable for better performance. AVX2 is about 10% better than SSE2 exe.
- 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.
- Fix zero time step after full deck restart. Affects models with discrete elements (*ELEMENT_DISCRETE).
- Fix input phase error when using Q=REMAP on the execution line.
- Fix small deck restart for blstfor database (*DATABASE_BINARY_BLSTFOR). Additonal data was not written out to blstfor after small deck restart.
- Fix bug when using dynain data from a previous run. Shell formulations 13, 14, 15 with *MAT_NULL and *EOS_IGNITION_AND_GROWTH_OF_REACTION_IN_HE were giving incorrect pressure in this situation.
- Fix invalid error while reading in structured file during restart and using long=s.
- Fix full deck restart for *CONTACT_AUTOMATIC_ONE_WAY_SURFACE_TO_SURFACE_TIEBREAK for SMP only.
- Add support for MPP restarts with USA coupling.
- Fix bug in which curve LCDT from *DATABASE_BINARY_D3PLOT was violated after full deck restart.
- Fix small restart bug in which *INTERFACE_COMPONENT_FILE ignores the filename FNAME and writes to infmak.
- Fix bug in which *SET_NODE_LIST_GENERATE did not work in a small restart.
.
Sensor
- Add NREP option to *SENSOR_CONTROL to repeat NREP cycles of switches given on Card 2.
- Implement *SENSOR_CONTROL TYPEs BELTPRET, BELTRETRA and BELTSLIP control the pretensioners, retractors and sliprings of a 2D seatbelt.
- Add function SENSORD to *DEFINE_CURVE_FUNCTION to return the value of a sensor.
- Replace *SENSOR_DEFINE_ANGLE with more general *SENSOR_DEFINE_MISC. MTYPEs include ANGLE, RETRACTOR, RIGIDBODY, and TIME.
- Fix failure of sensor switch to turn off when using *SENSOR_DEFINE_FORCE with ftype=PRESC-MOT when running implicit.
.
SPH
- *MAT_MOHR_COULOMB now available for 2D SPH elements (IDIM=2 or -2 on *CONTROL_SPH). This material was already available for 3D SPH.
- Add rcforc output for *CONTACT_2D_NODE_TO_SOLID (supported for ASCII output only; not binout).
- Add temperature output (when applicable) to sphout file (*DATABASE_SPHOUT).
- Add support of *MAT_ALE_VISCOUS for SPH particles. This allows modeling of non-viscous fluids with constant or variable viscosity, i.e, non-newtonian type fluid using SPH.
- Add support of *EOS for *MAT_272 with SPH particles.
- Add support of *MAT_255, *MAT_126, and *MAT_26 (with AOPT=2 only)
for SPH particles. - Add new keyword command *SECTION_SPH_INTERACTION:
- 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.
- Implement *DEFINE_CURVE_FUNCTION for convection, flux, radiation boundary conditions in thermal-only analyses, both 2D and 3D.
- Combination of *LOAD_THERMAL_VARIABLE_BEAM and *MAT_ADD_THERMAL_EXPANSION is now working properly.
- *BOUNDARY_CONVECTION, *BOUNDARY_FLUX, and thermal dynamics are implemented for 20 node brick element.
- 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 functions DELAY and PIDCTL to *DEFINE_CURVE_FUNCTION for simulating PID (proportional-integral-derivative) controllers.
- Fix incorrect dyna.inc file when using *MAT_FU_CHANG_FOAM/*MAT_83, *DEFINE_COORDINATE_NODES, and *CONSTRAINED_JOINT_STIFFNESS_GENERALIZED with *INCLUDE_TRANSFORM.
- Fix incorrect shell set generated when using *SET_SHELL_GENERAL with OPTION=PART.
- Fix segmentation fault when reading dynain.bin (*INCLUDE_BINARY(_TRANSFORM)).
- Fix invalid error message 'node set for nodal rigid body # not found' when using *PART_INERTIA with *CONTROL_SUBCYCLE.
- Fix *NODE_MERGE_SET which gives incorrect set of nodes.
- Fix invalid error message for null part set when using *SET_PART_LIST_GENERATE and *PART_MOVE together.
- The delay time, TIME3, in *DEFORMABLE_TO_RIGID_AUTOMATIC was not correctly implemented. The TIME3 in the last *DEFORMABLE_TO_RIGID_AUTOMATIC was used instead. This is now fixed.
- Fix incorrect sign of result returned from *DEFINE_CURVE_FUNCTION's JOINT(id,jflag,comp,rm) if jflag=1.
- Fix invalid error reported when mesh adapted due to *CONTROL_ADAPTIVITY and *PART_ANNEAL was also invoked.
- Fix invalid error triggered by having a parameter (as previously defined by *PARAMETER) included anywhere in a section of input commented out via *COMMENT.
- Activate *DEFINE_COORDINATE_NODES axis flag, DIR, even when FLAG=0. Formerly, DIR was only activated when FLAG=1.
- Fix incorrect nodes generated by *SET_NODE_GENERAL with OPTION=PART when used together with *PART_MOVE and IFSET=1, i.e., a part set id is used.
- When using *TERMINATION_DELETED_SOLIDS_SET or *TERMINATION_DELETED_SHELLS_SET only the first part in the part set was counted and used to determine the termination. This is now fixed.
- Fix output of zeros/NaNs to curvout for *DEFINE_CURVE_FUNTIONS AX/AY/AZ/WX/WY/WZ.
- Fixed invalid error during keyword input phase when using alphanumeric label for *SECTION and *SET_NODE_GENERAL.
- Fix invalid error during keyword input phase when PLOTEL=1 in *CONTROL_RIGID and number of *CONSTRAINED_NODAL_RIGID_BODIES exceeds 500.
- *DEFINE_TABLE:
- Add table curves check for mismatching origin or end points.
- Update ANSYS library to version 16.0.
- *INTERFACE_COMPONENT:
- Fix bug in which command line option z=isf1 produces unusable binary data.
- Enhance report of "Elapsed time" in d3hsp.
The format is as follows for SMP, MPP, and Hybrid...
SMP:
Elapsed time 64 seconds for 56785 cycles using 4 SMP threads
( 0 hour 1 minute 4 seconds)
MPP:
Elapsed time 16 seconds for 1100 cycles using 4 MPP procs
( 0 hour 0 minute 16 seconds)
Hybrid:
Elapsed time 16 seconds for 1100 cycles using 4 MPP procs 2 SMP threads
( 0 hour 0 minute 16 seconds)
- Add keyword *INCLUDE_UNITCELL to create a keyword file containing user-defined unit cell information with periodic boundary conditions.
- 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.