You are on page 1of 98

Material support

To directly define solution times for the creep analysis, include a TSTEP case control command in
your input file that points to a TSTEP1 bulk entry. On the TSTEP1 bulk entry, you can specify the
solution times and specify which solution times you want results output.
The solution times you specify on the TSTEP1 bulk entry may result in time steps that are either too
coarse to produce accurate results, or too fine to produce results efficiently. To assist you in avoiding
such problems, the software uses adaptive time stepping by default. You can tweak the adaptive time
stepping algorithm or override adaptive time stepping altogether with the parameters on the NLCNTL
bulk entry. For more information on adaptive time stepping, see Time step control.
In a SOL 401 or SOL 402 creep analysis, the property bulk entry referenced by all non-rigid
elements must reference a MAT1 bulk entry and a MATCRP bulk entry that have the same material
identification number. If the properties on the MAT1 bulk entry are temperature-dependent, include a
MATT1 bulk entry with the same material identification number.
You use the MATCRP bulk entry to specify:
• The stress threshold below which creep does not occur.

• The hardening rule to apply.

• The coefficients in the Bailey-Norton creep model.

You can specify the coefficients in the Bailey-Norton creep model as either constant or as a function
of temperature. To specify a coefficient as temperature-dependent, enter the identification number
of a TABLEM1 bulk entry in the corresponding A, B, or D field of the MATCRP bulk entry. On the
TABLEM1 bulk entry, enter tabular data that describes how the coefficient varies with temperature. At
present, a MATCRP bulk entry cannot reference a TABLEM2, TABLEM3, or TABLEM4 bulk entry.

Time step control

During a SOL 401 or a SOL 402 creep analysis, the solution times depend on:
• How you specify the TSTEP1 bulk entry.

• How you specify the time stepping parameters.

The time steps that result from the TSTEP1 bulk entry specification may be too coarse to produce
accurate results, or too fine to produce results efficiently. By default, the software uses an adaptive
time stepping algorithm to avoid such problems.

Tweaking the adaptive time stepping algorithm in SOL 401

In SOL 401, you can tweak the adaptive time stepping algorithm or override adaptive time stepping
altogether and use a constant time step with parameters for the NLCNTL bulk entry. The parameters
are:
CRCERAT Ratio of maximum creep increment to elastic strain that is used to adaptively
specify the next time step.
CRCINC Maximum creep increment that is used to adaptively specify the next time step.
CRICOFF Creep strain increment below which the next time step is the product of the
current time step and the maximum time step multiplying factor.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 5-29
Chapter
Chapter 5: 5: Material
Material support
support

CRINFAC Numerical integration parameter.


See Equation 5-3.
DTINIT Initial time step for adaptive time stepping, or the constant time step if adaptive
time stepping is overridden.
CRMFMN Minimum time step multiplying factor.
CRMFMX Maximum time step multiplying factor.
DTSBCDT Controls whether the first time step in a sequential subcase uses the initial time
step or the time step calculated at the end of the previous subcase.
CRTEABS Maximum absolute truncation error that is used to adaptively specify the next
time step.
CRTECO Effective creep strain below which CRTEABS is used, and above which
CRTEREL is used.
CRTEREL Maximum relative truncation error that is used to adaptively specify the next
time step.
TSCCR Specifies the time stepping method.
DTMIN Minimum time step.
DTMAX Maximum time step.
The TSCCR parameter controls the overall time stepping behavior. Use the TSCCR parameter to:
• Select the adaptive time stepping algorithm that the software uses to calculate the next time step.

• Override adaptive time stepping altogether and have the software use the value of the DTINIT
parameter as a constant time step.

The adaptive time stepping algorithm options include the following:


• The next time step is based on the maximum creep strain increment criterion. You specify the
maximum creep strain increment with the CRCINC parameter.

• The next time step is based on the ratio of maximum creep increment to elastic strain criterion.
You specify the ratio of maximum creep increment to elastic strain with the CRCERAT parameter.

• The next time step is based on the maximum truncation error criterion. For this option, you
have three sub-options.
o Use the maximum absolute truncation error. You specify the maximum absolute truncation
error with the CRTEABS parameter.

o Use the maximum relative truncation error. You specify the maximum relative truncation
error with the CRTEREL parameter.

o Use the maximum absolute truncation error if the creep strain is less than the value specified
by the CRTECO parameter, and use the maximum relative truncation error if the creep strain
is greater than the value specified by the CRTECO parameter.

5-30 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Material support

• The next time step is the shortest time step calculated by any combination of the maximum creep
strain increment, ratio of maximum creep increment to elastic strain, and maximum truncation
error criteria.

When the creep simulation begins, the value of the DTINIT parameter is always used as the first
time step. If adaptive time stepping is overridden, the value of the DTINIT parameter is used as a
constant time step throughout the simulation.
If adaptive time stepping is not overridden, after each time step the software compares the calculated
creep strain increment to the value of the CRICOFF parameter. If the creep strain increment is
greater than the value of the CRICOFF parameter, the software uses the adaptive time stepping
algorithm to calculate the next time step. If the creep strain increment is less than the value of
the CRICOFF parameter, the software uses the product of the current time step and the value of
the CRMFMX parameter as the next time step.
If the software uses the adaptive time stepping algorithm to calculate the next time step, the next time
step is compared to the product of the current time step and the value for the CRMFMN parameter. If
the next time step is smaller than the product of the current time step and the value for the CRMFMN
parameter, the software halves the current time step, recalculates the current creep strain increment,
and reenters the algorithm at the point the creep strain increment is compared to the value of the
CRICOFF parameter. If the next time step is larger than the product of the current time step and the
value of the CRMFMN parameter, the software keeps the next time step.
The next time step is then compared against the values of the DTMAX and DTMIN parameters. First,
the software checks to see if the value of the DTMAX parameter is 0.0. If so, the software accepts the
value for the next time step and uses it to compute the next creep strain increment. If the value of
the DTMAX parameter is not set to 0.0, the next time step is compared to the value of the DTMAX
parameter. If the next time step is larger than the value of the DTMAX parameter, the software uses
the value of the DTMAX parameter as the next time step and uses it to compute the next creep
strain increment. If the next time step is smaller than the value of the DTMAX parameter, the next
time step is compared to the value of the DTMIN parameter. If the next time step is smaller than
the value for the DTMIN parameter, the software halves the current time step, recalculates the
current creep strain increment, and reenters the algorithm at the point the creep strain increment is
compared to the CRICOFF parameter. If the next time step is larger than the value of the DTMIN
parameter, the software accepts the value for the next time step and uses it to compute the next
creep strain increment.
The adaptive time stepping algorithm is summarized by the following flowchart. In the flowchart, the
notation for the value of a parameter is Vparameter name.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 5-31
Chapter
Chapter 5: 5: Material
Material support
support

Figure 5-1. Flowchart of adaptive time stepping algorithm


Regardless of whether you are using adaptive time stepping or a constant time step, the solution
times you specify with the TENDi and NINCi fields on TSTEP1 bulk entries are always honored. At all
times during the creep simulation, if the next time step would result in skipping over a TSTEP1-defined
solution time, the software truncates the next time step so that a solve occurs at that solution time.
As a best practice, consider using the TSTEP1 bulk entry to specify only the times you want the
results output, and let the adaptive time stepping algorithm determine all the other solution times.
For additional information on the creep-related parameters, see the NLCNTL bulk entry in the
Simcenter Nastran Quick Reference Guide.

5-32 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Material support

Tweaking the adaptive time stepping algorithm in SOL 402


In SOL 402, you can tweak the time stepping algorithm with parameters for the NLCNTL2 bulk
entry. The parameters are:
CREEP To include (default) or not the creep effects.
CRINFAC Integration factor used to calculate incremental creep strain
PLASTIC To include (default) or not the plasticity effects.
About the CREEP parameter
• If PARAM,MATNL is set to 1 (all material nonlinearities enabled), you can use CREEP,NO to
exclude creep effects for a specific subcase.

• If PARAM,MATNL is set to -1 (all material nonlinearities disabled), the CREEP parameter status
has no effect on the solve. Therefore, you cannot use CREEP,YES to enable creep effects in a
subcase when material nonlinearities are disabled.

About the CRINFAC parameter


See Equation 5-3.
In the equation, β is the integration factor specified with the CRINFAC parameter.
About the PLASTIC parameter
• If PARAM,MATNL is set to 1 (all material nonlinearities enabled), you can use PLASTIC,NO to
exclude plastic effects for a specific subcase.

• If PARAM,MATNL is set to -1 (all material nonlinearities disabled), the PLASTIC parameter status
has no effect on the solve. Thus, you cannot use PLASTIC,YES to enable plasticity effects in a
subcase when material nonlinearities are disabled.

For additional information about the creep-related parameters, see the NLCNTL2 bulk entry in the
Simcenter Nastran Quick Reference Guide.

5.6 Overview of the Creep Model


Classical creep models consist of the following three fundamental parts.
• A uniaxial creep equation expresses the effective creep strain or creep strain rate as a function of
effective stress, temperature, and time. In a state of uniaxial stress, the effective creep strain and
effective stress reduce to the uniaxial creep strain and the uniaxial stress. The effective creep
strain in terms of the creep strain tensor components is given by:

The effective stress in terms of the stress tensor components ij and deviatoric stress tensor
components sij is given by:

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 5-33
Chapter
Chapter 5: 5: Material
Material support
support

• A flow rule determines the creep strain rate tensor components for a general state of stress.

• A hardening rule determines creep strain rates from the uniaxial rate equation under changing
stress and temperature.

Overview of the Hardening Rules for Creep Models


The hardening rule provides the mathematical means to determine the effective creep rate under
changing temperature and/or stress. The creep hardening rule is used to determine the current
material state relative to further creep straining. It plays a role similar to the yield surface in plasticity
theory.
You can select one of the following hardening rules for the creep model using the HARD field on the
MATCRP bulk entry.
• HARD = STRAIN (default) selects strain hardening.

• HARD = TIME selects time hardening.

Strain Hardening
The strain hardening rule assumes that the material state is determined by the accumulated effective
creep strain. When stress or temperature changes, the shift from one creep curve to another is based
on the accumulated effective creep strain. This shift is illustrated in the following figure.

5-34 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Material support

The strain hardening rule is generally considered to be superior to the time hardening rule and is,
therefore, the default for the software's creep equations. Under conditions of constant stress and
temperature, the time hardening and strain hardening assumptions produce identical results.
Time Hardening
The time hardening rule uses time as a material state variable. It assumes that the material state is
determined by the length of time the material has been creeping.
When stress or temperature changes, the shift from one creep curve to another is based on the
accumulated creep time. This shift is illustrated in the following figure.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 5-35
Chapter
Chapter 5: 5: Material
Material support
support

The time hardening rule is usually not very realistic when very large changes in temperature or
stress occur over the interval of interest.

Maximum Truncation Error Criterion

With the maximum truncation error criterion, Simcenter Nastran also calculates the next time step
by scaling the current time step. The value of the CRTECO parameter on the NLCNTL bulk entry
determines whether the maximum absolute truncation error or the maximum relative truncation error
is used to adaptively specify the next time step.
• If the effective creep strain is less than the value of the CRTECO parameter, the maximum
absolute truncation error is used. The maximum absolute truncation error is specified with the
CRTEABS parameter on the NLCNTL bulk entry.

• If the effective creep strain is greater than the value of the CRTECO parameter, the maximum
relative truncation error is used. The maximum relative truncation error is specified with the
CRTEREL parameter on the NLCNTL bulk entry.

The next time step is calculated by scaling the current time. When the maximum absolute truncation
error is applied, the software computes the next time step as:

When the maximum relative truncation error is applied, the software computes the next time step as:

5-36 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Material support

where e is the calculated truncation error, and is the current effective creep strain increment.
There are two approaches to calculate the truncation error e corresponding to the two different
scenarios:

1. At the first time step or if β=0 or β=1, the two point rule truncation error is used.

2. From the second time step and 0 < β< 1, the three point rule truncation error is used.

Maximum creep strain increment criterion

With the maximum creep strain increment criterion, Simcenter Nastran calculates the next time
step by scaling the current time step as follows:

Equation 5-4.

where CRCINC is the value of the CRCINC parameter and Δεec is the current effective creep strain
increment.

Ratio of maximum creep increment to elastic strain criterion

With the ratio of maximum creep increment to elastic strain criterion, Simcenter Nastran calculates
the next time step by scaling the current time as follows:

Equation 5-5.

where CRCERAT is the value of the CRCERAT parameter, Δεec is the current effective creep strain
increment, and εeE is the current total effective elastic strain.

5.7 Disable plasticity and creep


The MATNL parameter allows you to switch all creep and/or plasticity effects on/off for all related
elements.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 5-37
Chapter
Chapter 5: 5: Material
Material support
support

Disable plasticity and creep in SOL 401


In SOL 401, when the MATNL parameter is set to 1 (PARAM,MATNL,1) to turn on creep and/or
plasticity effects, the MATOVR bulk entry lets you optionally disable the creep and plasticity effects for
the elements of a selected GROUP bulk entry.
• Use TYPE = "ELEM" to reference a GROUP bulk entry that includes a list of elements. The
MATOVR specification applies to the listed elements.

• Use TYPE = "PROP" to reference a GROUP bulk entry that includes a list of properties. The
MATOVR specification applies to all elements that reference the properties listed in the GROUP
bulk entry.

For more information, see the MATOVR bulk entry in the Simcenter Nastran Quick Reference Guide.

Disable plasticity and creep in SOL 402


In SOL 402, when the MATNL parameter is set to 1 (PARAM,MATNL,1) to turn on creep and/or
plasticity effects, you can turn them off at the subcase level. Use CREEP,NO to exclude creep effects
and/or PLASTIC,NO to exclude plastic effects.

Note
If PARAM,MATNL is set to -1 (all material nonlinearities disabled), you cannot use the
CREEP,YES or PLASTICITY,YES in a subcase to enable creep or plasticity effects in
that subcase.

Note
Creep and plasticity effects are enabled or disabled for all the elements that can support
them. You cannot enable or disable these effects for a specific group of elements.

For more information, see the NLCNTL2 bulk entry in the Simcenter Nastran Quick Reference Guide.

5.8 Hyperelastic materials (SOL 402)


Hyperelastic models are popular for modeling the large strain nonlinear behavior of incompressible
materials, such as rubber.
These models do not provide any special insight into material behavior. They are based on the
definition of the strain energy density as a function of on strain invarients or stretch ratios. The input
of the models are coefficients that are mainly obtained by curve-fits of test data.
In SOL 402, you can use the MATHE bulk entry to define the following hyperelastic materials:
Mooney-Rivlin, Ogden, and Hyperfoam.

Note
The Arruda-Boyce model and the Sussman-Bathe model are not supported in SOL 402.

5-38 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Material support

You can also add viscoplacity effects to these materials with the MATHEV bulk entry and add Mullin
effects with the MATHEM bulk entry.

Mooney-Rivlin materials: the MATHE bulk entry


Mooney-Rivlin material
The generalized Mooney-Rivlin strain energy function can be expressed as follows:

with

where:

• is the deviatoric stretch ratio defined as:

• K and J are the bulk modulus and volume ratio, respectively.


If you do not provide K, the software uses a default value of 1000(C10+C01).

SOL 402 requires the linearized Poisson coefficient to be positive. The linearized Poisson coefficient
Nu is computed based on the bulk modulus K and the two first material constants C10 and C01 using:

Odgden materials: the MATHE bulk entry


For the Ogden material model, the strain energy function is:

where:
• μk and αk are material constants.

• is the deviatoric stretch ratio defined as:

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 5-39
Chapter
Chapter 5: 5: Material
Material support
support

• K and J are the bulk modulus and volume ratio, respectively.


K is defined as:

Hyperfoam materials: the MATHE bulk entry

For the hyperfoam material model, the strain energy function is:

where:
• μk, αk and βk are material constants.

• J is the volume ratio.

The hyperfoam material model in SOL 402 does not use the bulk modulus K.
For more information about these hyperelastic materials, see the MATHE bulk entry in the Simcenter
Nastran Quick Reference Guide.

Mooney-Rivlin alternative: the MATHP bulk entry

The MATHP bulk entry is an alternative to MATHE card to define a hyperelastic material based on
Mooney model.
It allows you to define the strain potential directly by providing the Mooney coefficients or by using the
experimental data provided in the TABi parameters of the MATHP bulk entry.
If experimental data are provided, the Mooney coefficients are computed internally with a fitting
procedure.
The generalized Mooney-Rivlin strain energy function can be expressed as follows:

where:

• and are the first and second distortional strain invariants, respectively.

5-40 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Material support

• J=det F is the determinant of the deformation gradient.

• 2D1=K and 2(A10 + A01)=G at small strains, in which K is the bulk modulus and G is the shear
modulus.
The model reduces to a Mooney-Rivlin material if NA=3.

• T is the current temperature and T0 is the initial temperature.

In SOL 402, the degree of the Mooney-Rivlin strain potential is limited to 4 for the distortional part,
to 1 for the volumetric part.
SOL 402 requires the linearized Poisson coefficient to be positive. The linearized Poisson coefficient
Nu is computed based on the volumetric coefficient D1 and the two first distortional constants A10
and A01.

For more information, see the MATHP bulk entry in the Simcenter Nastran Quick Reference Guide.

Adding viscoplasticty effects to hyperelastic materials: the MATHEV bulk entry

The viscoelastic effect in the hyperelastic material is based on Prony series.


For more information, see the MATHEV bulk entry in the Simcenter Nastran Quick Reference Guide.

Adding Mullin effects to hyperelastic materials: the MATHEM bulk entry

The Mullins effect in the hyperelastic matMooney-Rivlinstrainenergyfunctionerials is based on the


Ogden-Roxburgh model and takes damages in elastomers into account.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 5-41
Chapter
Chapter 5: 5: Material
Material support
support

When material is unloaded, the stress-strain curve is below the initial curve. When material is loaded
again, it follows the unloading path.
In this example:

1. The curve 0 A1 A2 A3 is the initial loading curve without taking into account Mullins effect.

2. When material is loaded up to A1 and then unloaded, it follows path A1 B1 0. When it is loaded
again up to A2, it follows path 0 B1 A1 A2.

3. If it is unloaded and the reloaded, it follows path A2 B2 0 B2 A2 A3.

4. And so on.

For more information, see the MATHEM bulk entry in the Simcenter Nastran Quick Reference Guide.

5.9 Gasket material (SOL 402)


Gasket materials are used in many mechanical seals that fill the space between two or more mating
surfaces and generally prevent leakage from or into the joined objects while under a large amount
of compression.
You use the MATG bulk entry to define such material.
MATG can only be used with CHEXA elements with 8 grid points or CPENTA elements with 6 grid
points. There should be only one layer of element elements in the direction of the gasket thickness.
The material law is a fully nonlinear law in the solid thickness direction.
You define the initial yield pressure with the YPRESS field, then you select the loading (and
unloading) material curves with the TABLD and TABLU fields. These curves defined a pressure
versus closure strain behavior:

Pressure-closure relationship for a gasket material


In SOL 402, the thickness direction must be defined with the CORDM field of the PSOLID bulk entry.
There is no automatic detection of the thickness direction as in SOL 601.

5-42 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Material support

5.10 Ply failure theories (SOL 402)


Several failure theories are available in SOL 402 to assess the degradation of the material.
The available formulas are listed below.
You select the failure theory to apply with the FT parameter of the PCOMPS (composite solid) or
PCOMP/PCOMPG/PCOMPG1 (composite shells) bulk entries.
You define the failure criterion limits in the MATFT bulk entry.

Failure index and strength ratio


For composite materials, a failure criterion can be defined with a failure index (FI) or with a strength
ratio (SR).
For example, in an uni-axial tensile situation, the prediction of failures algorithm compares the applied
tensile stress σ and the material tensile strength X:
• The failure index FI is defined as σ / X. Failure occurs once the failure index has a value of 1
or above.

• To know the strength ratio SR by which the stress σ can be multiplied to produce failure (FI = 1):
1 = (SR * σ ) / X.
Then, SR = X / σ.
A simple relationship between the failure index and the strength ratio can be computed as:
SR = 1 / FI.

