Contact modeling in LS-DYNA

Contact treatment forms an integral part of many large-deformation problems. Accurate modeling of contact interfaces between bodies is crucial to the prediction capability of the finite element simulations. LS-DYNA o ers a large number of contact types. Some types are for specific applications, and others are suitable for more general use. Many of the older contact types are rarely used but are still retained to enable older models to run as they did in the past. Users are faced with numerous choices in modeling contact. This document is designed to provide an overview of contact treatment in LS-DYNA and to serve as a guide for choosing appropriate contact types and parameters.

How Contact Works

In LS-DYNA, a contact is defined by identifying (via parts, part sets, segment sets, and/or node sets) what locations are to be checked for potential penetration of a slave node through a master segment. A search for penetrations, using any of a number of different algorithms, is made every time step. In the case of a penalty-based contact, when a penetration is found a force proportional to the penetration depth is applied to resist, and ultimately eliminate, the penetration. Unless otherwise stated, the contacts discussed here are penalty-based contacts as opposed to constraint-based contacts. Rigid bodies may be included in any penalty-based contact but in order that contact force is realistically distributed, it is recommended that the mesh defining any rigid body be as fine as that of a deformable body.

Though sometimes it is convenient and effective to define a single contact that will handle any potential contact situation in a model, it is permissible to define any number of contacts in a single model. It is generally recommended that redundant contact, i.e., two or more contacts producing forces due to the same penetration, be avoided by the user as this can lead to numerical instabilities.

To enable flexibility for the user in modeling contact, LS-DYNA presents a number of contact types and a number of parameters that control various aspects of the contact treatment. In the following sections, contact types are first discussed with recommendations regarding their application. A description of the contact parameters is then presented.

Contact Types































In crash analysis, the deformations can be very large and predetermination of where and how contact will take place may be di cult or impossible. For this reason, the automatic contact options are recommended as these contacts are non-oriented, meaning they can detect penetration coming from either side of a shell element. Automatic contact types in LS-DYNA are identifiable by the occurrence of the word AUTOMATIC in the *CONTACT command. The contact search algorithms employed by automatic contacts make them better-suited than older contact types to handling disjoint meshes. In the case of shell elements, automatic contact types determine the contact surfaces by projecting normally from the shell mid-plane a distance equal to one-half the contact thickness . Further, at the exterior edge of a shell surface, the contact surface wraps around the shell edge with a radius equal to one-half the contact thickness thus forming a continuous contact surface. We sometimes refer to this offsetting of the contact surfaces from shell mid-planes as considering shell thickness offsets . The contact thickness can be specified directly or scaled by the user using optional parameters in the contact definition. If the contact thickness is not specified by the user, the contact thickness is equal to the shell thickness (or, in the case of single surface contacts, the minimum of the shell thickness and element edge length). In like fashion, the contact surface for beam elements (where beam contact is considered) is offset from the beam centerline by the equivalent radius of the beam cross-section. Because contact surfaces are offset from shell midplanes and from beam centerlines, it is extremely important that appropriate gaps between shell and beam parts be modeled in the finite element geometry in order to account for shell thickness and beam cross-section dimensions. Not doing so will result in initial penetrations in the contact surfaces. LS-DYNA will make one pass to eliminate any detected initial penetrations by moving the penetrating slave nodes to the master surface. Not all initial penetrations will necessarily be removed and this can lead to nonphysical contact behavior. Time taken in setting up an accurate initial geometry is always time well spent.

Most contact types in LS-DYNA place a limit on the maximum penetration depth that is allowed before the slave node is released and its contact forces are set to zero. This is done mainly in automatic contact types to prevent large contact forces from developing in the opposite sense should the slave node pass through a shell mid-plane. This maximum penetration depth is tabulated for various contact types in Table 6.1 of the Version 960 User s Manual. Sometimes automatic contact interfaces appear not to work because this contact threshold is reached early in the simulation. This often occurs if extremely thin shell elements are included in the contact surface. In these cases, contact failure can usually be prevented by scaling up the default contact thickness or setting the contact thickness to a value larger than the shell thickness. Alternately, setting SOFT=1 (discussed later) will often correct the problem.

One-Way Treatment of Contact

One-way contact types allow for compression loads to be transferred between the slave nodes and the master segments. Tangential loads are also transmitted if relative sliding occurs when contact friction is active. A Coulomb friction formulation is used with an exponential interpolation function to transition from static to dynamic friction. This transition requires that a decay coefficient be defined and that the static friction coefficient be larger than the dynamic friction coefficient. The one-way term in oneway contact is used to indicate that only the user-specified slave nodes are checked for penetration of the master segments. One-way contacts may be appropriate when the master side is a rigid body, e.g., a punch or die in a metal stamping simulation. A situation where one-way contact may be appropriate for deformable bodies is where a relatively fine mesh (slave) encounters a relatively smooth, coarse mesh (master). Other common applications are beam-to-surface or shell-edge-to-surface scenarios where the beam nodes or the shell edge nodes, respectively, are given as the slave node set. There are a number of keyword options that activate one-way contact.

For contact between an airbag (slave) and segmented rigid dummy model (master), one of the following two contact types are often employed:



For metal stamping, special one-way forming contacts are recommended with the workpiece defined on the slave side:



Orientation is automatic with forming contacts. The rigid tooling surface can be constructed from disjoint element patches where contiguous nodal points are sometimes merged out, but not always. These patches are not assumed to be consistently oriented; consequently, during initialization, the reorientation of these disjoint element patches is performed. Forming contact tracks the nodal points of the blank as they move between the disjoint element patches of the tooling surface. Penalty forces are used to limit penetrations. Generally the ONE_WAY_SURFACE_TO_SURFACE option is recommended since the penetration of master nodes through the slave surface is considered in adaptive remeshing. Without this feature, adaptive remeshing may fail to adequately refine the mesh of the blank to capture sharp details in the master surface, and the master surface will protrude through the blank.

When the surface orientations are known throughout the analysis, the following nonautomatic contact types may be effective:





