You are on page 1of 5

Negative volume in soft materials

In materials that undergo extremely large deformations, such as soft foams, an element may become so distorted that the volume of the element is calculated as negative. This may occur without the material reaching a failure criterion. There is an inherent limit to how much deformation a Lagrangian mesh can accommodate without some sort of mesh smoothing or remeshing taking place. A negative volume calculation in LS-DYNA will cause the calculation to terminate unless ERODE in *CONTROL_TIMESTEP is set to 1 and DTMIN in *CONTROL_TERMINATION is set to any nonzero value in which case the offending element is deleted and the calculation continues (in most cases). Even with ERODE and DTMIN set as described, a negative volume may cause an error termination. Some approaches that can help to overcome negative volumes include the following: - Simply stiffen up the material stress-strain curve at large strains. This approach can be quite effective. Sometimes tailoring the initial mesh to accommodate a particular deformation field will prevent formation of negative volumes. Again, negative volumes are generally only an issue for very severe deformation problems and typically occur only in soft materials like foam. - Reduce the timestep scale factor. The default of 0.9 may not be sufficient to prevent numerical instabilities. - Avoid fully-integrated solids (formulations 2 and 3) which tend to be less stable in situations involving large deformation or distortion. (The fully integrated element is less robust than a 1-point element when deformation is large because a negative Jacobian can occur at one of the integration points while the element as a whole maintains a positive volume. The calculation with fully integrated element will therefore terminate with a negative Jacobian much sooner than will a 1-point element. (lpb)) - Use the default element formulation (1 point solid) with type 4 or 5 hourglass control (will stiffen response). Preferred hourglass formulations for foams are: - type 6 with coef. = 1.0 if low velocity impact - types 2 or 3 if high velocity impact - Model the foam with tetrahedral elements using solid element formulation 10 although this approach may give an overly stiff response. - Increase the DAMP parameter (foam model 57) to the maximum recommended value of 0.5. - Use optional card B of *CONTACT to turn shooting node logic off for contacts involving foam. - Use *CONTACT_INTERIOR. A part set defines the parts to be treated by *CONTACT_INTERIOR. Attribute 4 (DA4 = 5th field of Card 1) of the part set defines the TYPE of *CONTACT_INTERIOR used. The default TYPE is 1 which is recommended for uniform compression. In version 970, solid formulation 1 elements can be assigned TYPE=2 which treats combined modes of shear and compression. - If *MAT_126 is used, try ELFORM = 0. - Try EFG formulation (*SECTION_SOLID_EFG). Use only where deformations are severe as this formulation is very expensive. Use only with hex elements.

Negative volumes in brick elements


Brick elements and foam materials (or other soft materials) In materials that undergo extremely large deformations, such as soft foams, an element may become so distorted that the volume of the element is calculated as negative. This may occur without the material reaching a failure criterion. There is an inherent limit to how much deformation a Lagrangian mesh can accommodate without some sort of mesh smoothing or remeshing taking place. A negative volume calculation in LS-DYNA will cause the calculation to terminate unless ERODE in *CONTROL_TIMESTEP is set to 1 and DTMIN in *CONTROL_TERMINATION is set to any nonzero value in which case the offending element is deleted and the calculation continues (in most cases). Even with ERODE and DTMIN set as described, a negative volume may still occur and cause a premature termination.

Some approaches that can help to overcome negative volumes include the following. Simply stiffen up the material stress-strain curve at large strains. This approach can be quite effective. Sometimes tailoring the initial mesh to accommodate a particular deformation field will prevent formation of negative volumes. Again, negative volumes are generally only an issue for very severe deformation problems and typically occur only in soft materials like foam. Reduce the timestep scale factor. The default of 0.9 may not be sufficient to prevent numerical instabilities. Avoid fully-integrated solids (formulations 2 and 3) which tend to be less stable in situations involving large deformation or distortion. (The fully integrated element is less robust than a 1-point element when deformation is large because a negative Jacobian can occur at one of the integration points while the element as a whole maintains a positive volume. The calculation with fully integrated element will therefore terminate with a negative Jacobian much sooner than will a 1-point element.) Use the default element formulation (1 point solid) with type 4 or 5 hourglass control (will stiffen response). Preferred hourglass formulations for foams are: type 6 with coef. = 1.0 if low velocity impact types 2 or 3 if high velocity impact Model the foam with tetrahedral elements using solid element formulation 10. Increase the DAMP parameter (foam model 57) to the maximum recommended value of 0.5. Use optional card B of *CONTACT to turn shooting node logic off for contacts involving foam. Use *CONTACT_INTERIOR. A part set defines the parts to be treated by *CONTACT_INTERIOR. Attribute 4 (DA4 = 5th field of Card 1) of the part set defines the TYPE of *CONTACT_INTERIOR used. The default TYPE is 1 which is recommended for uniform compression. In version 970, solid formulation 1 elements can be assigned TYPE=2 which treats combined modes of shear and compression. If *MAT_126 is used, try ELFORM=0. Try EFG formulation (*SECTION_SOLID_EFG). Use only where deformations are severe as this formulation is very expensive. Use only with hex elements.