You control the computation of the ply strength ratios with the PARAM,SRCOMPS parameter:
• When PARAM,SRCOMPS,YES, ply strength ratios are output for composite elements that have
the failure indices requested.

• For shell composites, when PARAM,SRCOMPS,YES, the software computes both the failure
index and the strength ratio.

• For solid composites, when PARAM,SRCOMPS,YES, the software only computes the strength
ratio,and not the failure index.

Tsai-Hill theory

where X, Y, and Z are, either the tensile or compressive strength values, depending on the sign of the
σ1, σ2, and σ3 stress components.
The software automatically makes the choice:
• σ1 >=0, X = XT.
σ1 <0, X = XC.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 5-43
Chapter
Chapter 5: 5: Material
Material support
support

(with T for traction and C for compression).

• σ2 >=0, Y = YT.
σ2 <0, Y = YC.

• σ3 >=0, Z = ZT.
σ3 <0, Z = ZC.

Note
The shear strength values R, S, and T are always positive.

Hoffman theory
In the Hoffman criterion, the same formulation is used for volume, shell, and membrane elements.
The formula only takes the in-plane stress components into account, so it is independent of the
out-of-plane stress components.

where:
• σi are stresses and τij are shear stresses.

• XT and YT are the tensile strength values.

• XC and YC are the compressive strength values.

• The shear strength value R is always positive.

Tsai-Wu theory
In the Hoffman criterion, the same formulation is used for volume, shell, and membrane elements.
The formula only takes the transverse stress components into account in shells.

where:
• σi are stresses and τij are shear stresses.

• XT, YT, and ZT are the tensile strength values.

• XC, YC, and ZC are the compressive strength values.

• The shear strength values R, S, and T are always positive.

5-44 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Material support

• The F12, F23, and F13 are interactions terms.

Maximum strain theory

In the maximum total strain theory, the software compares each of the total strain tensor components
independently with their maximum allowable value.
The total strains are used, including the mechanical strains and the thermal strains.
The six components that will be tested are:

where:
• εi are strains, ɣij are shear strains.

• DTij are the limits in traction, DCij the limits in compression, and DSTij the shear limits.

Maximum stress theory

In the maximum stress theory, the software compares each of the stress tensor components
independently with their maximum allowable value.
The six components that will be tested are:

where:
• σi are stresses and τij are shear stresses.

• XT, YT, and ZT are the tensile strength values.

• XC, YC, and ZC are the compressive strength values.

• R, S, and T are the shear strength values.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 5-45
Chapter
Chapter 5: 5: Material
Material support
support

Maximum transverse shear theory

In the maximum transverse theory, the software compares each of the transverse shear stress
components independently with their maximum allowable value.
The two shear components that will be tested are:
|τ23| < S
and
|τ13| < T
where the shear strength values S and T are always positive.
For more information, see the Ply failure criteria theories in the Samcef documentation.

5-46 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Chapter 6: Boundary conditions

6.1 Constraints
In the Case Control section, an SPC entry is used to select a single point constraint set (s-set) which
will be applied to the structural model. The specified set identification must be identical to the SID
field of an SPC, SPC1 or SPCADD bulk entry. Notice that SPCADD entries take precedence over
SPC or SPC1 entries. If both have the same SID, only the SPCADD entry will be used.
A significant application of SPC is the imposition of boundary conditions. The PS field in the GRID
entry is also able to specify single-point constraints associated with a grid point. Although, these
constraints are so-called permanent constraints which can not be changed during the analysis. An
advantage of using SPC to specify boundary conditions is that these boundary conditions can be
changed from subcase to subcase by selecting a different SPC set inside each subcase.

SPC input summary

• The SPC=n case control command selects either the SPC, SPC1, or SPCADD bulk entry.
The SPC condition can change between subcases.
The SPC entry can optionally be used to define a time-unassigned enforced displacement. It
cannot be defined as time-assigned. That is, it cannot be selected with the EXCITEID on the
TLOAD1 entry. For a time-assigned enforced displacement, you can use the SPCD entry. See
Mechanical Loads for information on the SPCD entry.
The SPCFORCES case control command is supported to request the SPC force output.

6.2 Multipoint constraint


While a single point constraint (SPC) is used to constrain the motion of a degree-of-freedom,
a multipoint constraint (MPC) is used to tie the motion of one degree-of-freedom to other
degrees-of-freedom. The MPC command in the Case Control section is used to select a multipoint
constraint set in the Bulk Data. The specified MPC set identification must appear at least in one
MPC or MPCADD bulk entry. Each MPC bulk entry may be used to define a constraint equation
involving a group of degrees-of-freedom in which the first degree-of-freedom is assumed to be the
dependent degree-of-freedom and included in the m-set. All the degree-of-freedom in m-set will be
condensed out prior to the matrix operations. Their response will be directly recovered from those of
the independent degrees-of-freedom according to the specified constraint equation. MPC conditions
can change from subcase to subcase.

MPC input summary

• The MPC=n case control command selects either the MPC or MPCADD bulk entry.
MPC conditions can change between subcases.
MPCs do not update for large displacements (PARAM,LGDISP,1).

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 6-1
Chapter
Chapter 6: 6: Boundary
Boundary conditions
conditions

6.3 Enforced displacements


Enforced displacements may be specified in the Bulk Data section using SPC or SPCD entries. An
SPC can be used to define time-unassigned enforced displacements. An SPCD can be used to
define time-assigned or time-unassigned enforced displacements. See Boundary conditions and
Mechanical Loads for input details.
Each SPC entry may define enforced displacements for up to two grid or scalar points. Several SPC
entries which reference the same SID may be used if enforced displacements for more than two grid
or scalar points are desired. The only disadvantage of this method is that the entire s-set must be
redefined if the enforced displacement conditions vary among subcases.
If a time-assigned or time-unassigned enforced displacement condition is defined with the SPCD
entry, a constraint must also be defined with the SPC entry on the same DOF referenced by the
SPCD entry.
If multiple enforced displacement conditions are applied to the same DOF, the software uses the
following precedence.
• A time-assigned enforced displacement defined with the SPCD entry, which is referenced by
the EXCITEID on the TLOAD1 entry, will overwrite time-unassigned enforced displacements
defined with the SPCD or SPC entries.

• A time-unassigned enforced displacement defined with the SPCD entry, which is referenced by
the LOAD=n case control command, will overwrite a time-unassigned enforced displacement
defined with the SPC entry.

6-2 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Chapter 7: Loads

7.1 Loads overview


The solution strategy in nonlinear is to apply the loads in an incremental fashion until the desired load
level is reached. The algorithms remember the loads from one subcase to the next.
The methods employed to define loads in SOL 401 and SOL 402 are similar to those used in a
time history solutions. A single degree-of-freedom or a set of GRID points may be loaded with
force pattern that varies with time. Functions may be tabular such as an earthquake or a booster
liftoff, or they may be simple analytic functions such as a sine wave. Simple static load sets may be
used to create the dynamic loads. They may be scaled and combined with other loads to simulate
complex loading problems.
Time history loads define the loadings as functions of time and the location. They can be a load
applied at a particular degree-of-freedom, pressure over the surface area, or the body force simulating
an acceleration. The time history is provided by TLOADi bulk entry.

7.2 Mechanical loads (SOL 401)


Mechanical loads can be defined in SOL 401 as time-assigned or time-unassigned. SOL 401 is a
static solution, and time is only used as the mechanism to increment loads. Time-assigned and
time-unassigned loads can be combined in the same static subcase.
• Load selection in Case Control:
o Time-unassigned loads are selected with the LOAD case control command,
LOAD=n

where n points to a DAREA, FORCDST, FORCE, FORCE1, FORCE2, GRAV, MOMENT,


MOMENT1, MOMENT2, PLOAD, PLOAD1, PLOAD2, PLOAD4, PLOADE1, PLOADX1,
RFORCE, RFORCE1, SLOAD, SPCD, or LOADSET entry.
The LVAR parameter on the NLCNTL bulk entry controls if time-unassigned mechanical loads
are ramped (default), or not ramped for each subcase. The ramping helps convergence by
reducing the load increments. You can optionally turn the ramping off by setting LVAR=STEP
on the NLCNTL bulk entry.

o Time-assigned loads are selected with the DLOAD case control command,
DLOAD=n

where n points to a load set defined by a TLOAD1 bulk entry, or a DLOAD bulk entry if you
want to combine multiple TLOAD1 entries into a single load set.

• Time-assigned load definition in Bulk Data:


o TLOAD1 or TLOAD3 - Defines time-assigned loads.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 7-1
Chapter
Chapter 7: 7: Loads
Loads

TLOAD1 is used to define most time-assigned loads. See Defining the TLOAD1 entry
below. The exception is the distributed force defined with the FORCDST bulk entry.
TLOAD3 is only used to select the FORCDST bulk entry to define a time-assigned distributed
force. See Distributed force to a surface or edge.

o TABLEDi (i=1,2,3,4) - Table that defines the load variation with time.

o DLOAD - Combines several TLOAD1 and TLOAD3 entries.

• Defining the TLOAD1 entry:


o The EXCITEID field on the TLOAD1 entry selects the static load set IDs.

o The supported static load inputs are the DAREA, FORCE, FORCE1, FORCE2, GRAV,
MOMENT, MOMENT1, MOMENT2, PLOAD, PLOAD1, PLOAD2, PLOAD4, PLOADE1,
PLOADX1, RFORCE, RFORCE1, SLOAD, and SPCD bulk entries.

o The TYPE field on the TLOAD1 entry should be “0” for all load inputs selected by the
EXCITEID field, except for the SPCD entry. The SPCD entry requires “1” in the TYPE field.

o A real value is supported in the DELAY field on a TLOAD1 entry to optionally shift the time
steps used to compute the associated loads.

o A temperature load cannot be selected on the EXCITEID field. See Thermal Loads.

o The TID field selects a TABLEDi, which defines a load scaling versus time function.

o The figure below demonstrates how the DLOAD, TLOAD1, FORCE (for example), and
TABLEDi bulk entries relate to one another.

o Load Input Example 1:


When there is more than one time-assigned load set, the DLOAD bulk entry is required:
$2345678$2345678$2345678$2345678$2345678$2345678$2345678$2345678$2345678
$
$ DLOAD COMBINES MULTIPLE TLOAD1 (102 AND 105)
DLOAD 17 1. 1. 102 1. 105
$
$ TIME-ASSIGNED FORCE, EXCITEID=125, TYPE=0 (DEFAULT), TIME FUNCTION TID=13
TLOAD1 102 125 13

7-2 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Loads

$
FORCE 125 80 0 1. 3. 0. 0.
$
$ TIME FUNCTION 13 USED FOR FORCE LOAD
TABLED2 13 0.
+ 0. 0. 1. 100. 2. 0. ENDT
$
$ TIME-ASSIGNED FORCE EXCITEID=3, TYPE=0 (DEFAULT), TIME FUNCTION TID=12
TLOAD1 105 3 1 12
$
FORCE 3 73 0 2. 8. 0. 0.
$
$ TIME FUNCTION 12 USED FOR FORCE LOAD
TABLED2 12 0.
+ 0. 0. 2. 1. ENDT

o Load Input Example 2:

When there is only one time-assigned load set, the DLOAD entry is not required:

$2345678$2345678$2345678$2345678$2345678$2345678$2345678$2345678$2345678
$
$ TIME-ASSIGNED FORCE, EXCITEID=125, TYPE=0 (DEFAULT), TIME FUNCTION TID=13
TLOAD1 102 125 13
$
FORCE 125 80 0 1. 3. 0. 0.
PLOAD 125 100.0 21 30 18 10
PLOAD 125 100.0 10 18 22 25
$
$ TIME FUNCTION 13 USED FOR LOAD
TABLED2 13 0.
+ 0. 0. 1. 100. 2. 0. ENDT
$

• Additional Information about mechanical loads:

o Enforced displacements may be specified using SPC or SPCD entries. See Enforced
displacements.

o Loads in any subcase are total loads as opposed to incremental loads from the previous
subcase. In other words, the ending load from a previous subcase does not become the
initial loading for the consecutive subcase.

o If no load is applied in a subcase, the total load is zero.

o LOAD=n or DLOAD=n defined at the global level is used in all statics subcases unless
a different LOAD=n or DLOAD=n is defined in a subcase.

o If a time-assigned and time-unassigned enforced displacement condition is defined with


the SPCD entry, a constraint must also be defined with the SPC entry on the same DOF
referenced by the SPCD entry.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 7-3
Chapter
Chapter 7: 7: Loads
Loads

o The TSTEP1 bulk entry defines the time step intervals in which a solution will be generated
and output in a static subcase. If your time steps defined by the TSTEP1 entry exceed the
time values defined in your TABLEDi entry, by default, the software will extrapolate the data
defined in the TABLEDi entry. The software will issue a warning if extrapolation occurs. If
you do not want the software to extrapolate the data, you can enter “1” in the EXTRAP
field on the TABLEDi entry.

o In SOL 401, when RFORCE or RFORCE1 entries are referenced by the EXCITEID field on
a TLOAD1 entry, the data on the associated TABLEDi, along with the scale factors S and
Si on a DLOAD entry (if defined), scale the angular velocity (ω) and acceleration (α), which
are used to compute an inertia force in the equation F = [m] [ω x (ω x r)) + α x r]. Since ω is
squared in the force computation, the resulting scaling is not linearly related to the computed
force (F). All other solutions scale the computed force (F).

o The LOADOFF parameter is available on the NLCNTL bulk entry to turn ON or OFF
categories of mechanical loads. The NLCNTL entry can be defined in the global subcase
level and in individual subcases.
The LOADOFF options are as follows.

LOADOFF value Result


LOADOFF=NONE
No loads are turned off.
(Default)
Turns off body loads defined with the GRAV, RFORCE, RFORCE1,
LOADOFF=BODY
ACCEL, and ACCEL1 bulk entries.
Turns off boundary loads defined with the PLOAD, PLOAD1,
PLOAD2, PLOAD4, PLOADE1, PLOADX1, FORCDST, FORCE,
LOADOFF=BOUNDRY
FORCE1, FORCE2, MOMENT, MOMENT1, MOMENT2, and
SLOAD bulk entrires.
Turns off both the BODY and BOUNDRY loads listed above.
When LOADOFF=BOTH is defined, the loads which remain on
LOADOFF=BOTH include temperature loads, initial stress/strain, strains computed
from a bolt preload subcase, enforced displacements, and loads as
a result of contact conditions.

Note
When running SOL 401 in a Simcenter thermal-structural multiphysics analysis,
some mechanical loads such as RFORCE1 are used by both the structural and
thermal solutions. It's important to understand that the LOADOFF parameter is
only turning loads on or off for the Simcenter Nastran structural solution, and not
the thermal solution. In addition, the thermal solution can compute pressure loads
which are then applied in the structural solution. These pressure loads are applied
using the PLOADi entries, and as a result, they will be turned off from the structural
solution when LOADOFF=BOUNDRY is defined.

7-4 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Loads

7.3 Mechanical loads (SOL 402)


Mechanical loads can be defined in SOL 402 as time-assigned or time-unassigned. SOL 402 is a
solution supporting static, dynamic, and preload subcases—time is only used as the mechanism
to increment loads. Time-assigned and time-unassigned loads can be combined in the same
static subcase.
• Load selection in Case Control:
o Time-unassigned loads are selected with the LOAD case control command:
LOAD=n

where n points to FORCE, FORCE1, FORCE2, GRAV, MOMENT, MOMENT1, MOMENT2,


PLOAD, PLOAD1, PLOAD2, PLOAD4, PLOADE1, PLOADX1, RFORCE, RFORCE1, or
SPCD entry.
The LVAR parameter on the NLCNTL2 bulk entry controls whether time-unassigned
mechanical loads are ramped (default) or not for each subcase. Ramping helps convergence
by reducing the load increments. You can optionally turn the ramping off by setting
LVAR=STEP on the NLCNTL2 bulk entry.

o Time-assigned loads are selected with the DLOAD case control command:
DLOAD=n

where n points to a load set defined by a TLOAD1 bulk entry, or a DLOAD bulk entry if you
want to combine multiple TLOAD1 entries into a single load set.

• Time-assigned load definition in Bulk Data:


o TLOAD1 - Defines time-assigned loads.
TLOAD1 is used to define most time-assigned loads. See Defining the TLOAD1 entry below.

o TABLEDi (i=1,2,3,4) - Table that defines the load variation with time.

o DLOAD - Combines several TLOAD1 entries.

• Defining the TLOAD1 entry:


o The EXCITEID field on the TLOAD1 entry selects the load set IDs.

o The supported static load inputs are the FORCE, FORCE1, FORCE2, GRAV, MOMENT,
MOMENT1, MOMENT2, PLOAD, PLOAD1, PLOAD2, PLOAD4, PLOADE1, PLOADX1,
RFORCE, RFORCE1, and SPCD bulk entries.

o The TYPE field on the TLOAD1 entry should be “0” for all load inputs selected by the
EXCITEID field, except for the SPCD entry. The SPCD entry requires “1” in the TYPE field.

o The DELAY field on a TLOAD1 entry is ignored.

o A temperature load cannot be selected on the EXCITEID field. See Thermal Loads.

o The TID field selects a TABLEDi, which defines a load scaling versus time function.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 7-5
Chapter
Chapter 7: 7: Loads
Loads

o The figure below demonstrates how the DLOAD, TLOAD1, FORCE (for example), and
TABLEDi bulk entries relate to one another.

o Example 1 - Load Input


When there is more than one time-assigned load set, the DLOAD bulk entry is required:

$2345678$2345678$2345678$2345678$2345678$2345678$2345678$2345678$2345678
$
$ DLOAD COMBINES MULTIPLE TLOAD1 (102 AND 105)
DLOAD 17 1. 1. 102 1. 105
$
$ TIME-ASSIGNED FORCE, EXCITEID=125, TYPE=0 (DEFAULT), TIME FUNCTION TID=13
TLOAD1 102 125 13
$
FORCE 125 80 0 1. 3. 0. 0.
$
$ TIME FUNCTION 13 USED FOR FORCE LOAD
TABLED2 13 0.
+ 0. 0. 1. 100. 2. 0. ENDT
$
$ TIME-ASSIGNED FORCE EXCITEID=3, TYPE=0 (DEFAULT), TIME FUNCTION TID=12
TLOAD1 105 3 1 12
$
FORCE 3 73 0 2. 8. 0. 0.
$
$ TIME FUNCTION 12 USED FOR FORCE LOAD
TABLED2 12 0.
+ 0. 0. 2. 1. ENDT

o Example 2- Load Input


When there is only one time-assigned load set, the DLOAD entry is not required:

$2345678$2345678$2345678$2345678$2345678$2345678$2345678$2345678$2345678
$
$ TIME-ASSIGNED FORCE, EXCITEID=125, TYPE=0 (DEFAULT), TIME FUNCTION TID=13
TLOAD1 102 125 13
$
FORCE 125 80 0 1. 3. 0. 0.
PLOAD 125 100.0 21 30 18 10
PLOAD 125 100.0 10 18 22 25

7-6 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Loads

$
$ TIME FUNCTION 13 USED FOR LOAD
TABLED2 13 0.
+ 0. 0. 1. 100. 2. 0. ENDT
$

• Additional Information about mechanical loads:


o You can specify the enforced displacements with SPC or SPCD entries. See Enforced
displacements.

o Loads in any subcase are total loads as opposed to incremental loads from the previous
subcase. In other words, the ending load from a previous subcase does not become the
initial loading for the consecutive subcase.

o If no load is applied in a subcase, the total load is zero.

o LOAD=n or DLOAD=n defined at the global level is used in all subcases unless a different
LOAD=n or DLOAD=n is defined in a subcase.

o SPCs are allowed to change between subcases, but the SPCD and MPC boundary
conditions are not allowed to change between subcases.
Unlike most other Simcenter Nastran solutions, SOL 402 does not require a SPC or SPC1
companion card to fix the degrees-of-freedom that also have an imposed displacement. Any
fixation has priority higher than the imposed displacement: the displacement is then ignored
and a warning message is issued.
The absence of companion cards is automatically taken into account by Simcenter Nastran.
However, if you run an input file that was originally exported with companion cards (for
example, as exported by SOL 401), you need to set the SYSTEM CELL 357 to 0 so that
Simcenter Nastran correctly treats the companion cards.

