You are on page 1of 17

A contact algorithm for smoothed particle hydrodynamics

J. Campbell
a
, R. Vignjevic
a,
*
, L. Libersky
b
a
Department of Aerospace Science, College of Aeronautics, Cran®eld University, Cran®eld, Bedford MK43 0AL, UK
b
Los Alamos National Laboratory, Los Alamos, NM 87545, USA
Received 28 October 1998
Abstract
This paper describes the development and testing of a contact algorithm for Smoothed Particle Hydrodynamics (SPH). The
treatment of contact boundary conditions in SPH has not been adequately addressed, and the development of the normalised
smoothing function approach has highlighted the need for correct treatment of boundary conditions. A particle to particle contact
algorithm was developed for 2D. The penalty formulation was used to enforce the contact condition, and several equations for the
penalty force calculation were considered. The contact algorithm was tested for 1- and 2D problems for the velocity range between 0.2
and 4.0 km/s to determine the best penalty force equation and the best approach for applying the contact force. The tests showed that
the zero-energy mode problem in the SPH method had to be addressed, as contact excited a zero-energy mode that caused non-physical
motion of particles. The test results were compared to the DYNA3D results for the same problems. Ó 2000 Elsevier Science S.A. All
rights reserved.
1. Introduction
Smoothed Particle Hydrodynamics (SPH) is a method that o€ers considerable promise as a numerical
method for modelling problems involving large deformations. Originally developed for treating astro-
physics problems [1,2], it was ®rst extended to solid mechanics problems by Libersky [3], and was suc-
cessfully applied to problems such as hypervelocity impact [4]. However the SPH method had several
problems, which were detailed in a study by Swegle [5]. These problems were the tensile instability, lack of
consistency and zero-energy modes. Swegle and co-workers developed the conservative smoothing ap-
proach as a cure for the tensile instability [6]. Johnson developed the normalised smoothing approach to
give the method linear consistency [7].
The method improvements in accuracy and stability achieved by kernel re-normalisation or correction
have highlighted another problem with SPH, incorrect treatment of boundary conditions. When using the
normalised conservation Eqs. (1.1), (1.2), (1.3), (1.4), the free-surface boundary condition is no longer
satis®ed at boundaries [8], as the kernel normalisation acts as a correction for the lack of neighbours. This
results in unphysical behaviour, with stress and shock waves not being re¯ected from a free surface.
Therefore, it is necessary to treat the essential boundary conditions in a rigorous way.
oq
i
ot
= q
i
_
÷

j
m
j
q
i
q
j
m
a
j
_
÷ m
a
i
_
oW
ij
ox
a
_
B
aa
Y (1X1)
www.elsevier.com/locate/cma
Comput. Methods Appl. Mech. Engrg. 184 (2000) 49±65
*
Corresponding author. Tel.: +44-1234-754-736; fax: +44-1234-752-149.
E-mail address: v.rade@cran®eld.ac.uk (R. Vignjevic).
0045-7825/00/$ - see front matter Ó 2000 Elsevier Science S.A. All rights reserved.
PII: S 0 0 4 5 - 7 8 2 5 ( 9 9 ) 0 0 4 4 2 - 9
ov
a
i
ot
=
_
÷

j
m
j
q
i
q
j
r
ab
j
_
÷ r
ab
i
_
oW
ij
ox
c
i
_
B
cb
Y (1X2)
oE
i
ot
= r
ab
_
÷

j
m
j
q
i
q
j
v
a
j
_
÷ v
a
i
_
oW
ij
ox
c
_
B
cb
Y (1X3)
where
B
cb
_ ¸
=
_
÷

j
m
j
q
j
x
c
j
_
÷ x
b
i
_
oW
ij
ox
b
i
_
÷1
X (1X4)
The approximations in SPH do not have the property of strict interpolants so that in general they are not
equal to the to the particle value of the dependent variable, i.e. u
h
(x
j
) =

I
/
I
(x
j
)u
I
,= u
j
. Consequently it
does not suce to zero u
I
at the boundary positions to enforce homogeneous boundary conditions.
Campbell [9] suggested an approach for the systematic treatment of boundary conditions by re-
considering the original kernel integral estimates and taking into account the boundary conditions through
residual terms in the integral by parts. Randles and Libersky [10] were ®rst to propose a more general
treatment of the free surface boundary condition based on an extension of the ghost particle method. In
this, the boundary was considered to be a surface one half of the local smoothing length away from the so-
called boundary particles. A boundary condition was applied to a ®eld variable by assigning the same
boundary value of the variable to all ghost particles. A constraint was imposed on a speci®c boundary by
interpolating smoothly between the speci®ed boundary particle value and the calculated values on the
interior particles. This served to communicate to the interior particles the e€ect of the speci®c boundary
condition. This was the approach we adopted for treatment of the free surface boundary condition.
The contact boundary condition has also been successfully ignored in SPH. Contact between two bodies
has been handled through the conservation equations, with no restriction on particles from one body being
treated as neighbour particles of a particle in another body. They then interact through the sums over
neighbour particles. However, when using this method a degree of penetration and mixing occurs at the
contact surface as SPH does not require the velocity ®eld to be single valued. Typically the ®rst one to two
particle rows of each body pass each other. Monaghan [11] proposed a modi®cation to prevent this pen-
etration, which he called XSPH. While MonaghanÕs modi®cation does prevent penetration it does nothing
to solve two other problems with treating contact through the conservation equations:
· Generation of tensile forces, resisting separation of two bodies.
· Generation of shear stresses preventing friction-less or low friction sliding.
Di€erent contact algorithms have been used with SPH when combining the SPH method with the FE
method [12,13], but the only purpose of these algorithms were to allow SPH nodes to interact with an FE
mesh.
From a literature survey and our experience in dealing with the contact problem in the ®nite element
method, it was concluded that the penalty method would be a good starting point for contact in SPH due to
its simplicity and eciency.
An advantage of the SPH method is its conceptual simplicity and ease of extension to higher dimensions.
In an attempt to preserve these advantages, a particle to particle contact algorithm was developed. This also
removed the need to de®ne the material boundary as a line in 2D. In common with the treatment of the
free-surface condition, the location of the boundary was ®xed at h/2. So contact was between spheres of
radius h/2.
Due to non-uniqueness of the surface normal at vertices it was necessary to calculate two surface
normals for each boundary particle, and detect a corner when the angle between the two normals exceeds a
speci®ed angle. For a corner particle with no contact the free-surface condition was applied in the directions
of both surface normals, for a corner particle with contact the free-surface condition was only applied in the
direction of the surface normal not used by the contact algorithm.
50 J. Campbell et al. / Comput. Methods Appl. Mech. Engrg. 184 (2000) 49±65
Di€erent methods for the penalty force calculation were evaluated in 1D. This included expressions for
the contact force based on penetration and penetration velocity. Di€erent penalty force algorithms were
evaluated by comparison with contact enforced by including all materials in contact in the kernel sum. The
favoured contact force calculation methods were applied to 2D contact algorithms. The treatment of
smooth boundary and boundary with vertices as a free-surfaces and in contact was assessed. Few simple
illustrative impact problems were analysed to demonstrate accuracy and numerical eciency of the contact
algorithm developed.
SPH results for both 1D and 2D were compared with ®nite element analyses, made using the DYNA3D
code.
2. Contact algorithm
Following the approach proposed by Libersky [10], the boundary was considered to be a surface one half
of the local smoothing length away from the boundary SPH particles. Two principal choices for treatment
of contact detection and contact force application were considered: particle to surface contact, and particle
to particle contact. Fig. 1 shows a 2D example of both cases. The arrows denote the unit normal vector to
the particle calculated by the gradient of unity method [10], the dashed lines represent the surfaces used to
determine if there is contact.
In the particle to surface case contact is between a circle of radius h/2, and a straight line drawn between
points that lie h/2 along the particle normal vector. If this line intersects the circle then contact has occurred.
When contact occurs the restoring force is applied along the normal to the surface, and the force would
have to be divided between the two particles at either end of the contact line. This approach is based on the
contact algorithms used in Lagrangian ®nite element codes. As for the ®nite element algorithms, the reli-
ability of this approach would be improved by making the algorithm symmetric, so that every particle is
considered as both a contact particle and a member of a contact surface.
In the particle to particle case, contact is between two circles each of radius h/2. Contact occurs when the
two circles intersect, which is easily determined by checking the inter-particle distance. In this method only
the interaction of two particles is considered at any one time, removing the need to consider each particle
twice in the algorithm. This approach has many similarities with BelytschkoÕs pinball contact algorithm
[14,15].
The particle to particle approach was selected as it is more in keeping with the meshless approach, and its
extension to 3D would not be complex. Extending the particle to surface algorithm to 3D would be
complicated by the need to de®ne a boundary surface. Furthermore, this surface needs to be rede®ned
regularly as bodies in contact deform.
In the particle to particle method determination of the contact force vector is an obvious problem. The
contact force should be applied in a direction normal to the contact surface, however except in special cases,
this results in a force vector that does not pass through the centre of mass of the particles in contact,
generating a moment. Applying the contact force along the vector connecting the particle centres solves this
Fig. 1. Principle choices for detection of contact. (a) Particle to surface contact; (b) particle to particle contact.
J. Campbell et al. / Comput. Methods Appl. Mech. Engrg. 184 (2000) 49±65 51
problem, but the contact force now has a component tangential to the contact surface. Algorithms for both
cases were developed, and are described below.
Once contact is detected a method is required to enforce the contact condition. The penalty method was
chosen to enforce contact as the simplest and most straightforward method.
2.1. Contact force applied between particle centres
Penalty contact algorithms are based on the assumption that there is certain amount of penetration
between the bodies in contact. The contact force is usually function of penetration, penetration rate or
both. Thus, penetration calculation is an important part of this type of contact algorithm.
In this simple case, penetration is detected if
p =
h
i
÷ h
j
2
÷ r
ij
¸
¸
¸
¸
P0Y (2X1)
where r
ij
= x
j
÷ x
i
, p the penetration, r
ij
the vector from the centre of particle i to the centre of particle j and
h
i
Y h
j
are smoothing distances for particles i and j, respectively.
The actual penetration is de®ned by Eq. (2.1). The contact force is applied along vector r
ij
.
2.2. Contact force applied along average normal
For the stress-free boundary condition the surface normal at each boundary particle has been found, but
it is not possible to assume that the normals on the particles in contact are equal and opposite. An estimate
to the normal to the contact surface is found by taking the di€erence between the two unit normal vectors
resulting in a vector that when normalised is the average of the two vectors.
This average normal vector is the vector along which the contact force is applied. So the magnitude of
the penetration can be de®ned as the relative displacement of the particles in the direction of the average
normal that would result in zero penetration, Eq. (2.2). This is the de®nition of penetration that is used in
the pinball algorithm [14].
p =