If there is a possibility that the nodes of the slave surface can physically end up behind the master surface, these contact types should be avoided. Shell thickness offsets may or may not be considered with these non-automatic contact types (see SHLTHK in *CONTROL_CONTACT). If shell thickness offsets are inactive (default), then the old node-to-surface contact treatment from public domain DYNA3D is used for contact types 5 and 10 above where incremental searching is used to locate potential master segments for any given slave node. This searching technique uses segment connectivity; therefore, the master surface must not be disjoint. If the geometry of the surfaces have sharp angles or if the segments are very badly shaped, the searching algorithm can fail to find the proper master segment. If the shell thickness offsets are active, SHLTHK > 0, the master surface is projected based on nodal normal vectors, and the location of the slave node on a master segment is determined by using global segment-based bucket sorting; therefore, the master surface can be disjoint and sharp edges and bad element shapes do not create significant problems in the searching. The use of nodal normal vectors to project the master surface is quite expensive in CPU costs, but has an advantage that the projected master surface is continuous even for convex surfaces. Until the FORMING contact types were developed, types 5 and 10 contacts with shell thickness offsets were often the contact of choice for sheet metal stamping.

The contact type:


is similar in treatment to

*CONTACT_NODES_TO_SURFACE with shell thickness offsets.

Being constraint-based rather than penalty-based, type 18 contact cannot be used with rigid bodies. The forces are computed to keep the slave nodes exactly on the master surface (zero penetration). In general, this contact has never been as stable as the penalty-based contacts and is, therefore, not recommended.

Eroding contact types are recommended whenever solid elements involved in the contact definition are subject to erosion (element deletion) due to material failure criteria. These eroding contacts contain logic which allow the contact surface to be updated as exterior elements are deleted. In *CONTACT_ERODING_NODES_TO_SURFACE, the slave side of the contact should be defined using a node set containing all the nodes (not just nodes on the outer suface) of the slave side part(s).

Two-Way Treatment of Contact

This contact works essentially the same way as the corresponding one-way treatments described above, except that the subroutines which check the slaves nodes for penetration, are called a second time to check the master nodes for penetration through the slave segments. In other words, the treatment is symmetric and the definition of the slave surface and master surface is arbitrary since the results will be the same. There is an increased cost of approximately a factor of two due to the extra subroutine calls.

In crash analysis, the contact type


is a recommended contact type since, in crash simulations, the orientation of parts relative to each other cannot always be anticipated as the model undergoes large deformations. As mentioned before, automatic contacts check for penetration on either side of a shell element.

For metal forming simulations, the contact type


is available but is generally not used in favor of the one-way forming contacts.

The two-way (symmetric) counterparts to the previously discussed contact types 5, 18, and 16 are:




Tied Contact (Translational DOF only, No Failure, No Offset)

In tied contact types, the slave nodes are constrained to move with the master surface. At the beginning of the simulation, the nearest master segment for each slave node is located based on an orthogonal projection of the slave node to the master segment. If the slave node is deemed close to the master segment based on established criteria, the slave node is moved to the master surface. In this way, the initial geometry may be slightly altered without invoking any stresses. It is always recommended that tied contacts NOT be defined by part Ids but rather by node/segment sets. In this way, the user has more direct control over what gets tied to what and thus can prevent unintended constraints. As the simulation progresses, the isoparametric position of the slave node with respect to its master segment is held fixed using kinematic constraint equations. Examples of this contact type are:



These contact types should generally only be used with solid elements since rotational degrees-o reedom of the slave node are not constrained. The use of this contact type for shell elements may produce unrealistically soft behavior. Contact types 2 and 6 differ only in the input format (slave segments vs. slave nodes); the numerical treatment is the same.

In general, when using tied interfaces between similar materials, the master surface should be the more coarsely meshed side since these constraints are not applied symmetrically. However, if one material is significantly softer, the master side should be the stiffest material.

Constraint-based tied contacts such as types 2 and 6 cannot be used to tie a rigid body to a deformable body or to another rigid body. Nodes of deformable bodies that the user wishes to be tied to a rigid body can be included as extra nodes for the rigid body using the *CONSTRAINED_EXTRA_NODES command. Alternately, the OFFSET option can be used for tied contacts involving rigid bodies (see below).

Tied Contact (Translational DOF only, No Failure, With Offset)

This contact types works the same as above but an offset distance between the master segment and the slave node is permitted. Offset tied contacts use a penalty-based formulation and thus can be used to tie rigid bodies. Examples of this contact type are:



This contact type works best if the surfaces are very close, since moments that develop due to the offset are not taken into account. Not accounting for the moment transmission due to offsets can impose rotational constraints on the structure. With the penalty approach this is not too much of a problem, however, with the constraint method, the results can be completely wrong.

To account for the moment transmission between the offset surfaces, two methods are available. The first, based on a penalty formulation, uses beam-like spring elements to transmit the moments:



and the second uses constraint equations:



The offsets can be reasonably large with the BEAM and CONSTRAINED options. However, since rotational degrees-of-freedom are not a ected, the offset contacts should not be used with structural elements like beams and shells. The offset contacts that transmit moments were added to the first release of version 960 after the manual was published.

Tied Contact (Translational DOF and Rotational DOF, With Failure, No Offset)

This contact interface uses a kinematic type constraint method to tie the slave nodes to the master segments and treats both translational and the rotational degrees-of-freedom. Additionally, failure can be specified when combined with beam elements of material type, *MAT SPOTWELD, when modeling spot welds. Examples of this contact type are:




With the above types the nodes are projected to lie on the master segment. This is quite important for *CONTACT_SPOTWELD, since the beams that model the spot welds need to be as long as possible to minimize the mass scaling that is necessary to allow the calculation to have a reasonable time step size.

With the TORSION option, the torsional forces in the beam, which models the spot weld, are transmitted as equivalent forces to the surrounding nodes of the master surface. The rotational constraint about the axis of the beam is then enforced. The nonlinear shell elements in LS-DYNA have a zero sti ness drilling degree-of-freedom at each node, so it is necessary to carry the torsional forces through the membrane behavior of the shell.