o The TSTEP1 bulk entry defines the time step intervals in which a solution will be generated
and output in a subcase. If your time steps defined by the TSTEP1 entry exceed the time
values defined in your TABLEDi entry, by default, the software will extrapolate the data
defined in the TABLEDi entry. The software will issue a warning if extrapolation occurs. If
you do not want the software to extrapolate the data, you can enter “1” in the EXTRAP
field on the TABLEDi entry.

o When RFORCE or RFORCE1 entries are referenced by the EXCITEID field on a TLOAD1
entry, the data on the associated TABLEDi, along with the scale factors S and Si on a DLOAD
entry (if defined), scale the angular velocity (ω) and acceleration (α), which are used to
compute an inertia force in the equation F = [m] [ω x (ω x r)) + α x r]. Because ω is squared
in the force computation, the resulting scaling is not linearly related to the computed force (F).
All other solutions scale the computed force (F).

7.4 Thermal loads


A thermal load requires a load temperature (Tload), an initial temperature (Tinit), and a reference
temperature (Tref).

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 7-7
Chapter
Chapter 7: 7: Loads
Loads

Thermal strain is calculated by


ε = αload(Tload – Tref) – αinit(Tinit – Tref)
• Tload is the temperature load which induces a thermal strain.

• Tinit is the strain free temperature used in the analysis.

• Tref is the initial temperature used when computing the temperature dependent coefficient of
thermal expansion, and is defined on the MATi entry. See Computing the coefficient of thermal
expansion.

• If either Tload or Tinit are defined, they both must be defined.

• If the coefficient of thermal expansion is defined as temperature dependent with the MATTi
entries, αload is evaluated at Tload, and αinit is evaluated at Tinit .
If the coefficient of thermal expansion is not defined as temperature dependent, αload and αinit are
assigned the single value defined on the MATi entry.

• Tinit is defined using the TEMP(INIT) case control command, and must be the same for all
subcases. Typically, the TEMP(INIT) command is defined globally, and selects one of the
following.
o The TEMP(INIT) can select the TEMP and TEMPD entries in the bulk data.
For example,
...
TEMP(INIT) = 100
...
BEGIN BULK
...
$ Initial temperatures defined in the bulk data
TEMP,100,5,232.0,6,354.4,...etc
...
$ TEMPD defines a temperature for grid points not included on a TEMP entry
TEMPD,100,450.0
...

o The TEMP(INIT) command can select the TEMPEX and TEMPD bulk entries. The TEMPEX
entry references an external BUN file using the unit number defined with an ASSIGN
statement. The unit number must be unique to other BUN files, and to other reserved unit
numbers. The BUN file used to define Tinit must only include a single set of temperature data.
If the BUN file only defines temperatures for a portion of the model (subset), the TEMPD
entry must be included in the bulk data to define a temperature for the grid points not
included in the BUN file.
For example,
...
ASSIGN BUN=‘temperature0.bun’ UNIT=21
...
TEMP(INIT) = 100
...
BEGIN BULK

7-8 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Loads

...
$ Initial temperatures defined in the BUN file
TEMPEX,100,21
$ Temperature for grid points not in the BUN file
TEMPD,100,630.2
...

• There are a variety of options to define Tload. These options can be defined globally and in a
subcase. Any subcase definition will override any global definition. For example, if you define a
time-unassigned Tload globally using the TEMP(LOAD) command, and you define a time-assigned
Tload in a subcase using the DTEMP command, the time-assigned Tload is used for that subcase.

o You can define a time-unassigned Tload with all temperatures defined in the bulk data. The
TEMP(LOAD) case control command selects the TEMP and TEMPD entries in the bulk data.

For example,

...
SUBCASE 5
TEMP(LOAD) = 150
BEGIN BULK
...
$ time-unassigned grid point load temperatures for subcase 5
TEMP,150,74,232.0,23,354.4,...
$ TEMPD defines a temperature for grid points not included on a TEMP entry
TEMPD,150,450.0
...

o You can define a time-unassigned Tload with temperatures defined in an external BUN file.
The TEMP(LOAD) case control command selects the TEMPEX bulk entry and optionally the
TEMPD entry. The TEMPEX entry references the external file using the unit number defined
with an ASSIGN statement. The unit number must be unique to other BUN files, and to other
reserved unit numbers. The BUN file selected with the TEMPEX bulk entry must only include
a single set of temperature data.

If the BUN file only defines temperatures for a portion of the model (subset), the TEMPD
entry must be included in the bulk data to define a temperature for the grid points not
included in the BUN file.
TEMPEX example:

...
ASSIGN BUN=‘temperature1.bun’ UNIT=22
$...
SUBCASE 10
TEMP(LOAD) = 200
BEGIN BULK
...
$ Time-unassigned load temperatures for subcase 10
TEMPEX, 200, 22
$ Temperature for grid points not in the BUN file
TEMPD,200,630.2
...

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 7-9
Chapter
Chapter 7: 7: Loads
Loads

o You can define a time-assigned Tload with temperatures defined in the bulk data or in a BUN
file. The DTEMP case control command selects the DTEMP bulk entry, which defines a list of
time points versus set IDs. The set IDs are either the IDs of TEMP and TEMPD entries in the
bulk data, or the IDs of TEMPEX and TEMPD entries in the bulk data. You cannot combine
TEMP and TEMPEX entries with the same set ID.

Example with TEMP and TEMPD entries in the bulk data:


Note: This example assumes the TEMP entries for temperature sets
500 and 501 define temperatures for all grid points in the model,
but set 502 defines temperatures for a subset.
As a result, a TEMPD is only required for set 502.
...
SUBCASE 15
DTEMP(LOAD) = 250
...
BEGIN BULK
...
$ DTEMP is a list of time points versus set IDs
DTEMP,250,,,,,,,,+
+,.2,500,.4,501,.6,502
...
$ Load temperatures at t=.2
TEMP,500,5,232.0,6,354.4,7,284.2
...
$ Load temperatures at t=.4
TEMP,501,5,234.1,6,356.3,7,287.8
...
$ Load temperatures at t=.6
TEMP,502,5,237.3,6,358.4,7,292.4
$ Temperature for grid points not defined with TEMP entry 502.
TEMPD,502,630.2...

Example with TEMPEX and TEMPD entries in the bulk data:

Note: This example assumes the BUN files for temperature sets
501 and 502 define temperatures for all grid points in the model,
but the BUN file for temperature set 502 only defines for a subset.
As a result, a TEMPD is only required for set 500.
...
ASSIGN BUN=‘temperature1.bun’ UNIT=22
ASSIGN BUN=‘temperature2.bun’ UNIT=23
ASSIGN BUN=‘temperature3.bun’ UNIT=24
...
SUBCASE 15
DTEMP(LOAD) = 250
...
BEGIN BULK
...
$ DTEMP is a list of time points versus set IDs
DTEMP,250,,,,,,,,+
+,.2,500,.4,501,.6,502
...
$ Load temperatures at t=.2
TEMPEX,500,22

7-10 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Loads

$ Temperature for grid points not defined in BUN file


TEMPD,500,345.4
...
$ Load temperatures at t=.4
TEMPEX,501,23
...
$ Load temperatures at t=.6
TEMPEX,502,24
...
$ If the BUN file for t=.2 and t=.4 includes data for all grid points,
the TEMPD is not needed

o You can define a time-assigned Tload with temperatures defined in a single, external BUN
file. The DTEMP case control command selects the DTEMPEX bulk entry, which references
the external file using the unit number defined in the ASSIGN statement. The unit number
must be unique to other BUN files, and to other reserved unit numbers. The single BUN file
selected with the DTEMPEX bulk entry must include temperature data for all grid points, and
for multiple time points. The BUN file can include temperatures for grids which are not in the
model, but unlike the TEMPEX example above, the BUN file selected with the DTEMPEX
cannot define temperatures for only a portion of the model (subset). The TEMPD entry
cannot be combined with the DTEMPEX entry.
DTEMPEX example:

...
ASSIGN BUN=‘temperature.bun’ UNIT=23
$...
SUBCASE 20
DTEMP = 300
BEGIN BULK
...
$ Time-assigned load temperatures for subcase 20
DTEMPEX, 300, 23
...

Additional information:
• The specification of TEMP(MATERIAL) or TEMP(BOTH) are unsupported and will cause a
fatal error if defined.

• The TVAR parameter on the NLCNTL bulk entry for SOL401 or the NLCNTL2 bulk entry for
SOL402 controls if time-unassigned temperature loads selected with the TEMP(LOAD) case
control command are ramped, or not ramped for each subcase.
o When TVAR=RAMP, the software ramps the load temperatures from the final Tload defined
for the previous static subcase to the Tload defined for the current subcase. The software
determines the load temperature increments using the total number of time increments
defined for that subcase. If Tload is not defined in the previous subcase, the software ramps
from Tinit to the current Tload.

o When TVAR=STEP, the load temperatures are not ramped.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 7-11
Chapter
Chapter 7: 7: Loads
Loads

The default is “RAMP” except when Tend1 = 0.0 is (preload subcase) defined on the TSTEP1
entry in the first static subcase. “STEP” occurs in this case.

• For the time-assigned temperature data, the software will interpolate the grid point temperatures
when times are defined between the time points in the data. Although, if a solution time is
outside the data range, the software will use the data at the closest time point, and a warning
will be written to the f06 file.

• In SOL 401, you can turn off the thermal strain computation by defining the parameter setting
THRMST=NO (default=YES) on the NLCNTL bulk entry. This is useful for temperature dependent
material evaluation without thermal loading.
In SOL 402, thermal strain computations are always performed.

• When temperature dependent material properties are defined with the MATTi entries for a
subcase, the properties are evaluated at Tload selected with either the TEMP(LOAD) or DTEMP
case control. Both Tload and Tinit must be defined when temperature dependent properties
are defined.

• In SOL 401, a modal subcase which is not sequentially dependent (SEQDEP=NO) can include
temperature dependent material properties defined with the MATTi entries. The properties are
evaluated at Tload selected with the TEMP(LOAD) case control. The DTEMP case control
command is not supported in a modal subcase. Both Tload and Tinit must be defined when
temperature dependent properties are defined.

• The OTEMP case control command can be included to request solution temperature output.

Computing the coefficient of thermal expansion


You use temperature versus strain (length) test data to compute the temperature dependent
coefficient of thermal expansion (α). This data begins with the test specimen of initial length L at a
reference temperature (Tref). The axial strain (Li) is then measured at consecutive temperatures Ti.
To calculate αi:

7.5 Defining solution time steps (SOL 401)


Mechanical and thermal loads can optionally be defined as a function of time in a static subcase.
These time-assigned loads only use time as the mechanism to increment the loads.
The TSTEP1 bulk entry defines the time step intervals in which a solution will be generated and
output in a static subcase. You include the TSTEP case control command in the static subcase to
select a specific TSTEP1 definition in the bulk data.
The TSTEP1 entry includes the end times (Tendi), the number of increments (Ninci), and the
increment for computing output (Nouti). The start time for a particular subcase depends if it is
sequentially dependent (SD) or not sequentially dependent (NSD).

7-12 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Loads

1 2 3 4 5 6 7 8 9 10
TSTEP1 SID Tend1 Ninc1 Nout1

Tend2 Ninc2 Nout2

Tend3 Ninc3 Nout3

-etc-

TSTEP1 Input Example:


TSTEP1 1 10.0 5 2
50.0 4 3
100 2 ALL

In this example, assuming a start time=0.0 for the subcase, the resulting time steps are as follows.
The time steps in which output occurs are highlighted. Output always occurs at the end time.
The 1st row has an end time of 10.0, 5 increments, and output at every 2nd time step.
Time Step 1 Time Step 2 Time Step 3 Time Step 4 Time Step 5
2.0 4.0 6.0 8.0 10.0

The 2nd row has an end time of 50.0, 4 increments, and output frequency at every 3rd time step.
Time Step 1 Time Step 2 Time Step 3 Time Step 4
20.0 30.0 40.0 50.0

The 3rd row has an end time of 100.0, 2 increments, and output at all time steps.
Time Step 1 Time Step 2
75.0 100.0

In the same example, assuming a start time=5.0 for the subcase, the resulting time steps for the
first row are as follows.
Time Step 1 Time Step 2 Time Step 3 Time Step 4 Time Step 5
6.0 7.0 8.0 9.0 10.0

The 2nd and 3rd row are the same:


Time Step 1 Time Step 2 Time Step 3 Time Step 4
20.0 30.0 40.0 50.0

Time Step 1 Time Step 2


75.0 100.0

Additional Information about TSTEP1:


• No output occurs when Nouti=0.

• Output always occurs at Tendi when Nouti≠0.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 7-13
Chapter
Chapter 7: 7: Loads
Loads

• Tendi must be increasing (Tendi < Tendi+1).

• When Tend1=0.0,
o No other times are allowed. This is the only time for the associated subcase.

o Ninci can be defined.

o Results will output at time = 0.0 if Nouti≠0.

• Nouti controls the frequency of results output. The table below summarizes the input options.

Nout Output frequency


YES Output occurs at all increments defined on TSTEP1.
END Output occurs at the end time.
Output occurs at all increments on TSTEP1 and any software
subincrements.
ALL Note: When Nouti=ALL in the context of the Simcenter 3D Multiphysics
solution, the result output time steps will be a combination of the structural
output steps as well as the coupled time steps.
Integer = 0 No output occurs.
Integer > 0 Output is computed at every Nout increment specific with TSTEP1.
Output occurs only at coupling times. This option can only be defined by
CPLD
the Simcenter 3D Multiphysics environment.

• The start time (Tstart) for a static subcase is determined as follows:


o If a static subcase definition in the case control includes SEQDEP=NO, that subcase is not
sequentially dependent (NSD). The start time for an NSD subcase is 0.0.

o For a sequentially dependent (SD) static subcase (default), the final Tendi from a previous SD
or NSD static subcase is the start time (Tstart) for the current SD subcase. If an SD subcase
has no previous SD or NSD static subcases, the start time is 0.0 for that SD subcase, and
Tend1=0.0 is permitted. Otherwise, Tend1 > Tstart for all other SD subcases.

• If a creep material is included, the software uses adaptive time stepping by default. The adaptive
time stepping can result in additional solution time steps which are not defined by the TSTEP1
entry. See Creep analysis.
Similarly, when running SOL 401 in the context of the Simcenter 3D Multiphysics environment,
additional solution time steps beyond what is defined on the TSTEP1 entries are possible.
For both of these cases, the Nout field on the TSTEP1 bulk entry still determines the frequency of
results output.

7.6 Defining solution time steps (SOL 402)


Mechanical and thermal loads can optionally be defined as a function of time. These time-assigned
loads only use time as the mechanism to increment the loads.

7-14 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Loads

Both the TSTEP and TSTEP1 entries are supported in SOL 402, but it is recommended that you only
use the TSTEP1 entry. You cannot use both definitions in the same model.
When more than one subcase is specified in the case control, the TSTEP1 entry is required in all
ANALYSIS = STATIC, ANALYSIS = PRELOAD, and ANALYSIS = DYNAMICS subcases.
It is not used for modal subcases (MODES, CYCMODES, FOURIER, BUCKLING, and CEIG).

TSTEP1
The TSTEP1 entry includes the end times (Tendi), the number of increments (Ninci), and the
increment for computing output (Nouti).
The start time for a time-based subcase is always the end time from the previous time-based
subcase, regardless of the sequential dependency.
1 2 3 4 5 6 7 8 9 10
TSTEP1 SID Tend1 Ninc1 Nout1

Tend2 Ninc2 Nout2

Tend3 Ninc3 Nout3

-etc.-

Output always occurs at Tendi and every Nouti specified increment.


In ANALYSIS=PRELOAD, Tend is not used since it must be equal to Tstart.
The TSTEP1 entry must be selected with the TSTEP=SID case control command.
Nouti controls the frequency of results output. The table below summarizes the input options in
SOL 402.
Nout Output frequency
YES Output occurs at all increments defined on TSTEP1.
END Output occurs at the end time.
ALL Output occurs at all increments on TSTEP1 and any software sub increments.
Integer = 0 Output occurs at the end time.
Integer > 0 Output is computed at every Nout increment specific with TSTEP1.

Even if NOUT=0, output always occurs at the very end of the subcase.

Automatic time stepping


Automatic time stepping strategy is turned on by default and can be controlled using the AUTOTIM,
DTINIT, DTMIN, DTMAX, EQMFMX, and EQMFMIN parameters of the NLCNTL2 bulk entry.
Time stepping is not allowed for an ANALYSIS=BUCKLING subcase because SOL 402 performs
static buckling.

7.7 Bolt preload (SOL 401)


The bolt preload capability allows you to model bolts with the 3D solid elements CHEXA, CPENTA,
and CTETRA, the 2D plane stress elements CPLSTS3, CPLSTS4, CPLSTS6, and CPLSTS8, and

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 7-15
Chapter
Chapter 7: 7: Loads
Loads

the 1D elements CBAR and CBEAM. A bolt preload subcase is required, and it can include geometric
and material nonlinear conditions.
The input requirements for bolt preloads in SOL 401 are as follows.
• A bolt preload subcase requires the ANALYSIS=PRELOAD and BOLTLD=n case control
commands. The BOLTLD command references a BOLTSEQ, BOLTFRC, or a BOLTLD bulk
entry. Multiple bolt preload subcases can be defined, and they can be defined as sequentially
dependent or nonsequentially dependent. As a result, you can define bolt preload subcases to
apply or remove bolt forces in any sequence. For example, you can apply a tightening sequence
of many bolts before and after service loads are applied.
Note that a subcase with ANALYSIS=STATICS and the BOLTLD=n will cause a fatal error.

• You can use the BOLTSEQ bulk entry to define a sequence of preload steps in a single subcase.
Each sequence step results in an axial bolt strain. The software then applies the resulting axial
strain as an initial condition in consecutive preload steps in a sequence, and in consecutive
sequentially dependent static subcases. A preload step in a sequence includes the following:
o The step number in the sequence.

o The ID of a BOLTLD and BOLTFRC bulk entry to select the bolts and the preloads.

o You use the BOLT bulk entry to select the elements that represent each bolt. The BOLTFRC
entry select the BOLT bulk entry.

o The optional number of increments (Ninc) on the BOLTSEQ entry can be defined to
increment the bolt preloads. This is useful to reduce the bolt preloading steps and help
to solve convergence problems.
Note that the number of increments (Ninc) on the TSTEP1 entry in a bolt preload subcase
increments only temperature loads and contact offsets. It does not increment the bolt
preloads. If you set both the Ninc on the BOLTSEQ entry and Ninc on the TSTEP1 entry,
all of the increments for temperature loads and contact offsets will occur in the first bolt
preload increment.

• You can use the BOLTLD bulk entry to combine and scale bolt preload sets defined with the
BOLTFRC bulk entry..

Bolts in SOL 401 can be defined with the ETYPE=1, ETYPE=2, or ETYPE=3 formats on the BOLT
bulk entry. The ETYPE=2 bolt requests the cut-plane method and the ETYPE=3 bolt requests the
uniform strain method.
When you request the ETYPE=2 cut-plane method, the software cuts the bolt in half, it creates new
grid points such that grid pairs exist at the cut, it creates a glue connection at the cut with the axial
stiffness zeroed out, it evenly distributes the opposing axial bolt force to the grids on each side of
the cut, then it solves a statics solution to determine the axial displacement of each bolt half. The
software then stiffens the axial glue connection which holds the grid pairs in their relative deformed
state for the consecutive subcases.
When you request the ETYPE=3 uniform strain method, the software iterates to determine the
uniform axial strain which produces the axial bolt force you request. The software then reapplies the
computed strain for the consecutive subcases.

7-16 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Loads