d
2
÷ r
2
ij
÷ n
av
r
ij
_ _
2
_
÷ n
av
r
ij
_ _
Y (2X2)
where d = (h
i
÷ h
j
)a2 and n
av
is the average normal vector.
2.3. Enforcing the contact condition
The use of the particle to particle approach means that penetration is detected only when the distance
between the two particles is ` 0X5(h
i
÷ h
j
). If the two particles completely pass each other then penetration
is no longer detected, and no contact force is applied. Preventing this from happening places a lower limit
on the magnitude of the penalty force.
Three di€erent expressions for the penalty force were investigated, and implemented into the code. This
allowed the sensitivity of the contact algorithm to the contact force type to be tested.
The ®rst contact force considered was the force used by Belytschko in the pinball algorithm, see [15] for
details. This de®nes the contact (penalty) force as
F = K
p
min(F
1
Y F
2
)Y (2X3)
where
F
1
=
q
i
q
j
R
3
i
R
3
j
q
i
R
3
i
÷q
j
R
3
j

• p
Dt
Y • p b 0Y
0Y • p ` 0Y
_
_
_
(2X4)
F
2
=
G
i
G
j
G
i
÷ G
j

R
i
R
j
R
i
÷ R
j
¸ _ _
p
3a2
Y (2X5)
52 J. Campbell et al. / Comput. Methods Appl. Mech. Engrg. 184 (2000) 49±65
where q
i
and q
j
are the densities of the two particles, G
i
and G
j
the shear moduli, R
i
and R
j
are the radii, K
p
is a scale factor.
Eq. (2.4) is derived by considering the force required to bring the two particles to rest with respect to
each other, while conserving momentum, in an ideal plastic collision. Eq. (2.5) is derived from the equations
for contact force between two solid elastic spheres.
The second contact force considered, referred to in this paper as type 2, Considered was
F = K
p
max(F
1
Y F
2
)Y • p b 0Y
0Y • p ` 0Y
_
(2X6)
where K
p
is a scale factor,
F
1
=
mp
Dt
2
Y (2X7)
F
1
=
2mcp
DtDx
Y (2X8)
Dx = x
j
¸
¸
÷ x
i
¸
¸
X
Eq. (2.7) is used by Swegle [5] for contact between SPH nodes and ®nite elements. It is derived by assuming
that the rate of penetration can be de®ned as paDt and applying a force sucient to bring the node pen-
etrating the ®nite element mesh to rest over a single time step. Eq. (2.8) can be derived by assuming that
m
i
= m
j
= m and applying a force sucient to bring to rest a body of mass 2 m travelling at the relative
velocity of the two particles, v
/
:
F =
2mv
/
Dt
X (2X9)
Then substituting v
/
= cpaDx, where Dxac is an approximation to the time over which the penetration
has occurred, gives (2.5).
The equation r = qcv for the stress behind a 1D elastic wave is equivalent to (2.5) if the following
substitutions are made: r = F aA and v = paDt.
The third contact force, referred to in this paper as type 3, considered was
F =
v
j
÷ v
i
¸
¸
¸
¸
Dt
m
i
÷
Dt
m
j
Y • p b 0Y
0Y • p ` 0X
_
_
_
(2X10)
This was derived, by considering the force required to bring the two particles to rest with respect to each
other, while conserving momentum, in an ideal plastic collision. The contact force in one time step applies
the same impulse to both contact particles
F Dt = m
i
Dv
i
Y F Dt = m
j
Dv
j
X (2X11)
If the particles are to be brought to rest with respect to each other, then the rate of change of penetration
has to be, • p = Dv
i
÷ Dv
j
, which using Eq. (2.11) yields
• p =
F
1
Dt
m
i
÷
F
1
Dt
m
j
X (2X12)
Substituting the relative velocity [v
j
÷ v
i
[ for • p in Eq. (2.12) results in the third contact force expression. No
scale factor or other correction term is required for this type of contact force.
J. Campbell et al. / Comput. Methods Appl. Mech. Engrg. 184 (2000) 49±65 53
2.4. Linking free surface condition with contact
The contact algorithm should allow surfaces to come together and separate in a natural manner. This
requires the stress free boundary condition algorithm to be modi®ed so that this boundary condition is not
applied to boundary particles in contact.
3. 1D tests
The ®rst set of tests was in 1D. The aim of these was to test the e€ects of the di€erent contact (penalty)
force algorithms, in exclusion from any e€ect that could occur in 2D from the two di€erent methods of
calculation of the vector along which the contact force was applied.
The test problem used was a symmetrical impact of two 0.4 cm long steel bars, Fig. 2. 100 particles were
placed along the 1D line, 50 particles in each bar. The smoothing length was 0.008 cm and the initial inter-
particle space was equal to the smoothing length. The space between the two contact particles was 0.01 cm,
so there was no initial penetration. Each bar was given an equal but opposite initial velocity of 2 km/s.
To provide a reference point the problem was initially run with no contact, using kernel sums to allow
interaction between the two bodies. With the kernel sums the two end particles were initially in contact as
the distance between the two was 1.25 h. Fig. 3 shows the resulting stress pro®les, compared with ®nite
element results for the same problem using the DYNA3D code. At time 0.2 ls the shock waves are
propagating away from the point of contact. The value of k, time step scale factor, used for the results
shown was k = 0X5. The problem was also run with a value of k = 1X5 with no problems, the only difference
observed was a higher amplitude, by a factor of 3±4, in the stress oscillations behind the shock wave. With
this reference point established, runs were made to compare the different contact force types. Both the type
1 and the type 2 contact forces resulted in similar overall behaviour, therefore results are presented for the
contact force types 2 and 3 only. Fig. 4 shows the stress pro®le at time 0.2 for force types 2 and 3, with the
stress pro®le for kernel contact shown for comparison. Fig. 5 shows the stress pro®le at time 0.7 for force
types 2 and 3, with the stress pro®le for kernel contact shown for comparison.
In Figs. 4 and 5 considerable oscillation can be seen in the stress at the interface for both cases. A
sensitivity analysis was performed in which the contact force scale factor K
p
was varied between 0.008 and
0.2 for contact force type 2. Best results were obtained for K
p
= 0X05, the amplitude of the spurious stress
oscillations was signi®cantly reduced.
This oscillation was described by Swegle [5] who observed it when modelling the 1D impact of two
initially separated bodies using kernel contact. This oscillation corresponds to a zero energy mode, for
which stress ®eld does not cause particle accelerations that would reduce the stress amplitude. Swegle
showed that this was a characteristic of the SPH method, as the SPH estimate to the stress ®eld has its local
maxima and mimima at the particles giving the stress ®eld gradient of zero. In the SPH method no ac-
celeration will be produced at a particle if the stress at the two neighbour particles is equal, this is inde-
pendent of the stress at the particle itself. This is the stress version of the SPH zero-energy mode where an
Fig. 2. Schematic representation of the 1D test problem.
54 J. Campbell et al. / Comput. Methods Appl. Mech. Engrg. 184 (2000) 49±65
alternating velocity ®eld does not generate stresses in the material to resist the particle motion. Swegle
attempted to control the oscillation by varying the time step, the arti®cial viscosity coecient and the
smoothing length, all without success.
The contact algorithm, using the third type of contact force, showed the best agreement with the velocity
pro®le seen with kernel contact. However, the stress pro®les showed that the stress oscillation was also
present with this contact force type.
The stress oscillation in the region of the contact did not change signi®cantly during contact. Fig. 6
compares the stress pro®le near the contact surface between time 0.2 and 0.7 ls. This showed that only a
small decrease in the amplitude of stress oscillation has occurred.
If the spurious stress oscillation did not have any a€ect on the results of the calculation then it would
have been possible to ignore it. During the early stages of the calculations, as have been discussed so far, it
Fig. 3. Comparison of SPH and ®nite element stress pro®les. (a) Time 0.2 ls; (b) time 0.7 ls.
Fig. 4. Stress pro®les at 0.2 ls for kernel contact, contact force types 2 and 3. Contact force scale factor for the contact force type 2 was
K
p
=0.05. Time step scale factor was k =0.5. Impact velocity 2 km/s.
J. Campbell et al. / Comput. Methods Appl. Mech. Engrg. 184 (2000) 49±65 55
was not signi®cant. It was found that it can have a signi®cant e€ect once the release waves arrive at the
contact surface. The spurious stress oscillation caused high tensile stresses in the material, when the release
waves reach the contact interface by a€ecting the behaviour of the nodes in contact. The root cause of this
tensile stress was the incorrect behaviour of the boundary particles due to the spurious stress oscillations.
This can be explained by considering the momentum equation.
In 1D, considering only the nearest neighbours, the momentum equation for an internal particle
reduces to
dv
i
dt
=
_
÷
m
j1
q
j1
r
j1
_
_
÷r
i
_
dW
ij1
dx
_
÷
m
j2
q
j2
r
j2
_
_
÷r
i
_
dW
ij2
dx
__
Y (3X1)
where j1 and j2 are the two neighbour particles. So when r
j1
= r
j2
the acceleration is zero. For a boundary
particle this equation is
dv
i
dt
=
_
÷
m
j
q
j
r
j
_
÷ r
i
_
dW
ij
dx
_
B (3X2)
as the stress oscillation causes r
j
,= r
i
then the boundary particle has a non-zero acceleration. In all cases
the stress oscillation caused by contact had r
j
b r
i
, which causes the boundary particle to have an accel-
eration away from its neighbour particle.
In most cases the e€ect that the tensile stress had on the ®nal result was to delay the separation of the two
bars, and to generate a tensile stress wave that propagated through the material. In one case the stress was
high enough to cause numerical fracture, splitting the particles near the contact point from the remainder,
Fig. 7.
Fig. 5. Stress pro®les at 0.7 ls for kernel contact, contact force types 2 and 3. Contact force scale factor for the contact force type 2 was
K
p
=0.05. Time step scale factor was k =0.5. Impact velocity 2 km/s.
Fig. 6. Detail of stress oscillation at contact surface, contact type 2.
56 J. Campbell et al. / Comput. Methods Appl. Mech. Engrg. 184 (2000) 49±65
The e€ect of the spurious stress oscillation has been established. As it had signi®cant e€ect on the results
it needed to be controlled. Tests were performed to ®nd the e€ect of varying the time step, contact force and
initial material velocity on the oscillation. Fig. 8 compares the stress pro®le at 0.2 ls for a k = 0X5 and
k = 0X1. Both use penalty type 2 with K
p
= 0X05. Reducing the time step has only reduced the extent of the
oscillation, from 10 particles to 8 particles, it has not reduced the amplitude.
The amplitude of the oscillation was most sensitive to the magnitude of the contact force. Reducing the
contact force gave a signi®cant reduction in the amplitude. Fig. 9 compares the stress pro®le at 0.2 ls for
k = 0X5Y K
p
= 0X05 and k = 0X1Y K
p
= 0X01. Reducing the contact force has reduced the amplitude of the
oscillations.
Fig. 8. Stress pro®les at 0.2 ls for k =0.5 and k =0.1. showing the effect on the stress oscillation of reducing the time step. K
p
=0.05.
Impact velocity 4.0 km/s.
Fig. 9. Stress pro®les at 0.2 ls for k =0.5, K
p
=0.05 and k =0.1, K
p
=0.01. showing the effect on the stress oscillation of reducing the
contact force scale factor. Impact velocity 4.0 km/s.
Fig. 7. Velocity pro®le at 2.0 ls. Tensile stresses have caused numerical fracture near contact point. Penalty type 2, k =0.5, K
p
=0.01.
Impact velocity 4.0 km/s.
J. Campbell et al. / Comput. Methods Appl. Mech. Engrg. 184 (2000) 49±65 57
Reducing the impact velocity, which also has the e€ect of reducing the contact force, also reduced the
stress oscillation. At the higher velocities the contact force can not be reduced to a level that controls the
oscillation, as a low contact force leads to a large penetration which causes the contact algorithm to break
down. Reducing the time step and the contact force gave a signi®cantly reduced amplitude, and o€ered a
way of controlling the amplitude of oscillating stress component. The disadvantage of this was that the tests
with a reduced time step were using a time step of 5% of the maximum stable value. In higher dimensions
with the consequent larger numbers of particles this size of time step would increase the computational cost
of the calculation by an order of magnitude over the cost when using the kernel to provide contact.
4. 2D tests
As the 1D tests showed that the behaviour of penalty force types 1 and 2 were similar, only penalty force
types 2 and 3 were used in the 2D tests. The contact algorithm was tested in 2D by modelling the normal
symmetrical impact of two steel blocks. Each block was 10 mm´ 4 mm and consisted of 50 particles by 20
particles, giving a total of 2000 particles in the whole model. The two blockÕs initial relative velocity was 0.2
to 4.0 km/s, see Fig. 10. The contact boundary particles in each body were initially spaced h apart, so the
initial penetration was zero.
The problem was ®rst analysed using DYNA3D in order to provide results for comparison, the DYNA
results are shown in Fig. 11.
Initial test results showed that the contact algorithm required improvement in its treatment of corner
particles. When the stress free boundary condition was not applied to the corner particles in contact, this
caused incorrect behaviour at the corner particles at either end of the contact surface. As the stress free
condition was not applied release waves were not generated correctly at the corner particles. The result was
that the horizontal velocity of the corner particles was too low, Fig. 12a. Applying the stress free boundary
condition to the corner particles corrected this, but resulted in signi®cant inter-penetration of the corner
particles, Fig. 12b.
In order to treat the corner particles correctly two surface normal vectors were required. If the corner
particle was not in contact then the stress free boundary condition was applied for both particle normals. If
the particle was in contact then the stress free boundary condition was only applied in the direction of the
free surface particle normal. This allowed for the correct behaviour of the corner particles.
For contact it was necessary to ®nd the best normal to use. The best normal was de®ned as the normal,
which gives the maximum value of the dot product n r
ij
. Where r
ij
is the vector between the centres of the
two particles in contact and n is the unit normal vector. The best normal was then used for the contact
algorithm as if it were the single particle normal. The stress free boundary condition was not applied for
that surface normal used in contact. For contact boundary particles that lie on a ¯at or near ¯at boundary
it was necessary not to apply the stress free boundary condition. To differentiate between a corner particle
Fig. 10. Schematic representation of the 2D test problem.
58 J. Campbell et al. / Comput. Methods Appl. Mech. Engrg. 184 (2000) 49±65
and a surface particle the angle between the two normal vectors was calculated. If this angle exceeded a set
value then the particle was considered to be a corner particle and both contact and free surface boundary
conditions were applied in the directions of corresponding normals. The set value used in the tests was 45°.
The aim of the 2D tests described below was to compare the e€ects of applying the restoring force along
an average particle normal, or along the vector between the two particle centres.
The following four basic cases were considered:
(a) Average normal contact with penalty force type 2.
(b) Average normal contact with penalty force type 3.
(c) Between centres contact with penalty force type 2.
(d) Between centres contact with penalty force type 3.
Fig. 11. DYNA results for 2D test problem, contours of z (vertical) velocity. (a) Time 0.04 ls; (b) time 1.4 ls.
J. Campbell et al. / Comput. Methods Appl. Mech. Engrg. 184 (2000) 49±65 59
For all four runs k was 0.1, and for penalty force type 2 K
p
was 0.05. All four sets of results were very
similar so results are shown for case (b), with the corner particles behaving correctly, and the two bodies
separating later in the calculation, Fig. 13. In all of these cases the particles in the two bodies were initially
aligned, so that there was no difference between the average normal vector and the vector between the
particle centres.
To test for the di€erence between the two methods, the lower block was given an initial horizontal, along
the x axis, offset of 0.25 h. This offset causes the two vectors to no longer be aligned, while not allowing a
contact particle to be in contact with more than one other contact particle during the early stages of the
calculation. To measure the difference between the cases, the total x momentum of each of the two blocks
was recorded. To reduce the effect of the offset at the corners, a lower initial relative velocity of 200 m/s was
used. Initially the x momentum in each body was zero and in the ideal case it would have remained zero
throughout the run. The x momentum time histories for the four cases are shown in Fig. 14.
Fig. 12. z velocity at 0.4 ls. One normal vector calculated for each boundary particle. (a) Corner particles do not have stress free
condition applied; (b) corner particles have stress free condition applied.
60 J. Campbell et al. / Comput. Methods Appl. Mech. Engrg. 184 (2000) 49±65
The di€erence between the two force vectors was clearly seen. With both penalty force types the between
centres algorithm has resulted in a higher x momentum in the two bodies.
The maximum value for the average normal contact was at time 0.98 ls, the larger value that occurred later
will be commented on shortly. There was an order of magnitude di€erence between the two cases, but was
this di€erence signi®cant? Each block was 1 cm´ 0.4 cm, and the initial material density was 7.89 g/cm
3
,
giving each block a total mass of 3.156 g. An x momentum of 5X04 × 10
÷3
is equivalent to an average
horizontal velocity for the block of 0.0016 cm/ls, 16% of the initial vertical velocity of the block.
Applying the penalty force along the vector between the two centres has resulted in each block gaining a
signi®cant horizontal momentum. These ®gures are the maximum values. In all cases the momentum drops
after reaching its maximum value. This is because the horizontal motion has resulted in a given contact
Maximum momentum x
Average normal contact, penalty type 2 3X79 × 10
÷4
Between centres contact, penalty type 2 4X30 × 10
÷3
Average normal contact, penalty type 3 3X63 × 10
÷4
Between centres contact, penalty type 3 5X04 × 10
÷3
Fig. 13. Verticle velocity for average normal contact, contact force type 3, k =0.1. Impact velocity 4 km/s. (a) Time 0.4 ls; (b) time
1.8 ls.
J. Campbell et al. / Comput. Methods Appl. Mech. Engrg. 184 (2000) 49±65 61
particle coming into contact with the neighbour of its initial contact particle, the resulting penalty force has
an x component of opposite sign to the force from contact with the initial particle. By doubling the number
of particles in the model the maximum value of the x momentum was reduced ten times.
These tests represent a worst case, where the particle spacing of the two contact surfaces were the same,
and all particles were o€set in the same direction. In practice it is most likely that the particle spacing of
both surfaces would not be identical, and so any forces tangent to the contact surface would not have such
a signi®cant global e€ect.
The momentum time history for the average normal contact with contact force type 2 showed a large
change in momentum after 1.5 ls. The cause of this change was an instability that developed near both ends
of the contact surface. This instability caused visible, non-physical, particle motions. These motions were
largest in this case, but were also visible in the other normal contact case and the between centres with
contact force type 2. The only case where visible particle motion was not seen was for the between centres
with contact force type 3. Fig. 15 shows the particle x velocities at 2.4 ls for the best and worst cases.
This instability was related to the saw-tooth stress oscillation observed in the 1D tests, as the stress
oscillation occurs near the corners before the particle motions become signi®cant. Fig. 16 shows the r
xx
stress pro®le at 1.0 ls of the contact boundary particles of the upper block, for the average normal with
contact force type 2. The stress oscillation was pronounced at the two ends of the contact surface. No stress
oscillation was observed in the r
zz
stress. The stress oscillation was also present in the two other cases where
the instability caused visible particle motion.
Examining the particle stresses for the four runs without an initial particle o€set showed that the stress
oscillation was also present in those results. The instability was also present in 200 m/s impact velocity tests.
Like the o€set results, the average normal contact with contact force type 2 showed the most extensive
instability. Fig. 17 shows plots of the r
xx
and r
zz
stress components at 1.0 ls for the 4 km/s, average normal
case. Well developed instabilities and related errors in the stress distribution can be seen at either end of the
contact surface for both stress components.
The presence of the instability appeared to be related to the spurious stress oscillation. The 1D tests
showed that reducing the time step scale factor and the penalty force reduced the amplitude and extent of
the stress oscillation. Also reducing the impact velocity, with the corresponding decrease in the contact
force, reduced the oscillation. Tests were carried out in 2D to ®nd whether this instability is sensitive to the
same factors.
The ®rst four tests mentioned in this section, for 4 km/s impact and k = 0X1 did not show any visible
evidence of the instability. These four tests were repeated with k = 0X3, and all four calculations developed
the instability. The instability caused visible particle motions by 0.4 ls.
The instability was closely related to the stress oscillation as it occurs in locations where the stress os-
cillation was already present. The severity of the instability is reduced in the same way as the severity of the
stress oscillation reducing time step and contact force. The contact algorithm used had a strong e€ect on the
instability, with the instability being most apparent when applying the contact force along the average
normal vector, and least apparent when applying the contact force between the particle centres. The
Fig. 14. x momentum time histories for the different force vectors. Impact velocity 200 m/s. (a) Contact force type 2; (b) contact force
type 3.
62 J. Campbell et al. / Comput. Methods Appl. Mech. Engrg. 184 (2000) 49±65
average normal was calculated from the particle normals, which were in turn calculated form the surface
geometry of the body. This makes this algorithm sensitive to small changes in the surface geometry.
Further tests are required before a solid conclusion can be drawn as to whether applying the contact
force between the particle centres or along an average normal is better. These tests are complicated by the
presence of the instability, as over a large range of initial conditions this instability will grow to a point
where it prevents the calculation from reaching the termination time or has a signi®cant e€ect on the global
behaviour of the problem. The instability problem must be addressed before further development of the
contact algorithms can be carried out.
Fig. 15. x velocity at 2.4 ls for offset impact tests. An instability can be seen with the average normal contact case, k =0.1. (a) Average
normal contact, contact force type 2; (b) between centres contact, contact force type 3.
Fig. 16. r
xx
pro®le along contact surface at 1.0 ls for the average normal with contact force type 2, with initially o€set particles.
J. Campbell et al. / Comput. Methods Appl. Mech. Engrg. 184 (2000) 49±65 63
5. Conclusions
A penalty method for contact in SPH has been developed. The method retained the conceptual simplicity
of the SPH method by considering only particle±particle contact. Impact and separation in the velocity
range between 0.2 and 4 km/s were successfully modelled. The results were compared to the result from a
DYNA3D analysis for the same problem. The di€erence in stresses and velocities between the best SPH and
FE analyses was within 5% for the response time considered.
· Contact excites a stress oscillation in the region of the contact interface. In both 1D and 2D the oscilla-
tion resulted in non-physical motion of particles, in some cases rendering the ®nal results completely in-
accurate.
· Reducing the time step and contact force signi®cantly reduced the severity of the spurious stress oscilla-
tion. The time step required was under 10% of the time step when using kernel contact.
· The stress oscillation is a characteristic of the SPH method, not the particular contact algorithm.
· The presence of the instability prevented the full testing of the proposed contact algorithm.
· The spurious stress oscillation requires (zero energy mode problem) addressing and controlling.
References
[1] R.A. Gingold, J.J. Monaghan, Smoothed particle hydrodynamics: theory and application to non-spherical stars, Mon. Not. R.
Astron. Soc. 181 (1977) 375±389.
[2] L.B. Lucy, A numerical approach to the testing of the ®ssion hypothesis, Astronom. J. 82 (1977) 1013±1024.
Fig. 17. Stress components at 1.0 ls for average normal contact. k =0:1. Instabilities at either end of the contact surface. Impact
velocity 4 km/s. (a) r
xx
stress component (horizontal); (b) r
xx
stress component (vertical).
64 J. Campbell et al. / Comput. Methods Appl. Mech. Engrg. 184 (2000) 49±65
[3] L.D. Libersky, A.G. Petschek, Smooth particle hydrodynamics with strength of materials, in: H.E. Trease, M.J. Fritts,
W.P. Crowley (Eds.), Advances in the Free-Lagrange Method, Springer, New York, 1991, pp. 248±257.
[4] L.D. Libersky, A.G. Petschek, T.C. Carney, J.R. Hipp, F.A. Allahdadi, High strain Lagrangian hydrodynamics, J. Comput. Phys.
109 (1993) 67±75.
[5] J.W. Swegle, S.W. Attaway, M.W. Heinstein, F.J. Mello, D.L. Hicks, An analysis of smoothed particle hydrodynamics. Sandia
Report, SAND93-2513, March 1994.
[6] Y. Wen, D.L. Hicks, J.W. Swegle, Stabilising S.P.H. with conservative smoothing, Sandia Report SAND94-1932, August 1994.
[7] G.R. Johnson, R.A. Stryk, S.R. Beissel, SPH for high velocity impact computations, Comput. Methods Appl. Mech. Engrg. 139
(1996) 347±373.
[8] P.W. Randles, L.D. Libersky, Private communication, October 1997.
[9] P.M. Campbell, Some new algorithms for boundary value problems in smooth particle hydrodynamics, Report DNA-TR-88-286,
June 1989.
[10] P.W. Randles, L.D. Libersky, Smoothed particle hydrodynamics: some recent improvements and applications, Comput. Methods
Appl. Mech. Engrg. 139 (1996) 375±408.
[11] J.J. Monaghan, On the problem of penetration in particle methods, J. Comput. Phys. 82 (1989) 1±15.
[12] G.R. Johnson, Linking of Lagrangian particle methods to standard ®nite element methods for high velocity impact computations,
Nucl. Engrg. Des. 150 (1994) 265±274.
[13] S.W. Attaway, M.W. Heinstein, J.W. Swegle, Coupling of smooth particle hydrodynamics with the ®nite element method, Nucl.
Engrg. Des. 150 (1994) 199±205.
[14] T. Belytscko, M. Neal, Contact-impact by the pinball algorithm with penalty and Lagrangian methods, Int. J. Numer. Methods
Engrg. 31 (1991) 547±572.
[15] T. Belytschko, I. Yeh, The splitting pinball method for contact-impact problems, Comput. Methods Appl. Mech. Engrg. 105
(1993) 375±393.
J. Campbell et al. / Comput. Methods Appl. Mech. Engrg. 184 (2000) 49±65 65

In common with the treatment of the free-surface condition. i. and detect a corner when the angle between the two normals exceeds a speci®ed angle. From a literature survey and our experience in dealing with the contact problem in the ®nite element method. with no restriction on particles from one body being treated as neighbour particles of a particle in another body. Due to non-uniqueness of the surface normal at vertices it was necessary to calculate two surface normals for each boundary particle. the boundary was considered to be a surface one half of the local smoothing length away from the socalled boundary particles. This served to communicate to the interior particles the e€ect of the speci®c boundary condition.13]. a particle to particle contact algorithm was developed. · Generation of shear stresses preventing friction-less or low friction sliding. Typically the ®rst one to two particle rows of each body pass each other. when using this method a degree of penetration and mixing occurs at the contact surface as SPH does not require the velocity ®eld to be single valued. However. A constraint was imposed on a speci®c boundary by interpolating smoothly between the speci®ed boundary particle value and the calculated values on the interior particles. They then interact through the sums over neighbour particles. it was concluded that the penalty method would be a good starting point for contact in SPH due to its simplicity and eciency.50 J. The contact boundary condition has also been successfully ignored in SPH.e. but the only purpose of these algorithms were to allow SPH nodes to interact with an FE mesh. 184 (2000) 49±65 ova i ˆ ot 4 5 ˆ mj À ab Á ab oWij À r À ri Bcb Y qi qj j oxc i j …1X2† 4 5  ˆ mj  oEi ab a a oWij ˆr v À vi À Bcb Y ot qi qj j oxc j where  cb à B ˆ 4 À ˆ mj À j …1X3† qj xc j À xb i Á oWij oxb i 5À1 X …1X4† The approximations in SPH do not have the property of strict interpolants so that in general they are not € equal to the to the particle value of the dependent variable. Campbell et al. / Comput. In an attempt to preserve these advantages. Di€erent contact algorithms have been used with SPH when combining the SPH method with the FE method [12. Contact between two bodies has been handled through the conservation equations. which he called XSPH. Methods Appl. Monaghan [11] proposed a modi®cation to prevent this penetration. uh …xj † ˆ I /I …xj †uI Tˆ uj . resisting separation of two bodies. While MonaghanÕs modi®cation does prevent penetration it does nothing to solve two other problems with treating contact through the conservation equations: · Generation of tensile forces. This was the approach we adopted for treatment of the free surface boundary condition. Engrg. In this. An advantage of the SPH method is its conceptual simplicity and ease of extension to higher dimensions. . Consequently it does not suce to zero uI at the boundary positions to enforce homogeneous boundary conditions. This also removed the need to de®ne the material boundary as a line in 2D. Mech. Campbell [9] suggested an approach for the systematic treatment of boundary conditions by reconsidering the original kernel integral estimates and taking into account the boundary conditions through residual terms in the integral by parts. for a corner particle with contact the free-surface condition was only applied in the direction of the surface normal not used by the contact algorithm. For a corner particle with no contact the free-surface condition was applied in the directions of both surface normals. A boundary condition was applied to a ®eld variable by assigning the same boundary value of the variable to all ghost particles. So contact was between spheres of radius h/2. the location of the boundary was ®xed at h/2. Randles and Libersky [10] were ®rst to propose a more general treatment of the free surface boundary condition based on an extension of the ghost particle method.

15]. The arrows denote the unit normal vector to the particle calculated by the gradient of unity method [10]. The contact force should be applied in a direction normal to the contact surface. 184 (2000) 49±65 51 Di€erent methods for the penalty force calculation were evaluated in 1D. Contact algorithm Following the approach proposed by Libersky [10]. Methods Appl. 1. Furthermore. This included expressions for the contact force based on penetration and penetration velocity. however except in special cases. This approach is based on the contact algorithms used in Lagrangian ®nite element codes. made using the DYNA3D code. . and its extension to 3D would not be complex. Extending the particle to surface algorithm to 3D would be complicated by the need to de®ne a boundary surface. Principle choices for detection of contact. 1 shows a 2D example of both cases. / Comput. As for the ®nite element algorithms. so that every particle is considered as both a contact particle and a member of a contact surface. In the particle to surface case contact is between a circle of radius h/2. Campbell et al. (b) particle to particle contact. When contact occurs the restoring force is applied along the normal to the surface. which is easily determined by checking the inter-particle distance. this results in a force vector that does not pass through the centre of mass of the particles in contact. contact is between two circles each of radius h/2. Mech. Di€erent penalty force algorithms were evaluated by comparison with contact enforced by including all materials in contact in the kernel sum. Contact occurs when the two circles intersect. The treatment of smooth boundary and boundary with vertices as a free-surfaces and in contact was assessed. removing the need to consider each particle twice in the algorithm. the dashed lines represent the surfaces used to determine if there is contact. In this method only the interaction of two particles is considered at any one time. Few simple illustrative impact problems were analysed to demonstrate accuracy and numerical eciency of the contact algorithm developed. the reliability of this approach would be improved by making the algorithm symmetric. Two principal choices for treatment of contact detection and contact force application were considered: particle to surface contact. Applying the contact force along the vector connecting the particle centres solves this Fig. Fig. This approach has many similarities with BelytschkoÕs pinball contact algorithm [14. (a) Particle to surface contact. In the particle to particle method determination of the contact force vector is an obvious problem. The particle to particle approach was selected as it is more in keeping with the meshless approach. In the particle to particle case. the boundary was considered to be a surface one half of the local smoothing length away from the boundary SPH particles. and a straight line drawn between points that lie h/2 along the particle normal vector. 2. The favoured contact force calculation methods were applied to 2D contact algorithms. this surface needs to be rede®ned regularly as bodies in contact deform. generating a moment. Engrg. SPH results for both 1D and 2D were compared with ®nite element analyses. and particle to particle contact. If this line intersects the circle then contact has occurred.J. and the force would have to be divided between the two particles at either end of the contact line.

and are described below. rij the vector from the centre of particle i to the centre of particle j and hi Y hj are smoothing distances for particles i and j. Algorithms for both cases were developed. (2. Methods Appl.3. 184 (2000) 49±65 problem. penetration rate or both. 2. penetration is detected if hi ‡ hj   À rij  P 0Y …2X1† pˆ 2 where rij ˆ xj À xi . and implemented into the code. and no contact force is applied. Mech. If the two particles completely pass each other then penetration is no longer detected. Enforcing the contact condition The use of the particle to particle approach means that penetration is detected only when the distance between the two particles is ` 0X5…hi ‡ hj †. Thus. The actual penetration is de®ned by Eq. p the penetration. An estimate to the normal to the contact surface is found by taking the di€erence between the two unit normal vectors resulting in a vector that when normalised is the average of the two vectors.1). Campbell et al. This average normal vector is the vector along which the contact force is applied. Contact force applied along average normal For the stress-free boundary condition the surface normal at each boundary particle has been found. Engrg. (2. The contact force is applied along vector rij .2. So the magnitude of the penetration can be de®ned as the relative displacement of the particles in the direction of the average normal that would result in zero penetration. 2. Eq. Contact force applied between particle centres Penalty contact algorithms are based on the assumption that there is certain amount of penetration between the bodies in contact. Once contact is detected a method is required to enforce the contact condition. see [15] for details. The penalty method was chosen to enforce contact as the simplest and most straightforward method. In this simple case. The contact force is usually function of penetration. Three di€erent expressions for the penalty force were investigated. but the contact force now has a component tangential to the contact surface. q À À Á2 Á 2 …2X2† p ˆ d 2 À rij ‡ nav Á rij À nav Á rij Y where d ˆ …hi ‡ hj †a2 and nav is the average normal vector. / Comput. 2. but it is not possible to assume that the normals on the particles in contact are equal and opposite. Preventing this from happening places a lower limit on the magnitude of the penalty force. respectively. penetration calculation is an important part of this type of contact algorithm.2).52 J.1. This de®nes the contact (penalty) force as F ˆ Kp min…F1 Y F2 †Y where V 3 3 • p ` qi qj Ri Rj 3 F1 ˆ qi Ri ‡ qj R3 Á Dt Y j X 0Y 4 F2 ˆ Gi Gj Gi ‡ Gj …2X3† • p b 0Y • p ` 0Y …2X4† s 5 Ri Rj p3a2 Y Ri ‡ Rj …2X5† . This allowed the sensitivity of the contact algorithm to the contact force type to be tested. The ®rst contact force considered was the force used by Belytschko in the pinball algorithm. This is the de®nition of penetration that is used in the pinball algorithm [14].

where Dxac is an approximation to the time over which the penetration has occurred. Eq. Gi and Gj the shear moduli. which using Eq.7) is used by Swegle [5] for contact between SPH nodes and ®nite elements. while conserving momentum. while conserving momentum. (2. The contact force in one time step applies the same impulse to both contact particles F Dt ˆ mi Dvi Y F Dt ˆ mj Dvj X …2X11† If the particles are to be brought to rest with respect to each other. / Comput. 184 (2000) 49±65 53 where qi and qj are the densities of the two particles. (2. Eq. It is derived by assuming that the rate of penetration can be de®ned as paDt and applying a force sucient to bring the node penetrating the ®nite element mesh to rest over a single time step.5).5) if the following substitutions are made: r ˆ F aA and v ˆ paDt. Kp is a scale factor. considered was  V `  vj À vi  • Y p b 0Y Dt Dt …2X10† F ˆ ‡ mj mi X • 0Y p ` 0X This was derived. F1 ˆ mp Y Dt2 2mcp Y DtDx …2X7† F1 ˆ …2X8†   Dx ˆ xj À xi X Eq. (2.11) yields • pˆ F1 Dt F1 Dt ‡ X mi mj …2X12† • Substituting the relative velocity jvj À vi j for p in Eq. Mech.J.8) can be derived by assuming that mi ˆ mj ˆ m and applying a force sucient to bring to rest a body of mass 2 m travelling at the relative velocity of the two particles. gives (2. (2. The third contact force.12) results in the third contact force expression. . referred to in this paper as type 2. The equation r ˆ qcv for the stress behind a 1D elastic wave is equivalent to (2. then the rate of change of penetration • has to be. Considered was & • max…F1 Y F2 †Y p b 0Y …2X6† F ˆ Kp • 0Y p ` 0Y where Kp is a scale factor. referred to in this paper as type 3. No scale factor or other correction term is required for this type of contact force. p ˆ Dvi ‡ Dvj .4) is derived by considering the force required to bring the two particles to rest with respect to each other. Methods Appl. (2. Eq. in an ideal plastic collision. Engrg. in an ideal plastic collision. by considering the force required to bring the two particles to rest with respect to each other. (2.5) is derived from the equations for contact force between two solid elastic spheres. Campbell et al. vH : F ˆ 2mvH X Dt …2X9† Then substituting vH ˆ cpaDx. Ri and Rj are the radii. The second contact force considered.

008 cm and the initial interparticle space was equal to the smoothing length. Fig. Campbell et al. . 4 shows the stress pro®le at time 0. therefore results are presented for the contact force types 2 and 3 only.54 J. compared with ®nite element results for the same problem using the DYNA3D code. In Figs. this is independent of the stress at the particle itself. Both the type 1 and the type 2 contact forces resulted in similar overall behaviour. A sensitivity analysis was performed in which the contact force scale factor Kp was varied between 0. The test problem used was a symmetrical impact of two 0. This is the stress version of the SPH zero-energy mode where an Fig. Each bar was given an equal but opposite initial velocity of 2 km/s. 3. Fig. Engrg. 4 and 5 considerable oscillation can be seen in the stress at the interface for both cases. With the kernel sums the two end particles were initially in contact as the distance between the two was 1. the amplitude of the spurious stress oscillations was signi®cantly reduced. Schematic representation of the 1D test problem.7 for force types 2 and 3. Best results were obtained for Kp ˆ 0X05. Methods Appl.01 cm. 100 particles were placed along the 1D line. in the stress oscillations behind the shock wave. using kernel sums to allow interaction between the two bodies.25 h. At time 0. runs were made to compare the different contact force types. 184 (2000) 49±65 2. Linking free surface condition with contact The contact algorithm should allow surfaces to come together and separate in a natural manner.2 for force types 2 and 3. 50 particles in each bar. With this reference point established. 2. used for the results shown was k ˆ 0X5. Swegle showed that this was a characteristic of the SPH method. Mech. time step scale factor. The problem was also run with a value of k ˆ 1X5 with no problems. as the SPH estimate to the stress ®eld has its local maxima and mimima at the particles giving the stress ®eld gradient of zero. Fig. This requires the stress free boundary condition algorithm to be modi®ed so that this boundary condition is not applied to boundary particles in contact. Fig. To provide a reference point the problem was initially run with no contact. The aim of these was to test the e€ects of the di€erent contact (penalty) force algorithms.2 ls the shock waves are propagating away from the point of contact. 3 shows the resulting stress pro®les.4 cm long steel bars. The smoothing length was 0. 2. This oscillation was described by Swegle [5] who observed it when modelling the 1D impact of two initially separated bodies using kernel contact. for which stress ®eld does not cause particle accelerations that would reduce the stress amplitude. In the SPH method no acceleration will be produced at a particle if the stress at the two neighbour particles is equal. so there was no initial penetration.2 for contact force type 2. the only difference observed was a higher amplitude. 5 shows the stress pro®le at time 0.008 and 0. with the stress pro®le for kernel contact shown for comparison. The value of k. with the stress pro®le for kernel contact shown for comparison. by a factor of 3±4. 1D tests The ®rst set of tests was in 1D. This oscillation corresponds to a zero energy mode. / Comput. The space between the two contact particles was 0. in exclusion from any e€ect that could occur in 2D from the two di€erent methods of calculation of the vector along which the contact force was applied.4.

Comparison of SPH and ®nite element stress pro®les. If the spurious stress oscillation did not have any a€ect on the results of the calculation then it would have been possible to ignore it. (b) time 0. / Comput. However. 4. 3. 184 (2000) 49±65 55 Fig.J. alternating velocity ®eld does not generate stresses in the material to resist the particle motion. During the early stages of the calculations. This showed that only a small decrease in the amplitude of stress oscillation has occurred.7 ls. Contact force scale factor for the contact force type 2 was Kp ˆ 0. Methods Appl. using the third type of contact force. Engrg.05. The stress oscillation in the region of the contact did not change signi®cantly during contact. Time step scale factor was k ˆ 0.2 and 0. 6 compares the stress pro®le near the contact surface between time 0.5.7 ls.2 ls. Fig. (a) Time 0. showed the best agreement with the velocity pro®le seen with kernel contact. contact force types 2 and 3. Stress pro®les at 0. Fig. the arti®cial viscosity coecient and the smoothing length. Mech. Impact velocity 2 km/s. all without success.2 ls for kernel contact. as have been discussed so far. the stress pro®les showed that the stress oscillation was also present with this contact force type. The contact algorithm. Campbell et al. it . Swegle attempted to control the oscillation by varying the time step.

Fig. Methods Appl. was not signi®cant. 5. . In 1D. In all cases the stress oscillation caused by contact had rj b ri . contact type 2. and to generate a tensile stress wave that propagated through the material. Campbell et al.56 J. the momentum equation for an internal particle reduces to 4 2 3 2 35 Á dWij1 Á dWij2 dvi mj1 À mj2 À ˆ À rj1 À ri rj2 À ri À Y …3X1† dt qj1 dx qj2 dx where j1 and j2 are the two neighbour particles. Detail of stress oscillation at contact surface. splitting the particles near the contact point from the remainder. when the release waves reach the contact interface by a€ecting the behaviour of the nodes in contact. 7. This can be explained by considering the momentum equation. contact force types 2 and 3. In one case the stress was high enough to cause numerical fracture. which causes the boundary particle to have an acceleration away from its neighbour particle. Impact velocity 2 km/s. Contact force scale factor for the contact force type 2 was Kp ˆ 0. Mech. 184 (2000) 49±65 Fig. considering only the nearest neighbours. Time step scale factor was k ˆ 0. 6.05.5. Engrg. So when rj1 ˆ rj2 the acceleration is zero. Stress pro®les at 0. Fig. In most cases the e€ect that the tensile stress had on the ®nal result was to delay the separation of the two bars. It was found that it can have a signi®cant e€ect once the release waves arrive at the contact surface. The root cause of this tensile stress was the incorrect behaviour of the boundary particles due to the spurious stress oscillations. The spurious stress oscillation caused high tensile stresses in the material. For a boundary particle this equation is 4 5 Á dWij dvi mj À ˆ À rj À ri B …3X2† dt qj dx as the stress oscillation causes rj Tˆ ri then the boundary particle has a non-zero acceleration.7 ls for kernel contact. / Comput.

0 km/s. Methods Appl. 184 (2000) 49±65 57 Fig.2 ls for k ˆ 0. Fig. Fig. Kp ˆ 0.01. The e€ect of the spurious stress oscillation has been established.5. Penalty type 2.5.2 ls for k ˆ 0X5Y Kp ˆ 0X05 and k ˆ 0X1Y Kp ˆ 0X01. Impact velocity 4. Mech. it has not reduced the amplitude. Tensile stresses have caused numerical fracture near contact point. Kp ˆ 0. The amplitude of the oscillation was most sensitive to the magnitude of the contact force. Tests were performed to ®nd the e€ect of varying the time step. 9. Fig. Reducing the contact force has reduced the amplitude of the oscillations.05 and k ˆ 0. Impact velocity 4. showing the effect on the stress oscillation of reducing the contact force scale factor. 8. k ˆ 0. Stress pro®les at 0. showing the effect on the stress oscillation of reducing the time step. / Comput. 9 compares the stress pro®le at 0. 8 compares the stress pro®le at 0.1. Velocity pro®le at 2.05.0 km/s.0 km/s. Stress pro®les at 0. contact force and initial material velocity on the oscillation. Kp ˆ 0.2 ls for k ˆ 0.5 and k ˆ 0. Fig. Both use penalty type 2 with Kp ˆ 0X05. Reducing the contact force gave a signi®cant reduction in the amplitude.J.1.01. As it had signi®cant e€ect on the results it needed to be controlled.2 ls for a k ˆ 0X5 and k ˆ 0X1. . from 10 particles to 8 particles. Impact velocity 4. Engrg. Kp ˆ 0. Campbell et al. Reducing the time step has only reduced the extent of the oscillation.0 ls. 7.

The contact algorithm was tested in 2D by modelling the normal symmetrical impact of two steel blocks.58 J. The two blockÕs initial relative velocity was 0. . For contact it was necessary to ®nd the best normal to use. When the stress free boundary condition was not applied to the corner particles in contact. which also has the e€ect of reducing the contact force. Fig. This allowed for the correct behaviour of the corner particles. Schematic representation of the 2D test problem. 11. 10. Reducing the time step and the contact force gave a signi®cantly reduced amplitude. Applying the stress free boundary condition to the corner particles corrected this. For contact boundary particles that lie on a ¯at or near ¯at boundary it was necessary not to apply the stress free boundary condition. giving a total of 2000 particles in the whole model. so the initial penetration was zero. Mech. but resulted in signi®cant inter-penetration of the corner particles. and o€ered a way of controlling the amplitude of oscillating stress component. 2D tests As the 1D tests showed that the behaviour of penalty force types 1 and 2 were similar. Each block was 10 mm ´ 4 mm and consisted of 50 particles by 20 particles. Initial test results showed that the contact algorithm required improvement in its treatment of corner particles. As the stress free condition was not applied release waves were not generated correctly at the corner particles. If the corner particle was not in contact then the stress free boundary condition was applied for both particle normals.0 km/s. To differentiate between a corner particle Fig. The best normal was de®ned as the normal. 12b. as a low contact force leads to a large penetration which causes the contact algorithm to break down. this caused incorrect behaviour at the corner particles at either end of the contact surface. Fig. 10. At the higher velocities the contact force can not be reduced to a level that controls the oscillation. see Fig. The best normal was then used for the contact algorithm as if it were the single particle normal. Engrg. If the particle was in contact then the stress free boundary condition was only applied in the direction of the free surface particle normal. 12a. only penalty force types 2 and 3 were used in the 2D tests. 4. The stress free boundary condition was not applied for that surface normal used in contact. Where rij is the vector between the centres of the two particles in contact and n is the unit normal vector. The result was that the horizontal velocity of the corner particles was too low. The disadvantage of this was that the tests with a reduced time step were using a time step of 5% of the maximum stable value. which gives the maximum value of the dot product n Á rij . 184 (2000) 49±65 Reducing the impact velocity.2 to 4. Campbell et al. The problem was ®rst analysed using DYNA3D in order to provide results for comparison. Methods Appl. the DYNA results are shown in Fig. In order to treat the corner particles correctly two surface normal vectors were required. also reduced the stress oscillation. In higher dimensions with the consequent larger numbers of particles this size of time step would increase the computational cost of the calculation by an order of magnitude over the cost when using the kernel to provide contact. The contact boundary particles in each body were initially spaced h apart. / Comput.

04 ls. Mech. (b) time 1. 11. Engrg. . The following four basic cases were considered: (a) Average normal contact with penalty force type 2. The set value used in the tests was 45°. (c) Between centres contact with penalty force type 2. 184 (2000) 49±65 59 Fig. (a) Time 0. or along the vector between the two particle centres. (b) Average normal contact with penalty force type 3. If this angle exceeded a set value then the particle was considered to be a corner particle and both contact and free surface boundary conditions were applied in the directions of corresponding normals.J. contours of z (vertical) velocity.4 ls. and a surface particle the angle between the two normal vectors was calculated. / Comput. The aim of the 2D tests described below was to compare the e€ects of applying the restoring force along an average particle normal. DYNA results for 2D test problem. Methods Appl. Campbell et al. (d) Between centres contact with penalty force type 3.

To measure the difference between the cases. To test for the di€erence between the two methods. / Comput. (b) corner particles have stress free condition applied. Methods Appl. and for penalty force type 2 Kp was 0. z velocity at 0. a lower initial relative velocity of 200 m/s was used. To reduce the effect of the offset at the corners. Initially the x momentum in each body was zero and in the ideal case it would have remained zero throughout the run. 184 (2000) 49±65 Fig. Mech. Engrg. Fig.1.25 h. . the lower block was given an initial horizontal. 12. One normal vector calculated for each boundary particle. In all of these cases the particles in the two bodies were initially aligned.4 ls. offset of 0. 14. All four sets of results were very similar so results are shown for case (b). 13. and the two bodies separating later in the calculation. the total x momentum of each of the two blocks was recorded. while not allowing a contact particle to be in contact with more than one other contact particle during the early stages of the calculation. (a) Corner particles do not have stress free condition applied.60 J. along the x axis.05. For all four runs k was 0. with the corner particles behaving correctly. This offset causes the two vectors to no longer be aligned. The x momentum time histories for the four cases are shown in Fig. Campbell et al. so that there was no difference between the average normal vector and the vector between the particle centres.

13. With both penalty force types the between centres algorithm has resulted in a higher x momentum in the two bodies. giving each block a total mass of 3. An x momentum of 5X04  10À3 is equivalent to an average horizontal velocity for the block of 0. Methods Appl.156 g. Campbell et al. 16% of the initial vertical velocity of the block. / Comput.4 ls. but was this di€erence signi®cant? Each block was 1 cm ´ 0. Verticle velocity for average normal contact.8 ls. penalty type 3 Between centres contact. penalty type 2 Between centres contact. Mech. (b) time 1. 184 (2000) 49±65 61 Fig. Applying the penalty force along the vector between the two centres has resulted in each block gaining a signi®cant horizontal momentum. Average normal contact. (a) Time 0. penalty type 2 Average normal contact.4 cm. contact force type 3. Engrg. and the initial material density was 7. In all cases the momentum drops after reaching its maximum value.89 g/cm3 . k ˆ 0. penalty type 3 Maximum momentum x 3X79  10À4 4X30  10À3 3X63  10À4 5X04  10À3 The maximum value for the average normal contact was at time 0. There was an order of magnitude di€erence between the two cases.J.1.0016 cm/ls. the larger value that occurred later will be commented on shortly.98 ls. Impact velocity 4 km/s. This is because the horizontal motion has resulted in a given contact . These ®gures are the maximum values. The di€erence between the two force vectors was clearly seen.

The ®rst four tests mentioned in this section. By doubling the number of particles in the model the maximum value of the x momentum was reduced ten times. with the instability being most apparent when applying the contact force along the average normal vector. (b) contact force type 3. The 1D tests showed that reducing the time step scale factor and the penalty force reduced the amplitude and extent of the stress oscillation. for 4 km/s impact and k ˆ 0X1 did not show any visible evidence of the instability. but were also visible in the other normal contact case and the between centres with contact force type 2. Examining the particle stresses for the four runs without an initial particle o€set showed that the stress oscillation was also present in those results. with the corresponding decrease in the contact force. where the particle spacing of the two contact surfaces were the same.5 ls. x momentum time histories for the different force vectors. Mech. / Comput. (a) Contact force type 2. Like the o€set results. The momentum time history for the average normal contact with contact force type 2 showed a large change in momentum after 1. the resulting penalty force has an x component of opposite sign to the force from contact with the initial particle. Fig. for the average normal with contact force type 2. particle motions.0 ls for the 4 km/s. Well developed instabilities and related errors in the stress distribution can be seen at either end of the contact surface for both stress components. These four tests were repeated with k ˆ 0X3. particle coming into contact with the neighbour of its initial contact particle. This instability was related to the saw-tooth stress oscillation observed in the 1D tests. Engrg. These tests represent a worst case. The severity of the instability is reduced in the same way as the severity of the stress oscillation reducing time step and contact force. and all four calculations developed the instability. 17 shows plots of the rxx and rzz stress components at 1. No stress oscillation was observed in the rzz stress. 184 (2000) 49±65 Fig. reduced the oscillation. The stress oscillation was pronounced at the two ends of the contact surface. The instability was closely related to the stress oscillation as it occurs in locations where the stress oscillation was already present. Impact velocity 200 m/s. Fig. and so any forces tangent to the contact surface would not have such a signi®cant global e€ect. The cause of this change was an instability that developed near both ends of the contact surface. as the stress oscillation occurs near the corners before the particle motions become signi®cant. The stress oscillation was also present in the two other cases where the instability caused visible particle motion. The instability caused visible particle motions by 0. The . The contact algorithm used had a strong e€ect on the instability.4 ls for the best and worst cases. and least apparent when applying the contact force between the particle centres. and all particles were o€set in the same direction. Also reducing the impact velocity. Methods Appl.4 ls. non-physical. 15 shows the particle x velocities at 2. In practice it is most likely that the particle spacing of both surfaces would not be identical.62 J. Campbell et al. average normal case. the average normal contact with contact force type 2 showed the most extensive instability. 14. Tests were carried out in 2D to ®nd whether this instability is sensitive to the same factors. The only case where visible particle motion was not seen was for the between centres with contact force type 3. These motions were largest in this case. The instability was also present in 200 m/s impact velocity tests. Fig. 16 shows the rxx stress pro®le at 1.0 ls of the contact boundary particles of the upper block. The presence of the instability appeared to be related to the spurious stress oscillation. This instability caused visible.

Mech. rxx pro®le along contact surface at 1. (a) Average normal contact. 184 (2000) 49±65 63 Fig. average normal was calculated from the particle normals. An instability can be seen with the average normal contact case.1. Engrg. Fig. contact force type 3. / Comput. These tests are complicated by the presence of the instability. as over a large range of initial conditions this instability will grow to a point where it prevents the calculation from reaching the termination time or has a signi®cant e€ect on the global behaviour of the problem. Further tests are required before a solid conclusion can be drawn as to whether applying the contact force between the particle centres or along an average normal is better. Campbell et al.4 ls for offset impact tests. (b) between centres contact. x velocity at 2. This makes this algorithm sensitive to small changes in the surface geometry. The instability problem must be addressed before further development of the contact algorithms can be carried out. k ˆ 0.0 ls for the average normal with contact force type 2. . with initially o€set particles. Methods Appl. which were in turn calculated form the surface geometry of the body. 16. contact force type 2.J. 15.

0 ls for average normal contact. in some cases rendering the ®nal results completely inaccurate. · Reducing the time step and contact force signi®cantly reduced the severity of the spurious stress oscillation. Smoothed particle hydrodynamics: theory and application to non-spherical stars.J. A numerical approach to the testing of the ®ssion hypothesis. Monaghan. J. · The spurious stress oscillation requires (zero energy mode problem) addressing and controlling. Mon. k ˆ 0:1. Campbell et al. 82 (1977) 1013±1024. 5. Stress components at 1. 181 (1977) 375±389. 17. not the particular contact algorithm. Astronom. Engrg. References [1] R. [2] L. (b) rxx stress component (vertical). 184 (2000) 49±65 Fig. The di€erence in stresses and velocities between the best SPH and FE analyses was within 5% for the response time considered. In both 1D and 2D the oscillation resulted in non-physical motion of particles. Soc. · The presence of the instability prevented the full testing of the proposed contact algorithm. Methods Appl. Instabilities at either end of the contact surface. R.A. The results were compared to the result from a DYNA3D analysis for the same problem. Mech. J. Impact and separation in the velocity range between 0.2 and 4 km/s were successfully modelled. Lucy. Gingold. Astron. Not. · Contact excites a stress oscillation in the region of the contact interface. Conclusions A penalty method for contact in SPH has been developed. The time step required was under 10% of the time step when using kernel contact. . The method retained the conceptual simplicity of the SPH method by considering only particle±particle contact. · The stress oscillation is a characteristic of the SPH method.B. / Comput. Impact velocity 4 km/s.64 J. (a) rxx stress component (horizontal).

June 1989.D. Campbell.W. SAND93-2513. with conservative smoothing. L.). [15] T. Des. M.R. [14] T. Engrg. Randles. I.R. Mech. S. F. Hicks. Engrg. Engrg. 139 (1996) 375±408. Methods Appl. Libersky. Allahdadi. pp.A.D. Libersky. 139 (1996) 347±373. [9] P. [6] Y. Comput. Springer. Mech. [5] J. M. The splitting pinball method for contact-impact problems. Swegle.W. Libersky. Stryk. Private communication.P.W. Engrg. 31 (1991) 547±572. Engrg. Methods Appl. J. Methods Appl. J. T. M. Report DNA-TR-88-286. High strain Lagrangian hydrodynamics. Linking of Lagrangian particle methods to standard ®nite element methods for high velocity impact computations. SPH for high velocity impact computations. Attaway. Comput. March 1994. Methods Engrg. J.W. D. Des. Yeh. Campbell et al. 105 (1993) 375±393. On the problem of penetration in particle methods.G. Nucl. S. Mech.J. [11] J.W. [10] P. Johnson. Nucl.E.R. Belytscko.G. Coupling of smooth particle hydrodynamics with the ®nite element method. R. Int. W. 184 (2000) 49±65 65 [3] L. Crowley (Eds. Carney. J. October 1997. [4] L. 109 (1993) 67±75. Stabilising S. Contact-impact by the pinball algorithm with penalty and Lagrangian methods. Petschek. [7] G. 150 (1994) 199±205. Numer. August 1994. Sandia Report. Smoothed particle hydrodynamics: some recent improvements and applications.H.L. A.W. L. Engrg. Attaway.P. J. Comput.D.J. Swegle. Comput.J. Libersky. Randles. [13] S.W. Hipp.M. [12] G. in: H. Wen.J.W. 82 (1989) 1±15. Methods Appl. Comput. [8] P. 150 (1994) 265±274. Heinstein. Neal. Monaghan. A. An analysis of smoothed particle hydrodynamics. 248±257. M. F. Phys. Sandia Report SAND94-1932. Fritts. Johnson. Mello. Swegle. Advances in the Free-Lagrange Method. J. D. Trease.A. . New York. Phys. Beissel. Belytschko.C. Smooth particle hydrodynamics with strength of materials.W. Hicks. / Comput. Petschek. Some new algorithms for boundary value problems in smooth particle hydrodynamics.D. Heinstein. Mech.L. 1991.R.