Tied Contact (Translational DOF and Rotational DOF, With Offset)

These contact interface options uses either a kinematic or penalty type constraint method to tie offset slave nodes to the master segments:




With the BEAM and CONSTRAINED option, the moments that develop from the offsets are computed and used in the update of the master surface. The nodes involved should belong to deformable elements. The CONSTRAINED option cannot be used with rigid bodies. The di culty with using even the penalty option with rigid bodies is related to the nodal masses of the rigid body. If the nodal masses are accurate then the penalty method is okay. If the masses are nonsense, as is often the case if the rigid body geometry is accurate but the inertial properties are defined independently of the mesh, then the penalty method may break down since the nodal masses of the rigid body are used to set the penalties that are used in the rotational constraints.

Tied Contact (Translational DOF, With Failure)

The following penalty based contact types allow for the definition of failure parameters. It is extremely important to have the contact segment orientation aligned appropriately as it determines the tensile and compression direction. Failure can be based on the forces or stress along the normal (tensile) and shear directions. Examples of this contact type are:




Single Surface

These contact types are the most widely used contact options in LS-DYNA, especially for crashworthiness applications. With these types, the slave surface is typically defined as a list of part ID s. No master surface is defined. Contact is considered between all the parts in the slave list, including self-contact of each part. If the model is accurately defined, these contact types are very reliable and accurate. However, if there is a lot of interpenetrations in the initial configuration, energy balances may show either a growth or decay of energy as the calculation proceeds.

For crash analysis, the contact type


is recommended. This contact has improved from version to version of LS-DYNA and is the most popular contact option.

The older single surface contact type


should be avoided since it has not undergone improvement. It eventually will be removed or recoded.


First, the older method uses nodal based bucket sorting where closest nodes are found that do not share common segments. This nodal based searching can break down if the segments vary appreciably in size and shape, especially, if aspect ratios are large. Secondly, the older method uses segment projection to determine the contact surface. This requires the calculation of nodal normal vectors that are area weighted by the segments that share the node, which in turns creates further diffculties for T-intersections and other geometric complications. The calculation of the vectors can require 25% of the total CPU required.

For modeling the deployment of airbags the following contact option is recommended:


With *AIRBAG_SINGLE_SURFACE, contact between nodes and multiple segments is considered. Much more searching is done than in the normal contact option and, consequently, this contact option is much more expensive. During the past several years, the soft constraint option, on optional card A, in the contact definition, set to 2 has proved to deploy airbags very accurately. We current recommend this option for airbag deployment. The latter option is currently being implemented for MPP usage.

The final contact is:


The contact treatment with this option was similar to type 13 through the 950c release of LS-DYNA. The main difference was that three possible contact segments, rather than just two, were stored for each slave node. With 950d and later versions, type 13 was substantially improved and now type 13 is frequently more accurate. The main feature of the GENERAL option is that shell edge-to-edge and beam-to-beam contact is treated automatically. All free edges of the shells and all beam elements are checked for contact with other free edges and beams. Unlike type 13 contact, type 26 contact checks for contact along the entire length of beams and exterior shell edges, not just at the nodes. There is a new option in 960 to also check internal shell edges (INTERIOR option). This is quite expensive, however, and is not usually needed. We plan to update this contact type in version 970 of LS-DYNA to include all the recent improvement in the *AUTOMATIC_SINGLE_SURFACE contact.

Contact Entity

This contact type is used for treating deformable nodes against rigid geometric surfaces. The analytical equations defining the geometry of the surface are used in the contact calculations. This is an improvement over the usual segmented surface as represented by a mesh. A penalty-based approach is used in calculating the forces that resist penetration. This contact type is widely used to couple LSDYNA with rigid body dummies, which have surfaces approximated by nice geometric shapes such as ellipsoids. An automatic mesh generator is used to mesh the rigid surfaces to aid visualizing the results. The mesh is not used in the contact calculations. The analytical rigid surfaces can be of the following types:



Contact Stiffness Calculation

Contact treatment is internally represented by linear springs between the slave nodes and the nearest master segments. The sti ness of these springs determines the force that will be applied to the slave nodes and the master nodes. There are currently two methods of calculating the contact spring sti ness and they are briefly discussed below.

Penalty-based approach (SOFT=0 in Optional Card A in ‘*CONTACT_’)

The formula for the stiffness of a contact segment is as follows:

This method is the default method and uses the size of the contact segment and its material properties to determine the contact spring sti ness. As this method depends on the material constants and the size of the segments, it works effectively when the material sti ness parameters between the contacting surfaces are of the same order-of-magnitude. In cases where dissimilar materials come into contact, the contact might break down, as the sti ness, which is roughly the minimum of the slave and master stiffness, maybe too small. This frequently happens with soft dense foams contact metal materials. Consequently, for crash analysis we do not recommend the option, SOFT = 0, unless prior experience shows that no problems occur.

Soft Constraint-based approach (SOFT=1 & 2 on Optional Card A in *CONTACT_ )

This non-default method calculates the sti ness of the linear contact springs based on the nodal masses that come into contact and the global time step size. The resulting contact sti ness is independent of the material constants and is well suited for treating contact between bodies of dissimilar materials. The sti ness is found by taking the nodal mass divided by the square of the time step size with a scale factor to ensure stability.


Generally, for the case of metals contacting metals the resulting penalty sti ness for SOFT = 0 or SOFT = 1 is similar. For the case where soft dense foams contact metal, the option, SOFT = 1 often gives interface stiffness that are one or two orders-of-magnitude greater. The SOFT = 1 option is recommended for impact analysis where dissimilar materials come into contact.

The SOFT = 2 option uses mass and time step based penalty sti ness as in SOFT = 1. SOFT = 2 invokes a segment-based contact algorithm which has it origins in Pinball contact developed by Belytschko and his co-workers. With this contact algorithm, contact between segments is treated rather than using the usual node-to-segment treatment. When two 4-noded segments come into contact, forces are applied to eight nodes to resist segment penetration. This treatment has the effect of distributing forces more realistically and sometimes is quite effective for very stubborn contact problems. The SOFT = 2 option is currently being ported for MPP calculations. Beam contact is not handled by SOFT = 2 type contact. Further, SOFT = 2 is available only for surface-to-surface and single surface contacts and not for nodes-to-surface contacts. The optional parameter EDGE on Optional Card A should be used cautiously when segment-edge-to-segment-edge contact is anticipated and SOFT is set to 2.