Both of the methods produce accurate results, including when the bolt bends or when large rotations
occur with geometry nonlinear. Two advantages of the ETYPE=2 cut-plane method are:
• Since the software does not need to iterate on the axial strain, this method can be more efficient.

• Since the inputs are consistent with SOL 101, it is easier to convert an input file from SOL 101 to
SOL 401.

Note that all of the BOLT bulk entries referenced in the same input file must be either ETYPE=2, or all
ETYPE=3. A fatal error will occur if BOLT entries with both ETYPE=2 and ETYPE=3 are referenced.
Defining a BOLT bulk entry for the cut-plane method (ETYPE=2)
The cut-plane method requires that you use the ETYPE=2 input format on the BOLT bulk entry. With
this format, you list the grid point IDs connected to the element edges (2D bolt) or faces (3D bolt)
where the software will cut the bolt. You define the list of grid points in the Gi fields on the BOLT entry.
You optionally define the CSID and IDIR fields on the BOLT bulk entry:
• The bolt coordinate system can optionally be defined on the CSID field.

• The bolt axial direction can optionally be defined on the IDIR field.

Alternately, if you leave both the CSID and IDIR fields blank, the software will automatically determine
the coordinate system and the bolt axis. In this case, the grid points listed in Gi must be coplanar.
When you define IDIR as non-zero, the software does not determine the bolt axis, and the grid points
listed in Gi do not need to be coplanar. Although, it is recommended that they are approximately on a
plane perpendicular to the bolt axis you defined.

Note
For the NX Nastran 12 release, when using the ETYPE=2 cut-plane method, the grid
points listed in Gi should be coplanar, or at least close to coplanar. If your bolt cut-plane is
not planar, your solution results may not be accurate. If you define a ETYPE=2 bolt with a
non-planar cut-plane, the software will still solve without a warning.
If the grid points listed on Gi are not coplanar, you should use the uniform strain method by
defining the ETYPE=3 bolt.

When you use the cut-plane method and you choose to define your preload on an associated
BOLTFRC bulk entry, you can define your preload on an associated BOLTFRC bulk entry as a
displacement or a force. The STRAIN preload option on the BOLTFRC bulk entry is not supported with
the cut-plane method and will cause a fatal error if defined. If you use the displacement option, the
value you enter is the total shortening of the bolt length as result of your bolt preload. The LEN field on
the BOLTFRC bulk entry which defines the bolt length is ignored when you use the cut-plane method.
Defining a BOLT bulk entry for the uniform strain method (ETYPE=3)
The uniform strain method requires that you use the ETYPE=3 input format on the BOLT bulk entry.
With this format, you list all of the 2D or 3D element IDs which define the bolt.
You optionally define the CSID and IDIR fields on the BOLT bulk entry:

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 7-17
Chapter
Chapter 7: 7: Loads
Loads

• The bolt coordinate system can optionally be defined on the CSID field, and the bolt axial
direction can optionally be defined on the IDIR field.

• Alternately, if you leave both the CSID and IDIR fields blank, the software will automatically
determine the coordinate system and the bolt axis.

You optionally define the GP field on the BOLT bulk entry:


• You can optionally define the GP field identification number of the grid point where the bolt cross
sectional area is calculated. The grid point you enter must be included in the connectivity of
elements that are used to model the bolt. As a best practice, you should select GP such that it is
near the middle of the cross section of the bolt.

• Alternately, if you leave the GP field blank, the software will automatically determine a middle
location to compute the cross sectional area.

Defining a BOLT bulk entry for 1D elements (ETYPE=1)


The 1D bolt definition (ETYPE=1) for SOL 401 is consistent with the definition for linear solutions.
• You use the ETYPE=1 option on the BOLT bulk entry when defining the 1D bolt.

• If you model the bolt with multiple CBAR and CBEAM elements, you only list one of the elements
in the EID1 field on the BOLT entry.

• The same case control commands and bulk entries supported by the 3D and 2D bolts are
also supported for the 1D bolts. This includes the BOLTLD and BOLTRESULTS case control
commands and the BOLT, BOLTLD, BOLTFRC, and BOLTSEQ bulk entries.

• You can use the LOAD and DISP in the TYPE field on the BOLTFRC bulk entry to define a
preload as a force or a displacement, respectively.

• Sequential loading of 1D bolts is supported.

• You can define the BOLTRESULTS case control command to request the output of bolt axial
force, shear forces, bending moments and strains for the 1D bolts.

• SOL 401 requires that all of the BOLT bulk entries must have the same ETYPE. Specifically, they
must all be ETYPE=1, ETYPE=2, or ETYPE=3. A fatal error will occur if BOLT entries with
different ETYPES are referenced.

Bolt preload convergence


With the ETYPE=3 uniform strain method, you can adjust the bolt preload convergence tolerance with
the EPSBOLT parameter (default=1.0E-3), which is defined on the NLCNTL bulk entry. For each
bolt preload iteration, the software computes the difference between the current bolt preload and the
user-defined preload. If the difference is less than value of the EPSBOLT parameter, the bolt preload
calculation is considered converged. If the difference is greater than EPSBOLT, the preload strain is
recomputed for the next bolt preload iteration. The iterations continue until either convergence is
satisfied, or the number of iterations reaches the value of the ITRBOLT parameter (default=20). The
ITRBOLT parameter is also defined on the NLCNTL bulk entry.
The software issues a fatal error message if the bolt preload iterative solution fails to converge. The
convergence information related to bolt preload is listed in the f06 file.

7-18 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Loads

Note: In solution 401, the software iterates until the resulting bolt force matches, within a tolerance,
the bolt preload you requested. The final bolt strain required to achieve the desired bolt force includes
the effects of any other defined loads (thermal loads, contact forces, and conditions from a previous
subcase). For example, if you compare the results from a solution with only bolt preloads defined with
the results from the same model with the addition of thermal loads and contact, the bolt force will be
the same, but the final bolt strain needed to achieve the bolt force will be different.
Zero bolt preload force
The option to define a zero bolt preload force is available. The zero preload is useful, for example, to
predict the plastic axial bolt strain after applying a bolt preload, applying service loads, then finally
unloading the bolt to a zero axial force condition.
When you define a zero bolt preload force, the software iterates on the bolt strain until the zero bolt
force condition is satisfied. The software checks for convergence by checking if P/AE < ZERBOLT,
where
P is the resulting axial bolt force from an applied axial strain value,
A is the area of the bolt cross section,
E is the modulus of the material selected for the elements on the bolt, and
ZERBOLT is a parameter on the NLCNTL bulk entry and defaults to 1.0E-7.
Note that the software considers a bolt preload force to be zero when F/AE < ZERBOLT, where F is
the preload force you requested on the BOLTFRC entry. A preload of 0.0 always satisfies this, but
it is also possible for the preload to be nonzero, yet A and E are large enough for the software to
determine that the zero preload convergence checking should be used.
If the software determines that your requested preload is nonzero, it uses the EPSBOLT parameter to
determine convergence, and not ZERBOLT. See the remarks on the NLCNTL bulk entry.
Loads in a preload subcase
The bolt preload subcase includes the bolt preload forces and can optionally include a temperature
load. No service loads can be defined directly in a bolt preload subcase. A service load is any load
selected with the LOAD=n or DLOAD=n case control commands. Although service loads cannot be
defined directly in a bolt preload subcase, a sequentially dependent bolt preload subcase will maintain
the service loads used in a previous static subcase.
For example, if a dload=n is defined in the previous static subcase, then this definition is used in the
previous subcase and in the bolt preload subcase. If the previous subcase does not include a service
load, but a dload=n is defined globally, then this definition is used in the previous subcase and
in the bolt preload subcase.
The service loads can change the strain and the resulting axial bolt force by either compressing or
separating the bolted joint. The abillity to include service loads in a bolt preload subcase is useful, for
example, if you define your bolt preloads in the first subcase, then you define your service loads in a
single or in consecutive subcases, then you reapply the bolt preloads.
Note that the maintaining of a service load from a previous static subcase is unique to the bolt
preload subcase. For example, if two consecutive sequentially dependent static subcases are
defined and service loads are defined in the first but not in the second, the software will remove the
load in the second subcase.
Constant time bolt preload subcase

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 7-19
Chapter
Chapter 7: 7: Loads
Loads

A sequentially dependent bolt preload subcase must include a TSTEP1 bulk entry defined with a
Tend1 which is the same as the start time for that subcase.
Although the bolt preload subcase does not use time to increment bolt preloads, this provides the
ability to continue a time sequence through an intermediate bolt preload subcase. A consecutive
sequentially dependent static subcase can then continue the time sequence to increment service
loads.
A nonsequentially dependent bolt preload subcase still requires a TSTEP1 bulk entry defined with
Tend=0.0.
Bolted joints with a modeled gap
With the ETYPE=3 uniform strain method, the MISFBLT parameter is available on the NLCNTL
bulk entry to limit the bolt strain from one preload increment to the next. It is useful, for example, if
you model a bolted joint with a gap condition.
The bolt preload algorithm increments the bolt strain as the joint compresses. When a gap is
present, before the joint is compressed, the axial bolt force will be relatively low. As a result, the
preload algorithm will increase the strain increments. Once the gap is closed and the joint begins to
compress, the bolt and contact forces will change quickly, possibly causing the contact conditions
to destabilized. By limiting the bolt preload strain increments, you can reduce the chance of
destablization, and utlimately help achieve convergence.
At the start of a bolt preload solution, the software uses your requested preload force and the bolt
geometry to estimate a bolt strain. The estimated strain (εes) is computed with the assumption that
everything is rigid except for the bolt. The software then computes the maximum allowable strain
increment using the MISFBLT parameter.
Δεmax = εes * MISFBLT
At each preload increment, the software compares Δεmax with the next computed preload increment
Δεi+1. The software uses the smaller of the two at each preload increment.
Bolt preload diagnostic messages in .f06
With the ETYPE=3 uniform strain method, bolt preload diagnostic messages are written to the .f06
file. The MSGLVLB parameter on the NLCNTL bulk entry controls the message level. The MSGLVLB
options are as follows:
MSGLVLB=0: Bolt summary messages are written to the .f06 file upon convergence.
MSGLVLB=1 (default): Bolt summary messages are written to the .f06 file at every bolt preload
iteration.
MSGLVLB=2: Bolt summary messages and load/tolerance messages are written to the .f06 file at
every bolt preload iteration.
MSGLVLB=1 and 2 also require that the MSGLVL parameter, which is also defined on the NLCNTL
bulk entry, be set to 1 (default). When MSGLVL= 0 is defined, the software also forces MSGLVLB
to 0, even if you had defined MSGLVLB=1 or 2. The MSGLVLB 1 and 2 settings will also output a
table of bolt data showing the forces, moments and strains per bolt. This is only written after all bolt
preloads have converged.
The following examples demonstrate the MSGLVLB output options.
MSGLVLB = 0 – The following is output upon convergence.
----- BOLT COUNT ------ ----------- BOLT PRELOADING STATUS-----------

7-20 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Loads

ITERATION TOTAL PRELOADING WITHIN TOL ERROR TOL MAX ERROR


4 1 1 1 1.00E-03 8.80E-05

MSGLVLB = 1 (Default) – The following is output at every bolt iteration.


----- BOLT COUNT ------ ----------- BOLT PRELOADING STATUS-----------
ITERATION TOTAL PRELOADING WITHIN TOL ERROR TOL MAX ERROR
1 1 1 0 1.00E-03 6.21E-01

MSGLVLB = 2 – The following is output at every bolt iteration.


----- BOLT COUNT ------ ----------- BOLT PRELOADING STATUS-----------
ITERATION TOTAL PRELOADING WITHIN TOL ERROR TOL MAX ERROR
1 1 1 0 1.00E-03 6.21E-01
TARGET ACTUAL ERROR WITHIN
BOLT ID PRELOAD PRELOAD RATIO TOL
101 2.00E+08 7.58E+07 6.21E-01 -

MSGLVLB, 1 and 2 – The following is output upon convergence


-----BOLTS SUMMARY UPON CONVERGENCE-----
BOLT ID AREA PRELOAD AXIAL SHEAR1 SHEAR2 MOM1 MOM2 STRN
101 1.00E+02 2.00E+08 2.00E+08 -3.63E-07 1.10E-06 -2.79E+08 -2.79E+08 2.64E-02

Bolt preload results


The BOLTRESULTS case control command is available in SOL 401 to request the bolt force and the
axial strain output. The output is relative to the coordinate system used to define the bolt axis. The
output includes the axial, bending moment, shear forces, and axial strain. It can be written to the .f06,
.op2, and .pch files. The data is written to the OBOLT1 data block in the .op2 file.
The bolt force output is a summation of the forces across the bolt cross section. The bolt force
computation for each force component is similar to cutting the bolt at a point along the axis, then
summing the forces on the faces of one side of the cut. Although the total force components are
not computed on a per element basis, the constant force values computed for the bolt are written
to every element defining the bolt. The result of this is that each bolt will display as a constant
force inside a post processor.

7.8 Bolt preload (SOL 402)


The bolt preload capability allows you to model bolts with either:
• 3D solid elements CHEXA, CPENTA, and CTETRA.

• 2D plane stress elements CPLSTS3, CPLSTS4, CPLSTS6, and CPLSTS8.

• 1D elements CBAR and CBEAM.

A bolt preload subcase is required, and it can include geometric and material nonlinear conditions.

Input requirements

• A bolt preload subcase requires the ANALYSIS=PRELOAD, ANALYSIS=STATICS, or


ANALYSIS=DYNAMICS.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 7-21
Chapter
Chapter 7: 7: Loads
Loads

It also requires a BOLTLD=n case control commands. The BOLTLD case control command
references a BOLTFOR, BOLTFRC, or BOLTLD bulk entry.
Multiple bolt preload subcases can be defined. They can be defined as sequentially dependent
or non-sequentially dependent. As a result, you can define bolt preload subcases to apply or
remove bolt forces in any sequence. For example, you can apply a tightening sequence of many
bolts before and even after service loads are applied.

• You use the BOLT bulk entry to select the elements that represent each bolt.
Bolts can be defined with either the ETYPE=1, ETYPE=2, or ETYPE=3 formats on the BOLT bulk
entry. All three type request the cut plane method. For more information, see Cut plane method.

• You use the BOLTFOR bulk entry to define a preload force on a set of BOLT bulk entries.

• You use the BOLTFRC bulk entry to define a preload enforced displacement (TYPE=DISP)
or a preload force (TYPE=LOAD). SOL 402 does not support a preload strain definition
(TYPE=STRAIN).

• You use the BOLTD bulk entry to combine and scale bolt preload sets that are defined with the
BOLTFOR or BOLTFRC bulk entries.

• You cannot define a sequence of several preload steps in the same subcase. You must define
one unique preload per subcase.

• If the bolt load is defined in an ANALYSIS=PRELOAD subcase, the bolt load will be linearly
ramped starting from the value 0.0 and ending with the bolt load defined for the subcase.
If the bolt load is defined in a subcase that does not include ANALYSIS=PRELOAD (for example,
in a subcase that includes ANALYSIS=STATICS), the bolt load will be applied as a function of
time. The bolt load for this case begins with the value from the end of the previous subcase, and
ends with the bolt load defined for the current subcase.

Cut plane method

In SOL 402, the bolt is always cut. The preload is applied by a force or a relative displacement
between the two parts.

• With a bolt of ETYPE=1, the software cuts the bolt after the first element and add a sensor
element that will be loaded by the preload force or relative displacement.

• With a bolt of ETYPE=2, the cut is defined by a set a point. If all the points are coplanar, the
bolt direction is by default normal to this plane. The preload is applied by the means of a contact
condition.

• With a bolt of ETYPE=3, the cut is computed close to the bolt barycenter. If all the faces belonging
to the cut are coplanar, the bolt direction is by default normal to this plane and the preload is
applied by the means of a contact condition.
In all other cases, the bolt direction is by default the axis corresponding to the minimal inertia of
the bolt (or the maximal inertia if the bolt is very small).

7-22 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Loads

Defining a BOLT bulk entry (ETYPE=1)

The bolt is exclusively made of CBAR or CBEAM elements that you reference in the EIDi fields.

Defining a BOLT bulk entry (ETYPE=2)

In that BOLT bulk entry, you define the cut in the bolt with a list of the grid points that are connected to
the element faces. You define the list of grid points in the Gi fields.
You optionally define the CSID and IDIR fields to specify the bolt direction. But you can leave both
the CSID and IDIR fields blank and let the software automatically compute the coordinate system
and the bolt axis.
If the Gi grid points are not coplanar, you must specify the bolt direction with the CSID and IDIR fields.

Defining a BOLT bulk entry (ETYPE=3)

In that BOLT bulk entry, you list all of the 2D or 3D element IDs that define the bolt.
If all the faces belonging to the cut are coplanar, the software computes by default the bolt direction
that is normal to this plane and the preload is applied by the means of a contact condition.
In all other cases, the bolt direction is by default the axis corresponding to the minimal inertia of the
bolt (or the maximal inertia if the bolt is very small).
However, you can specify that direction with the CSID and IDIR fields. In this case, a sensor element
is introduced in order to apply the preload.
You optionally define the GP field that defines grid point where the bolt cross sectional area is
calculated.

Bolt preload convergence

For all the three ETYPE of bolts, you can improve the bolt preload convergence tolerance with the
NLCNTL2 bulk entry. For example, you can release the convergence criterion (PRCR field) that has
relatively severe by default (1.0E-3) or you can switch to an energy criterion instead of the force
criterion (PRCR=1. 0 and PRCE=1.0E-4 for example).
You can also specify the number of increments during a static constant-time subcase using the Ninc1
parameter that is defined in the STEP1 bulk entry. This is useful to help convergence.

Zero bolt preload force

A zero bolt preload force can be used to disable a previous bolt preload.

Loads in a preload subcase

The bolt preload subcase includes the bolt preload forces and can optionally include a temperature
load. No service loads can be defined directly in a bolt preload subcase. A service load is any load
selected with the LOAD=n or DLOAD=n case control commands. Although service loads cannot be
defined directly in a bolt preload subcase, a sequentially dependent bolt preload subcase will maintain
the service loads used in a previous static subcase.
For example, if a DLOAD=n is defined in the previous static subcase, then this definition is used in
the previous subcase and in the bolt preload subcase. If the previous subcase does not include a

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 7-23
Chapter
Chapter 7: 7: Loads
Loads

service load, but a DLOAD=n is defined globally, then this definition is used in the previous subcase
and in the bolt preload subcase.
The service loads can change the strain and the resulting axial bolt force by either compressing or
separating the bolted joint. The ability to include service loads in a bolt preload subcase is useful, for
example, if you define your bolt preloads in the first subcase, then you define your service loads in a
single or in consecutive subcases, then you reapply the bolt preloads.
Note that the maintaining of a service load from a previous static subcase is unique to the bolt
preload subcase. For example, if two consecutive sequentially dependent static subcases are
defined and service loads are defined in the first but not in the second, the software will remove the
load in the second subcase.

Constant time bolt preload subcase


A sequentially dependent bolt preload subcase must include a TSTEP1 bulk entry defined with a
Tend1 that is the same as the start time for that subcase.
Although the bolt preload subcase does not use time to increment bolt preloads, including a TSPET1
bulk entry provides the ability to continue a time sequence through an intermediate bolt preload
subcase. A consecutive sequentially dependent static subcase can then continue the time sequence
to increment service loads.
A non sequentially dependent bolt preload subcase still requires a TSTEP1 bulk entry defined with
Tend=0.0.

Bolt preload diagnostics in the .f06 log file


Depending on the bolt ETYPE, the following messages can help you to diagnose issues.
For ETYPE=1 bolts
Message label Explanation
%%%E01-OP2BO01: element is not a rod or a
One element of the bolt is not a CBAR or CBEAM.
beam

For ETYPE=2 bolts


Message label Explanation
All the grid points defining the cut are not
%%%E01-OP2BO02: the points are not
coplanar. The software cannot compute the bolt
coplanar: Bolt direction is mandatory
direction. You must provide the bolt direction.
Although the direction of the bolt has been
%%%E06-OP2BO03: not consistent bolt
defined, the given grid points do not make a cut
definition.
that effectively cuts the bolt.