Do you have tips how to combat instabilities?


Some messages that indicate an instability has occurred: out-of-range velocities negative volume in brick element termination due to mass increase

Approaches to combating instability of an explicit solution: First and foremost, use the latest version/revision of LS-DYNA available. The next step is to write plot states frequently enough to see the evolution of the instability. This should offer clues into what's initiating the instability. Some other general tips toward resolving numerical instabilities:

1. Timestep. Try reducing the timestep scale factor (even if mass-scaling is 2.


invoked). Element formulation and/or hourglass control. For underintegrated solids or shells that go unstable, try hourglass type 4 with a hourglass

3.

4. 5.

coefficient of 0.05. Or, try shell formulation 16 with hourglass type 8. If response of shells is primarily elastic, set BWC=1 and PROJ=1 (B-T shells only). Avoid type 2 solids. Use at least two solid elements thru the thickness of any solid part. Contact. Set number of cycles between bucket sorts to zero so that the default sort interval will be used. If the relative velocity between two parts in contact is exceptionally high, it may be necessary to reduce the bucket sort interval (for instance to 5, 2, or even 1). If visible contact penetrations develop during the simulation, switch to *contact_automatic_surface_to_surface or *contact_automatic_single_surface with SOFT set to 1. Make sure geometry takes into account thickness of shells. If shells are VERY thin, e.g., less than 1 mm, scale up or set the contact thickness to a more easonable value. Look for mistakes (typos, bad units, etc.) in material input of parts that go unstable. Turn off all *damping.

These tips are of a general nature and may not be appropriate in all situations.

Hourglass
See the User's Manual (*HOURGLASS) and sections 3.2 and 6.4 of the Theory Manual. Hourglass (HG) modes are nonphysical, zero-energy modes of deformation that produce zero strain and no stress. Hourglass modes occur only in under-intetgrated (single integration point) solid, shell, and thick shell elements. LS-DYNA has various algorithms for inhibiting hourglass modes. The default algorithm (type 1), while the cheapest, is generally not the most effective algorithm. A way to entirely eliminate hourglass concerns is to switch to element formulations with fully-integrated or selectively reduced (S/R) integration. There can be a downside to this approach. For example, type 2 solids are much more expensive than the single point default solid. Secondly, they are much more unstable in large deformation applications (negative volumes much more likely). Third, type 2 solids have some tendency to 'shear-lock' and thus behave too stiffly in applications where the element shape is poor.

Notice

Triangular shells and tetrahedral solid elements do not have hourglassing modes but have drawbacks with regard to overly stiff behavior in some applications. A good way to reduce hourglassing is to refine your mesh. The method of loading can affect the degree of hourglassing. A pressure loading is preferred over loading individual nodes as the latter approach is more likely to excite hourglassing modes. To evaluate hourglass energy, set HGEN to 2 in *CONTROL_ENERGY and use *DATABASE_GLSTAT and *DATABASE_MATSUM to report the HG energy for the system and for each part, respectively. The point is to confirm that the nonphysical HG energy is small relative to peak internal energy for each part (<10% as a rule-ofthumb). For shells only, you can fringe hourglass energy density by first setting SHGE=2 in the LS-DYNA input deck (*DATABASE_EXTENT_BINARY). Then, in LSPrepost, choose Fcomp >> Misc >> hourglass energy. For fluid parts, the default HG coefficient is generally inappropriate (too high). Thus for fluids, the hourglass coefficient should generally be scaled back several orders of magnitude. Use only viscosity-based HG control for fluids. The default HG formulation (type 1) is generally ok for fluids. Please note that in 971 R3, the default hourglass coefficient for ALE parts (ELFORM 11) is 1.e-6. To override that default, as might be