Contact Output

There are numerous output files pertaining to contact which can be written by LS-DYNA. LS-POST can read these output files and plot the results.

The most common contact-related output file, RCFORC, is produced by including a *DATABASE_RCFORC command in the input deck. RCFORC is an ASCII file containing resultant contact forces for the slave and master sides of each contact interface. The forces are written in the global coordinate system. Note that RCFORC data is not written for single surface contacts as all the contact forces from such a contact come from the slave side (there is no master side) and thus the net contact forces are zero. To obtain RCFORC data when single surface contacts are used, one or more force transducers should be added via the *CONTACT_FORCE_TRANSDUCER_PENALTY command. A force transducer does not produce any contact forces and thus does not a ect the results of the simulation. A force transducer simply measures contact forces produced by other contact interfaces defined in the model. One would typically assign a subset of the parts defined in a single surface contact to the slave side of a force transducer. No master side is defined. The RCFORC file would then report the resultant contact forces on that subset of parts.

The ASCII output file NCFORC reports contact forces at each node. The command *DATABASE_NCFORC is required in the input deck to produce such a file. Further, one or more contact print flags must be set (see SPR and MPR on Card 1 of *CONTACT_). Only those surfaces whose print flag is set to a value of 1 will have their nodal contact force output to the NCFORC file.

By including a *DATABASE_SLEOUT command, contact interface energies are written to the ASCII ouput file SLEOUT. In cases where there are two or more contact interfaces in a model and the global statistics file (GLSTAT) indicates a problem with contact energy, such as a large negative value, the SLEOUT file is useful for isolating which contact interfaces are responsible. For general information on interpreting contact energies, see the LS-DYNA Theory Manual, Section 23.8.4.

In some cases, it can be very useful to visualize contact surfaces and produce fringe plots of contact stress both in directions normal and tangential to the contact surface. To do this, a binary interface file must be written by

  1. including a *DATABASE_BINARY_INTFOR command in the input deck,
  2. setting one or more contact print flags as detailed above,
  3. and including the option s=filename on the LS-DYNA execution line where filename is the intended name of the binary database. The database can be postprocessed using LS-POST.

Contact Parameters

There are several contact-related parameters in LS-DYNA that can be used to modify or, in many cases, improve contact behavior. The default settings for these parameters should be used as a starting point, but often non-default values are appropriate depending on the behavior of the contact. The following sections describe the most common contact parameters and make general recommendations regarding their use.

Contact parameters may be set using the commands *CONTROL_CONTACT, ‘CONTACT_, and *PART_CONTACT. Certain parameters may be set using more than one command and so a command hierarchy must exist. Parameters set with *CONTROL_CONTACT redefine default settings for all contacts in the model. Contact parameters set in *CONTACT_ … will override default settings for individual contacts. Contact parameters set in *PART_CONTACT supercede settings in *CONTACT_ for contact involving a specific part.

Thickness offsets

Parameter: SLTHK (card 1, *CONTROL_CONTACT and Optional Card A in *CONTACT_option) AUTOMATIC (*CONTACT_option)

In crashworthiness analysis, sheet metal components are represented using shell elements with the nodal points at the mid-plane surface. Each shell has a thickness, ts, that by default is equal to the thickness of the sheet metal. When these components are included in the contact treatment, shell thickness offsets are used to project the mid-surface of the shell to create the surface for contact. The choice of the contact type determines whether shell thickness offsets are considered.

In LS-DYNA the non-automatic contact types:




use two different treatments depending on the parameter SHLTHK. This parameter can be specified globally on the *CONTROL_CONTACT card and locally for a given contact definition on optional card B of the *CONTACT input. If SHLTHK = 0, an incremental search technique is used to determine the closest master segment and shell thickness offsets are not included. If SHLTHK = 1, LS-DYNA considers the shell thickness offsets for deformable nodes but ignores the offsets for the nodes of rigid bodies. If SHLTHK = 2, then LS-DYNA considers the thickness for both deformable and rigid nodes. For SHLTHK set to 1 or 2 a global bucket search is used to identify contact pairs. After contact is established, incremental searching is used to track the position of the slave nodes on the master surface. An advantage of global bucket searching is that the master and slave surfaces can be disjoint. This is impossible if incremental searching is used since incremental searching assumes that the contact surfaces are fully connected. In these contact types, it is important to orient the contact segment normals, based on the right-hand-rule, towards the contacting surface before the calculation begins. This is called oriented contact. An optional automatic orientation feature may be invoked using the parameter ORIEN on the *CONTROL_CONTACT card; however, for this option to work a gap must exist between opposing shell mid-plane surfaces.

AUTOMATIC and single surface contact types always consider shell thickness offsets as shown in Figure 6.1. These contact types use both global bucket sorting and local incremental searching in determining the contact pairs. AUTOMATIC contacts are generally more robust than their non-automatic counterparts since this contact type has no orientation requirement, i.e., contiguous segments do not obey the right-hand-rule. This is important in crash analysis since metal part can fold over and change the orientation. The contact search algorithm checks for penetration from either side of the shell mid-plane.


Figure 6.1: Automatic Contact Segment Based Projection

Shell Thickness Offset Recommendations

The AUTOMATIC contact types, which consider shell thickness offsets, are recommended for impact and crash analysis. If it is desired that shell thickness offsets of rigid components be disregarded, a non-automatic contact type may be used with the parameter SHLTHK set to 1 in either *CONTROL_CONTACT or on Optional Card B of *CONTACT. Additionally, it is important to ensure that the finite element mesh is constructed so that the shell mid-plane surfaces of the opposing parts are set apart by at least (ts+tm)/2 with meshes of similar density around sharp changes in curvature. If this condition is not satisfied, LS-DYNA will issue warning messages to indicate that penetrations were detected and that the penetrating nodes were moved to eliminate the penetrations. Sometimes the modification of the geometry can change the results. In version 960 of LS-DYNA, an option exists whereby penetrating nodes are not moved but rather the initial penetrations become the baseline from which additional penetration is measured. This option of tracking initial penetrations is invoked by setting the parameter IGNORE equal to 1 on Card 4 of *CONTROL_CONTACT or on optional card C of *CONTACT. We recommend that this option be used in most calculations.