For ETYPE=3 bolts


Message label Explanation
%%%I01-OP2BO03: IDIR parameter null or
blank The direction of the bolt axis is automatically The direction of the bolt is not defined. Therefore,
computed. the software automatically computes it.
Bolt Axis: _ _ _

7-24 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Loads

Message label Explanation


All the faces belonging to the cutting plane do not
cut the bolt and the bolt direction is not provided.
%%%W01-OP2BO03: no cutting plane found.
The software will automatically compute the bolt
Check the bolt axis.
axis, but it is recommended that you check the
computed direction.
%%%E06-OP2BO03: not consistent bolt The mesh of the bolt prevents the software from
definition finding a set of faces that cut the bolt.
The three bolt main inertia values are too close
%%%E08-OP2BO03: not possible to find the bolt
and the software cannot compute the bolt axis.
direction. Please give the bolt direction.
You must explicitly provide that direction.

Bolt preload results

The BOLTRESULTS case control command requests the bolt force and the axial strain output. The
output is relative to the coordinate system used to define the bolt axis. The output includes the axial,
bending moment, shear forces, and axial strain. It can be written to the .f06 and .op2 files. The data is
written to the OBOLT1 data block in the .op2 file.
The bolt force output is a summation of the forces across the bolt cross section. The bolt force
computation for each force component is similar to cutting the bolt at a point along the axis, then
summing the forces on the faces of one side of the cut. Although the total force components are
not computed on a per element basis, the constant force values computed for the bolt are written
to every element defining the bolt. The result of this is that each bolt will display as a constant
force inside a post processor.

7.9 Initial stress-strain (SOL 401)


Defining an initial stress or strain condition
The option to define an initial stress or strain condition is available on all elements in SOL 401
except for beam elements, shell elements, plane strain elements, generalized plane strain elements,
solid composite elements, and rigid elements.
An unbalanced initial stress-strain results in deformation when applied to an unconstrained body
with the possibility of residual stress.
Note that the definition of a Simcenter Nastran unbalanced initial stress-strain references the
unconstrained body, although, an initial stress-strain can be applied to constrained or unconstrained
models.
A balanced initial stress-strain results in a self-equilibrating stress state and no deformations. See
Balanced initial stress-strain section below.
You define the initial stress or strain with the INITS case control command, which selects the INITS
bulk entry. The INITS case control command must be defined globally, above the subcases. It
is reapplied in every static subcase.
The first row on the INITS bulk entry includes the following fields.
• The TYPE field defines the data type: TYPE=STRESS or TYPE=STRAIN

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 7-25
Chapter
Chapter 7: 7: Loads
Loads

• The CSYS field selects the coordinate system for the stress or strain components. The default is
the basic coordinate system. CSYS = -1 can also be defined to select the material system.

• The LOC field defines the location:


LOC= GRID: Specifies that data is defined at grid points.
LOC= NOE: Specifies that data is defined on an element at grid locations. This can include
corner and/or midside grid locations.

You define the stress or strain data on the consecutive rows on the INITS entry. The software
assumes the data is either engineering stress or engineering strain. The format of these rows
depends on the data location defined in the LOC field, and the element type.
Format for the 3D solid elements CTETRA, CHEXA, CPENTA and CPYRAM:
Stress at grid points (TYPE=STRESS, LOC=GRID):
GRID ID Sxx Syy Szz Sxy Syz Szx
....

Strain data at grid points (TYPE=STRAIN, LOC=GRID):


GRID ID Exx Eyy Ezz Exy Eyz Ezx
...

Stress data at the element corners (TYPE=STRESS, LOC=NOE):


ElemID GRIDID Sxx Syy Szz Sxy Syz Szx
...

Strain data at the element corners (TYPE= STRAIN, LOC=NOE):


ElemID GRIDID Exx Eyy Ezz Exy Eyz Ezx
...

For the plane stress elements CPLSTS3, CPLSTS4, CPLSTS6, CPLSTS8, the software uses both
in-plane and out-of-plane initial strain values. Although, only in-plane initial stress values are used.
For example, the following formats should be used when the plane stress elements are defined on
the XY plane, and the basic coordinate system (default) is used. For elements defined on the XZ
plane, Sxx, Szz, Szx or Exx, Eyy, Ezz, Ezx would be defined.
Stress data at grid points (TYPE=STRESS, LOC=GRID):
GRID ID Sxx Syy Sxy
...

Strain data at grid points (TYPE=STRAIN, LOC=GRID):


GRID ID Exx Eyy Ezz Exy
...

Stress data at the element corners (TYPE=STRESS, LOC=NOE):


ElemID GRIDID Sxx Syy Sxy
...

Strain data at the element corners (TYPE= STRAIN, LOC=NOE):


ElemID GRIDID Exx Eyy Ezz Exy
...

For the axisymmetric elements CQUADX4, CQUADX8, CTRAX3, CTRAX6, in-plane (radial and
axial) and out-of-plane (theta) initial stress or strain values are used by the software. For example,
the following formats should be used when the axisymmetric elements are defined on the XY plane,

7-26 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Loads

and the basic coordinate system (default) is used. For elements defined on the XZ plane, Sxx,
Szz, Szx or Exx, Ezz, Ezx should be defined.
Stress data at grid points (TYPE=STRESS, LOC=GRID):
GRID ID Sxx Syy Szz Sxy
...

Strain data at grid points (TYPE= STRAIN, LOC=GRID):


GRID ID Exx Eyy Ezz Exy
...

Stress data at the element corners (TYPE=STRESS, LOC=NOE):


ElemID GRIDID Sxx Syy Szz Sxy
...

Strain data at the element corners (TYPE= STRAIN, LOC=NOE):


ElemID GRIDID Exx Eyy Ezz Exy
...

For the plane stress and axisymmetric elements, if you select a coordinate system other than the
basic system in the CSYS field on the INITS entry, the software first transforms the data into the basic
system, and then uses the components consistent with the formats described above.
The option to output the initial strains using the OSTNINI case control command is available. The
output can be requested at either the grid or corner Gauss locations on elements. The OSTNINI
command must be defined globally, and the output occurs once at the beginning of the solution. The
strains are output in the basic coordinate system.
Balanced initial stress-strain
A method is available which you can use to balance an unbalanced initial stress-strain. The method
removes the unbalanced part by removing the strains which produce a deformation. For example,
since approximate methods are used to measure residual stress, the application of the residual stress
in your finite element analysis as an initial condition may not result in a state of complete equilibrium,
and instead may result in both residual stress and deformation.
After you use the balancing method, your initial stress-strain will produce a self-equilibrating stress
state and no deformations.
The method requires that a part of your unbalanced initial stress-strain is actually balanced.
The balancing method requires that you first run a static offset-solution to obtain the total strain output
as a result of your unbalanced initial stress-strain with the model unconstrained. You only apply the
unbalanced initial stress-strain in the offset solution. No temperature loads, mechanical loads, or
enforced displacements are applied for this step.
Since there is no thermal strain {εth}, the total strain output {ε} from the offset-solution is computed as:
{ε} = {εe} + {εin} - {ε0}
where,
{ε} = total strains you can request with the STRAIN case control command,
{εe} = elastic strains you can request with the ELSTRN case control command,
{εin}= inelastic strains you can request with the PLSTRN or CRSTRN case control commands,
{ε0} = initial strains you can request with the OSTNINI case control command.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 7-27
Chapter
Chapter 7: 7: Loads
Loads

The part of the unbalanced initial stress-strain {ε0} which yields a stress is included in the elastic strain
{εe} and possibly the inelastic strain {εin} if you have included any nonlinear materials. After removing
{εe} and {εin} from the unbalanced initial stress-strain {ε0}, the total strain {ε} output from the offset
solution includes only the part of the initial stress-strain which causes deformation.
You will use the total strain {ε} output from the offset-solution as an offset strain {εoff} in the
consecutive solution.
The total strain output is requested with the STRAIN=ALL case control command. If your model
contains multiple components, each with a unique balanced initial strain, you can run an offset-solution
for each component separately. The offset strains can be used in a consecutive assembly solution.
Note that, regardless if your initial stress-strain is applied to all locations on a component or to only a
portion, the offset strains are the total strains at all locations on that component.
To allow the static offset-solution to complete with the unconstrained condition, a matrix stabilization
option is available. Setting the parameter MSTAB to 1 on the NLCNTL bulk entry will turn on the
option. In addition, the MSFAC parameter is available to define a scale factor for matrix stabilization.
Specifically, when you define MSTAB=1, the software scales the diagonal terms by the factor
(1+MSFAC).
Balanced solution
Once your offset strains are computed, you can run the consecutive balanced solution that includes
your initial stress-strain {ε0}, your offset strain {εoff}, and any other loads (temperature loads,
mechanical loads, enforced displacements).
You can optionally run a consecutive balanced solution as unconstrained with only your initial
stress-strain {ε0} and your offset strain {εoff} to verify that the strain offsets have removed all
deformation leaving only the stress state. You can use the matrix stabilization option (MSTAB=1) in
the verification solution if you choose to keep your model unconstrained for this step. Finally, you
can apply initial stress-strain {ε0} and your offset strain {εoff} in a balanced component or assembly
solution which includes any load types and constraints.
During the balanced solution, the offset strains are included in the internal force calculation to
compensate for the deformations caused by your initial stress-strain. See Balanced stress-strain
computation for details.
Defining a balanced initial stress or strain condition
The INITS(OFFSET) case control command and INITSO bulk entry are available to input the offset
strain. Multiple INITSO bulk entries can be combined with the existing INITADD bulk entry.
You define the initial stress-strain with the INITS case control command, which selects the INITS bulk
entry. You can also define multiple INITS bulk entries, each with a unique ID, and then combine them
using the INITADD bulk entry. The INITADD entry is selected with the ID on the INITS case control.
The INITS case control command must be defined globally, above the subcases. It is reapplied in
every static subcase.
The software does not need to associate a balanced initial stress-strain definition with an offset strain
definition in the balanced solution. As a result, the SID defined on the INITS(OFFSET) command
selecting your offset strains, and the SID defined on the INIT command selecting your unbalanced
initial stress-strain can match, or not match. There is no software requirement either way.
Multiple initial stress-strain at the same location

7-28 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Loads

You can define multiple unbalanced and balanced initial stress-strain at the same location. They can
also be defined using different coordinate systems. The software first converts all stress definitions to
strain, then it transforms all strain into the basic coordinate system, and finally it adds the strains
defined at common locations.
Balanced stress-strain computation
The reference (modeled) configuration of a component with balanced initial stress/strain includes
initial strains. Therefore, under the deformation field resulting from combined initial strains and
service loads, the total strains measured from the reference configuration is given by:
{ε} = f({u}) + {εoff}
where,
f({u}) = [B]{u}
with [B] being the strain displacement matrix for small strain formulation.
The total strains are decomposed as:
{ε} = {εe} + {εth} + {εin} - {ε0}
where,
{ε} = total strains which you can request with the STRAIN case control command,
{εe} = elastic strains you can request with the ELSTRN case control command,
{εth} = thermal strains you can request with the THSTRN case control command,
{εin} = inelastic strains you can request with the PLSTRN case control command,
{ε0} = initial strains you can request with the OSTNINI case control command.
The elastic strains are obtained as,
{εe} = {ε} - {εth} - {εin} + {ε0}
In terms of balanced strain offsets, and assuming small strain formulation, the elastic strains are
given by
{εe} = [B]{u} - {εth} - {εin} + ({ε0} + {εoff})
For components in the model without initial strains, {ε0} = {0} and {εoff} = {0}. For the components with
unbalanced initial strains, {εoff} = {0}.
Note that if you request the total strain output {ε} for the balanced solution with the STRAIN case
control command, the software will add the offset strain back to the total as if it was never removed for
the solution. As a result, the total strain computation when a balanced initial stress-strain is defined is
the same as when an unbalanced initial stress-strain is defined.
Converting an initial stress to an initial strain
If you define an initial stress {σ0}, the software converts this to a corresponding initial strain {ε0} by
using the elasticity matrix {D0} at the reference temperature Tref.
{ε0} = {D0}-1 {σ0}
Additional information:
• Initial stress and strain can be defined on a subset of the model. The software assumes a value
of 0.0 at the locations where data is undefined. An exception is when data is undefined at a

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 7-29
Chapter
Chapter 7: 7: Loads
Loads

mid-side grid point, and data is defined at both or either related corners. In this case, the software
interpolates a value for that mid-side grid point.

• The option to apply an initial stress or strain condition before applying other loads in an initial
subcase is available to help convergence. The first subcase should have Tend=0.0 on the
TSTEP1 entry and no load set selected. The number of increments can optionally be defined
with NINC on the TSTEP1 entry to increment the initial stress or strain. When NINC=1 (default),
the initial stress or strain is applied in a single step. When NINC>1, the initial stress or strain is
ramped. A service load cannot be defined when ramping initial stress or strain with NINC>1.

• The software converts an initial stress to an initial strain using the elastic modulus defined on
the MATi entries. If you define MATTi bulk entries to define the elastic modulus as temperature
dependent, the software uses the initial temperatures selected by the TEMPERATURE(INIT)
case control command to evaluate the temperature dependent elastic modulus. Data on the
MATS1 bulk entry, if defined, is not used to convert stress to strain.

• You can define multiple INITS bulk entries, each with a unique ID, and then combine them using
the INITADD bulk entry. The INITADD entry is selected with the ID on the INITS case control. The
INITS entries selected by the INITADD entry must be all TYPE=STRESS or all TYPE=STRAIN.
As a result, you cannot mix initial stress and initial strain definitions in the same input file.

• If you define data on the same grid or element corner location, a fatal error occurs.

7.10 Distributed force to a surface or edge (SOL 401)


You can request that the software use forces and moments that you define at a single point to
automatically compute and apply a traction to a surface or edge region. The software computed
traction has a specific form and is described in the Traction computation details section.
You use the FORCDST bulk entry to define the point location, an optional point location offset, the
forces and moments at the point, and to select the element or edge regions for the traction location.
The element and edge regions that receive the traction are defined as follows.
• You use the BSURF entry to create face regions on the shell elements CTRIA3, CTRIA6,
CTRIAR, CQUAD4, CQUAD8, and CQUADR.

• You use the BSURFS entry to create face regions on the solid elements CHEXA, CPENTA,
CPYRAM, and CTETRA.

• You use the BEDGE entry to create edge regions on the following elements:
Axisymmetric elements CTRAX3, CQUADX4, CTRAX6, CQUADX8.
Plane stress elements CPLSTS3, CPLSTS4, CPLSTS6, CPLSTS8.
Chocking elements CCHOCK3, CCHOCK4, CCHOCK6, CCHOCK8

You have the option on the FORCDST bulk entry to define the single point location for your forces
and moments at a grid point, at a coordinate system origin, or at the centroid of the surface or edge
region you have selected to receive the traction. The software automatically computes the centroid
location of the surface or edge region.

7-30 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Loads

For a time-unassigned load, you reference the SID of the FORCDST bulk entry and any other
mechanical loads with the LOAD=n case control command either in a subcase or above the subcases
(globally).
For example,
...
SUBCASE 5
LOAD = 150
BEGIN BULK
...
$ TIME-UNASSIGNED LOADS FOR SUBCASE 5
FORCDST,150,10,,CNTRD,,,,,+
+,1.0,23.4,428.6,84,2,49.7,7846.4,5876.5
...
RFORCE,150,5,,-6.4,0.0,0.0,1.0,2
...

For a time-assigned load, you must select the FORCDST bulk entry with the EXCITEID on the new
TLOAD3 bulk entry. The TLOAD3 entry includes six TID fields that you can use to independently
scale the three force and the three moment components with time by referencing a unique TABLEDi
entry for each. You can also reference the same TABLEDi entry for any or all TID fields to define the
same load variations. The FORCDST entry is the only load you can select with the TLOAD3 entry.
All other time-assigned mechanical loads are selected by the EXCITEID of the TLOAD1 bulk entry,
which scales all referenced loads consistently with time. You can combine TLOAD1 and TLOAD3
entries into a single load set with the DLOAD bulk entry.
For example,
...
SUBCASE 5
$DLOAD CASE CONTROL SELECTS THE DLOAD BULK ENTRY
DLOAD = 250
BEGIN BULK
...
$DLOAD BULK ENTRY COMBINES TLOAD3 (ID=302) and TLOAD1 (ID=305)
DLOAD,250,1.,1.,302,1.,305
...
$TIME-ASSIGNED FORCDST, EXCITEID=125, TIME FUNCTION FOR EACH COMPONENT
TLOAD3,302,125,,,,,,,+
+,,401,402,403,501,502,503
...
FORCDST,125,10,,CNTRD,,,,,+
+,1.0,23.4,428.6,84.2,49.7,78.4,56.5
...
$SOLID ELEMENT REGION TO RECEIVE TRACTION
BSURFS,10,,,,8,10,15,40,+
+,12,15,20,45,16,20,25,50,+
+,24,35,40,65,28,40,45,70,+
+,32,45,50,75,40,60,65,90
...
$TIME FUNCTIONS FOR EACH COMPONENT DEFINED ON FORCDST
TABLED2,401,0.,+
+,0.,0.,1.,100.,2.,0.,ENDT
TABLED2,402,0.,+
+,0.,0.,1.,120.,2.,0.,ENDT

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 7-31
Chapter
Chapter 7: 7: Loads
Loads

TABLED2,403,0.,+
+,0.,0.,1.,140.,2.,0.,ENDT
TABLED2,501,0.,+
+,0.,0.,1.,80.,2.,0.,ENDT
TABLED2,502,0.,+
+,0.,0.,1.,90.,2.,0.,ENDT
TABLED2,503,0.,+
+,0.,0.,1.,100.,2.,0.,ENDT
...
$TIME-ASSIGNED RFORCE, EXCITEID=150, TIME FUNCTION TID=13
TLOAD1,305,125,13
$TIME FUNCTION 13 USED FOR FORCE LOAD
TABLED2 13 0. + 0. 0. 1. 100. 2. 0. ENDT
RFORCE,150,5,,-6.4,0.0,0.0,1.0,2
...

The FORCDST bulk entry includes the optional point location offset. This offset is simply added to the
point location defined on the FORCDST bulk entry. The software does not scale the point location or
the offset with time. The TABLEDi entry you reference from a TID field only scales the associated force
or moment value. As a result, the location of the forces and moments remain constant for a solution.
The software always computes the traction based on the undeformed configuration. It does not take
into account large displacements or rotations when recomputing the traction at a time step.
Traction computation details
Figure 7-1 shows an example element patch to illustrate the procedure. You define the FORCDST
bulk entry to apply the forces and moments at point D or optionally at the centroid (C), and to select
the element patch where the software computes and applies the traction.

Figure 7-1. Element patch and load locations


The software computes the centroid (C) of the element patch. If you defined your forces and moments
at D, the software transfers them to an equivalent system at C using a rigid link transformation,

7-32 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Loads

where is the vector from C to D.


If you define your forces and moments at the centroid location (C), the software skips the step of
transfering the forces and moments from location D to C.
A local coordinate system is computed on the patch using the eigenvectors of the inertia matrix. The
eigenvector associated with the largest eigenvalue is the x3 direction. This direction is perpendicular
to a flat surface or approximately perpendicular to a curved surface. The next two eigenvectors
become the x1 and x2 directions, respectively.
The software will compute the following traction on the patch:

where are the coordinates of the patch grid points relative to the local patch coordinates
.
The assumption is that the computed traction must satisfy the following requirements.
• The resultant force computed using the forces from all grid points on the patch must equal the
force resultant at C.

• The resultant moment computed using the moments from all grid points on the patch must
equal the moment resultant at C.

Rearranging the terms in the traction gives:

The traction vector is written as a superposition of six traction loads:

The six traction load cases are as follows (per unit surface area or per unit length).

is a uniformly distributed load of unit intensity in the direction.

is a linearly varying load in the direction.

is a linearly varying load in the direction.

is a uniformly distributed load of unit intensity in the direction.

is a uniformly distributed load of unit intensity in the direction.

is a linearly varying load in the and directions.

