971 Release 3.2 is Now Available.

Here are the release notes.

Features and enhancements included in 971 R3.2 that were not available
in 971 R3.1 include the following:

New Material Models:
*MAT_255 ()

Enhanced Material Models:
support of user defined failure for:
- *MAT_123 (VP=1)
- *MAT_103
- *MAT_024 (VP=1)
*MAT_191 now supports end release for beams
*MAT_187 updates
*MAT_126 add corotational local coord. system for formulation-1
Add V option for aopt=3,4
- *MAT_026
- *MAT_126
*MAT_036 added a cap to out-of-plane shear stress, when M is integer
*MAT_172 added hourglass properties for shells
*MAT_236 addes interior strain point calculation
*MAT_ADD_THERMAL_EXPANSION now supports *LOAD_THERMAL_VARIABLE_SHELL
*MAT_SEATBELT added error termination if the maximum slope in the
loading curve exceeds that of the unloading curve.
Added warning if modulus in a load curve table exceeds Young’s
modulus for several material models.
Print Warning if prca and prcb are blank in
- *MAT_002
- *MAT_022
- *MAT_054
- *MAT_055
Added warning message or error termination if
user inputs improper stress-strain curve for fitting for:
- *MAT_027
- *MAT_077
- *MAT_177
- *MAT_178
Added the negative NUMINT option to material 123
Added viscoplastic strain rate to:
- *MAT_024 (VP=1)
- *MAT_123 (VP=1)
- *MAT_224 (VP=1)

Implicit:
Added synchronization of implicit time step after an adaptive
remeshing.
Added arclength method node control in MPP

Boundary Conditions:
Added implicit treatment of boundary prescribed orientation.

Airbag:
*AIRBAG_PARTICLE
added flag on AIRBAG_HYBRID_CHEMKIN to turn on/off digitized load
curves

Output:
messag:

- Add list of untied nodes to MESSAG file for automatic tiebreak
contact option
d3plot
- enable particle database in d3plot
intforc
- add MPP support for recent IOOPT option for intfor file.
- Added IOOPT=3 for *DATABASE_BINARY_INTFOR

Contact:
Update for new weld option (Honda)
Add a new feature to *TERMINATION_CONTACT allow the job to terminate when
the maximum contact force is reached.
Add guided cable contact to MPP
Add flag to turn on shell element offsets in contact.

General:
Added optional thickness scaling for *INCLUDE_STAMPED_PART
Added damage type DG_TYP=4 to DEFINE_CONNECTION_PROPERTIES
Added MPP support for IFLAG=1 in CONSTRAINED_EXTRA_NODES
Added new keyword *COMMENT
Added “date” option for *VENDOR keyword added to R3
Added a new command line option: ncheck=n
where n is the of number of times to check the existence of input file.
Support for constrained_extra_nodes option in selective mass scaling scheme
Add warning about not supporting prescribed motion during modal
superposition.
Added user-specified spin speed for PRESCRIBED_ORIENTATION_VECTOR
_____________________________________________________________________________
The remainder of this file describes (sometimes quite cryptically) many other
enhancements, additions, and bug fixes made since the release of
LS-DYNA version 971 R3.1. These items are listed chronologically
with the most recent items listed first.
_____________________________________________________________________________


improvements to global search for 2d_thermal contact

several minor bug fixes in sensors

Fix for *CONTACT_AUTOMATIC_…_TIEBREAK with OPTION=3 fixed in SMP - MPP was ok

Fix restart bug related to SPH and full deck restart.

Fix for rigid to deformable switching involving solid type 4
tetrahedron.

Fixed again two surface force transducers when used with segment based contact.

Fix for MPP handling of tied thickness when specified on the contact card.

Fix for MPP “groupable” override flag in pfile, for tied interfaces

Correct Implicit handling of tied nodes with failure constraints.

Fix for MPP output of peak pressures in intfor file: last state had
all 0 for these.

enabling r-adaptive load_thermal by initizlizing temperature after rezoning

Fixed MPP brick weld initialization so that it will not hang.

Fixed bug in ansys outout.

Fixed bug for *AIRBAG_WANG_NEFSKE/HYBRID: Negative parameter A23
with Part-ID > 9999999 was not working in single precision.

Fix. Parameters from ELEMENT_BEAM_SECTION were not
transformed and stored correctly. Manual has to be updated, too.

Fixed possible division by zero in material 120.

A bug fix in springback compensations

Fix vc problem in automatic contact.

fix for rigid body coordinates for implicit to explicit switch

