0% found this document useful (0 votes)
16 views17 pages

Contact Search Algo

This document presents a new contact searching algorithm using bounding volume hierarchies for large deformation mortar contact formulations. The algorithm builds bounding volume trees for each contact surface based on geometry. It performs an efficient global search to find candidate contact element pairs, followed by a local search to find contributing mortar segments. Numerical examples demonstrate the algorithm's robust and efficient performance for large sliding problems using mortar contact formulations.

Uploaded by

Sachin G
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views17 pages

Contact Search Algo

This document presents a new contact searching algorithm using bounding volume hierarchies for large deformation mortar contact formulations. The algorithm builds bounding volume trees for each contact surface based on geometry. It performs an efficient global search to find candidate contact element pairs, followed by a local search to find contributing mortar segments. Numerical examples demonstrate the algorithm's robust and efficient performance for large sliding problems using mortar contact formulations.

Uploaded by

Sachin G
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Comput Mech (2008) 41:189–205

DOI 10.1007/s00466-006-0116-z

O R I G I NA L PA P E R

A contact searching algorithm including bounding volume


trees applied to finite sliding mortar formulations
Bin Yang · Tod A. Laursen

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:

λ(1) = λN + λT = −λN n + λTα τ α (7)


and
  where λN denotes the normal component of the con-