The grid point force vector due to surface traction is given by integrating over the entire patch:

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 7-33
Chapter
Chapter 7: 7: Loads
Loads

Substituting into the equation above gives:

Each term can be written as a grid point force vector:

The grid point force vector for the patch is a linear combination of the grid point force vectors from
each load case:

The original total load requirements are applied here. This results in a 6x6 system of equations that
the software uses to solve for C1, C2, …C6.
• The resultant force of all grid point forces on the patch must be the same as the forces at point C.
The resultant force is computed by:

• The resultant moment of all grid point forces on the patch must be the same as the moments at
point C. The resultant moment is computed by:

where is the grid point position with respect to the centroid (C).

There are now six equations to solve for the six unknowns C1, C2, ….,C6.

These equations are resolved into scalar equations.

7-34 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Loads

The software uses the following 6x6 matrix to compute C1, C2, ….,C6.

For time-unassigned loads, this matrix is used once to compute C1, C2, ….,C6.
For time-assigned loads, this matrix is reused to recompute C1, C2, ….,C6 at each time step. The
right-hand side is updated with the updated force and moment values at each time step.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 7-35
Chapter 8: Contact conditions (SOL 401)

8.1 Contact Overview


SOL 401 supports surface-surface and edge-edge contact. The algorithm supports large
deformations and finite sliding between contact pairs. For large deformation problems (LGDISP>-1),
the contact stiffness and contact forces are rotated with the geometry consistent with other element
formulation in SOL 401. In addition, the SOL 401 contact algorithm updates the geometry and pairing
when there is finite sliding between the contacting surfaces.
Contact is modeled using a contact set, contact regions, contact segments and contact pairs.
The table below lists the case control commands and bulk entries used to define contact.
Contact definition summary

Case control commands:


BCSET Selects a contact set.
BCRESULTS Selects contact results to output.

Bulk entries related to edge or surface definition:


BSURF Defines contact region on shell elements.
BCPROP Defines contact region on shell elements by property ID.
BSURFS Defines contact region on 3-D solid elements.
BCPROPS Defines contact region on 3-D solid elements by property ID.
Defines contact region on 2-D axisymmetric, chocking, plane strain
BEDGE
and plane stress elements.
BCRPARA Defines parameters for contact region.

Bulk entries related to contact set definition:


BCTSET Defines the contact sets.
BCTADD Defines a union of contact sets.
BCTPARM Defines parameters for contact sets.

8.2 Contact Subcase Control


The BCSET case control command selects the contact conditions defined in the bulk data. The
BCSET command can be defined in any static, dynamic, or bolt preload subcase type. For example,
you can remove or add contact regions and pairs, and change contact settings including parameters,
from one static or preload subcase to the next.
The modal, cyclic, and Fourier subcase types which are sequentially dependent (default) use the final
stiffness from a previous static or bolt preload subcase. The final stiffness from a static, dynamic, or
preload subcase includes the contact stiffness.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 8-1
Chapter
Chapter 8: 8: Contact
Contact conditions
conditions (SOL(SOL
401) 401)

Contact conditions are supported with the restart capability.


Note that if a subcase is sequentially dependent and it includes a new contact set, any contact
tractions from a previous subcase will be used as an initial condition for the current subcase. The
previous tractions define the initial condition for the newly formed contact elements.

8.3 Contact Definition


Edge Contact Regions
An edge contact region is a collection of axisymmetric, chocking, plane strain, and plane stress
element free edges in a section of the model where you expect contact to occur. You create edge
regions with the BEDGE bulk entry.
• To define a contact edge using the BEDGE entry, you enter the element ID along with the corner
GRID IDs. You can define the edges on the BEDGE entry in any order.

Edge-to-edge contact can be defined on the edges of the following elements:


• Axisymmetric elements CTRAX3, CQUADX4, CTRAX6, CQUADX8.

• Chocking elements CCHOCK3, CCHOCK4, CCHOCK6, CCHOCK8.

• Plane stress elements CPLSTS3, CPLSTS4, CPLSTS6, CPLSTS8.

• Plane strain elements CPLSTN3, CPLSTN4, CPLSTN6, CPLSTN8.

The axisymmetric, chocking, plane stress, and plane strain elements can be defined in either the XZ
plane or in the XY plane. Edge-to-edge contact is supported in either orientation. The generalized
plane strain element is not supported by glue or contact regions.
Surface Contact Regions
A surface contact region is a collection of element free faces in a section of the model where you
expect contact to occur. These regions can be created using the shell elements (BSURF and
BCPROP) and using solid element free faces (BSURFS and BCPROPS).
• The BSURF entry is defined by its own unique ID and is a list or range of shell element IDs to
include in the region.

• The BCPROP entry is defined by its own unique ID and is a list of shell element property IDs.
Shell elements which use any of these listed property IDs will be included in the region.

• The BSURFS entry is defined by its own unique ID and is a list of solid element IDs each followed
by 3 grid points defining which face of the 3-D element to include in the contact region.

• The BCPROPS entry is defined by its own unique ID and is a list of solid element property IDs.
The free faces of the solid elements selected with a property ID are automatically determined
by the software.

Surface-to-surface contact can be defined on the faces of the following elements.


• 3-D Solid elements CHEXA, CPENTA, CPYRAM, and CTETRA.

8-2 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Contact conditions (SOL 401)

• Shell elements CTRIAR, CQUADR, CTRIA6, CQUAD8, CQUAD4, and CTRIA3.

A contact surface can be defined with any face of a solid element. Although parabolic faces with
omitted midside grid points are permitted, their use could affect accuracy. All region IDs defined with
the BSURF, BCPROP, BSURFS, BCPROPS, and BEDGE entries must be unique.

Contact Region Parameters

The contact region parameter OFFSET can be defined using the BCRPARA bulk entry. The CRID
field on BCRPARA must match the ID used on one of the BSURF, BCPROP, BSURFS, BCPROPS,
and BEDGE bulk entries to be considered by the solution. The OFFSET parameter is supported with
surface-to-surface and edge-to-edge contact definitions.

Use the OFFSET field to account for a rigid layer between contact face or edge regions. For example,
a model which has two metal surfaces coming into contact, and one of these has a ceramic coating.
If the ceramic material stiffness is not significant enough to be included in the analysis, it may not
have been specifically modeled, but the thickness it adds to the face of the metal may be important
when considering the contact problem.

You can also use the OFFSET field to analyze an interference fit problem if unconnected elements
are modeled coincident. The offset value in this example can represent the theoretical interference.

• The option to increment contact offsets is available. For subcases which have a constant time*,
the software automatically increments the contact offset using the number of increments. The
number of increments is defined with either the Ninc field on the TSTEP1 entry, or with the
Ninc field on the BOLTSEQ entry.

Note that the number of increments also increments loads and temperatures. The incrementing
of the contact offsets, loads, or temperatures helps the solution converge by reducing the
changes which occur in an increment.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 8-3
Chapter
Chapter 8: 8: Contact
Contact conditions
conditions (SOL(SOL
401) 401)

*A constant time subcase has a TSTEP1 bulk entry defined with either Tend=0.0, or a Tend which
is the same as the start time for that subcase.

• When a sequentially dependent subcase is defined with SEQDEP=YES, the final contact offset
from a previous subcase, if it exists, is included at the start of the current subcase. The goal is to
help convergence when contact offsets change from one subcase to the next. In this case, the
offset for the current subcase is calculated as:
OFFSET = OC*LF+OP*(1 - LF)
Where:
OC = Contact offset for the current subcase,
OP = Contact offset from a previous subcase,
and LF = Load factor incremented in Ninc steps. The initial value is 1/Ninc and the final value
is 1.0.

• General recommendations for offset definitions:


- A separate subcase is recommended to resolve the contact offset.
- When bolt preloads and contact offsets are defined together, be aware that both can result in
axial bolt strain. If you do not want the contact offset to result in an additional bolt strain, the
contact offset should be modeled with a slight gap.

• You can optionally change the contact offset definition from one subcase to the next by selecting
unique contact sets in each subcase which reference different BCRPARA bulk entries.

Contact Pairs
A contact pair combines two contact regions, source and target, in which contact will be analyzed
during the solution. Each contact pair can have its own unique friction value (if desired) and search
distance.
The BCTSET bulk entry is used to define both edge-to-edge and surface-to-surface contact pairs.
The CID field will need to match the value of ‘n' on the BCSET case control entry for the solution
to recognize this contact definition.
The SIDi and TIDi fields on the BCTSET bulk entry are used to define source and target regions
respectively for a pair. As many pairs as desired can be included on a single BCTSET entry. Each
pair can have a unique friction value (optional), a minimum search distance, and a maximum search
distance. You can define the optional Coefficient of Friction field (FRICi) for each contact pair. When
contact is detected, the solver uses this value to calculate any tangential contact forces.
The regions you select with SID and TID depend on the type of contact:
• For edge-to-edge contact pairs, SID and TID are contact regions defined with the BEDGE entry.

• For surface-to-surface contact pairs, SID and TID are contact regions defined with the BCPROP,
BCPROPS, BSURF, and BSURFS entries.

The minimum and maximum search distance fields (MINDi and MAXDi) define a range in which the
solver can initially determine if the distance between element edges or faces in a particular pair are
within the threshold for creating contact elements. These values are used to determine where contact
elements are created. The minimum distance can be negative if there is an interference condition
modeled as overlapping regions.

8-4 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Contact conditions (SOL 401)

The contact condition can update when large sliding occurs when large displacement effects are
turned off (PARAM,LGDISP,-1) or on (PARAM,LGDISP,1).
Combining Contact Sets – BCTADD
You can optionally define multiple BCTSET/BCTPARM bulk entry sets, each set with unique
contact set IDs (CSID), and then combine them with a single BCTADD bulk entry. The multiple
BCTSET/BCTPARM bulk entry sets are created to adjust certain contact parameters locally. Contact
parameters can also be adjusted globally with a BCTPARM bulk entry having the same CSID as
the BCSET case control command.
The following example demonstrates the inputs.
CASE CONTROL
$CSID on the BCSET case control matches CSID on BCTADD
BCSET = 108
...
BULK DATA
$Local Contact Set definitions
BCTSET 1 1 2 0.0 1.0
BCTSET 2 3 4 0.15 0.0 0.1
5 6 0.15 0.0 0.1
...
$Local Contact Parameters
BCTPARM 1 PENN 10 PENT 1
BCTPARM 2 PENN 1.0 PENT 0.1
...
$Local Contact Sets are combined with BCTADD
BCTADD 108 1 2
...
$Global Contact Parameters
BCTPARM 108 MAXS 30 NCHG 0.02

See the section “Contact Control Parameters - BCTPARM” for more information on contact
parameters.
Contact with Composite Solid Faces
Defining contact regions and pairs on composite solid faces which are perpendicular to the stack
direction (edge faces) may produce poor stress continuity. If the contact definition is between edge
faces belonging to different PCOMPS definitions, and if the number of plies on each PCOMPS
definition is small and the same, and the ply thicknesses are similar, the stress continuity should be
fairly smooth. This also applies to the results requested with the BCRESULTS case control command.
Additional Recommendations
When defining contact regions and pairs on geometry which are not tangent continuous, creating
single contact regions which cross corner transitions can result in non-uniform stress results around
the corners. It is recommended to break these areas into multiple regions and pairs as shown below.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 8-5
Chapter
Chapter 8: 8: Contact
Contact conditions
conditions (SOL(SOL
401) 401)

When defining contact regions and pairs, it is recommended to not include the same element face in
multiple regions. In “A” below, an element is repeated in regions 2 and 3. In “B”, the same element
only exists in region 2. “B” is recommended. Repeating element faces multiple times in the same or
different regions can significantly increase memory requirements and degrade performance.

8.4 Contact Control Parameters


The contact control parameters on the BCTPARM bulk entry can help you adjust the contact
algorithm when you are having problems getting a solution to converge and complete, or when the
contact results are not as expected. For many solutions, the default settings are appropriate, and
the BCTPARM entry is not required.
You can optionally define multiple BCTSET/BCTPARM bulk entry sets, each set with unique
contact set IDs (CSID), and then combine them with a single BCTADD bulk entry. The multiple
BCTSET/BCTPARM bulk entry sets are created to adjust certain contact parameters locally. Contact
parameters can also be adjusted globally with a BCTPARM bulk entry having the same CSID as
the BCSET case control command.

8-6 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Contact conditions (SOL 401)

Global and local contact parameters have the following definition and rules:
• Global Contact Parameters
The BCTPARM bulk entry, which uses the same CSID entered on the BCSET case control
command, defines global parameters.
Any of the parameters on the BCTPARM bulk entry can be defined globally. A parameter’s default
value is used if it is not defined globally or locally.

• Local Contact Parameters


The BCTPARM bulk entries associated to individual BCTSET bulk entries, which are then
combined with a BCTADD bulk entry, define local parameters.

See the Parameters for SOL 401 listed on the BCTPARM bulk entry in the Quick Reference Guide.

8.5 Contact kinematics


Consider the contact element between the points S and T in the figure below. S and T are the
parametric locations of a contact element on the source and target faces respectively.
S1, S2, S3, S4,...Sj are the grid points defining one solid element face which is included in the
source region.
T1, T2, T3, T4,...Tj are the grid points defining one solid element face which is include in the target
region.

Figure 8-1. Contact Source and Target Example


The global system of equations including contact at a given iteration i is:

Equation 8-1.
Where:

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 8-7
Chapter
Chapter 8: 8: Contact
Contact conditions
conditions (SOL(SOL
401) 401)

is the assembled contact stiffness,

is the assembled nodal contact forces,


NCE is the total number of contact elements created,
Kc is the contact stiffness from a single contact element,
and Fc are the contact forces from a single contact element,
The total traction for a contact element c at an iteration i can be split into normal and tangential
components as:

Equation 8-2.

where is the normal vector, and the tangential vector is .

Together , t1, and t2 form an ortho-normal basis.


Normal contact conditions
The normal contact conditions can be expressed as:

Equation 8-3.

Equation 8-4.

Equation 8-5.
Equation 8-3 imposes the condition that the penetration of the hitting surface into the target surface

can’t be greater than zero. Thus, surfaces can’t interpenetrate. The contact pressure, , is defined
as the negative of the normal component of the surface traction.
Equation 8-4 states that the contact pressure can’t be less than zero or tensile. Or normal tractions
between surfaces can’t be tensile.
Equation 8-5 imposes the condition that:

and
SOL401 uses a penalty method to enforce the contact constraints with the ability to augment the
tractions (Augmented Lagrangian formulation) to keep the penetrations to within a specified tolerance
(PTOL).

8-8 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Contact conditions (SOL 401)

The pure penalty method can be activated by setting MAXS=1 on BCTPARM bulk data entry. Pure
penalty method is computationally in-expensive and in most cases produces acceptable solution.
However, since there is no check on penetration control this method can sometime cause large
penetrations in the model that could go undetected.
Augmented Lagrangian formulation is the default. With this method, first a converged solution is
obtained with a penalty method. If the convergence criteria have not been achieved, the tractions
are augmented and another series of iterations is performed until convergence is achieved. The
tractions could be augmented several times until either the desired level of penetration tolerance
(PTOL) is achieved when the convergence criteria is based on penetrations or alternately the
tractions between two augmentations are converged to a value below CTOL for convergence criteria
based on augmented tractions. MAXS (default=20) parameter specifies the maximum number of
augmentations that are performed for every time step. If the augmentation convergence is not
achieved within MAXS number of iterations the solution will proceed to the next step if the usual
global convergence criteria have been satisfied.
The normal traction is:

Equation 8-6.

is the normal traction from previous augmentation.

Note that =0 for the pure penalty method.


εn is the normal penalty stiffness (unit=force/length),

is the contact element normal gap evaluated at iteration i,


K is the augmentation loop ID.
The relative displacement at a contact element location for iteration i is computed as:

Equation 8-7.
The contact element normal gap at iteration i is calculated as

Equation 8-8.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 8-9
Chapter
Chapter 8: 8: Contact
Contact conditions
conditions (SOL(SOL
401) 401)

Equation 8-9.
Nj = Standard Source Face shape functions evaluated at the contact point
N'k = Standard Target Face shape functions evaluated at the contact point
Ns = Number of nodes on source face
Nt = Number of nodes on target face
Xs=X0s + Us
Xt=X0t + UT
X0s = Undeformed coordinates of the nodes on the source face
X0t = Undeformed coordinates of the nodes on the target face
Us = Nodal displacements on the source face
Ut = Nodal displacements on the target face.

Note that a positive value of indicates an overlap and a negative value indicates a separation
between the source and target faces at the contact element location.

Consequently a contact element is considered CLOSED if > 0 and OPEN if < 0.


The tangential traction is

Equation 8-10.
where,
λnt is the tangential traction from previous step.
εt is the tangential penalty factor (unit=force/length),

is the relative displacement increment in the tangential direction since last time step where j
= 1, 2.
The relative displacement increment in the tangential direction is calculated as:

Equation 8-11.
where,

8-10 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Contact conditions (SOL 401)

Equation 8-12.
(ΔUs) = Nodal displacement increment since last time step on the source side DOF.
(ΔUt)= Nodal displacement increment since last time step on the target side DOF.
A contact element can have the following states:

Inactive when < 0.

Active when > 0.


Coulomb Friction
If friction is present (μ > 0 where μ is the coulomb friction coefficient), an active contact element can
have either sticking or sliding state.
Similar to the normal contact conditions, the frictional contact conditions can be expressed as:

Equation 8-13.

Equation 8-14.

Equation 8-15.

Equation 8-16.

Equation 8-13 imposes the constraint that the magnitude of the in-plane friction traction, , cannot
exceed the coefficient of friction μ, times the normal contact traction. When the magnitude of friction
force reaches its maximum allowable value, the function Φ will be equal to zero.
Equation 8-14 relates the relative tangential displacement increment between the source and

the target surface, , to the magnitude of the relative slip increment, , which must be a
non-negative quantity.

Equation 8-16 implies that if ≥ 0 (there is slipping between the surfaces), then Φ= 0, and if
= 0 (the surfaces are sticking), then Φ ≤ 0.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 8-11
Chapter
Chapter 8: 8: Contact
Contact conditions
conditions (SOL(SOL
401) 401)

Therefore, for Coulomb friction:


• The maximum possible tangential traction equals the coefficient of friction times the normal
traction force.

• Contacting surfaces will "stick" if the tangential traction is less than the coefficient of friction times
the normal traction force.

• Contacting surfaces will "slide" in the direction of the tangential traction if the tangential traction
equals the coefficient of friction times the normal traction force.

Figure 8-2. Classical Coulomb Friction Model (FRICMOD=0)


Assume

A contact element state is Sticking if

Equation 8-17.
and Sliding if

Equation 8-18.
Bilinear Coulomb Friction (FRICMOD=1)

8-12 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Contact conditions (SOL 401)

Figure 8-3. Bi-Linear Coulomb Friction Model


By default, SOL401 uses a bi-linear coulomb model specified by FRICMOD=1 on BCTPARM. This
model converges better than the classical model (FRICMOD=0) by providing a more distinct stick slip
zone. Here, the tangential penalty factor eT is adaptively computed based on the current contact
pressure, coefficient of friction and a critical slip value Scrit provided by the user. The default for Scrit
is set at 0.5% of the characteristic element length in the pair. A larger value of Scrit helps with
easier convergence but leads to more sliding, while a smaller value represents the exact coulomb
behavior more closely but also leads to slower convergence rates. The tangential stiffness is updated
every iteration using:

Equation 8-19.
The incremental tangential relative displacement can be expressed as a sum of elastic and plastic
parts.

Equation 8-20.
or

Equation 8-21.

where is the elastic slip at the end of previous step.


The predictor slip is

Equation 8-22.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 8-13
Chapter
Chapter 8: 8: Contact
Contact conditions
conditions (SOL(SOL
401) 401)

The trial tangential traction is evaluated from the predicted slip as:

Equation 8-23.

This predicted slip is elastic as long as the magnitude of the tangential traction is less than the

critical stress (i.e.) .

If the magnitude of the tangential traction exceeds the critical stress then slip must be taken into
account.