Fix: update orientation option for SMOOTH forming
contact (MPP only)

Fix for *DEFINE_CURVE_FUNCTION option RCF (now RCFORC)

Fix for interior contact option 2

Fix for *PARAMETER. Allowed a -minus sign before any parameter definition.
For example, -&VAR1.

Fix *sensor_define_node when n2>0

Fix for frictional energy calculation for auto tiebreak
contact

Fix 2 minor include transform bugs

Fix for case including both shell and 3D EFG.

Fix for coordinate ID’s related to orthotropic materials to transformm
to internal IDs in the keyword reader. This fix is to ensure that the
dyna.str file works as intended.

Fixes related to triangular shell element coordinate system to account
for invariant numbering.

Fix for material 57 to correct the calculation of internal energy
density which was inaccurate for the large time step sizes of the
implicit solver.

Fix for INCLUDE_TRANSFORM related to material 181.

Fixed potential 2 surface force transducer memory errors when used with
segment based contact.

Fix for rotations in MPP output of drdisp.sif file

Fix format to tell users to check D3HSP for printed curve IDs. The
curves may be internally generated in the keyword reader.

Fix for MPP rb compression in d3plot when used with pre-decomposition

Fixed MAT_236 for shells

bug fix calculating enclsosure radiation view factors for
axisymtric geometries.

Fix for *MAT_ADD_THERMAL and solid element constitutive models, e.g.,
type 3

Minor fix for MAT_073 reading.

Fixes for thermal option related to *LOAD_THERMAL_ELEMENT_…

Fixes for laminated shell theory (materials 22, 54, 55, 76, 114)
All Materials used 2x the correct weight on the on the top and bottom
integration points for Labotto quadrature. For materials 76 and 114 with
user defined integration, the unsorted material properties were used for
calculating shear strain terms, fxi,fyi and zi1. Since the sort routine
orders them top to bottom, this likely caused all the material properties
to be flipped if the user input the points in the order from bottom to top.
This would cause incorrect results if diffrerent properties were used in
each layer unless Labotto quadrature was used.
For materials 22 and 54, and 55, the unsorted material angles were used
for calculating the shear strain terms, hi1, and hi2. For orthotopic
material properties, the calculated hi1 and hi2 terms were therefore
incorrect unless Labotto quadrature was used.

Fix for load_thermal_element option for erroneous error check leading to
termination.

Fix for fitting of Ogden foam model due to out-of-range numbers

Fix related to METALF when NDOF=3.

Fix related to type 4 triangular shell and buckling.

Fix for GCEOUT file

bug fix for M136

bug fix for AIRBAG_SHELL_REFERENCE_GEOMETRY

Fix memory clobber for implicit solid spotwelds

Fix for spotweld option to convert subset of beam elements.

Bug fix for *control_forming_template

Several MPP rigid-rigid contact:
friction handling, force summation, and surface reorientation.

Fix for load curve reading problem related to seatbelt shell elements.

MPP modifications to bucketsort for AUTO_TIEBREAK contacts, to better
handle very thick materials

Fix for material type 61 which goes unstable for tet types 10 and 13.

Update for handling 1000000 load curves efficiently.

Fix for *CONSTRAINED_JOINT_TRANSLATIONAL_MOTOR not working correctly in MPP

Fixed a bug in *LOAD_DENSITY_DEPTH if number of parts if more than 8

Fix for surface force transducers for segment based contact. This memory bug
could have happended when not all processors have 2 surface force transducers.

Fix for material 36 with hardening rule 7 (3 load curves).

Fix use of wrong variable in MPP d3part initialization.

Fix truncation error for *MAT_123

Fixed a segment based contact bug that caused the optional thickness on
*PART_CONTACT to be ignored if shell thickness updates were active and no parts
used the thickness scale factor on *PART_CONTACT.

Fix problem in automatic tiebreak options 8/10/11 where the mass of the
slave node was being used, but was not being passed, resulting in NANs.

Fixed a bug in MAT_SPOTWELD_DAIMLERCHRYSLER when used with damage types 1
and 2. The density of the material changed to a wrong value after damage
initialization.

Fix for joints in the presence of implicit-explicit switching.

Fix for *MAT_MUSCLE related to small stepsize

Fix for *DAMPING_PART_MASS related to velocity boundary conditions being
affected by damping applied to deformable nodes with prescribed motion.

Fix for *DAMPING_GLOBAL related to nodal points that have prescribed motion.
This damping changes the applied displacements from the specified
values. This fix corrects this problem for the nodes of deformable
bodies.