appropriate for non-fluid materials, use *HOURGLASS and HGID in *PART. Check the hourglass energy via MATSUM.

Hourglass types
Stiffness-based HG control (types 4,5) is generally more effective than viscous HG control for structural parts. Usually, when stiffness-based HG control is invoked, I like to reduce the HG coefficient, usually in the range of .03 to .05, soas to minimize nonphysical stiffening of the response and at the same time effectively inhibiting hourglass modes. For high velocity impacts, viscosity-based HG control (types 1,2,3) is recommended even for solid/structural parts. Type 8 HG control applies only to shell formulation 16. This HG type activates warping stiffness in type 16 shells so that warping of the element does not degrade the solution. Type 16 shells will solve the so-called Twisted Beam problem correctly if HG type 8 is invoked. Type 6 HG control invokes an assumed-strain co-rotational formulation for type 1 solid elements and under-integrated 2D solids (shell types 13 and 15). With the HG type set to 6 and the hourglass coefficient set to 1.0, an elastic part need only be modeled with a single type 1 solid through its thickness to achieve the exact bending stiffness. Type 6 HG control should always be used for type 1 solids in implicit simulations (in fact, this is done automatically in v. 970). The hourglass coefficient for type 6 HG control will typically range from 0.1 (default) to 1.0. For elastic material, use 1.0. For other materials, the choice of HG coefficient is not obvious. Even looking at results, it may be difficult to quantify the 'goodness' of the hourglass coefficient used. Too low a value may result in visible hourglass modes of deformation (unlikely). Too high a value may result in overly stiff behavior. It may be necessary to run the model twice to see if the results exhibit any sensitivity to the hourglass coefficient. Checking the hourglass energy is a good idea. The default hourglass coefficient of 0.1 is superseded by any nonzero value given for QH in *CONTROL_HOURGLASS. I see nothing in the manual to contradict this interpretation. The manual does say that the default hourglass type in *HOURGLASS is 1 regardless of what's given in *CONTROL_HOURGLASS. Unless I missed something, no such note appears with regard to hourglass coefficient. The lesson here is that users should specify a nonzero hourglass coefficient wherever *HOURGLASS is used. Otherwise, the user may, as you did, inadvertently change the intended coefficient by use of *CONTROL_HOURGLASS.

Gravity Load
Gravity load is applied via the *LOAD_BODY_Z command (assuming the z-axis is vertical). Preloading due to gravity can be accomplished via a dynamic relaxation analysis (explicit or implicit), or as a separate implicit analysis, or during the early going of an explicit analysis.

To invoke implicit dynamic relaxation with velocity re-initialization, set idrflag=5 on *CONTROL_DYNAMIC_RELAXATION, and set a nonzero value of DRTERM on *CONTROL_DYNAMIC_RELAXATION, and set iphase=1 on *INITIAL_VELOCITY_GENERATION.

This will allow you to apply gravity (or other load) by implicit dynamic relaxation, then specify an initial velocity for your explicit impact analysis. The *CONTROL_IMPLICIT commands can be used to provide control to the implicit dynamic relaxation phase of the run. (see also: implicit.dynamic_relaxation)

Detail remarks: There are different approaches to preloading the system with gravity. All involve using the *LOAD_BODY command: Use dynamic relaxation to run a precursor, quasi-static analysis wherein gravity is ramped up to preload the structure. This involves defining two curves of acceleration vs. time. For the curve designated in the LCID field of *LOAD_BODY, set (in define_curve) SIDR to 0 and prescribed a constant acceleration vs. time. For the curve designated in the LCIDDR field of *LOAD_BODY, set SIDR to 1 and linearly ramp the acceleration from zero to the constant (gravity) value over a short period of time (say 10 ms) and then hold it constant. A binary record of the dynamic relaxation phase is written when the command *DATABASE_BINARY_D3DRLF is included in the input deck (set DT/CYCL to 1.). Invoke mass damping (*DAMPING_GLOBAL) in the early portion of an explicit dynamic analysis to eliminate dynamic oscillations due to the gravity (*LOAD_BODY) load. After a steady state solution is attained, eliminate the damping and introduce the dynamic loads.

If you're unconcerned about the dynamic effects of applying gravity suddenly, you wouldn't need to use dynamic relaxation or damping or even need to ramp the load up over time. Just define the load_body curve as a horizontal line (ordinate value equal to the gravitational acceleration).