The magnitude of the plastic slip in this instance is given by where is


the magnitude of the predicted slip.

The incremental slip is computed as:

Equation 8-24.

When the slip output is requested, the total slip is computed as the algebraic sum of the incremental
slip (elastic and plastic) over time. The incremental slip is the difference in total slip between two
output intervals.

Additional friction models:

FRICMOD=2: Friction is computed using the following product which optionally depends on time,
velocity or temperature:

μ(t,T,v)= FPARA1 * CFVE(v) * CFTE(T) * CFNF(t)

FPARA1, CFNF, CFTE, and CFVE are all parameters defined on the BCTPARM entry. FRICi on
the BCTSET entry is ignored.

FPARA1 defines a constant friction value, and CFNF, CFTE, CFVE are integer inputs which reference
TABLEDi entries defining friction as a function of time, temperature, and velocity, respectively. If any
of CFNF, CFTE, or CFVE are undefined, their contribution is ignored.

FRICMOD=3: Two different friction coefficients are used depending on the sliding velocity.

This friction model uses the parameters VCRIT, FPARA1, and FPARA2 on the BCTPARM entry.
FRICi on the BCTSET entry is ignored.

VCRIT defines the critical sliding velocity, FPARA1 (1 in the image below) defines the friction
coefficient when the sliding velocity < VCRIT, and FPARA2 (2 in the image below) defines the friction
coefficient when the sliding velocity > VCRIT.

8-14 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Contact conditions (SOL 401)

Figure 8-4. FRICMOD=3 Friction Model


FRICMOD=4: Friction coefficient varies linearly with the sliding velocity.
This friction model uses the parameters FPARA1, VCRIT, and FPARA2 on the BCTPARM entry.
FRICi on the BCTSET entry is ignored.
FPARA1 defines the friction coefficient at zero velocity, VCRIT defines the critical sliding velocity,
and FPARA2 defines the friction coefficient at the critical sliding velocity. The friction varies linearly
between FPARA1 (1 in the image below) and FPARA2 (2 in the image below), up to the critical sliding
velocity VCRIT after which it remains constant.

Figure 8-5. FRICMOD=4 Friction Model


Contact Force
The contact nodal force contribution due to all active contact elements at iteration i is computed
as follows:

Equation 8-25.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 8-15
Chapter
Chapter 8: 8: Contact
Contact conditions
conditions (SOL(SOL
401) 401)

Equation 8-26.
Contact Stiffness
From the normal component of traction we have:

Equation 8-27.
For a sticking contact element with friction,

Equation 8-28.
For a slipping contact element,

Equation 8-29.
The contact stiffness contribution after ignoring the variation of friction coefficient with pressure
and sliding velocity is:

Equation 8-30.

8-16 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Contact conditions (SOL 401)

Equation 8-31.

Equation 8-32.
The global contact stiffness is obtained by summing the stiffness contribution from all active contact
elements:

Equations 8-31 and 8-32 include non-symmetric stiffness terms. Using an un-symmetric solver
will significantly increase the memory requirements. The software automatically activates the
un-symmetric solver if the coefficient of friction is greater than FSYMTOL. The parameter FSYMTOL
(specified on NLCNTL) has a default value of 0.2.
Contact Iterations
The contact problem is solved by a dual loop algorithm with the augmentation loop serving as the
outer loop and the regular NR iterations constituting the inner loop. In addition to the global criteria
to determine the inner iterations convergence, contact algorithm also checks for contact force
convergence. The inner loop is said to be converged if the change in contact force between two
consecutive iterations is < RCTOL. After the convergence of the inner loop (i.e.) NR iterations,
the tractions are augmented if needed and another round of inner iterations is done until either of
the following 2 criteria is met:

1. CNTCONV=1. In this case the outer loop convergence criteria are based on penetration
tolerance. The augmentations are performed until the max penetration in each contact pair is
below the tolerance PTOL.

2. CNTCONV=2. In this case the outer loop convergence criteria are based on contact traction
convergence ratio CTOL. The contact tractions are augmented until the augmented force ratio
FRAT change in the tractions between two consecutive augmentation loops is converged to a
value smaller than CTOL.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 8-17
Chapter
Chapter 8: 8: Contact
Contact conditions
conditions (SOL(SOL
401) 401)

Contact Algorithm Flowchart


Steps 1 through 4 occur for each time step (n+1).
1. Loop over contact augmentations (K=1 to MAXS).
a. Initialize λkn .

b. Compute stiffness K and Kc.

2. Do Newton-Raphson iterations (i=1 to MAXITER).

a. Compute internal forces and where is the force contribution from contact.

b. Compute Residual

c. Solve (see equations 8-30 through 8-32 ).

d. Check for the solution convergence based on global criteria and RCTOL. The global solution
convergence criteria are defined by the CONV parameter on the NLCNTL bulk entry.
A. If the solution convergence criteria are satisfied, go to step 3.

B. If the solution convergence criteria is not satisfied:


i. If (i < MAXITER) then do more iterations, go to 2a or if stiffness update is required,
go to step 1b.

ii. If (i = MAXITER) then convergence is not achieved and end problem. GO TO step 4.

3. Check outer loop convergence for contact based on either PTOL or CTOL.
a. If the contact outer loop is converged, end the problem. Go to step 4.

b. If the outer loop is not converged, increment the outer loop counter, augment the tractions,
and go to step 1b.

4. End Problem.

8.6 Contact Penalty Factors


The normal penalty stiffness εn and the tangential penalty stiffness εT are computed for each contact
element as follows:
εn = Ac * E * PENN
εT = Ac * E * PENT

8-18 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Contact conditions (SOL 401)

PENN and PENT are the normal and tangential penalty factors respectively. Ac is the area associated
with the contact element and E is the modulus of the softer region in the contact pair.
The normal penalty is computed by the contact algorithm or can be input by the user. The automatic
penalty factor calculation estimates geometry characteristics using element edge lengths in the
vicinity of the contact regions. The solver computes a characteristic length Lc for each contact pair
and estimates the normal penalty factor PENN as PENN = 1 / Lc. The default value of PENT is
an order of magnitude smaller than the PENN.
When the option to adaptively compute the tangential stiffness is selected, the tangential penalty
factor is adjusted based on current contact pressure, coefficient of friction and critical slip parameter.
PENT = μ * Tn / Scrit
The penalty factors influence the rate of convergence, and to a lesser extent, the accuracy of the
contact solution. The automatic penalty factor calculation works well for most instances, but manual
adjustments may be necessary, particularly if a contact problem fails to converge. When the problem
fails to converge or takes a lot of iterations to converge, reducing the default value of PENN by an
order or two of magnitude will generally help with convergence.
A large value of PENN will make the system of equations ill-stabled leading to convergence problems.
They could also produce spotty contact pressure results. In addition, a small value of PENN may
cause excessive penetrations which will require more traction augmentations. So the right choice of
penalty factors is the key to getting good quality contact stress results in a reasonable number of
iterations.
The software provides an alternate way (PENTYP=2) to input PENN and PENT as spring rate per
area. That is, Force/(Length x Area). The contact element stiffness in this case is calculated as:
εn = Ac * PENN
εT = Ac * PENT
The spring rate input is a more explicit way of entering contact stiffness since it is not dependent
on the modulus.
The auto-calculated values for PENN and PENT can be scaled using the AUTOSCAL and TANSCL
parameters respectively. The range for AUTOSCAL is usually 0.01 - 1.0 with the default being 1.0.
The default works well for bulk deformation dominant problems. For bending dominant or finite sliding
problems, a smaller range 0.01 - 0.1 is recommended.

8.7 Contact Sliding and Geometry Update


The contact element locations on the element faces or edges are updated based on the value of the
DISP, GUPDATE, and GUPTOL parameters.
The DISP parameter on the BCTPARM bulk entry is available to select the sliding formulation. The
software only considers your GUPDATE and GUPTOL parameter settings when you use the DISP
= 0 option.
DISP Behavior
Contact pairing is automatically detemined by the software based on the
amount of relative sliding in the pair. The software considers your GUPDATE
0 (Default)
and GUPTOL parameter settings (described below). If you have not explicitly
defined the GUPDATE and GUPTOL parameters, the default values are used.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 8-19
Chapter
Chapter 8: 8: Contact
Contact conditions
conditions (SOL(SOL
401) 401)

DISP Behavior
Small sliding formulation. Contact pairing is not updated with sliding
1 displacements and is based on the initial geometry. The software internally
sets GUPDATE to 0 (no pairing update).
Large sliding formulation. Contact pairing is updated with sliding
2 displacements. The software internally sets GUPDATE to 4 (update every
iteration).

GUPDATE controls the frequency of the update and the GUPTOL determines whether a geometry
update is needed depending on the amount of relative sliding between the contact regions. The
default for GUPTOL is set at 25% of the characteristic element length in the pair. The default for
GUDPATE is 2 for large displacement analysis (LGDISP=1). By default, for a small displacement
analysis (LGDISP=-1), the contact pairing is updated at the start of each step.
If large enough sliding occurs within the defined tolerance, contact elements are recreated in the
current deformed configuration, and the relevant contact data like the contact stresses and slip for
example, are all mapped from the old to the new contact elements.
The following table summarizes the geometry update options for both small and large displacement
analysis.

GUPDATE Behavior
0 No update to contact element locations.
Contact elements are updated if the relative sliding exceeds threshold set by
1
parameter GUPTOL.
Contact elements are updated if the relative sliding exceeds threshold set
2 by parameter GUPTOL, and are updated at the start of each step. Default
when LGDISP=1.
3 Update occurs only at the start of each step. Default for LGDISP=-1.
4 Update occurs every iteration.

The following table illustrates the geometry update process.

Initial configuration

Sliding occurs during a step.


The slide in this example
is greater than the value of
GUPTOL. This will result in
an updated configuration as
shown in the next step below.

8-20 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Contact conditions (SOL 401)

Contact configuration is
updated after the magnitude
of the slide exceeds the value
defined on the parameter
GUPTOL.

8.8 Contact and rigid body motion


Many static problems depend on contact to provide the boundary conditions necessary for a stable
problem. With these problem types, the stiffness matrix can be singular when the contact constraints
are inactive. You can use the following options to avoid singularities.
• Open and closed contact stiffness
The contact algorithm automatically adds a small stiffness at the start of the solution which is
often enough to prevent rigid body motion. In some instances, the default initial stiffness may be
insufficient to prevent large displacements. In such cases, you can redefine an initial stiffness
with the OPNSTF parameter on the BCTPARM bulk entry.
The OPNSTF parameter works in conjunction with the OPNTOL parameter which specifies the
gap up to which OPNSTF will be enforced. The default for OPNSTF is 1.0E-6 * the closed
stiffness, and the OPNTOL default is the characteristic length of the contact pair. If the gap closes
in the subsequent iteration, the closed stiffness will be applied to the contact element. Note that
the open stiffness is only applied for the very first iteration unless the no-separation feature
(NOSEP=1) is activated, in which case, the open stiffness will be applied every time a contact
element gap opens and the opening is smaller than OPNTOL.
The no-separation feature can be helpful during an unloading scenario when the contact surfaces
begin to separate as the loading is ramped down. This helps prevent the surfaces from flying
apart.
The following graph demonstrates the open and closed contact stiffness change. The horizontal
axis represents the contact gap, and the vertical axis represents the contact element stiffness.

go = open stiffness gap defined by the OPNTOL parameter.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 8-21
Chapter
Chapter 8: 8: Contact
Contact conditions
conditions (SOL(SOL
401) 401)

gc = closed stiffness gap defined by the GAPTOL parameter.


Kopen = open stiffness is used when the gap is smaller than OPNTOL, but greater than GAPTOL.
Kclosed = closed stiffness is used when the gap is smaller that GAPTOL.

• Stiffness stabilization
This feature provides a stabilizing effect by scaling all diagonal stiffness terms without affecting
the right-hand-side load vector. You can request this feature by defining KSTAB=1 on the
BCTPARM bulk entry.

• Displacement scaling
Limiting the maximum incremental displacement per iteration is useful when a load is applied to a
body that is not initially in contact. A model can be unstable even when stiffness stabilization or
open stiffness is used resulting in excessive initial displacement. Setting the limiting displacement
to about the element size in this case would scale down the potentially huge displacement in
the first iteration so that the results remain close to the converged solution. The displacement
scaling feature can be thought of as a form of line search. This option is on by default and can be
turned off by setting DISCAL=0 on the BCTPARM bulk entry. You can also adjust the limiting
factor with the DISTOL parameter on the BCTPARM bulk entry.

• Contact Stabilization Damping


In order to stabilize rigid body motion caused before contact is engaged, a damping force can be
applied to keep the parts from flying off. The stabilization normal damping force is computed
as follows:

where is the normal damping coefficient, is the pseudo relative velocity of the contact
surfaces in the normal direction.
The normal damping coefficient is internally calculated by the solver. You can either scale or
overwrite the auto computed damping coefficient by entering the value as a function of contact
pressure per velocity.
The damping coefficient is calculated based on the contact stiffness, contact gap and current
solution time with respect to the subcase end time.

where CTDAMPN is the scale factor with a default value of 1.0,


Krep is a fraction of the closed contact stiffness,

,
Gapfac = 0 when gap > opntol or gap < 0.
The default value for OPNTOL is equal to 1.0 (times average element length).

8-22 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Contact conditions (SOL 401)

where Curtim is the current solution time and Send is the subcase end time.
Thus by default the effects of the damping are ramped down to zero by the end of the first
subcase.
Also, once the contact is established the damping effects vanish.
When CTDAMP=1 or 2, the damping is applied to a contact pair only when the entire pair is
open. Even if one contact element in the pair is active, the stabilization stiffness is not applied.
However, when CTDAMP=3, the stabilization stiffness is applied for any contact element that is
open with a gap smaller than OPNTOL.
Also, When CTDAMP > 1, the damping is not ramped down as a function of time and will be
applied always.
Similar to normal damping coefficient, tangential damping coefficient is also computed when there
is friction. The tangential damping coefficient is computed as:
CT = CTDAMPT * CN where CTDAMPT is the tangential scale factor with default = 0.001.
The tangential damping force is thus calculated as:

Where is the pseudo relative velocity in the tangential direction.

8.9 Contact Offsets, Gaps, and Penetrations


Initial Gaps and Penetrations
The treatment of initial gaps and penetrations is governed by the INIPENE and ADJUST parameters
on the BCTPARM entry. The INIPENE parameter requests that the software reset a gap or
penetration. The ADJUST parameter requests that the software move the grid points when there
are gaps.
The adjustment is applied at the start of the solution based on the initial geometry. It is ideal for small
displacement analysis or press-fit assemblies.
If both INIPENE and ADJUST are defined, ADJUST is first applied, then INIPENE.
The INIPENE options are as follows.
• INIPENE = 0 (default): Contact is evaluated as the geometry is modeled.

• INIPENE = 2: Penetrations are reset to a new initial condition in which there is no interference.

• INIPENE = 3: Gaps and penetrations are both reset to a new initial condition in which there is
no interference.

When you use the ADJUST parameter on the BCTPARM bulk entry, the software uses an adjustment
tolerance to move the source grid points on to the target faces when the absolute value of the initial
separation distance is below the adjustment tolerance. The adjustment tolerance is computed as
ADJUST * characteristic length.
• ADJUST = 0.0: Only the grid points that are initially overclosed are adjusted as long as the
over-closure is below the characteristic length.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 8-23
Chapter
Chapter 8: 8: Contact
Contact conditions
conditions (SOL(SOL
401) 401)

• ADJUST > 0.0: The adjustment is applied to grid points that are initially open with a gap smaller
than the value of ADJUST * characteristic length.

Contact Surface Offsets


An offset distance can be specified for a contact region on the BCRPARA entry, and for a contact pair
on the BCTPARM bulk entry. The OFFSET parameter on the BCTPARM bulk entry overwrites an
offset defined for a region on the BCRPARA entry.
For example, a model which has two metal surfaces coming into contact, and one of these has a
ceramic coating. If the ceramic material stiffness is not significant enough to be included in the
analysis, it may not have been specifically modeled, but the thickness it adds to the face of the metal
may be important when considering the contact problem.
You can also use the OFFSET field to analyze an interference fit problem if unconnected elements
are modeled coincident. The offset value in this example can represent the theoretical interference.
• A separate subcase is recommended to resolve the contact offset prior to the application of
service loads.The offsets can be resolved incrementally based on the value of NINC parameter
on the TSTEP1 bulk entry.

• When bolt preloads and contact offsets are defined together, be aware that both can result in
axial bolt strain. If you do not want the contact offset to result in an additional bolt strain, the
contact offset should be modeled with a slight gap.

• The option to increment contact offsets is available. For subcases which have a constant time*,
the software automatically increments the contact offset using the number of increments. The
number of increments is defined with either the Ninc field on the TSTEP1 entry, or with the
Ninc field on the BOLTSEQ entry.
Note that the number of increments also increments loads and temperatures. The incrementing
of the contact offsets, loads, or temperatures helps the solution converge by reducing the
changes which occur in an increment.
*A constant time subcase has a TSTEP1 bulk entry defined with either Tend=0.0, or a Tend which
is the same as the start time for that subcase.

• When a sequentially dependent subcase is defined with SEQDEP=YES, the final contact offset
from a previous subcase, if it exists, is included at the start of the current subcase. The goal is to
help convergence when contact offsets change from one subcase to the next. In this case, the
offset for the current subcase is calculated as:
OFFSET = OC*LF+OP*(1 - LF)
Where:
OC = Contact offset for the current subcase,
OP = Contact offset from a previous subcase,
and LF = Load factor incremented in Ninc steps. The initial value is 1/Ninc and the final value
is 1.0.

• You can optionally change the contact offset definition from one subcase to the next by selecting
unique contact sets in each subcase which reference different BCRPARA / BCTPARM bulk
entries.

8-24 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Contact conditions (SOL 401)

• For shell element regions, you can also use the SHLTHK and ZOFFSET parameters on the
BCTPARM bulk entry as follows:
SHLTHK is the shell thickness offset flag. By default, the contact surface is assumed to be offset
t/2 from the nodes defining a shell element. If the FE mesh represents the outer surface, set this
value to 1 so the thickness offset will be ignored.
ZOFFSET determines if the shell element z-offset is included in the contact solution. By default,
shell z-offsets are included. ZOFFSET=1 will prevent them from being included.

• If you define both the OFFSET and INIPENE parameters, the software adds the offset after it
evaluates any gaps or penetrations as a result of the INIPENE setting.

Ramping the Removal of Penetrations


The TZPENE parameter on the BCTPARM bulk entry is available to ramp the removal of initial
penetrations. For example, if you have modeled contact surfaces penetrating to represent a press fit
condition.
TZPENE: End time when initial penetrations will be eliminated.
TZPENE=0.0 (Default): The initial penetrations are eliminated in the first subcase.
For example, if a subcase start time is 5.0, end time is 10.0, and TZPENE=7.2, the initial penetrations
will be eliminated starting from the beginning of the subcase (5.0) until time=7.2. Ramping the
removal of initial penetrations can help convergence.

8.10 Contact Surface and Edge Refinement


The refinement of the source and target occurs by default. The contact search algorithm identifies for
each source segment a set of closest target segments that could potentially come into contact.

Each potential target segment is projected on to the source face or edge and a polygon clipping
algorithm computes an overlapping area. The overlapped area is divided into triangles creating a
“refined” source face/edge [3]. Integration points are created on each triangle based on gauss
quadrature rules and the value of the INTORD entry on the BCTPARM bulk entry.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 8-25
Chapter
Chapter 8: 8: Contact
Contact conditions
conditions (SOL(SOL
401) 401)

The contact conditions are enforced at these integration points. The refinement process captures the
contact domain accurately and is an important piece in passing the constant stress patch test.

The refinement feature can optionally be turned off by setting REFINE=0 on the BCTPARM entry.

8.11 Contact Convergence


The software prints all of the relevant information pertaining to each contact pair at the start of the
solution. Contact max penetration (PRATIO) and change in forces (RCTOL) are printed as part of the
iteration summary. PRATIO is the ratio of max penetration in the current iteration for all pairs and the
corresponding penetration tolerance (PTOL) in that pair. In additional to global convergence criteria
being met, the PRATIO and RCTOL criteria should also be met for contact problems.