Use local rigid body accelerations for airbag pop option. Previously
the global accelerations were used which is in conflict with the
users manual’s instructions.

Bug fix for selective mass scaling in conjunction with 10-noded tets

Add MPP support for recent IOOPT option for intfor file.

Fix problem of MPP reopening intfor file during adaptive problems.

MPP fix for reorientation of surfaces with inconsistent normals

Fix storage allocation for constrained_linear with 2000+ nodes.

Fix for smooth contact problem related to undefined node set.

Bug fixed for 2D axisymmetric EFG in centering the stress point.

MPP fixes to output of d3part database

Fix possible bug in mat 173 principal stress direction calculation

Add option for alternative version of Mat 85 (does not affect existing models)

Fix for adaptive remeshing for ESORT=2

Fix MPP tied contact for implicit-explicit switching

Fix uninitialized variable in MPP rigid-rigid contact

Fix for thick shell type 26 to properly handle offset from midsurface.
Warping stiffness must be active.

Fix for thickness offset related to type 16 shell and warpage active.


Fix for PRESCRIBED_ORIENTATION

Fix flexible rigid body for initialization, rigid and flexible switching.

Fix for eigenvalue problems with only solid elements and no rigid bodies.

Fix for MAT_ARUP_ADHESIVE in *INCLUDE_TRANSFORM

Fix for *ELEMENT_MASS_NODE_SET

Fix for mat type 172 with shell type 16

Fixed for *AIRBAG_HYBRID_CHEMKIN

Fix: Internal energy is now computed for shell type 18.

Fix bug at corners when multiple boundary conditions are used
with SPH elements

Fix for file SSSTAT in restart. Also we sperated the output interval
of *DATABASE_SSSTAT_MASS_PROPERTIES and *DATABASE_GLSTAT

Bug fix for ale interface force binary plot fsifor.


Minor fix for MAT_100_DA with DG_TYP=3: Default for GFAD now 1.e-15
(was 0.0 before, leading to no failure at all).

A bug fix for mapping with symmtric condition


Fix for Boundary Prescribed Orientation for Implicit.

Fix for energy calculation in material model 122.

Fix for *DEFINE_CURVE_FUNCTION: did not work for
translational and rotational motors.

Fix to damping when IGNORE is set to 1

Fix for Brode loading and shell sets is now fixed.

Bug fix for tiebreak contact option 11 with VDC damping and negative
ncpu

Added penalty formulation for treating contact between rigid bodies and
the rigid road surface.

Fix for format problem in DYNA.INC file related to *LOAD_PRESSURE_SHELL.

Fixed type 9 beam spot weld failure. The moment term in the failure
calculation may have used the wrong beam length since the wrong beam
element ID was used. The 3-sheet calculation was OK. Therefore for
models using 3-sheet welds, the bug may have not caused much trouble
since the 3-sheet calc is used for an entire block of beam elements if
any one of the beam participates in a 3-sheet weld.

Bug fix for tiebreak contact options 10/11 with viscous damping VDC.

Fix related to deformable to rigid switching, when the
Inertial properties are specified for the merged body.

MPP fix for rigid to rigid contact.

Fixed related to table lookups in CONSTRAINED_
JOINT_GENERALIZED_STIFFNESS.

Fix related to inconsistencies between Madymo an ls-dyna force
calculations for rigid to rigid contact using a force deflection curve.
Energy is now conserved.

Fix MPP explicit initialization for implicit joints

Fix for possible memory clobbering when *RIGIDWALL_PLANAR and
*PART_COMPOSITE are used together

Fixed a problem with solid welds. Weld failure types 7 and 8
use tied contact info to identify properties of the shells to which the
welds are tied. It is possible for the tied contact to be on a different
proceessor than the weld in which case the info cannot be found, so
message passing was added to weld initialization.

Fix for *INITIAL_AXIAL_FORCE_BEAM: resultant force was too high.

Fixed output of two-pass adaptivity

Fix related to implicit nonconvergence of materials 77, 177, and 178.

Fix related to implicit consistency flag (ncpu<0)

Fix for *ELEMENT_MASS_PART and shells: corrected mass calculation

Fox for RBE3 with DOF’s release. Problem occurred when consistency
option is active.

MPP fix/change for better handling of adaptive constraints if they occur
at decomposition boundaries AND they are involved in a tied interface.

Fix handling of sense switches (sw1,sw2,…) for implicit.