See Sections 6.4 and 6.5 for more on shell thickness offsets. In those sections, the term contact thickness refers to the magnitude of the shell thickness offsets.

Contact Sliding Friction

Parameters: FS and FD (card 2, *CONTACT option)

Contact sliding friction in LSDYNA is based on a Coulomb formulation and uses the equivalent of an elastic-plastic spring. Friction is invoked by giving non-zero values for the static and dynamic friction coefficients, FS and FD, respectively, in the *CONTACT or *PART_CONTACT input. For a detailed description of the frictional contact algorithm, please refer to Section 23.8.6 in the LS-DYNA Theory Manual.

Contact Sliding Friction Recommendations

When setting the frictional coefficients, physical values taken from a handbook such as Marks, provide a starting point. Note that to differentiate static and dynamic friction, FD should be less than FS and the decay coefficient DC must be nonzero. For numerically noisy problems such as crash, the static and dynamic coefficients are frequently set equal to avoid the creation of additional noise. The decay coefficient determines the manner in which the instantaneous net friction coefficient is transitioned from FS to FD. The parameter, VC, provides a means to limit the frictional contact stress based on the strength of the material. The suggested value for VC is SIGY/sqrt(3) where SIGY is the minimum yield stress of the materials in contact. In LS-DYNA, version 960, the optional parameter FRCENG on card 4 of *CONTROL_CONTACT may be set to write the frictional contact energy to the binary interface database (*DATABASE_BINARY_INTFOR).

Routinely, one automatic, single-surface contact with numerous dissimilar materials, are used in full vehicle simulations. In these cases, using a uniform value for FS and FD may be inappropriate. In such instances, it is recommended that the frictional parameters be specified part by part using the contact option in the part definition, *PART_CONTACT.

It is helpful in understanding the sensitivity contact friction in a calculation by making two runs utilizing lower-bound and upper-bound friction coeffcients.

Penalty Scale Factors

Parameters: SFS and SFM (card 3, *CONTACT_option) So-called penalty scale factors provide a means of increasing or decreasing the contact sti ness. SLSFAC in *CONTROL_CONTACT scales the sti ness of all penalty-based contacts, which have the parameter SOFT set equal to 0 or 2. SLSFAC is applied cumulatively with SFS, i.e., the actual scale factor is the product of SFS and SLSFAC, the slave penalty scale factor, or SFM, the master penalty scale factor, defined on card 3 of the *CONTACT’ input. SSF, when defined in *PART_CONTACT, is cumulative with the aforementioned penalty scale factors. For contacts with SOFT = 1, the aforementioned penalty scale factors have no a ect; rather SOFSCL on optional card A is used to scale the contact sti ness when SOFT = 1. (SOFT is the first parameter specified on optional card A of *CONTACT.)

Penalty Scale Factors Recommendations

The default values (SFS = SFM = 1.0; SLSFAC = 0.1) generally work well for contact between similarly refined meshes of comparably sti materials. For contacts involving dissimilar mesh sizes and dissimilar material constants, non-default values penalty scale factors may be necessary to avoid the breakdown of contact if SOFT = 0. Generally, a better alternative than setting scale factors is to set SOFT = 1 and leave all penalty scale factors at their default values.

Contact Thickness

Parameters: SST and MST (card 3, *CONTACT_option) SST and MST on card 3 of *CONTACT allow users to directly specify the desired contact thickness. When the default value of SST = MST = 0, is used, the contact thickness is equal to the element thickness specified in the *SECTION_SHELL card.

Contact Thickness Recommendations

Nonzero values of SST and MST are sometimes used to decrease the contact thickness and thus eliminate initial penetrations. This is a poor substitute for accurate mesh generation. When using nonzero values of SST and MST, it is highly recommended to use reasonable values. Specifying a very small thickness value, such as 0.1mm, will result in contact breakdown owing to the fact that contact thickness goes into determining the maximum penetration allowed before the contact releases a penetrating node. Often, by increasing the contact thickness, breakdown of contact involving very thin materials can be averted. Based on experience, SST and MST should not be less than 0.6 – 0.7 millimeters.

Since nonzero values of SST and MST are applied to all the parts defined in the contact, it may be more prudent to use the OPTT or SFT parameter in *PART_CONTACT to control the contact thickness for individual parts in cases where many parts of widely ranging thickness are included in a single contact.

Contact Thickness Scaling

Parameters: SFST and SFMT, card 3, *CONTACT_option) As an alternative to directly specifying the contact thickness as described above, SFST and/or SFMT may be defined to serve as contact thickness scale factors. These factors are applied to the shell thickness specified in *SECTION_SHELL in order to obtain a contact thickness. The default values of SFST and SFMT are 1.0.

Contact Thickness Scaling Recommendations

The same concepts discussed in Contact Thickness Recommendations apply here. Care must be taken though not to assign contact thickness scale factors so small as to result in a contact thickness that is less than 0.6 0.7mm.

Viscous Damping

Parameter: V DC (Card 2,*CONTACT_option)

The viscous contact damping parameter, V DC, on card 2 of *CONTACT is zero by default. Originally, contact damping was implemented to damp out the oscillations that existed normal to the contact surfaces in sheet metal forming simulations. It has been found that contact damping is often beneficial in reducing high-frequency oscillation of contact forces in crash or impact simulations.

Viscous Damping Recommendations

In contacts involving soft materials such as foams and honeycombs, frequent instabilities exist due to contact oscillations. Using a value of V DC between 40 – 60 (corresponding to 40to60% of critical damping), it is found that the model stability improves; however, it may be necessary to reduce the scale factor for the time step size. Generally, a smaller value of 20 is recommended when metals, which have similar material constants, interact.