8-26 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Contact conditions (SOL 401)

Convergence considerations

• A high value of RCTOL (>1.0) or a large percentage change in contact status in each iteration
usually indicates any combination of the following.
o The penalty factor is high.

o The load is being applied too quickly.

o The time step is large.

To correct this situation, you can adjust AUTOSCAL to 0.1 or lower, or you can reduce the
load and time steps.

• If the PRATIO values are consistency higher than 1.0 but RCTOL and other convergence
norms are decreasing, increasing the penalty factor by an order can help achieve penetration
convergence.

• Most convergence issues can be attributed to either loss of contact or the penalty factors being
too high or low. If there is rigid body motion present, setting open stiffness or stiffness stabilization
would help at the start of the analysis.

• If the displacements are constantly getting scaled, either the loading is excessive or the contact
has been lost. If there are initial gaps/penetrations in the geometry, setting INIPENE to ignore
these would help.

• If there are excessive numbers of contact pairing updates in a step, then the load or time step is
too large.

• If contact is lost due to difficult geometry or sharp changes in the geometry, reducing the step size
or geometry update tolerance (GUPTOL) can help.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 8-27
Chapter
Chapter 8: 8: Contact
Contact conditions
conditions (SOL(SOL
401) 401)

• The contact algorithm monitors these variables for abrupt changes and triggers a bisection if the
number of adverse changes within a step exceeds the value of CNTMDIV.

• Use FRICDLY to delay friction effects until after the first step can also alleviate convergence
problems. With this option turned on, the frictional conditions are applied one time step
after contact is established. This feature can be useful in many problems, since it delays the
nonlinearity associated with friction until contact is established.

• If the convergence is slow or cannot be achieved for models with friction, using the un-symmetric
solver can improve the convergence rates.

8.12 Contact Output


Contact results can be requested with the BCRESULTS case control command. Forces, tractions,
separation distance, total and incremental slide or slip distance, and contact status can be output.
The SEPDIS describer requests the final separation distance for grids on both the source and target
regions. It is computed based on the current deformed configuration. For grids on the source region,
the separation distance is a scalar quantity representing the source side normal distance to the target.
For grids on the target region, the separation distance is a scalar quantity representing the target side
normal distance to the source. During the solution, the separation distance is known at the element
integration points, but is written to the grids when output. The result at each source and target grid
is the value of separation distance at the closest contact element. If there are two or more contact
elements equidistant from the grid, then the minimum value of separation distance is used at the grids
rather than the average, since the average gives unexpected results for coarse meshes.
In addition for SOL 401, the SEPDIS describer requests the total and incremental slide distance for
grids on both the source and target regions. The slide distance is reported in the basic coordinate
system as the algebraic sum of the incremental slip (elastic and plastic) from each increment. When
a contact grid goes inactive, the total slide distance output resets to zero. The incremental slide
distance is the difference in the total slide distance between two output intervals.
When the contact status is requested with the STATUS describer on the BCRESULTS command,
an integer value indicating the contact status is output on each grid point included in a contact
source or target region. The status values are:
0: No contact exists.
1:A sticking contact condition exist.
2: A sliding contact condition exist.

8.13 References
1. T.A. Laursen and J.C. Simo. "Algorithmic Symmetrization of Coulomb Frictional Problems Using
Augmented Lagrangians". Computers Methods in Applied Mechanics and Engineering. Vol. 108,
No. 1& 2. 133-146. 1993.

2. P. Wriggers. “Computational Contact Mechanics”. Second Edition.

8-28 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Contact conditions (SOL 401)

3. M. Puso, T. Laursen. “A Mortar Segment-to-Segment Frictional Contact Method for Large


Deformations”, Computer Methods in Applied Mechanics and Engineering, 2003.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 8-29
Chapter 9: Contact conditions (SOL 402)

9.1 Contact overview


SOL 402 supports surface-surface and edge-edge contact. The algorithm supports large
deformations and finite sliding between contact pairs. For large deformation problems (LGDISP>-1),
the contact stiffness and contact forces are rotated with the geometry consistent with other element
formulation in SOL 402. In addition, the SOL 402 contact algorithm updates the geometry and pairing
when there is finite sliding between the contacting surfaces.
Contact is modeled using a contact set, contact regions, contact segments and contact pairs.
The table below lists the case control commands and bulk entries used to define contact.
Contact definition summary
Case control commands:
BCSET Selects a contact set.
BCRESULTS Selects contact results to output.

Bulk entries related to edge or surface definition:


BSURF Defines contact region on shell elements.
BCPROP Defines contact region on shell elements by property ID.
BSURFS Defines contact region on 3-D solid elements.
BCPROPS Defines contact region on 3-D solid elements by property ID.
Defines contact region on 2-D axisymmetric, plane strain and plane
BEDGE
stress elements.
BCTPAR2 Defines parameters for contact region.

Bulk entries related to contact set definition:


BCTSET Defines the contact sets.
BCTADD Defines a union of contact sets.

9.2 Contact subcase control


The BCSET case control command selects the contact conditions defined in the bulk data. The
BCSET command can be defined in any subcase type.
The modal, cyclic, and Fourier subcase types, which are sequentially dependent (default), use the
final stiffness from a previous subcase. The final stiffness from a static or preload subcase includes
the contact stiffness.
Note that if a subcase is sequentially dependent and it includes a new contact set, any contact
tractions from a previous subcase will be used as an initial condition for the current subcase. The
previous tractions define the initial condition for the newly formed contact elements.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 9-1
Chapter
Chapter 9: 9: Contact
Contact conditions
conditions (SOL(SOL
402) 402)

9.3 Contact definition


Edge contact regions

An edge contact region is a collection of axisymmetric, chocking, plane strain, and plane stress
element free edges in a section of the model where you expect contact to occur. You create edge
regions with the BEDGE bulk entry.
• To define a contact edge using the BEDGE entry, you enter the element ID along with the corner
GRID IDs. You can define the edges on the BEDGE entry in any order.

Edge-to-edge contact can be defined on the edges of the following elements:


• Axisymmetric elements CTRAX3, CQUADX4, CTRAX6, CQUADX8.

• Plane stress elements CPLSTS3, CPLSTS4, CPLSTS6, CPLSTS8.

• Plane strain elements CPLSTN3, CPLSTN4, CPLSTN6, CPLSTN8.

The axisymmetric, plane stress, and plane strain elements can be defined in either the XZ plane or in
the XY plane. Edge-to-edge contact is supported in either orientation. The generalized plane strain
element is not supported by glue or contact regions.
Surface contact regions
A surface contact region is a collection of element free faces in a section of the model where you
expect contact to occur. These regions can be created using the shell elements (BSURF and
BCPROP) and the solid element free faces (BSURFS and BCPROPS).
• The BSURF entry is defined by its own unique ID and is a list or range of shell element IDs to
include in the region.

• The BCPROP entry is defined by its own unique ID and is a list of shell element property IDs.
Shell elements that use any of the listed property IDs will be included in the region.

• The BSURFS entry is defined by its own unique ID and is a list of solid element IDs each followed
by three grid points defining which face of the 3D element to include in the contact region.

• The BCPROPS entry is defined by its own unique ID and is a list of solid element property IDs.
The software automatically determines the free faces of the solid elements selected with a
property ID.

Surface-to-surface contact can be defined on the faces of the following elements.


• 3-D Solid elements CHEXA, CPENTA, CPYRAM, and CTETRA.

• Shell elements CTRIAR, CQUADR, CTRIA6, CQUAD8, CQUAD4, and CTRIA3.

9-2 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Contact conditions (SOL 402)

A contact surface can be defined with any face of a solid element. All region IDs defined with the
BSURF, BCPROP, BSURFS, BCPROPS, and BEDGE entries must be unique.
Contact pairs
A contact pair combines two contact regions, source and target, in which contact will be analyzed
during the solution. Each contact pair can have its own unique friction value (if desired).
The BCTSET bulk entry is used to define both edge-to-edge and surface-to-surface contact pairs.
The CID field will need to match the value of ‘n' on the BCSET case control entry for the solution
to recognize this contact definition.
The SIDi and TIDi fields on the BCTSET bulk entry are used to define source and target regions
respectively for a pair. As many pairs as desired can be included on a single BCTSET entry. Each
pair can have a unique friction value (optional). You can define the optional coefficient of friction
parameter (FRICi) for each contact pair. When contact is detected, the solver uses this value to
calculate any tangential contact forces.
The regions you select with SID and TID depend on the type of contact:
• For edge-to-edge contact pairs, SID and TID are contact regions defined with the BEDGE entry.

• For surface-to-surface contact pairs, SID and TID are contact regions defined with the BCPROP,
BCPROPS, BSURF, and BSURFS entries.

Additional recommendations

When defining contact regions and pairs on geometry that are not tangent continuous, creating
single contact regions that cross corner transitions can result in non-uniform stress results around
the corners. It is recommended that you break these areas into multiple regions and pairs as shown
below.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 9-3
Chapter
Chapter 9: 9: Contact
Contact conditions
conditions (SOL(SOL
402) 402)

When defining contact regions and pairs, it is recommended that you do not include the same element
face in multiple regions. In “A” below, an element is repeated in regions 2 and 3. In “B”, the same
element only exists in region 2. “B” is recommended. Repeating element faces multiple times in the
same or different regions can significantly increase memory requirements and degrade performance.

Note
The source contact regions (SIDi) that are initially defined as set of element faces or
elements are converted in set of nodes by the solver. This should be taken into account
when splitting target regions as explained above.

9.4 Contact control parameters


The contact control parameters on the BCTPAR2 bulk entry can help you adjust the contact algorithm
when you are having problems getting a solution to converge and complete, or when the contact

9-4 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Contact conditions (SOL 402)

results are not as expected. For many solutions, the default settings are appropriate, and the
BCTPAR2 entry is not required.
You can optionally define multiple BCTSET/BCTPAR2 bulk entry sets, each set with unique
contact set IDs (CSID), and then combine them with a single BCTADD bulk entry. The multiple
BCTSET/BCTPAR2 bulk entry sets are created to adjust certain contact parameters locally.
For more information, see the BCTPAR2 bulk entry in the Simcenter Nastran Quick Reference Guide.

9.5 Contact element


For each contact pair defined by BCTSET, the first stage of the contact algorithm consists in the
topological search. For each slave node, the software determines the closest master face/element
to the candidate contact elements. Depending on the DISP parameter of the BCTPAR2 bulk entry,
the contact conditions are updated or not during the simulation.
For more information, see the BCTPAR2 bulk entry in the Simcenter Nastran Quick Reference Guide.
A general contact algorithm between a point and a facet follows these two steps:
1. The software computes the projection of the point onto the facet.

2. The software solves the contact condition. The contact algorithm is based on the augmented
Lagrange method.

Projection of the point onto the facet


In general, to find the projection of a slave node XA on an element defined by its nodes Pi, the
software uses a local Newton-Raphson scheme.
If P is the projection candidate point on that element, the software solves the following system of
nonlinear equations:

In some cases, convergence is not achieved. In this case, the target element is rejected from the
possible contact targets.
Before performing the iterations, the software checks if the node is not too far from the element.
The software computes the distance between the node and the center of gravity of the element. If this
distance is smaller than a characteristic length of the problem, the target element is validated.

Contact algorithm
If dn is the normal distance, λn the Lagrangian multiplier associated to the normal distance, k a scaling
factor, and p the regularization parameter, the normal condition can be described as:

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 9-5
Chapter
Chapter 9: 9: Contact
Contact conditions
conditions (SOL(SOL
402) 402)

• If (pdn + kλn) < 0, the contact is active.

The contact internal force is given by: .

• If (pdn + kλn) > 0, there is no contact.

In this case, a force is associated to the Lagrangian multiplier: .

Note
The contact force is: pdn + kλn.

When contact occurs, the equation associated with the Lagrange multiplier imposes a zero normal
distance. You can release this condition by defining a contact stiffness K that links the contact force to
the normal distance. For more information, see the NCMOD parameter of the BCTPAR2 bulk entry.
Stiffness unit in SI system is N/m3.
The term associated with the Lagrange multiplier, therefore, becomes:

This is not a penalty method. When the contact stiffness is huge, the equation system is still well
conditioned, and it reduces to the case without stiffness.

Note
In SOL 402, depending on the slave mesh, a contact surface is associated with each
slave node.

Coulomb friction
If friction is defined (μ > 0), an active contact element can have either a sticking or sliding state.
The software first introduces the following quantities:

where 1 and 2 stand for two in-plane element orthogonal directions.

The software computes an equivalent force to detect sticking or sliding: .


• In the sticking case, σt - μ|σn| ≤ 0.
Forces are computed as:

9-6 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Contact conditions (SOL 402)

There are two classical kinematic constraints in which the variation of tangential displacements is
set to 0. The iteration matrix is obtained in a classical way and is symmetrical.

• In the sliding case, σt - μ|σn| ﹥ 0.


The software computes two sliding directions:

Forces are computed as:

The classical Coulomb friction model requires the definition of a constant friction coefficient (in the
BCTSET or the BCTPAR2 bulk entry). If defined in the BCTPAR2 bulk entry, the friction coefficient
can have dependencies with time, sliding velocity, and temperature. For more information, see the
FRICMOD parameter on the BCTPAR2 bulk entry.
By default, SOL402 uses a classical Coulomb model specified by the FRICMOD=0 parameter on the
BCTPAR2 bulk entry.
To avoid convergence issues due to the discontinuity of the Coulomb model, regularization models
are implemented to ensure a smooth transition of the friction forces between sliding and sticking
contact conditions.
You can use two models:
• In the first model, you introduce an regularization stiffness between the friction stress and the
relative tangential displacement.
When the friction stress equals the normal pressure multiplied by the friction coefficient, this
stiffness has no more influence and a sliding occurs.
For more information, see the STFR parameter on the BCTPAR2 bulk entry.

• In the other model, you introduce a regularized friction coefficient that evolves smoothly with the
sliding velocity from zero to the nominal friction that is reached when the sliding velocity reaches
a user defined value.
For more information, see the TOL parameter on the BCTPAR2 bulk entry.

Note
By default, SOL402 uses the first model, with a regularization stiffness value of 1.0E8.

Damping
For transient analyses, damping can be introduced at contact level. In the DPARA1 and DPARA2
parameters of the BCTPAR2 bulk entry, you can define a normal or a tangential viscous pressure.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 9-7
Chapter
Chapter 9: 9: Contact
Contact conditions
conditions (SOL(SOL
402) 402)

Those pressures are equal to the product of a function of the normal distance and the velocity
associated to the normal or tangential relative motions.

9.6 Contact and rigid body motion


Many static problems rely on contact to provide the boundary conditions necessary for a stable
problem. With these problem types, the stiffness matrix can be singular when the contact constraints
are inactive. You can use the following options to avoid singularities.
• Stiffness stabilization
This feature provides a stabilizing effect by scaling all diagonal stiffness terms without affecting
the right-hand-side load vector. You can request this feature by defining STAB parameter on
the NLCNTL2 bulk entry.

• Displacement scaling
Limiting the maximum incremental displacement per iteration is useful when a load is applied to a
body that is not initially in contact. A model can be unstable even when stiffness stabilization or
open stiffness is used resulting in excessive initial displacement. Setting the limiting displacement
to about the element size in this case would scale down the potentially huge displacement in the
first iteration so that the results remain close to the converged solution. The displacement scaling
feature can be thought of as a form of line search. This option is on by default and can be turned
off by setting the limiting factor MADI on the NLCNTL2 bulk entry.

For more information, see the NLCNTL2 bulk entry in the Simcenter Nastran Quick Reference Guide.

9.7 Contact offsets and initial penetrations


Contact surface offsets
Offset can be specified for any contact pair by specifying an offset distance on the associated contact
parameter in the BCTPAR2 entry. This causes the actual contact to be shifted from the plane defined
by the contact surface nodes. Initial interferences can be modeled using surface contact offsets.
However, specifying offsets on the contact regions (BCRPARA) is not supported by SOL402. Also, for
contact involving shell element faces on one (or both) side(s) of the contact, it is not possible to take
automatically the offset into account. Instead, the user must manually specify the half-thickness (or
the sum of the half-thicknesses) of the shell(s) as the contact offset.

Initial penetrations
The treatment of initial penetrations is governed by the INIPENE parameter on the BCTPAR2 entry.
INIPENE is applied when contact elements are initially created, and if they are recreated as a result
of large displacement effects when PARAM,LGDISP,1 is defined.
• INIPENE = 1 (default): Contact is evaluated exactly as the geometry is modeled. No corrections
will occur for gaps (positive distance between the two contact regions) or penetrations (negative
distance between the two contact regions).

• INIPENE = 2: Only penetrations are reset to a new initial condition in which there is no
interference.

9-8 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Contact conditions (SOL 402)

• INIPENE = 3: Both gaps and penetrations are both reset to a new initial condition in which
there is no interference.
In this case a constant signed gap distance can be defined by GAPVAL, and it will override the
geometrical penetrations and gaps.

For more information, see the BCTPAR2 bulk entry in the Simcenter Nastran Quick Reference Guide.

9.8 Contact convergence


Standard output

The software prints all of the relevant information pertaining to each contact pair at the start of the
solution. For each contact pair BCTSET (referred to as MCT in the f06 file), information on initial
gaps/penetrations, characteristic distances, and stiffnesses are provided.

Time step output

Contact change in forces (TESC) are printed as part of the iteration summary.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 9-9
Chapter
Chapter 9: 9: Contact
Contact conditions
conditions (SOL(SOL
402) 402)

Convergence considerations

• In the case of convergence issues due to high local contact forces or contact loss, if there are
initial gaps/penetrations in the geometry, setting INIPENE to ignore these would help.

• If the convergence is slow or cannot be achieved for models with friction, using the non-symmetric
solver can improve the convergence rates using the MATSYM parameter on the NLCNTL2
bulk entry.

In case of divergence, to help to find the origin of the divergence, a summary of the contact status
during the iteration is given. The following table is printed in the output file.

9-10 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)
Contact conditions (SOL 402)

By default, the table is only printed for the last time step of the analysis if it is not converged.
The meaning of the columns are:
• 1st column: IT is the iteration number.

• 2nd column: TYPE is the contact type of the contact pair.

• 3rd column: NRis the number of the contact pair.

• 4th to 6th columns: FX, FY, and FZ are the total force going through the contact area in structural
axes. They are the forces acting from the master side on the slave side.
They are given in unit of forces.

• 7th and 8th columns: ResS and ResM are the estimations of the norms of the residual forces
acting on the slave and master side. They are given in unit of forces.
They are computed as the sum of the forces acting on the contact element and the sum of the
forces acting on the element DOF. So the same DOF is taken into account several times.
The residual forces come from all the non-linearities; even if there is no contact, the residual
forces could be non zero.

Note
At the convergence, the residual forces should be negligible.

• 9th and 10th columns: for a contact pair (MCT), Dmin and Dmax are the minimum and maximum
normal distance. The normal distance is equal to 0 when contact occurs and if there is no contact
stiffness.

Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402) 9-11
Chapter
Chapter 9: 9: Contact
Contact conditions
conditions (SOL(SOL
402) 402)

If these values equal 1E12 and –1E12, that means that the slave nodes have no projection
on the master faces.

• 11th column: Glis is the total sliding factor for the contact pair.

By watching the largest values of ResS and ResM, especially in the last iterations, you can discover if
there is a contact condition for which the residual forces are larger than for the other forces on the
model or for which there are oscillations from one iteration to the next one.
First check if the divergence can be explained by a model weakness (sliding of a free body, and so
on) or due to a physical weakness.
In this case, change the contact conditions (consider a larger group of faces, perform a topology
search at each iteration, introduce contact stiffness, and so on).

9.9 Contact output


Contact results can be requested with the BCRESULTS case control command. Forces, tractions,
separation distance, total and incremental slide or slip distance, and contact status can be output.

9-12 Multi-Step Nonlinear User’s Guide (SOL 401 and SOL 402)

You might also like