Contact is a strongly nonlinear kind of boundary condition, preventing bodies to penetrate each other. The contact definition implemented in CalculiX is a node-to-surface penalty method based on a pairwise interaction of surfaces. For details on the penalty method the reader is referred to [63] and [34].
Each pair of interacting surfaces consists of a dependent surface and an independent surface. The dependent surface may be defined based on nodes or element faces, the independent surface must consist of element faces (Figure 89). Usually, the mesh on the dependent side is finer than on the independent side. As many pairs can be defined as needed. A contact pair is defined by the keyword card *CONTACT PAIR.
For each node on the dependent surface, a face on the independent surface is localized such that a perpendicular line on a point within the face contains the node. If such is face is found a nonlinear spring element is generated consisting of the dependent node and all vertex nodes belonging to the independent face. Depending of the kind of face the contact spring element contains 4 or 5 nodes. The properties of the spring are defined by a *SURFACE INTERACTION definition, whose name must be specified on the *CONTACT PAIR card.
The user can determine how often during the calculation the pairing of the dependent nodes with the independent faces takes place. If the user specifies the parameter SMALL SLIDING on the *CONTACT PAIR card, the pairing is done once per increment. if this parameter is not selected, the pairing is checked every iteration. This is useful if the sliding is particularly large.
The *SURFACE INTERACTION keyword card is very similar to the *MATERIAL card: it starts the definition of interaction properties in the same way a *MATERIAL card starts the definition of material properties. Whereas material properties are characterized by cards such as *DENSITY or *ELASTIC, interaction properties are denoted by the *SURFACE BEHAVIOR and the *FRICTION card. All cards beneath a *SURFACE INTERACTION card are interpreted as belonging to the surface interaction definition until a keyword card is encountered which is not a surface interaction description card. At that point, the surface interaction description is considered to be finished. Consequently, an interaction description is a closed block in the same way as a material description, Figure 3.
The *SURFACE BEHAVIOR card defines the linear (actually quasi bilinear as
illustrated by Figure 91) or exponential normal
(i.e. locally perpendicular to the master surface) behavior of the spring
element. The pressure exerted on the independent face of a contact spring
element with exponential behavior is given by
![]() |
(43) |
where is the pressure at zero clearance,
is a coefficient and
is the overclosure (penetration of the slave node into the master side; a
negative penetration is a clearance). Instead of having to specify
, which lacks an immediate physical significance, the user is expected
to specify
which is the clearance at which the pressure is 1 % of
. From this
can be calculated:
![]() |
(44) |
The pressure curve for and
looks like in Figure
90. A large value of
leads to soft contact, i.e. large
penetrations can occur, hard contact is modeled by a small value of
. Hard contact leads to slower convergence than soft contact. If the
distance of the slave node to the master surface exceeds
no contact
spring element is generated.
In case of a linear contact spring the pressure-clearance relationship is given by
![]() |
(45) |
were is a small number (in CalculiX the default value is
). The term in square brackets makes sure that the value of p is very
small for
. In general, a linear
contact spring formulation will converge more easily than an exponential
behavior. The pressure curve for
and
looks like in Figure
91. A large value of
leads to hard contact. To obtain good
results
should typically exceed 50 times the E-modulus of the adjacent
materials. Notice that for negative overclosure a tensile pressure applies
equal to
. For the default value of
this
amounts to
. For a linear contact spring the distance
beyond which no contact
spring element is generated is defined by
if the
spring area exceeds zero, and
otherwise.
The normal spring force is defined as the pressure multiplied by the spring area. The spring area is assigned to the slave nodes and defined by 1/4 (rectangular faces) or 1/3 (triangular faces) of the external faces the slave node belongs to.
The tangential spring force is defined as the shear stress multiplied by the
spring area. For all types of analysis except modal dynamic analyses the shear stress is a function of the relative displacement
between the slave node and the master face. This function is shown in
Figure 92. It consists of a stick range, in which the shear
stress is a linear function of the relative tangential displacement, and a slip
range, for which the shear stress is a function of the local pressure
only. User input consists of the friction coefficient
which is
dimensionless and usually takes values between 0.1 and 0.3 and the tangent of
the stick range
which has the dimension of force per unit of volume and
should be chosen about 100 times smaller than the spring constant.
For a modal dynamic analysis the shear stress is a function of the local
relative velocity between the slave node and the master
surface. This really means that slip is assumed throughout. The function
satisfies:
![]() |
(46) |
where is the friction coefficient at large relative velocity and
is a regularization constant. The curve for
looks typically
as in Figure 93. A small value for
leads to
a steep change at the origin, a large value to a gentle slope.
The friction can be redefined in all but the first step by the *CHANGE FRICTION keyword card. In the same way contact pairs can be activated or deactivated in all but the first step by using the *MODEL CHANGE card.
If CalculiX detects an overlap of the contacting surfaces at the start of a step, the overlap is completely taken into account at the start of the step for a dynamic calculation (*DYNAMIC or *MODEL DYNAMIC) whereas it is linearly ramped for a static calculation (*STATIC).
Finally a few useful rules if you experience convergence problems:
Notice that in CalculiX, middle nodes of quadratic elements belonging to the slave and master contact surfaces are internally connected to their neighboring vertex nodes by means of multiple point constraints (i.e. their displacements are the mean of the displacements of the neighboring end nodes). This makes the contact area stiffer (similar to using linear elements for bending).