Contact Segment Extension

Parameter: MAXPAR (Optional Card A , *CONTACT option)

MAXPAR on Optional Card A of *CONTACT controls the enlargement of each contact segment that is needed to combat an inherent flaw in segment-based projection.

This parameter is no longer used in the AUTOMATIC contact options, except for ‘*AUTOMATIC_GENERAL’, starting with version 950d of LSDYNA.

Figure ?? shows the contact surface that is projected from the shell mid-plane when using the segment-based projection scheme. It can be seen that at corners of convex surfaces,an open space or gap is present in the contact surface through which a slave node could freely enter without any contact detection. This can result in contact instability, negative contact energy, etc. due to a sudden, large penetration of a node that has entered through a gap. To combat this problem, the contact surface is automatically extended a slight distance parallel to the plane of the contact segment (as well as projected normally from the segment). This slight extention serves to close the gap in the contact surface. In versions starting with 950d, a cylindrical surface is created in the valley which is used as the contact surface with the forces acting normal to the surface.


Figure 6.2: Segment extension using MAXPAR. This option is now obsolete in the AUTOMATIC contact types

Segment Extension Recommendations

The default value of MAXPAR(1.025) works well for most analyses, as most sheet metal components are not much greater than 3 – 4mm. However, contact instabilities may develop when a part with a very large thickness (> 5 – 10mm) or having an angular surface is present in the contact definition. Such an instability may be corrected by reducing the contact thickness (discussed in earlier sections) or by increasing the segment enlargement parameter MAXPAR (to as high as, but no greater than, a value of 1.2). Refining the mesh to reduce sharp angles in the contact surface will also help. A certain cost penalty is paid for MAXPAR values greater than default.

Bucket-Sort Frequency

Parameters: BSORT (Optional Card A , *CONTACT ), NSBCS, (Card 2, *CONTROL_CONTACT)

Bucket sorting refers to a very effective method of contact searching to identify potential master contact segments for any given slave node. This sorting is an expensive part of the contact algorithm so the number of bucket sorts should be kept to a minimum to reduce runtime. If thickness offsets are considered, then all contact types use the bucket sort approach to track the most probable contacting segments. BSORT specifies the number of time steps between bucket sorts. Depending on the contact type, the default bucket sort interval is between 10 and 100 cycles. Except for high speed impact, this interval is almost always adequate. The contact bucket searching frequency should increase, i.e., BSORT should be reduced, if nodes move from one disconnected surface to another in short time intervals or if the surface is folding onto itself. If two relatively smooth simply-connected surfaces are moving across each other without folds, the bucket sorting can be done at larger intervals. Note that if the surfaces are more than several segment widths away from each other, no information is stored related to future contact, and later bucket searching is required to pick up future contacts. Once a slave node is in contact, local searching tracks the motion, and bucket sorting for the nodes, which are in contact, is not necessary.

Bucket-Sort Frequency Recommendations

In certain contact scenarios where contacting parts are moving relative to each other in a rapid fashion, such as airbag deployment, more frequent (than default) bucket sorting intervals may improve the contact behavior. A tell-tale sign inadequate bucket sorting is the appearance of certain penetrating nodes inexplicably being bypassed in the contact treatment. In such cases, using the BSORT parameter in *CONTACT or NSBCS in *CONTROL_CONTACT, the user can decrease the cycle interval between bucket sorts. Rarely will a value of less than 10 be required.

Maximum Penetration

Parameters: PENMAX (Optional card B , *CONTROL_CONTACT), XPENE (Card 2, *CONTROL_CONTACT)

To avoid instability in models, slave nodes that penetrate too far are eliminated from the contact algorithm; however, they remain in other calculations. This is done so that very high forces, which are proportional to large penetration values, are not applied to the penetrating nodes that might lead to instabilities. It s also necessary for contacts that consider shell thickness offsets to prevent a sudden reversal in direction of contact force as a penetrating node passes through the shell midplane.

In non-automatic types and SHLTHK = 0, the default maximum penetration is set to 1e + 20. In other words, no nodes are released at all. When SHLTHK = 1 or 2, the XPENE parameter determines the nodal release criteria and is given as follows:

In AUTOMATIC types and single surface, excluding AUTOMATIC GENERAL, the maximum allowable penetration is a function of PENMAX that is set to a default value of 0.4(40%). The maximum allowable penetration in these cases are shown below: *

For AUTOMATIC GENERAL only, the default value of PENMAX is set to 200 and provides an almost no nodal release criteria.

Maximum Penetration Recommendations

It is generally recommended that parameters a ecting maximum penetration not be changed from the default values. If nodes penetrate too far and are released, the preferred solution is to increase the contact sti ness, change the penalty formulation (SOFT), or increase the contact thickness.

Modeling Guidelines For Full Vehicle Contact

Crash analysis involving a full vehicle incorporates contact interactions between all free surfaces. This is quite expensive since 20-30 percent of the total calculation CPU time is used by the contact treatment. One of the challenging aspects of contact modeling in crash analysis is the handling of interactions between structural metallic parts and nonstructural components typically made from foam and plastic. This is especially important when occupants are included in the model. Another challenge is handling contact at corners or edges of geometrically complex parts. Guidelines should be followed to achieve stability in contact as well as reasonable contact behavior. Some of the modeling practices based on experience are discussed below.

Global or Local Contact

Historically, many individual contact definitions were used for the treatment of contact. The development and implementation of a robust single surface type of contact has changed the way engineers model the contact today. From the standpoints of simplicity in preprocessing, numerical robustness, and computational effciency, it is now usually advantageous to forsake the use of numerous contact definitions in favor of ONE singlesurface- type contact that includes all parts which may interact during the crash event. We often casually refer to this single contact approach as a global contact approach.

This, however, does not mean that one should always avoid local contact definitions. Frequently, there exist certain areas of the vehicle that require special contact considerations where the global contact definition is observed to fail. In such instances the user is encouraged to define local contact interfaces with non-default parameters that would best suit the contact condition.