Fixed contact for Genoa material.

Fix for jumps in sliding interface energy when adaptive steps occured.

Bug fix for material 187.

Fix for non working thinning for thick shell elements and material types 2, 22, 55, and 58.

Fix for *SET_BEAM_GENERAL with the ALL option to exclude phony beams for
springs and dampers if BEAM is set to unity on the DATABASE _BINARY_
D3PLOT database.

Fix for RBE3 constraints for MPP Explicit.

Fix l2a problem related to output of optional joint energies

Fixed problem with INCLUDE_TRANSFORM for material model 176.

Fix for bug related to nonphysical stresses that develop soon after
the calculation begins. Keyword CONSTRAINED_SHELL_TO_SOLID.

Fix related to material type 120 related to FPE on selected platforms.

Running LS-DYNA jobs (either interactively or as a batch job) can be interrupted with sense-switch controls by creating files “d3kil”, “D3KIL” and “switch” in the running directory. This works as expetec without the use of any “jobid” definition. However, when using a jobid parameter either using *KEYWORD_ID or in the command line (jobid=jobname), LS-DYNA expects this jobid string to appear in the fiels such as “jobid.d3kil” or “jobid.D3KIL” or “jobid.switch” files in the running directory of the master node.

D3VIEW Update : LS-DYNA Examples Project Now Available for Public

The LS-DYNA Examples Project , managed using D3VIEW, is now available for public usage.
If you want to become part of the team to contribute to the examples set, you can send me an email at INFO at D3VIEW dot COM.

Effects of Initial Penetrations

»

It is well known that the presence of initial penetrations can spoil the accuracy of the analysis. A few days ago, while working on ODB barrier, some strange spikes in energies was suspicious even with IGNORE turned on. To understand this, I simply did a simple shakedown and generated some 100 d3plots to capture the effects. After analyzing the results, the strange effects were attributed to the presence of initial penetrations. What is interesting is these small penetrations can introduce contact stresses in the structures and can propagate through them. Attached is a clip generated from the barrier study where the simulation was run with no external loads, body forces, and boundary conditions. You can see the source of initial penetrations and how they travel at the top of the barrier (cladding sheet).

initial_penetrations.gif

Nice article on Inertia Tensors

» »

Came across this nice article (PDF, 101kb) about inertia tensors.

10th LS-DYNA Users Conference

The 10th bi-annual LS-DYNA Users Conference is less than a week away. You can visit the conference home page for more details.

While you are there, look for information on d3VIEW in booth 101 hosted by FEA Information, Marsha Victory.

Curve Offset in LS-DYNA

LS-DYNA offers ability to offset a defined curve. This helps us to for example to define an arbitrary fire time for airbags by simply changing the offset value rather than to change the entire curve. Depending on the type of curve, LS-DYNA adds two points at the beginning of the curve for positive offsets and NONE for a negative offset value when the offsets are applied to the Abscissa. If the curve represents a time history curve (default) and the offset is greater than zero, then LS-DYNA add two points: one at ZERO and the other at 0.999*OFFSET_VALUE to ensure that the ordinate (function) is zero until a x-value of 0.999*OFFSET_VALUE. The following is depicted below.

(click to enlarge)
Curve Offsets for Timehistory

(click to enalrge)
Curve offsets for non-timehistory

Initially in Contact - TIEBREAK contacts

When using TIEBREAK contacts, options other than 1, ties nodes ONLY if the nodes are initially in contact. Nodes not initially in contact will not be tied but can interact with master segments like the traditioanal compression-only contacts. To enforce the “initially” in contact condition, the [initial_separation-(slave_thickness+master_thickness)*0..5] < 0 which causes the initial penetration or initially in contact condition. If this value is greater than zero, you can use SST or MST values to enforce the condition.

The only method to verify if the intended nodes are actually tied is a quick normal mode analysis.

New LS-OPT Support Site

A new LS-OPT support site is established with lots of useful information that covers examples, theory and many download materials.

Ten Recommendations to Improve Contact Stability for Explicit and Implicit Simulations

Here are 10 things (based on experience) that one can use to improve contact stability in any LS-DYNA simulations. They are not in any particular order.

1. Avoid duplicate contact definitions.
The general thumbrule is no pair of node/segment or segment/segment (in soft=2) should be treated for penetration by more than one contact defintion

2. It is extremely important that the interacting segments are similar is size and stiffness.
Rigid segments , in particular, interacting with deformable segments always use penalty (soft=0) treatment.