∗ (i)
V (i) = ϕ ¯ (i) → Rd |ϕ∗ (i) ∈ H 1 ((i) ), ϕ∗ (i) = 0 in u(i) ,
: (3) tact traction, λTα denotes the covariant components of
the tangential traction vector λT , n is the outward unit
(1)
where the superscript d means the dimension of the normal to γc at x = ϕ (1) (X X , t), and τ α denotes the
space. H 1 ((i) ) represents the Sobolev space of func- contravariant tangential basis vectors at the same point.
tions which have square integrable derivatives. The vir- The repeated index α implies the Einstein summation
tual work principle for the two body contact problem
can now be written in the usual way as convention over the surface coordinates.
Impenetrability and compressive interaction between
∗ 
2
∗ (i)
contact bodies are enforced via the normal contact con-
G(ϕ, ϕ) := G(i) (ϕ (i) , ϕ ) straints. We write the gap function g(X X , t) as
i=1
2  
  
 
=
∗ (i) ∗
ρ0(i) ϕ · A (i) + Grad ϕ : P (i) d
X , t) = n · ϕ (1) (X
g(X X , t) − ϕ (2) Ȳ
Y, t , (8)
i=1
(i)
   Y is the (material) contact point for X at time t.
where Ȳ
∗ (i) ∗ (i) (i)
− ϕ · F (i) d − ϕ · T̄
T d The normal contact conditions can then be represented
(i) (i)
σ as classical Kuhn-Tucker conditions via:
2 
 ∗ (i)
− ϕ · t (i) d = 0 X , t) ≤ 0
g(X
i=1 (i)
c λN (X
X , t) ≥ 0 (9)
∗ ∗
= G int,ext c
(ϕ, ϕ) + G (ϕ, ϕ) = 0. (4) λN (X X , t) = 0.
X , t)g(X
192 Comput Mech (2008) 41:189–205

(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

(a) (b) (c)

Fig. 4 Different bounding volumes: a axis-aligned bounding box (AABB); b oriented bounding box (OBB); c k faced discrete orientation
polytope (k-DOP)

(i)h (1) (2)


mapping fields on the surface, ϕ (i) (c ) ⊂ X (i) , as
h h
where nAB and nAC , referred to as mortar integrals, are
∗ (i)h (i)h defined as:
well as their variations ϕ (c ) ⊂ W (i) , are subsets
h

    
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

(a) (b) (c)

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

Fig. 6 Illustration of a direct (a) (b)


inflation scheme for bounding
volumes: a bounding volume
for individual facet without
inflation; b bounding volume
for upper level in hierarchical
tree without inflation;
c bounding volume for
individual facet with inflation
ε; d bounding volume for
upper level in hierarchical (c) (d)
tree with inflation ε

Fig. 7 Illustration of how


(a) (b)
inflation of bounding volumes
without consideration of
history can miss contact
interactions: a nth converged
step; b current iteration of the
n + 1st step. Overlap exists at
tn , but is not detected at tn+1
even using inflated volumes,
due to the large incremental
motion.

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

Fig. 8 An improved way to Auxiliary Position


define the bounding volume, Last Converged Position
using history related inflation.

Current Position

Fig. 9 A bounding volume Splitting Plane


tree for a two dimensional
surface 1 1

2
3 2 3

4 5 7
4 6
6 7
5

8 9
8
9

large number of contact surface elements. Such con-


8
tact searching (sometimes termed collision detection in
the computer science literature) is a topic of interest
in computer graphics since inefficient implementations
10
can be a bottleneck for some virtual reality applications
16 (such as three dimensional interactive games). The ulti-
mate goal of a contact searching algorithm is to find
10
all proximate slave-master element pairs. In many com-
12 puter graphics applications, only rigid bodies are con-
sidered. In our application, however, both material and
geometrical nonlinearities are involved, and since we
will use Newton-Raphson iterations to solve the finite
15.8
element equations, efficiency in the searching procedure
is particularly crucial here.
Fig. 10 The initial configuration and geometries for the two ring
impact problem In what follows, a contact searching algorithm with
bounding volume hierarchies (also denoted as bound-
ing volume trees or BVHs, see [16]) will be applied to
tion of a slave element and a master element, which
search the mortar segments. k-DOPs (discretized orien-
either contact or are close to each other, as shown in
tation polytopes) are used to define the bounding vol-
Fig. 3. The details about how to construct these mortar
umes. The searching algorithm is designed to work well
segments can be found in [3] for two dimensions and in
with deformable contact problems and our nonlinear
[1] for three dimensions.
solution schemes. It will be shown to be very efficient
An efficient contact searching algorithm is critical
and highly suitable for mortar contact formulations.
for the performance of the mortar contact formulation
considered in this work. For a problem with n slave
elements and m master elements, the cost of a naive 4.1 The bounding volume
brute force searching algorithm (searching all master
elements for valid intersections with each slave element) For an efficient detection of contact or proximity
is O(nm), which is unacceptable for a problem with a between two discretized surfaces, the algorithm to be
Comput Mech (2008) 41:189–205 197

Fig. 11 Two discretizations of (a) (b)


the ring impact problems:
a coarser mesh; b finer mesh
(a zoomed area shown on the
right).

(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.

Searching Coarse Fine


Algorithm t=0 t = 0.32 t = 0.64 t=0 t = 0.32 t = 0.64

BVH updating 90 80 80 1,602 1,701 1,807


BVH searching 0.0 10 8 0 90 49
BVH total 90 130 125 1,602 2,252 2,117
Brute force 16,424 13,218 11,616 4.4 × 106 3.5 × 106 2.8 × 106

dimensional problem), we would save the y-intercept


of the line. By this approach, detection of overlapping
between two k-DOPs is quite straightforward – we only
need to determine whether all the slabs of one k-DOP
intersect their corresponding slabs of another k-DOP.
The two corresponding slabs of two different bounding
volumes intersect if and only if the intercepts of the slabs
overlap.

4.2 Inflation of bounding volumes

In the last subsection, we defined the bounding volume


of an object as a tightly bounded convex hull with dis-
crete oriented surfaces. However, we have yet to discuss
some degenerate cases which tend to cause troubles in Fig. 13 The initial configuration of the two torus impact problem
some applications. For instance, the bounding volumes
for elements that parallel the x or y axis in two dimen-
sional problems or x − y, y − z or x − z surface in three inflations of the bounding volumes. Here we propose a
dimensional problems degenerate to 1-d line segments new method, which we term history related inflation, to
or 2-d polygons. On the other hand, in mortar element fix this problem. The basic idea of this approach is to
methods, not only real contacts but also contact body define bounding volumes of all contact elements, asso-
proximities must be detected. Considering these factors, ciated with both the converged time step at time tn and
we enlarge the k-DOPs by an offset ε in each of its k the current iteration for the configuration at tn+1 . As
directions, so that overlap tests are turned into proxim- shown in Fig. 8, we define an auxiliary position for an
ity detections. A typical inflation in the two dimensional element, which is defined by projecting every node at
case is shown in Fig. 6. In our work, we define ε as: the last converged step onto a line that passes through
the current position of the node and in the direction of
ε = 0.1 × S, (32)
the current surface normal. Given a node A, the last con-
where S is the feature size of an element defined as: verged position is x An and the current position is x An+1 ,
then the auxiliary position is:
S = min{lengths of edges}. (33)
  
Inclusion of this bounding volume inflation solves xAaux = xAn+1 + xAn − xAn+1 · n n, (34)
many potential issues which could arise, but since we de-
sire a method which will work even for potentially large where n is the normal vector of the element. For a three
incremental motions, it is quite conceivable that these dimensional surface element, n is the normal vector at
inflated bounding volumes could still miss some contact the geometric center of the element.
pairs. Figure 7 depicts a case in which such interactions Then, we define a bounding volume that bounds both
could be missed. In this case, the bounding volumes of the current position and the auxiliary position and has
the two elements do not intersect in the n+1st step, even an inflation of ε in each of its k directions. By doing so,
though the two contact bodies penetrate each other. This one can avoid the case in Fig. 7. On the other hand, one
occurs because the relative motions to be computed dur- still keeps the bounding volume as tight as possible by
ing the time step are relatively large compared to the defining the auxiliary position.
Comput Mech (2008) 41:189–205 199

Fig. 14 Deformed _________________


Mises Stress Mises Stress
_________________
configurations of the two (a) (b)
torus impact problem at 1.01E+00 5.59E+00
a t = 2; b t = 4; c t = 6; 2.49E+01 2.99E+01
d t = 6.5; e t = 7.1; and 4.87E+01 5.43E+01
f t = 7.7. 7.26E+01 7.86E+01
9.65E+01 1.03E+02
1.20E+02 1.27E+02
1.44E+02 1.52E+02
1.68E+02 1.76E+02
1.92E+02 2.00E+02
2.16E+02 2.25E+02
2.40E+02 2.49E+02
2.64E+02 2.73E+02
2.87E+02 2.98E+02

_________________
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

BVH updating 5,808 5,808 5,808 5,808


BVH searching 0 300 500 300
BVH total 5,808 17,524 33,348 20,128
(c) (d)
Brute force 2.2 × 106 2.2 × 106 2.2 × 106 2.2 × 106

(e) (f)

Fig. 16 Deformed configurations of the torus–cylinder impact


problem: a t = 1; b t = 2.5; c t = 4.0; d t = 5.5; e t = 7.0; f t = 8.5
Fig. 15 The initial configuration of the torus cylinder impact prob-
lem

4.5 Updating the bounding volume tree

For large deformation contact problems, we need to


created T-node. There are different rules to split the
update the bounding volume trees after each iteration
surface. The most straightforward way to do this is to
because bounding volumes change drastically with
divide a surface or subsurface along the longest axis of
deformation. A bounding volume tree can be updated in
its k-DOP, i.e. by using a splitting plane perpendicular
a bottom-up manner. For all the leaf T-nodes, we recom-
to the longest axis. To maintain balance of the tree, we
pute the bounding volumes for their corresponding con-
choose the splitting plane so that it passes through the
tact elements, then recursively combine the bounding
median of the centroid coordinates, although it is pos-
volumes of children T-nodes to get the bounding vol-
sible that having the splitting plane pass through the
umes of parent T-nodes. This procedure can be carried
mean of the element centroid coordinates could be a
out very efficiently because each T-node is visited only
good choice in many cases. There are O(log n) levels for
once. Thus, the complexity of the updating procedure is
a balanced binary tree. The cost of constructing the tree
O(n), where n is the number of elements on all contact
is O(n log n), and such construction usually only needs
surfaces.
to be done once in program initialization. In some cases,
Although each update only has a cost of order n, the
if the problem features dramatic deformation, we may
procedure may still be somewhat costly if we have many
need to rebuild the tree every few time steps to make
time steps and iterations in a problem with large num-
the searching procedure more efficient.
ber of degrees of freedom. Searching time can be further
Another method to build the tree is the bottom-up
reduced by skipping updates after iterates become suit-
approach, as exemplified by the surface clustering algo-
ably close to a converged solution (i.e., when volumes
rithm in [21]. This approach begins with the input ele-
may be expected to remain relatively unchanged). In
ments as the leaves of the bounding volume tree and
such cases, the updates might be skipped after the rel-
applies some algorithms to group these elements recur-
ative energy norms (for a Newton–Raphson iteration
sively. Using this approach, the subsurface associated
sequence) are less than a certain value, say 10−8 .
with a T-node tends to be a connected surface, so that this
technique is a highly appropriate way to build bounding
volume trees for self-contact problems. For multi-body 4.6 Contact searching with bounding volume trees
contact problems (the focus of this manuscript), we more
typically use top-down algorithms to build bounding vol- After the bounding volume tree is built for each contact
ume trees. surface, the tree is now exploited to efficiently find con-
Comput Mech (2008) 41:189–205 201

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

where Nus is the number of bounding volumes of non-


leaf T-nodes that need to be updated, and Cus is the
tact element pairs. Each contact element pair contains
cost for updating the bounding volume of a non-leaf
a slave and a master element. Given two contact sur-
T-node. Nue is the number of bounding volumes of leaf
faces and the corresponding bounding volume trees, we
T-nodes that need to be updated, while Cue is the cost for
adopt a so called recursive tandem traversal algorithm
updating the bounding volume of a leaf T-node. In our
to search all the contact pairs and then do the projec-
large deformation contact problems, we need to update
tions to get mortar segments (see [1, 3] for more details
the bounding volumes of all T-nodes after each iteration,
of these local projection calculations). Algorithm 1 gives
which means Nus = n − 1 and Nue = n, where n is the
the pseudo-code for the contact searching algorithm uti-
number of elements in the contact surface.
lized here, based on the binary tree data structure. As
Since k-DOPs are applied in our algorithm, Cv , Ce ,
seen in Algorithm 1, tandem traversal is a recursive sub-
Cus and Cue are all constant numbers that are rela-
routine, which will end if the two contact surfaces are far
tively small. As discussed in Subsection 4.1, k-DOPs
from each other or if all contact pairs have been found.
are tight approximations of contact surfaces/elements
The algorithm is very efficient if most bounding volumes
such that Nv and Ne are usually not large.
in the two trees do not intersect, i.e., if most elements in
In general, the cost is largely related to the output of
the two surfaces are far from each other. If the bounding
the searching algorithm. For example, suppose we have
volumes of two T-nodes do not intersect, it is not neces-
two contact surfaces with n and m elements, respectively.
sary to detect the intersections between the children of
If the contact surface are far from each other, we will
the two T-nodes.
have Nv = 1, Ne = 0 and

4.7 Cost analysis of the contact searching algorithm T = Cv + (n + m − 1) × Cus


+(n + m) × Cue = O(n + m) (37)
As mentioned above, the number of T-nodes for a
bounding volume tree is O(n). Each T-node only needs which corresponds to the best case with respect to com-
a constant amount of memory, which does not scale with putation time.
problem size. The memory requirement for all bounding On the other hand, if we find l contact element pairs
volume trees is then O(n), where n is the total number and if we visit less than a constant number of T-nodes in
of surface elements in all contact surfaces. each level of the trees to find each contact pair, the cost
202 Comput Mech (2008) 41:189–205

will be Table 3 Energy norms of convergence sequences at different time


steps; torus–cylinder impact problem
T = O (l (log n + log m) + n + m) . (38) Iteratons t=1 t=4 t=6 t=8

Usually, we have 1 1.78E-08 1.20E-05 9.23E-04 3.22E-06


2 4.49E-19 3.78E-12 1.05E-08 3.82E-14
3 1.53E-23 1.50E-17 6.01E-29
0 ≤ l ≤ c(n + m), (39) 4 2.64E-28

where c is a constant number related to the spatial


dimension of the problem. Thus, the cost T is usually
less than O ((n + m) (log n + log m)) in realistic cases. 5.1 A two dimensional impact problem

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

Fig. 17 Different mesh (a) (b)


refinements (using two-fold
symmetry) for the
torus–cylinder impact
problem: a ns + nm = 160;
b ns + nm = 360;
c ns + nm = 640;
d ns + nm = 1, 000. (c) (d)

CPU Time of Updating Bounding Volume Trees(microseconds)


(a) (b)
CPU Time of Searching the Contact Pairs (microseconds)

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

You might also like