Though both contact algorithms belong to the single surface contact type, several key parameters distinguish these two contact types. Table ?? highlights the important differences.


Table 6.1: Difference Between *AUTOMATIC_SINGLE_SURFACE (13) and *AUTOMATIC_GENERAL (26)

Of the two single surface contact types listed in Table ??, *AUTOMATIC_GENERAL is computationally more expensive owing to its additional capabilities and its more frequent and thorough contact search. The *AUTOMATIC_SINGLE_SURFACE contact option is recommended for global contact. To treat special contact conditions where shell edge-to-edge or beam-to-beam contact is anticipated, the additional use of the *AUTOMATIC_GENERAL contact in localized regions is recommended. *AUTOMATIC_GENERAL contact should be used sparingly and only where conditions dictate its use. One advantage of the *AUTOMATIC_SINGLE_SURFACE contact starting with LSDYNA version 950d is in its more rigorous treatment of interior sharp corners within the finite element mesh and in the handling of triangular contact segments; consequently, the AUTOMATIC_SINGLE_SURFACE contact is usually superior for parts meshed from triangular and tetrahedron elements. In future version of LS-DYNA, the *AUTOMATIC_GENERAL option will also include these improvements.

Standard Penalty-Based or Soft Constraint Stiffness Method

When several parts of dissimilar mesh sizes and/or dissimilar material properties are included into one global slave set for *AUTOMATIC_SINGLE_SURFACE, the soft constraint sti ness method (SOFT=1) is recommended. The soft constraint method seeks to maximize contact sti ness while also maintaining stable contact behavior. The interacting nodal masses and the global time step are used in formulating the contact sti ness. The segment-based contact method, invoked by setting SOFT=2, calculates contact sti ness much like the soft constraint method but otherwise is quite different. Segment-based contact can often be quite effective where other methods fail at treating contact at sharp corners of parts.

In contrast to a soft constraint approach, the standard penalty-based contact sti ness (SOFT=0) is based on material elastic constants and element dimensions. In foam and plastic materials, the contact sti ness given by the two methods can differ by one or more orders of magnitude. The primary disadvantage of choosing the soft constraint method is its dependence on the global time step. Occasionally, the global time step must be scaled down using the TSSFAC parameter in *CONTROL_TIMESTEP to avoid numerical instabilities in the contact behavior. This results in an increased run time for the entire simulation. As an alternative to reducing the global time step the soft constraint scale factor, SOFSCL, in the *CONTACT definition can be reduced from the default value of 0.1 to 0.04-0.07. If the standard penalty-based approach in used in a global contact definition, the soft constraint approach can be used locally to handle dissimilar materials in contact. The following are examples where contact behavior may benefit from use of the soft constraint method:

Using a combination of both contact sti ness methods may promote good contact behavior without having to reduce the global time step.

Definition of Slave Set

There are several ways to define the slave set for the global contact definition. These include: all parts (this is the default), a set of included parts, a set of excluded parts, or a set of segments. The default, which includes all parts, can sometimes result in obvious instabilities at the beginning of a simulation unless great care is taken in setting up the model to avoid such things as initial penetrations and nonphysical intersections of parts. The option to ignore penetrations on the *CONTROL_CONTACT keyword (set IGNORE equal to 1) is recommended if care is not taken to eliminate initial penetrations.

Many models run perfectly with just one interface definition; others, however, will not run until changes are made to the input, usually by excluding parts or by modifying the finite element mesh to more accurately reflect the physical model. To reiterate, the following methods can be used for defining the global contact definition:

In addition to the above slave sets, a three-dimensional box, defined using *DEFINE_BOX, may be used to restrict the contact to the parts or segments that lie within the box at the start of the calculation. This will reduce the extent of the contact definition leading to a reduction in contact-associated cpu time.


When using one global contact that includes several components of the vehicle, a uniform friction coefficient (possibly zero) may be acceptable for initial analyses. However, the use of *PART_CONTACT keyword to specify friction coefficients on a part-by-part basis is recommended when friction is expected to play a significant role. Friction coefficients specified in *PART_CONTACT will override friction coefficients specifed elsewhere if and only if FS in *CONTACT is set to -1.0. Please note that the dynamic friction coefficient FD will have no effect unless a nonzero decay coefficient DC is provided.

Contact Thickness

To reduce the number of initial penetrations, the contact thickness can changed from the default element thickness by using the global SST and MST parameters in *CONTACT. The OPTT parameter in *PART_CONTACT can be used to override SST and MST on a part-by-part basis. The user is cautioned against setting the contact thickness to an extremely small value as this practice will often cause contact failure. In fact, for treating contact of very thin shells, e.g., less than 1 mm, it may be necessary to increase the contact thickness to prevent contact failure.

If a contact surface is comprised of tapered shell elements, then a uniform contact thickness should always be specified. The contact assumes that the segment thickness is constant, which can result in thickness discontinuities between adjacent segments. As a node moves between segments of differing thickness, the interface force will either suddenly drop or increase as a result of the discontinuous change in the penetration distance. This can result in negative contact interface energies.

Airbag Contact

Simulation of airbag deployment and interaction of an airbag with other components may require special contact treatment. Some of the challenges associated with airbag contact are as follows:

To promote stability and accuracy in simulating airbag contact, the following contact types and contact parameters are recommended.

Airbag Self-Contact

When treating airbag self-contact (fabric-to-fabric contact), the use of *CONTACT_AIRBAG_SINGLE_SURFACE is highly recommended. This contact type is based on *CONTACT_AUTOMATIC_SINGLE_SURFACE but has significant modifications to account for the di culties associated with deployment of a folded airbag.

SOFT = 2 is generally recommended (SMP only) to better deal with the many initial penetrations present in a folded airbag and to invoke a segment-to-segment contact search which is often advantageous in dealing with the complex geometry of a folded or partially unfolded airbag. Airbag contact with SOFT = 2 is expensive relative to other contact options so to improve cpu performance when using SOFT = 2, an additional contact with SOFT = 0 or 1 can be implemented as shown in Figure ??. By defining two separate contacts and employing contact birthtime and deathtime to switch from the SOFT = 2 contact to the SOFT = 1 contact when the bag has unfolded, a good combination of contact reliability and efficiency can be acheived.