3. Always use a thickness offset (SLDTHK) and reasonable stiffness (SLDSTF) for segments that belong to solid elements.

This is important when using non-structural materials such as foams, rubbers, honeycomb, etc.

4. IGNORE is the recommended option for models with penetrations. Always set this option to 1
Remember that they do not treat crossed-edges. LS-PREPOST may be used for checking this condition.

5. Shell segments in single surface contact do not use the actual shell thickness. It is recommended to use SSTHK=1 for uniform and true shell thickness.

6. With regards to 5th point, ensure to use realistic shell thickness values.

7. Mesh interacting objects such that the force distribution is uniform and not concentrated.

8. Use SOFT=1 when interacting pair of segments have mis-match(order of magnitude) material properties .

9. Avoid thin segments (for contact). Segments less than 0.6mm-0.8mm is considered thin.
By doing this we are ensuring that no node travels more than 40% of the interactive segment thickness in one single timestep. The other alternative is reducing the timestep (TSSFAC).
But usually the problem lies in unrealistic (very thin) shell thickness for contact.

10. Use default values unless experts recommend a non-default value.

Lastly, always perform 100 cycles of shakedown with no loads and boundary conditions to ensure zero energies in all elements. This must be frequently depending on how much the design evolves. If you are swapping parts or making a number of updates over a short duration, then a weekly shakedown is probably a good idea to remove instabilities.

Hope this helps.

LSDYNA Simulation Notes

While working on a simulation model, it is often very convenient for oneself or to others to make necessary notes that documents the changes in the input file. While each person’s method of documenting changes in short sentences could vary, a formal pattern of documentation could help unify the documentation so anyone can easily follow the evolution of the input files.

Here is a generic pattern that could be followed subject to changes

/first_bit_is_for_add_or_subtract_or_no_change/keyword_family[id_if_applicable]parameter/from/to

Examples listed below should be self-explanatory.

1. Added control_shell card and set esort to 2
+CONTROL_SHELL/esort/0/2

2. Added hourglass to part 1 and set hourglass to 2

+PART[1]/hgtype/0/2

3. Added Viscoplasticty for all materials
+MAT[*]/VP/0/1

4. Modified a point in the curve id 12
+CURVE[12]/(20,1.0)/(20,2.0)

5. Combined change. Added Rigid material and used that to part 1
+MAT_RIGID[2]/
+PART[1]/MID/23/2

6. Swapped a powertrain from 1.2 L to 2.6 L
+INCLUDE/file/1.2l.i/2.6l.i

Quaternions for 3D Graphics

A recent investigation to determine the best viewing configuration for any arbitrary model required me to understand the ‘QUAT’ that appears in LS-PREPOST every time you rotate a model or change its view. If you are interested to understand this, you can view this Powerpoint document for more information.

SLURM: A Highly Scalable Resource Manager - Free and OpenSource

Clustered solutions dominate the market today with MPP-LSDYNA being used worldwide when 2 or more processors per job are used. Managing compute nodes manually in a cluster is certainly primitive and hence the need for a good resource manager. SLURM is a open source resource manager with lots of good features and is available from the Lawrence Livermore National Laboratory. You can visit their website for more information

LS-OPT has functionalities to interact with SLURM.

Internal Contact for Solids using *SET_SEGMENT_GENERAL

In an earlier post on CONTACT INTERIOR , we saw how adding interior contact can help prevent negative volumes. An additional method that is available in LS-DYNA is the use of SET_SEGMENT_GENERAL to generate the interior segments of solids. When a list of parts are defined using PART_SLDIO in the SET_SEGMENT_GENERAL, LS-DYNA generates both external and internal segments of the parts for inclusion in contact treatment. This allows a very fast method (and reversible) way of including interior segemnts so the solid elements can be prevented from inversion.
It must be noted that the default thickness for these internally generated segments is zero which may still result in nodal release due. To prevent this a non-zero value of SLDTHK and an appropriate stiffness value using SLDSTF must be defined to create a stable contact. When a nonzero value of SLDTHK is specified, solid segments will use a contact thickness that is equal to SLDTHK.

TIEBREAK Example

» »

Here is a TAR file that consists of a simple setup to demonstrate TIEBREAK interface contact in LS-DYNA. The example can be used under TENSION, COMPRESSION, TORSION and PEELING type of load.

Tiebreak Example




German flag Spanish flag French flag Italian flag Portuguese flag Dutch flag Greek flag Japanese flag South Korean flag Russian flag Chinese flag

Hosting Sponsored by: