Contact Search Algo
Contact Search Algo
DOI 10.1007/s00466-006-0116-z
O R I G I NA L PA P E R
Received: 13 December 2005 / Accepted: 3 August 2006 / Published online: 13 September 2006
© Springer-Verlag 2006
Abstract This paper presents a new contact searching method introduces the continuity condition at interfaces
algorithm for large deformation mortar-based contact in integral form, rather than as constraints imposed at
formulations. In this algorithm, a bounding volume hier- specific collocation points. One of the significant advan-
archy, defined in the context of a binary tree, is built for tages of the mortar finite element method is that it pre-
each contact surface based on the geometry of the sur- serves optimal convergence rates inherited from finite
face. A global contact searching procedure based on element methods used for the continua to be joined (see
these bounding volume trees is first performed to find [4]) provided suitable mortar spaces are chosen. Since
all candidate contact element pairs, and then a local such suitable spaces can be shown to satisfy appropri-
searching procedure is done to find all the mortar seg- ate inf–sup conditions (see [7]), we have the significant
ments having contributions to the mortar integrals that advantage that the mortar method satisfies Babuska–
define the contact formulation. The searching algorithm Brezzi stability conditions as well, at least for linear
is shown to be very efficient and readily applicable to a elastic problems in small deformations (see [8] for an
variety of large sliding contact problems. early discussion of these stability issues).
These advantages make the mortar element
Keywords Mortar methods · Contact · method a very promising candidate for application to
Contact searching · Bounding volume hierarchy · contact problems. Contact constraints can be readily
Finite elements expressed in integral form by introducing a mortar space
on one or both of the contact surfaces. Using this idea,
researchers have developed mortar element formula-
1 Introduction tions for both two dimensional and three dimensional
frictional contact problems in solid mechanics, involving
This article presents a new contact searching algorithm both infinitesimal and finite deformations [1–3, 9, 10]. In
for large deformation mortar contact formulations, in the current work, we greatly improve both the robust-
the context of formulations proposed in [1–3]. The ness and speed of these algorithms, by providing an effi-
mortar element method (see, e.g., [4–7]) was originally cient contact searching algorithm which can be generally
introduced as a domain decomposition method, used applied to mortar contact formulations.
to couple possibly nonconforming discretizations across Simplistically speaking, a “brute force” contact
subdomain boundaries. In that context, the mortar searching algorithm, which checks all interface facet
pairs for potential interactions, will tend to require
Communicated by H.-T. Yau. O(nm) operations in a two surface contact problem,
where n and m are the numbers of contact elements/
B. Yang · T. A. Laursen (B) nodes on the two respective surfaces. Given that in gen-
Computational Mechanics Laboratory, Department of Civil
eral such contact searches may be necessary in every
and Environmental Engineering, Duke University, Durham,
NC 27708-0287, USA step of an incremental load and/or time stepping pro-
e-mail: [email protected] cedure (if not in every equilibrium iteration associated
190 Comput Mech (2008) 41:189–205
with these steps), such cost is certainly unacceptable. efficient if there are very few elements in contact even
Particularly for problems with a large number of ele- in a very large system. Several different approaches
ments/nodes, such cost could make the contact search- to define bounding volumes exist (see, for example,
ing procedure one of the bottlenecks in finite element [16, 19, 20]). Some are very easy to construct but do not
contact solution schemes. This is true for the implicit accurately conform to actual geometries, while others
schemes considered here, and would be even more true tightly represent those geometries but are expensive to
for explicit implementations of contact/impact interac- compute, update, and use for overlap detection. For the
tion due to the primacy of searching cost in that case. large deformation contact problems of interest here, one
Contact searching algorithms featuring O(n log n) needs to detect contacts and update bounding volumes
complexity have been developed in the past for node-to- in each iteration, so that efficient contact detection and
surface algorithms (see, for example [11, 12]). In [12], economical updating is essential.
for example, the concept of “position codes” was intro- In this paper, a contact searching algorithm using
duced for a global contact searching. With this algo- bounding volume hierarchies is developed for use with
rithm, the searching problem in three-dimensional space large deformation mortar contact formulations, repre-
was transformed to a one-dimensional searching prob- senting the first use of this idea to carry out finite element
lem. The cost of this algorithm is O(n log n), where n simulations of contact mechanics phenomena. Discret-
is the number of nodes. This algorithm is input sensi- ized orientation polytopes (or k-DOPs) are used for the
tive; i.e., the cost function is only related to the input of bounding volumes, to make the searching and updating
the system, which in this case is the number of nodes. very efficient. A novel approach is proposed to inflate
Even when the two contact bodies are far from each the bounding volume based on the history and cur-
other, meaning that there are no contact element inter- rent deformations, making the algorithm suitable for
actions to be found, the searching algorithm will still our Newton-Raphson solution schemes and resulting in
require time of order (n log n). This is a feature that our bounding volumes that experience shows to be quite
current treatment aims to improve upon. Futhermore, tight for applications of interest. Some numerical exam-
since these algorithms are developed for the node to ples, in both two and three dimensions, demonstrate the
surface contact case, they are not necessarily straight- robust and efficient performance of this algorithm when
forwardly applicable to the surface-to-surface contact simulating large sliding problems using mortar-based
formulations considered here. contact formulations.
In recent years, with the development of computer
science and computational geometry, many efficient con-
tact searching algorithms (often called “collision detec- 2 Problem description
tion” algorithms in computer science literature [13])
have been developed and implemented in computer A contact problem, featuring potentially large deforma-
graphics software. Even with this development, colli- tions and large sliding, is shown in Fig. 1. Although the
sion detection still remains a limiting factor in some case depicted is in two dimensions, the formalism we
interactive virtual reality applications, in which the effi- develop is also directly applicable to the three dimen-
ciency of the algorithm is critical. The bounding vol- sional case. Reference configurations of two contacting
ume hierarchy was first developed for some ray-tracing bodies are denoted by open sets (1) and (2) , and the
problems [14, 15], in which the bounding volumes should deformations ϕ (1) and ϕ (2) of these two bodies are to be
tightly bound the objects and must also enable efficient found. The closure of (i) , i = 1, 2 will be denoted as
¯ (i) in the sequel.
intersection tests between a ray and bounding volumes.
Later, the bounding volume hierarchy found its way into For notational purposes, we assume the surfaces ∂(i)
collision detection. The original applications of this algo- to be divided into u(i) , where the Dirichlet boundary
(i)
rithm were for rigid body collision detection problems conditions are prescribed; σ , where the Neumann
[16], in which the contact bodies undergo only rigid body boundary conditions are prescribed; and c(i) , where the
motions. Later, this algorithm was successfully applied contact constraints will be defined and enforced. The
(i) (i) (i)
to collision detections for deformable objects [17]. An spatial counterparts of u , σ and c are denoted by
(i) (i) (i)
interesting example for such applications is to be found γu , γσ and γc , respectively. One will assume that the
in cloth animation [18]. contact, Dirichlet and Neumann surfaces on each body
Use of bounding volume hierarchies has been are non-intersecting, and that their union represents the
shown to be one of the most efficient algorithms for entirety of the body surface.
surface-to-surface contact searching [16, 19]. This algo- On the Dirichlet and Neumann boundaries, the con-
rithm is output sensitive, which means it will be very ditions may be specified as
Comput Mech (2008) 41:189–205 191
∗
In (4), the notation Gint,ext (ϕ, ϕ) is used for the virtual
work arising from the internal and external forces, and
∗
Gc (ϕ, ϕ) denotes the virtual work associated with the
contact tractions. A (i) is the material acceleration field
in body (i) (in the event that inertial effects are present),
(i)
ρ0 denotes the reference density, and F (i) denotes the
body force.
In the mortar implementation, one will formulate
the contact virtual work in the current configuration.
Accordingly, one may write Gc via
2
2
∗ ∗ (i) ∗ (i)
Gc (ϕ, ϕ) = − ϕ · t (i) d = − ϕ · λ (i) dγ , (5)
i=1 (i) i=1 (i)
c γc
(i)
where γc is the current configuration of the contact
Fig. 1 Notation for the two body large deformation contact surface on body (i), and λ(i) has been used to denote the
problem Cauchy contact traction. Incorporation of the balance
of linear momentum across the interface enables us to
(i) (i) re-express (5) as:
PjJ NJ = T̄j(i) in σ(i) ,
(1) (1)
ϕj(i) = ϕ̄j(i) in u(i) , ∗
Gc (ϕ, ϕ) := − λ(1) (X
∗
X , t) · ϕ (X
∗ (2)
X , t) − ϕ (Ȳ Y , t) dγ , (6)
(1)
γc
(i) (i)
where T̄i and ϕ̄j denote the prescribed tractions and
displacements for body (i), NJ is the outward refer-
(i) where ϕ (2) (Ȳ
Y , t) is the position of the contact point for X
(i) (i)
ence normal to ∂σ , and PjJ is the first Piola–Kirchhoff at current time t. In general, γc(1) will be referred to as the
stress tensor in body (i). nonmortar (alternatively, slave) surface, and will be the
Before defining the virtual work, we define solution surface over which the multipliers are interpolated once
(2)
and weighting spaces C (i) and V (i) , consisting of solutions the numerical approximation is applied. The surface γc
∗ (i)
ϕ (i) and their variations ϕ according to will be termed the mortar (alternatively, master) surface.
Additionally, one may decompose λ(1) into normal and
¯ (i) → Rd |ϕ (i) ∈ H 1 ((i) ), ϕ (i) = ϕ̄ (i) in u(i)
C (i) = ϕ (i) : (2) tangential components as:
(a) (b)
Fig. 2 Schematic (shown in two dimensions for simplicity) showing definitions of a contact traction and relative velocity and b gap
function and basis vectors. The shaded region represents the interior of the slave body, while ȳy is the contact point for x on the master
body
These ideas are shown schematically in Fig. 2. Figure 2a will ultimately use linear interpolation functions (bilin-
presents the normal and tangential tractions acting on ear in two dimensions, trilinear in three dimensions) to
points X, as well as the sign convention used for the spatially discretize the contacting bodies, although much
relative velocity vT , while Fig. 2(b) shows the physical of the discussion will be couched generically in terms of
interpretation of the gap function g(X X , t). shape functions of arbitrary order. Extension of the algo-
The frictional response equations are written in terms rithm for use with quadratic and higher order elements,
of the tangential velocity v T of the master surface rel- although not demonstrated in this manuscript, may be
ative to the slave surface at the corresponding contact achieved without conceptual difficulty. Notationally, we
points. One will sometimes consider v T in terms of its consider the spatial discretization of bodies (i) using
the finite set of elements E (i) :
h
covariant components in a surface coordinate system via
v T = vTα τ α , (10) (i) =
h
e(i) . (12)
h
where vTα denote the covariant components of the tan- ∀e∈E (i)
gential velocity and τ α is a tangential basis vector defined (i)h
in the current configuration of the slave surface (as in The discretization of contact surfaces c occurs over
subsets of ∂(i) .
h
(7)). With these definitions, the (Coulomb) frictional
equations can be written as follows: Approximate solution and weighting spaces are de-
noted C (i) and V (i) , respectively, and may be defined
h h
λT
v T − γ̇ =0 via
λT
(i)h
= ϕ (i) : ¯ (i) → Rd |ϕ (i) ∈ C 0 ((i) ),
h h h h
C
:= λT − µ λN ≤ 0 (11)
∀e ∈ E (i) , ϕ (i) ((i) ) ∈ PN ((i) (i)
h h h h h
γ̇ ≥ 0 e ); ϕ
e
γ̇ = 0,
= ϕ̄ (i) in u(i)
h
(13)
where, as can be seen, the frictional traction λT is par-
allel to the tangential velocity vT and where the mag- and
nitude of the frictional traction λT is not allowed h
(i)h ∗ (i) ¯ (i) → Rd |ϕ∗ (i) ∈ C0 ((i) ),
h h h
to exceed the coefficient of friction µ times the contact V = ϕ :
pressure λN .
∗ (i)h ∗ (i)h
∀e ∈ E (i) , ϕ ((i) (i)
h h h
e ) ∈ PN (e ); ϕ
= 0 in u(i) ,
h
3 Mortar based implementation of contact constraints (14)
We only briefly summarize our mortar contact imple- where the superscript d means the dimension of the
(i)h (i)h
mentation here, with the interested reader referred to space. PN (e ) is the set of all polynomials on e
[2, 3] for further details. Without loss of generality, we of order ≤ N. The mortar and nonmortar displacement
Comput Mech (2008) 41:189–205 193
(a) (b)
Fig. 3 Mortar segments, defined by intersections of contacting facets, shown in a two dimensions; and b three dimensions
Fig. 4 Different bounding volumes: a axis-aligned bounding box (AABB); b oriented bounding box (OBB); c k faced discrete orientation
polytope (k-DOP)
of C (i) and V (i) and are obtained by restriction of (13)
h h
(1) (1)
nAB = X ) NB(1) ξ (1) (X
NA ξ (1) (X X ) dγ (17)
and (14) to contact surfaces c(i) . The discretized mortar
h
h
multiplier space, which gives the approximation of the γ (1)
contact tractions, is defined on the nonmortar side (slave
surface) as and
(2) (1)
h nAC = NA X ) NC(2) ξ (2) Ȳ
ξ (1) (X Y (X
X ) dγ ,
M = λh |λh ∈ C0 (c(1) );
h
h
γ (1)
h h
∀e ∈ P h , λh (c(1)
e
) ∈ PN (c(1)
e
) , (15) (18)
(1)
X )) and NC(2) (ξ (2) (Ȳ
where NA (ξ (1) (X Y (X
X )) are the shape
where P h denotes the set of nonmortar element edges
functions defined on the discretized slave and master
contributing to the slave surface.
surfaces, respectively. A and B denote slave nodes and
As discussed extensively in [2, 3], one may define the
C denotes a master node.
discretized version of contact virtual work by developing
shape function expansions for the contact surface fields
and substituting into (6). Thus, the discretized version 3.1 Regularization of the normal constraints
of the contact virtual work is:
The normal contact traction, as shown in [1], is written
∗h (1) ∗ (1) (2) ∗ (2)
Gcm (ϕ h , ϕ ) = − λA · nAB ϕ B − nAC ϕ C , in a mortar approximation of contact as
A B C
(16) λNA = −λNA n A (no sum on A), (19)
194 Comput Mech (2008) 41:189–205
Fig. 5 Proximity tests using different bounding volumes: a with AABB; b with OBB; c with k-DOP. The shaded regions indicate the
interiors of the contact bodies
where the contact pressure λNA at node A is subject to This may be done via
Kuhn–Tucker conditions via ⎡ ⎤
λ
Lv λT = T ⎣v T − γ̇ ⎦,
T
λNA ≥ 0
gA ≤ 0 (20) λT
λNA gA = 0 := λT − µ λN ≤ 0, (24)
while the mortar projected gap gA is defined as γ̇ ≥ 0,
gA = n A · gA , γ̇ = 0,
(21)
(1) (1) (2) (2)
gA := κA B C n ϕ
AB B − n ϕ
AC C . where T is the frictional penalty parameter. The fric-
tional conditions (11) are recovered in the limit as T →
As explained in detail in [3], κA is a scale factor defined ∞. Lv λT is the Lie derivative of the frictional traction,
as and may be defined in the current context via
κA = 1
,
(1,ref )
D nAD Lv λT = λ̇Tα τ α , (25)
(1,ref) (1) (1)
(22) where τ α is a contravariant tangential base vector. The
nAD = NA ξ (1) (X
X ) ND ξ (1) (X
X ) d, repeated indices α imply summation with respect to the
(1)
h repeated index α. For a two dimensional problem, there
h
is only one tangential basis vector and thus the repeated
where (1) is the original configuration of the discret- indices can be omitted. In (25), the expression for the
ized nonmortar surface. This scaling preserves the frictional traction rate contains material time derivatives
proper dimensionality of gA , so that mortar projected of components of λT only (i.e. no terms containing time
gaps have the same units (length) as the continuum gap derivatives of base vectors are included). It is this fact
function. that makes it a frame indifferent object.
We consider here the use of penalty regularization A key feature of mortar implementation of frictional
to enforce the normal contact conditions given in (21). contact is the use of a suitable tangential velocity mea-
In this case, the normal traction at node A, rather than sure, which is itself frame indifferent and which provides
being considered as an independent variable in the prob- the basis for a frictional traction update algorithm. As
lem, assumes the following form: discussed in more detail in [3], such a frame indiffer-
λNA = −N gA n A , (23) ent, mortar-projected approximation for the tangential
velocity at node A is given by the following expres-
where N is the normal penalty parameter, and • is sion, involving the time derivatives of the mortar
the Macauley bracket, representing the positive part of operators:
the operand. Augmented Lagrangian treatment of the
constraint is readily achieved using this penalty kernel, (2) (2) (1) (1)
v TA = −κA ṅACϕ C − ṅABϕ B · τ Aα ⊗ τ αA .
if desired. C B
(26)
3.2 Regularization of the frictional constraints
A trial state-return map strategy may now be applied
In treating the frictional operator in a mortar context, to (24) to generate a time-discrete algorithm for fric-
we specify a penalty regularization of conditions (11). tional traction update. Following the usual procedure,
Comput Mech (2008) 41:189–205 195
one first computes a trial state, assuming no slip during where the subscript n + 1 denotes a state associated with
the increment: the current iteration of the n + 1st load (or time) step,
and n is associated with the nth converged load step.
(2)
λtrial
TA = λTAnα −T κA τ Aα · nACn+1 − n(2)
ACn ϕ C
(2)
n+1α
C
4 The contact searching algorithm
(1) (1)
(1)
− nABn+1 − nABn ϕB (27)
B As discussed in [3] and [1], the computational imple-
mentation of a mortar contact algorithm mandates us
and one defines a trial value for the slip function via to find all mortar segments, or facet intersections, whose
union enables computation of the mortar integrals n(1) AB
trial
n+1 = λtrial
T − µ λN . (28) (2)
and nAC in (17) and (18). For example, in three dimen-
sional problems, the mortar integrals are computed as:
Depending on the admissibility of this trial state, the (1) seg
(1)
updates used to define the final frictional traction are nAB = nAB (30)
given as: seg
⎧ and
⎪ λ trial = λtrial τ α trial ≤ 0, stick,
⎪
⎪ TAn+1 TAn+1 A if n+1 (2) seg
⎪
⎪ α (2)
nAC = nAC , (31)
⎨
λTA = (29) seg
n+1 ⎪
⎪ λtrial
TA
⎪
⎪ µ λN A n+1
otherwise, slip, where a superscript seg denotes a mortar segment. A
⎪
⎩ λtrial
TA mortar segment is constructed by finding the intersec-
n+1
196 Comput Mech (2008) 41:189–205
Current Position
2
3 2 3
4 5 7
4 6
6 7
5
8 9
8
9
(a) (b) many slave and master subsurface pairs are likely to be
tested for proximity even though they are not so close.
Another approach to define bounding volumes is to use
oriented bounding boxes (OBBs, see [19]), as shown in
Fig. 4 b. An OBB can be at any orientation that is related
to the geometry of the object. Compared to an AABB,
an OBB is usually much tighter and would therefore
tend to cause collision detection to be much more effi-
cient. Unfortunately, computation and updating of the
OBBs from iteration to iteration tends to be much more
(c) (d) expensive and overlap detection between two OBBs is
not as straightforward or cheap as with an AABB.
In this work, we employ discrete orientation poly-
topes (k-DOPs) to define bounding volumes. k-DOPs
are convex hulls that have k faces. A typical 8-DOP in
two dimensions is shown in Fig. 4 c. k-DOPs are always
tighter than AABBs and may be tighter or looser than
OBBs, depending on the geometries of the objects. How-
ever, computing and updating of the k-DOPs are much
Fig. 12 Deformed configurations of the ring impact problem, simpler and cheaper, which is quite important for our
coarse mesh: a t = 0.32; b t = 0.64; c t = 0.96; d t = 1.28. applications since deformation of contact bodies neces-
sitates frequent updating of these volumes. Detection of
proposed will rely on definition of bounding volumes overlapping between two k-DOPs is also very efficient.
for all elements and subsurfaces. If the bounding vol- The discrete oriented normals of a k-DOP are pairwise
umes of two surfaces overlap, the algorithm will proceed collinear and are oppositely oriented vectors. In this
further to search for potential contact between subsur- algorithm, we apply 8-DOPs for two dimensional prob-
faces of these two surfaces. Otherwise, it will be assumed lems and 18-DOPs for three dimensional problems. The
that there is no possibility of contact between the two orientation normals of an 8-DOP for a two dimensional
surfaces, and the remainder of the searching procedure problem are defined at 0, ±45, ±90, ±135 and 180◦ .
will be skipped. This is implemented within a hierarchi- Examples of overlap test results that would be obtained
cal tree structure, which will be introduced later in this by using different bounding volumes are shown in Fig. 5.
section. One can see in Fig. 5 that the AABBs overlap even
There are several different ways to define a bounding when the two surfaces are not so close, while OBBs and
volume for a geographical region. One of the simplest, k-DOPs are much better in this case.
which does not bound the surface particularly tightly, A k-DOP is actually constructed with k/2 pairs of
is to define a cuboid whose surfaces are parallel to the parallel lines (2D) or surfaces (3D). The space between
x − y, x − z and y − z surfaces. Such a volume is called a pair of parallel lines or surfaces is called a slab. Thus,
an axis-aligned bounding box (AABB, see [17]), and is the region in a k-DOP is basically the intersection of
shown schematically in Fig. 4a. AABBs are very easy to k/2 slabs. For each k-DOP, we only need to save inter-
update from iteration to iteration. However, the lack of cepts of the lines or surfaces with the coordinate axes.
tightness in the bounding volume is a drawback, since For example, for a 45◦ line in a 8-DOP (used in a two
198 Comput Mech (2008) 41:189–205
Table 1 Comparison of CPU time (in microseconds, µs) for the two dimensional ring impact problem.
_________________
Mises Stress Mises Stress
_________________
(c) (d)
9.67E+00 7.78E+00
4.72E+01 4.71E+01
8.47E+01 8.63E+01
1.22E+02 1.26E+02
1.60E+02 1.65E+02
1.97E+02 2.04E+02
2.35E+02 2.43E+02
2.72E+02 2.83E+02
3.10E+02 3.22E+02
3.47E+02 3.61E+02
3.85E+02 4.01E+02
4.23E+02 4.40E+02
4.60E+02 4.79E+02
(e) _________________
Mises Stress (f) _________________
Mises Stress
1.28E+01 1.41E+01
4.67E+01 4.24E+01
8.05E+01 7.07E+01
1.14E+02 9.90E+01
1.48E+02 1.27E+02
1.82E+02 1.56E+02
2.16E+02 1.84E+02
2.50E+02 2.12E+02
2.84E+02 2.41E+02
3.17E+02 2.69E+02
3.51E+02 2.97E+02
3.85E+02 3.25E+02
4.19E+02 3.54E+02
4.3 A bounding volume hierarchy utilizing a tree non-leaf T-node has exactly two children, termed a left
structure child and a right child. A typical bounding volume hier-
archy is shown in Fig. 9. If there are n elements for a
Given a surface object, we can recursively split the sur- contact surface, the number of T-nodes in the bound-
face into subsurfaces to build a tree structure. In the ing volume tree is 2n − 1. At each T-node, we save the
terminology used to describe the hierarchy, the por- k-DOP of the corresponding subsurface. Thus, the stor-
tions of the tree corresponding to individual element age space for a bounding volume tree is O(n).
facets of the surface (representing the smallest subsur-
faces included in the data structure) are called leaf tree 4.4 Building the bounding volume tree
nodes. At each node of the tree (called a T-node in this
paper to differentiate it from finite element nodes), we There are basically two methods to build bounding vol-
save the information related to its corresponding sub- ume trees [16, 21], known as top–down and bottom–
surface. For bounding volume hierarchies, the bound- up approaches. A top-down approach starts with one
ing volumes, i.e. k-DOPs, of the subsurfaces are saved T-node (termed a root T-node) which is associated with
in their corresponding T-nodes. Although other choices the entire surface. The surface is then recursively split
are possible, binary trees are used in this work so each into subsurfaces and each of them is saved in a newly
200 Comput Mech (2008) 41:189–205
Table 2 Comparison of the search related CPU time (in micro- (a) (b)
seconds, µs) for the two torus impact problem
Searching
algorithm t=0 t = 2.5 t = 5.0 t = 7.5
(e) (f)
Algorithm 1 Contact searching algorithm The cost function for contact detection using
1: procedure ContactDetection(Surface1, Surface2) bounding volume hierarchies was given in [22], in which
2: TandemTraversal(Root(BV-Tree(Surface1)),Root(BV- the technique was applied to analyze hierarchical meth-
Tree(Surface2)) ) ods for ray tracing. Given two discretized contact sur-
3: end procedure
faces and their bounding volume trees, the total cost
4: procedure TandemTraversal(TNodeA , TNodeB ) function of contact detection can be given as:
TNodeA and TNodeB are nodes in the bounding volume
trees of slave and master surfaces, respectively T = Nv × Cv + Ne × Ce , (35)
5: if BV(TNodeA ) and BV(TNodeB ) do not intersect then where T is the total cost for the contact detecton, Nv
Quit if the bounding volumes of two T-nodes do not
intersect is the number of pairs of bounding volumes tested for
6: return overlaps, Cv is the cost for testing overlap of a pair of
7: end if bounding volumes, Ne is the number of slave-master ele-
ment pairs tested for contact (for mortar projection) and
8: if TNodeA and TNodeB are leaves then
9: Do mortar projection to get the mortar segment infor- Ce is the cost for testing a slave-master element pair for
mation ... contact (i.e., whether there exists a valid intersection, or
10: end if mortar segment, defined by the pair).
Equation (35) needs to be modified if there are defor-
11: if TNodeA is not a leaf then
12: TandemTraversal(Left Child of TNodeA , TNodeB ) mations or rotations that necessitate updating of bound-
13: TandemTraversal(Right Child of TNodeA , TNodeB ) ing volumes. For large deformation contact problems,
14: else the cost function is changed to:
15: TandemTraversal(TNodeA , Left Child of TNodeB )
16: TandemTraversal(TNodeA , Right Child of TNodeB )
17: end if T = Nv × Cv + Ne × Ce + Nus × Cus + Nue × Cue , (36)
18: end procedure
4.8 Procedure to compute mortar contact stiffness Here we consider a two dimensional impact problem of
in one iteration two hyperelastic rings. One of the rings is given an ini-
tial speed and subsequently comes into contact with the
To apply a Newton–Raphson solution procedure to the other ring. Large deformations and sliding are involved
global finite element equations, we need to compute in this problem. A Newmark time integration method
mortar contact stiffness matrices and assemble them into and a Newton–Raphson scheme are applied to solve the
the global stiffness matrix in each iteration. A typical transient nonlinear finite element equations. In the fol-
procedure to compute a mortar contact stiffness in one lowing, we will show the performance of the searching
of these Newton–Raphson iterations is as follows: algorithm by comparing it with a brute force searching
algorithm. The initial configuration of the problem is
shown in Fig. 10. The upper-left ring is given an initial
1. Update the bounding volume trees based on the re-
speed v = 20.0 in the horizontal direction, while the
sults of the last iteration.
other ring is initially as rest. Both rings are comprised of
2. Perform a global search for contact element pairs
neo-Hookean solids, with Young’s modulus E = 2, 250
(candidates for mortar segments) based on the algo-
and Poisson’s ratios ν = 0.125. The initial (reference)
rithm introduced in the last few subsections.
densities of the rings are ρ = 0.1, and the frictional
This step will call the procedure ContactDetection
coefficient between the two rings was selected as 0.5.
in Algorithm 1 with the two contact surfaces as the
The calculation was performed using two different
arguments.
discretizations, as shown in Fig. 11(unfortunately, the
3. Perform a local contact search in segments identified
finer mesh is sufficiently dense so that mesh detail is
above, to calculate local geometric quantities needed
difficult to discern). The coarser mesh has 100 elements
to evaluate mortar segments. Details can be found
along the circumferential direction and 4 elements radi-
in [2] and [3].
ally, while the finer mesh has 2000 elements along its
4. Compute mortar integrals and contact constraints
circumference and 4 elements radially. Only the lower
after assembling the mortar segment contributions.
half of the upper left ring and the upper half of the lower
5. Decide whether the bodies are in contact based on
right ring are defined as contact surfaces, so each contact
the contact constraint evaluations at slave nodes. If
surface has 50 elements for the coarser mesh and 1,000
not, it is not necessary to compute contact stiffness;
elements for the finer mesh. The deformed configura-
otherwise, continue.
tions of the coarser mesh at different time steps is given
6. Compute contact stiffness based on the mortar seg-
in Fig. 12.
ment information and the linearization given in [1, 3].
Table 1 shows the comparisons of CPU time for the
new searching algorithm and the brute force algorithm,
at different time steps and with different discretizations.
5 Numerical examples For the searching algorithm, the table gives the CPU
time for updating the bounding volume trees (BVH
The searching algorithm introduced in last section has updating), for searching the bonding volume trees for
been implemented to describe both two dimensional and candidate contact element pairs (BVH searching) and
three dimensional mortar contact problems. In this sec- the whole searching process (BVH total). The total CPU
tion, a variety of two and three dimensional numerical time includes time for searching, updating, computing
examples are given to demonstrate the superior perfor- the mortar projections, and computing the profiles of
mance of this algorithm. the mortar matrices. When the two rings are not in
Comput Mech (2008) 41:189–205 203
450 1800
t=1
t=4
400 1600
350
1400
300
1200
250
1000
200
800
150
600
100
50 400
0 200
100 200 300 400 500 600 700 800 900 1000 100 200 300 400 500 600 700 800 900 1000
Total Number of Slave and Master Elements Total Number of Slave and Master Elements
Fig. 18 Comparison of CPU time with different refinements of meshes for torus–cylinder impact problem: a CPU time for searching
contact pairs at t = 1 and t = 4 vs. number of elements; b CPU time for updating the bounding volume trees vs. number of elements
contact (at time t = 0), the CPU time for searching two toruses are 52 and 100, respectively. The wall thick-
is close to zero because only one overlap test is done ness of each hollow torus is 4.5. The distances between
for two root bounding volumes. In contrast, the brute the centers of the two toruses are 140 in the horizontal
force algorithm still takes O(n2 ) time because it does direction and 140 in the vertical direction. The upper
not detect if the two rings are really far from each other right torus is rotated 45 degrees around the vertical axis
and therefore performs the full search, as seen in Ta- in the initial configuration. At the beginning, the lower
ble 1. For the finer mesh, the brute force technique is left torus is given an initial speed v = [30.0, 0.0, 23.0]T .
1,000 to 4,000 times slower than the searching algorithm The material models for the two toruses are Neo-Hook-
using bounding volume hierarchies. If we only consider ean hyperelastic materials, with E = 2250 and ν = 0.3.
searching, the new algorithm is 104 to 106 times faster The initial densities are ρ = 0.1. We assume frictionless
than the brute force technique. For this particular prob- response between the two toruses, in order to observe a
lem, the updating of the tree takes the majority of time larger amount of relative sliding. The deformed config-
since the searching takes less than O(n) time. This is urations at different time steps are given in Figure 14. In
because only a small part of each surface is in contact. Fig. 14, we can see the left torus hit and slide on the right
We can expect, for another problem, the searching will torus. Both toruses are significantly deformed and they
take a similar or even higher amount of time than the have a large area in contact in some time steps during
updating if most of each surface is in contact. the simulation. This problem has 800 contact elements
on each torus surface. Table 2 shows the comparison
5.2 A three dimensional two torus impact problem of CPU time between the searching algorithm and the
brute force approach at different time steps.
In this example, we test a two torus impact problem. The From Table 2, we notice the searching is still cheaper
initial configuration and finite element mesh of the prob- than the updating of the trees. The total time for the
lem is given in Fig. 13. The inner and outer radius of the searching algorithm (BVH total) is around 100 times
204 Comput Mech (2008) 41:189–205
cheaper than the brute force method. Actually, the most which are used (for example) in ray tracing problems in
expensive part for this problem is the local searching computer science. The algorithm is output sensitive and
(the total time minus searching and updating), corre- much more efficient than a simple brute force searching
sponding to the calculation of the mortar projections algorithm. For large deformation problems, the bound-
and the setting up the profiles of the mortar matrices. 1 ing volume trees need to be updated in every iteration.
The CPU times at different time steps for the brute force For some problems, the updating process is more expen-
approach are almost identical because they are always sive than the searching although the cost for updating
O(n2 ), irrespective of the contact status. is only O(n). The cost can be reduced by skipping the
updating procedure if the deformations are small or
5.3 Three dimensional torus–cylinder impact example once relative errors in the global equilibrium conver-
gence scheme are less than a certain value.
We test another three dimensional problem in this exam- Generally, this algorithm is very effective and appli-
ple. The initial configuration and the finite element mesh cable to self-contact problems with some modifications.
are given in Fig. 15. The material models for the torus By parallelizing this searching algorithm and the other
and the cylinder are Neo-Hookean hyperelastic mate- part of the mortar contact method, the mortar method
rials, with E = 2, 250 and ν = 0.3. The reference den- can be used to solve some large scale sliding contact
sity of the two bodies is ρ = 0.1.We assume frictionless problems with millions of degrees of freedom.
response between the two bodies.The torus is given a ini-
tial speed in the direction of the axis of the cylinder, with Acknowledgment This work was supported in part by the Air
the result that it will impact and pass through the cylin- Force Office of Scientific Research under Contract F49620-02-1-
der. The deformed configurations at different time steps 0094, and in part by Sandia National Laboratories under Contract
21757. Both sources of support are gratefully acknowledged.
are shown in Fig. 16. Table 3 shows the superior con-
vergence performance (with tolerance 1 × 10−18 ) of the
mortar contact method for this problem, using Newton–
Raphson iteration on the global nonlinear equations. References
Both the torus and the cylinder have fairly large
1. Puso MA, Laursen TA (2004) A mortar segment-to-segment
deformations in this problem. When the torus com- contact method for large deformation solid Mech. Compu
pletely enters the cylinder, we will find the largest num- Methods Appl Mech Eng 193:601–629
ber of contact element pairs. Because of the symmetry 2. Puso MA, Laursen TA (2004) A mortar segment-to-segment
of this problem, we may also do the calculation using frictional contact method for large deformations. Comput
Methods Appl Mech Eng 193:4891–4913
quarter meshes at different mesh refinement levels, as 3. Yang B, Laursen TA, Meng XN (2005) Two dimensional mor-
shown in Fig. 17. The CPU time required for searching tar contact methods for large deformation frictional sliding.
and updating the meshes in Fig. 17, plotted against the Int J Numer Methods Eng 62:1183-1225
number of slave and master elements, is shown in Fig. 18. 4. Bernardi C, Maday Y, Patera AT (1992) A new nonconform-
ing approach to domain decomposition: the mortar element
We notice that the cost for updating is almost perfectly method. In: Brezia H, Lions JL, (eds) Nonlinear partial differ-
linear, i.e. O(n). The cost for searching in this problem is ential equations and their applications, Pitman and Wiley, pp
cheaper than updating both at t = 1 and t = 4. Based on 13–51
the slopes of the searching curves (Fig. 18a), the search- 5. Belgacem FB, Maday Y (1994) A spectral element methodol-
ogy tuned to parallel implementations. Compu Methods Appl
ing is a little cheaper than O(n) at both t = 1 and t = 4 Mech Eng 116:59–67
and so is clearly much more efficient than a brute force 6. Belhachmi Z, Bernardi C (1994) Resolution of fourth order
method. The searching is more expensive at t = 4 than problems by the mortar element method. Comput Methods
t = 1 because there are more elements that are in con- Appl Mech Eng 116:53–58
7. Wohlmuth BI (2001) Discretization methods and iterative
tact at these times. solvers based on domain decomposition. Springer, Berlin
Heidelberg New York, (2001)
8. El N-Abbasi, Bathe K-J. (2001) Stability and patch test perfor-
6 Conclusion mance of contact discretizations and a new solution algorithm.
Compu and Struct 79:1473–1486
9. McDevitt TW, Laursen TA (2000) A mortar-finite element
An efficient contact searching algorithm for mortar con- formulation for frictional contact problems. Int J Numer
tact formulations has been presented in this article. The Methods Eng 48:1525–1547
approach is based on bounding volume hierarchies, 10. Fischer KA, Wriggers P. (2005) Frictionless 2d contact formu-
lations for finite deformations based on the mortar method.
Comput Mech 36:226–244
1 Note, in our program, the mortar matrices are saved in profile 11. Zhong Z, Nilsson L (1989) A contact searching algorithm for
form similar to the global stiffness matrix because they are sparse. general contact problems. Comput Struct 33:197–209
Comput Mech (2008) 41:189–205 205
12. Oldenburg M, Nilsson L (1994) The position code algorithm 17. van den Bergen G (1997) Efficient collision detection of com-
for contact searching. Int J Numer Methods Eng 37:359– plex deformable models using AABB trees. J Graph Tools
386 2(4):1–13
13. Klosowski JK, Held M, Mitchell SB, Sowizral H, Zikan K 18. Mezger J, Kimmerle S, Etzmu βO (2000) Hierarchical tech-
(1998) Efficient collision detection using bounding volume niques in collision detection for cloth animation. J WSCG
hierarchies of k-dops. IEEE Trans Vis Comput Graph 4:21– 11(2):322–329
37 19. Gottschalk S, Lin MC, Manocha D (1996)OBBTree: ahier-
14. Kajiya JT, Kay TL (1986) Ray tracing complex scenes. ACM archical structure for rapid interference detection. Comput
SIGGRAPH Comput Graph 20:269–278 Graph, 30(Annual Conference Series):171–180
15. Goldsmith J, Salmon J (1987) Automatic creation of ob- 20. Hubbard PM (1993) Interactive collision detection. In: IEEE
ject hierarchies for ray tracing. IEEE Comput Graph Appl symposium on research frontiers in virtual reality, IEEE. pp.
7:14–20 24–31
16. Klosowski JT, Held M, Mitchell JSB, Sowizral H, Zikan 21. Garland M, Willmott AJ, Heckbert PS (2001) Hierarchical
K (1998) Efficient collision detection using bounding vol- face clustering on polygonal surfaces. In: SI3D, pp. 49–58
ume hierarchies of k-DOPs. IEEE Trans Vis Comput Graph 22. Weghorst H, Hooper G, Greenberg D (1984) Improved com-
4(1):21–36 putational methods for ray tracing. ACM Trans Graph 3:52–69