Figure 6.3: Airbag Self Contact Algorithm Switch

If the airbag simulation is run using an MPP executable, note that SOFT = 2 is not yet available and so SOFT = 0 or 1 must be used. For a folded airbag, this will likely mean that a load curve defining the fabric contact thickness versus time will be necessary to transition from a very small thickness in the folded state to a larger thickness as the bag unfolds. This is done to prevent initial penetrations in the folded state and still have good contact behavior during the unfolding process. The contact thickness vs. time curve is identified by LCIDAB on Optional Card A of *CONTACT. As a possible alternative to a time-dependent contact thickness, the user may try invoking the option for tracking of initial penetrations by setting IGNORE = 1 on Optional Card C. This latter option is new in version 960 and has not been thoroughly checked out for airbag applications.

Airbag-to-Structure Contact

During and after airbag deployment, the airbag fabric comes into contact with other parts of the model such as the steering wheel, occupant, instrument panel, door trim components and, in the case of side curtain deployment, the seat. For these contact conditions, a two-way contact such as *CONTACT_AUTOMATIC_SURFACE_ TO_SURFACE is generally recommended. In instances when the airbag nodes comprise the slave side in a one-way type contact such as *CONTACT_AUTOMATIC_NODES_TO_SURFACE, the structural nodes are not checked for penetration through the airbag segments. This may result in noticeable penetration of finely-meshed structural components into airbag segments. Single surface contacts such as *CONTACT_AUTOMATIC_SINGLE_SURFACE for airbag-to-structure interaction may be ill-advised as this would result in duplication of self-contact treatment for the fabric.

Di culties in airbag-to-structure contact are largely associated with significant differences in material bulk moduli (up to 1000x) and very low thickness of the fabric. To avoid premature nodal release triggered by a small fabric thickness, it is recommended that the contact thickness of the fabric be set to a minimum value of 1.0 mm. Since a wide range of materials are involved, the use of SOFT = 1 is highly recommended as it eliminates the need to fine-tune penalty scale factors. An example of the overall setup for airbag-related contact is shown in Figure 6.4.


Figure 6.4: Airbag Contact Definition

Edge-to-Edge Contact

Most contact types do not check for edge-to-edge penetrations as the search entails only nodal penetration through a segment. This may be adequate in many cases; however, in some unique shell contact conditions, the treatment of edge-to-edge contact becomes very important. There are several ways to handle edge-to-edge contact; the merits/demerits of each one of these methods are discussed below.

*CONTACT_AUTOMATIC_GENERAL excluding Interior Edges

By default, *CONTACT_AUTOMATIC_GENERAL considers only exterior edges in its edge-to-edge treatment as indicated by Figure ??. An exterior edge is defined as belonging to only a single element or segment whereas interior edges are shared by two or more elements or segments. The entire length of each exterior edge, as opposed to only the nodes along the edge, is checked for contact. As with other penalty-based contact types, SOFT=1 can be activated to effectively treat contact of dissimilar materials.


Figure 6.5: Interior and Exterior Shell Edges

*CONTACT_AUTOMATIC_GENERAL including Interior Edges

Edge-to-edge contact which includes consideration of interior edges may be invoked in one of two ways. One method takes advantage of the beam-to-beam contact capability of *CONTACT_AUTOMATIC_GENERAL. This labor-intensive approach involves creating null beam elements (*ELEMENT_BEAM, *MAT_NULL) approximately 1mm in diameter (elform = 1, ts1 = ts2 = 1.2mm, tt1 = tt2 = 0 in *SECTION_BEAM) along every interior edge wished to be considered for edge-to-edge contact and including these null beams in a separate AUTOMATIC GENERAL contact. This is illustrated in Figure ??. The elastic constants in *MAT_NULL are used in determining the contact stiffness so reasonable values should be given. Null beams do not provide any structural stiffness.


Figure 6.6: Null Beams to treat edge-to-edge treatment

A preferred alternative to the null beam approach, available in version 960, is to invoke the interior edge option by using *CONTACT_AUTOMATIC_GENERAL_INTERIOR. A certain cost penalty is associated with this option.


This contact type treats edge-to-edge contact but, unlike the other options above, it treats only edge-toedge contact. This contact type is defined via a part ID, part set ID, or a node set on the slave side. The master side is omitted.

Rigid Body Contact

Components for which deformation is negligible and stress is unimportant may be modeled as rigid bodies using *MAT_RIGID or *CONSTRAINED_NODAL_RIGID_BODY. The elastic constants defined in *MAT_RIGID are used for contact sti ness calculations. Thus the constants should be reasonable (properties of steel are often used). Though there are several contact types in LS-DYNA which are applicable specifically to rigid bodies (RIGID appears in the contact name), these types are seldom used. Any of the penalty-based contacts applicable to deformable bodies may also be used with rigid bodies, and in fact, are generally preferred over the RIGID contact types. Rigid bodies and deformable materials may be included in the same penalty-based contact definition. Constraints and constraint-based contacts may not be used for rigid bodies.

Rigid bodies should have a reasonably fine mesh so as to capture the true geometry of the rigid part. An overly coarse mesh may result in contact instability. Another meshing guideline is that the node spacing on the contact surface of a rigid body should be no coarser than the mesh of any deformable part which comes into contact with the rigid body. This promotes proper distribution of contact forces. As there are no stress or strain calculations for a rigid body, mesh refinement of a rigid body has little effect on cpu requirements. In short, the user should not try to economize in the meshing of rigid bodies.

*CONTACT_ENTITY is an altogether different way of defining an analytic, rigid contact surface which interacts with nodes of deformable bodies. For more information

Summary Table

The contact types can be grouped as follows:

Group A: Types 3, 5, 10 (SHLTHK = 0)

Group B: Types 3, 5, 10 (SHLTHK = 1)

Group C: Types 5, 13, 14, 15, 16, a3, a5, a10, 26

Group D: Types 19, 20, 21