Você está na página 1de 27

# INTERNATIONAL JOURNAL FOR NUMERICAL METHODS IN ENGINEERING, VOL.

22,723-749 (1986)

## A SIMPLE RIGID BODY ALGORITHM FOR

STRUCTURAL DYNAMICS PROGRAMS

## D. J. BENSON AND J. 0. HALLQUIST

University qf California, Lawrence Livermore Nationul Laboratory, Livermore, California. U . S . A

SUMMARY
The analysis of low velocity impacts is necessary for designing everything from safe automobiles to safe
shipping casks for nuclear material. Although great strides have been made in reducing the cost of impact
analysis, the cost must be reduced even more before impact analysis becomes a routine design tool. One
approach replaces the mesh outside of the impact zone with a rigid body.

INTRODUCTION
Structural dynamics and the rigid body dynamics of mechanisms are commonly regarded as
two distinct fields both theoretically and in computational practice despite their common
foundation in Newtons second law. The central reason for this perception is that Newtons
second law is rarely used directly in computations. In structural dynamics, it is rewritten as the
weak form of Cauchys first law, which is very convenient to work with in the finite element
method, while Lagranges equation is frequently used in rigid body dynamics because it ensures
that the inertial forces are correctly calculated from the generalized co-ordinates and their first
and second time derivatives.
One unfortunate consequence in both fields is that ideas developed in one area are often
ignored in the other field. For instance, the contact algorithms developed in structural dynamics
are largely ignored by the rigid body dynamics community.
Another consequence is that many problems of importance are not adequately addressed by
either field because they do not fit neatly into a single category. The ability to simulate the
catastrophic failure of machinery is obviously important for creating safe designs, but conventional
analysis methods are either inaccurate or prohibitively costly for routine design. As a simple
example, consider a low velocity impact where shock waves are not important. Usually, only
the small region of a structure immediately involved with the impact is subject to finite
deformation, and the only function of the remainder of the structure is to carry the momentum
for dissipation by the plastic work. Replacing the mesh outside of the impact region with a rigid
body significantly reduces the cost of the analysis with only a small loss in accuracy.
When hydrodynamics researchers realized years ago that pure Eulerian and Lagrangian codes
could not solve all of their problems, they unified the viewpoints mathematically and produced
codes using both descriptions. Our goals are similar with respect to structural dynamics and
rigid body dynamics.
In this paper, structural dynamics and rigid body dynamics are reviewed and re-united by
deriving the weak form of Lagranges equation with quasi-co-ordinates, and showing that the

## 0029-598 1/86/060723-27\$13.50 Received July 1985

\$3 1986 by John Wiley & Sons, Ltd.
724 D. J. BENSON AND J. 0. HALLQUIST

classical formulations in the two fields are readily derived from it. Furthermore, a formulation
for efficiently handling problems with aspects of both structural and rigid body dynamics is
presented.

PART I: THEORY
THE WEAK FORM O F LAGRANGES EQUATION
The weak form of Lagranges equation is derived in this section from Cauchys first equation
of motion. A more detailed development is presented in Reference 2. Mathematical rigour is not
enforced; the equations presented here are well known. The standard assumptions about
integrability and continuity are made where necessary without mention. For a more mathematical
development using variational methods, the reader is referred to References 3-5.
Vectors are in bold type; their components are denoted by subscripts. Individual basis vectors,
however, have subscripts. The summing convention is always used unless otherwise noted, for
example, x = xiei. Matrices are also represented by bold letters. Greek subscripts indicate nodes,
e.g. the mass matrix is M x i p j Second-order
. tensors, such as the stress tensor, are also in bold type.
A Lagrangian viewpoint is used throughout the remainder of this paper. The material points
are denoted by X, their location in the reference configuration, and their location at time t is x.
All displacements are measured in an inertial reference frame using a fixed orthonormal basis, e.
The governing equation of motion is Cauchys first law of motion.6 Initial displacements and
velocities, consistent with the constraint equations, along with traction boundary conditions
over regions disjoint from the constrained regions are specified:
Tij,j + pofi = Poxi
tijnj= t i on
Xi(X,0) = di(X)
ii(X,0) = V i ( X )
4 i ( x ,0) = 0
where t is the Lagrange stress tensor, f the body force, n the outward normal, t the traction
vector, po the density in the reference configuration, 4i the ith holonomic constraint function,
and rb the boundary surface subject to traction. Note that 4i denotes not only displacement
boundary conditions over a surface, but also the joint constraints at specified points on a body.
The Lagrange stress is used throughout because the equations are somewhat simpler with the
applied forces acting in the global directions, el, and the integrals performed over the reference
configuration. Once the equations are derived, modifying them to incorporate a different set of
conjugate stress and strain tensors is
The application of the classical variational procedures gives the principle of virtual work:

+
poXi 6xi dR
6,
~ i 6 xj i , j dR -

+
where 6x is an arbitrary displacement function chosen so that x 6x satisfies all of the constraints,
the kth applied concentrated force, ,Ii the Lagrange multiplier for (pi, (-;) the appropriate
inner prodt.-. for each 4 i , and 0, the domain of the reference configuration.
The displacement field is described by a set of generalized co-ordinates (and fields), q. For the
SIMPLE RIGID BODY ALGORITHM 725

purpose of maintaining a simple notational scheme, the generalized co-ordinates are treated as
a vector, but q is not in a linear vector space, e.g. rigid body rotations are not vectors:
xi = Xi(X, q ( X , t ) ) (7)
Using the chain rule, the virtual work associated with the inertial forces is written in terms of
the generalized co-ordinates:

The kinetic energy at a point is defined by equation (9). By performing the appropriate
differentiations, equation (10) is readily proved to be equivalent to equation (8):

where T* is the kinetic energy at point X . Again applying the chain rule, the virtual work
equation is rewritten as the weak form of Lagrange's equation:

## For K generalized co-ordinates and J constraints, equation (1 1) is actually K + J equations,

each independently equal to zero.
Equation (6)is the usual starting point for most structural dynamics formulation^,^^^ and it is
recovered from equation (I 1) by trivially setting q to x. The classical form of Lagrange's equation
from rigid body dynamics is derived from equation (11) by noting that 6qi is constant over the
domain of integration, and that, consequently, 6qi,j is zero:

## where T is the total kinetic energy of the body.

Although there are numerous methods for deriving the equations of motion, most programs
in the rigid body dynamics field are based on equation (12).
Extending the preceding derivation to encompass the general case of non-holonomic constraints
is not d i f f i ~ u l tbut
, ~ many of the non-holonomic constraints used in practice are Pfaffian," and,
for them, the previously derived equations are still valid.

## LAGRANGES EQUATION WITH QUASI-CO-ORDINATES

The primary difficulty associated with a generalized co-ordinate formulation is the complexity
of the terms associated with the large rotations. There are several approaches that have been
used with success in computational rigid body dynamics:
726 D. J. BENSON AND J. 0. HALLQUIST

## 1. Accept the complexity.

2. Introduce the canonical momenta, aT/adi,as variables. This is not a Hamiltonian approach; a
differential algebraic equation (DAE) integration method, such as Gears, is used with the
momenta defined by algebraic equations.
3. Use angular measures that give simple equations. In particular, Nikravesh and Chung
advocate Euler parameters, which are also always non-singular and the rotation matrix has very
simple derivatives.
4. Write the equations of motion in terms of the angular velocity about a set of orthogonal
axes.13.2,10

The angular velocities about the axes of a body are a particular example of a general class
of velocity measures called quasi-co-ordinates or quasi-velocities.l o Most of the methods for
formulating equations in Reference 14 are motivated by the simplicity that results from using
quasi-co-ordinates. One use for quasi-co-ordinates is found in the analysis of shells subject to
large rotations, where angular increments (angular velocities in the limit) are used to update the
generalized rotational co-ordinates. Lagranges equation, as previously written, is not valid
for quasi-co-ordinates, but it is readily recast into the quasi-co-ordinate form. The modified
form is also known as the Boltzmann-Hamel equation.
Following Meirovitch, the quasi-co-ordinates are written as linear combinations of the
generalized velocities:

Obviously, d~ is the inverse of the transpose of JI, but both symbols are used for clarity.
Denoting the kinetic energy at a point, written in terms of the quasi-co-ordinates and the
generalized displacements, as T*,the weak form of Lagranges equation is derived by substituting
equations (13) and (14) in equation (11):

## where F is the deformation gradient a x i / d X j , and 6F is (axi/dqk)6qk,j.The classical form of

the Boltzmann-Hamel equation corresponds to the virtual power instead of the virtual work
weak form:
SIMPLE RIGID BODY ALGORITHM 727

## CHOICE OF GENERALIZED CO-ORDINATES AND QUASI-CO-ORDINATES

The natural choice for representing the deformations of a body are the nodal co-ordinates used
in finite element analysis, or, for small displacement, linear elasticity, a truncated modal
representation derived from a finite element model.
For rigid body dynamics, the choice of co-ordinates is very broad and it is, arguably, the most
important decision made in creating a rigid body dynamics code. At the risk of over-simplifying,
there are two basic schools of thought on the subject: topologically based co-ordinates and
topologically independent co-ordinates.
DRAM (Dynamic Response of Articulated Mechanisms),I6 the first generalized, type variant,
two-dimensional rigid body code, was released in 1971 (it was originally named DAMN), and
uses topologically based co-ordinates. A near minimal co-ordinate set is generated by using the
connectivity of the parts in a mechanism. The first three-dimensional, generalized program was
IMP (Integrated Mechanism P r ~ g r a m ) , 'released
~ in 1972, which is also topologically based.
Both programs generate small, dense equation sets with complicated coefficients.
ADAMS (Automatic Dynamic Analysis of Mechanical Systems),' ' developed by Orlandea in
1973, uses the centre of mass co-ordinates of each body, a choice that is independent of the
connectivity of the mechanism. Each body, force element and constraint generates a type-
dependent submatrix for assembly into a global system of equations. The resulting system of
equations is large and sparse in comparison to those of DRAM and IMP.
For non-stiff integration methods, the optimal co-ordinate choice is heavily dependent on the
topology and the size of the system. On the other hand, the topologically based formulations
are at a major disadvantage when a stiff integration method is used, because formulating the
Jacobian for them is a difficult task; the usual approach is numerical differencing. The Jacobian
for non-topological co-ordinates is, in contrast, very simple because of the looser coupling
between the equations of motion.
The most appropriate choice of rigid body co-ordinates from our point of view is one which
generates the equations of motion in the same manner as the finite element method so that the
capability of the mechanism is easily incorporated into existing finite element codes. Furthermore,
the ability to calculate an explicit Jacobian for stiff integration is crucial for computational
efficiency in implicit codes. For these two reasons, a co-ordinate system that is independent of
the topology of the mechanism is chosen for the remainder of this paper. Our choice, therefore,
is similar to Orlandea's.
The location of a material point X is given by equation (1 7):

where x is the location of X at time t; R the rigid body displacement of the origin of the local
co-ordinate system; A the rotational transformation from the local to the global co-ordinate
system; 0 the vector of rigid body rotation measures; U the displacement of point x from its
reference position, X,in the local frame of the body; and z the vector of generalized co-ordinates
for U: for bricks, it is the usual three nodal displacements; for shells, rotational degrees-of-freedom
are also included. Mode shape amplitudes may be used for linearly elastic systems.
A centre of mass co-ordinate system is not chosen because the location of the centre of mass
changes with the configuration of the body. Constraints are, therefore, necessary to locate the
instantaneous centre of mass.
The rigid body translational and angular velocity components in the local co-ordinate frame
are chosen as the quasi-co-ordinates, and the displacement field is characterized by its generalized
728 D. J. BENSON AND J. 0. HALLQUISI

## displacements and velocities:

vi = Aji(B(t))dj
oi = BijB(t))dj

ii = ii (trivially)
where V is the translational velocity in the local co-ordinates of the body, and o the angular
velocity in the local co-ordinate frame of the body.
In the co-ordinate frame of the body, the velocity of a material point with respect to ground
is a simple algebraic function:

where xL is the velocity of a point in the local co-ordinate system of the body, and eijk the
cyclic permutation operator.
To further simplify the formulation, the stress and strain rate are also measured in the local
co-ordinate system of the body, thereby eliminating the effect of the rigid body rotations on the
stiffness matrix.

## EQUATIONS OF MOTION FOR A BODY

In this section, the equations of motion are derived from the weak form of Lagranges equation
with the quasi-co-ordinates chosen in the previous section.
The kinematics of the displacement field within a body were left unspecified because the
general form of the equations of motion are identical for the most commonly used kinematic
descriptions. Our interest is naturally in the traditional finite element discretization:

where N u and NZij are the shape functions, u the translational displacements, and y the rotational
degrees-of-freedom. The precise definitions of the shape functions and nodal degrees-of-freedom
depend on the particular element and the kinematic theory.*. For small strain, linear elasticity,
a few carefully chosen mode shapes may adequately describe the displacement field:

where Huicand Gujcare the mode shapes. The trivial displacement field represents a rigid body:
U i ( X )= 0 (26)
All of the above displacement fields use separation of variables, therefore in the subsequent
derivations, the derivatives
a2 uj and __
azuj
azi aZk azi ar
are assumed to be zero. In the sequel, the displacement field is written as equation (27) for
SIMPLE RIGID BODY ALGORITHM 729

generality:
ui= U i ( X ,z ( t ) ) (27)
. au,
u.=-i.
I azj J

.. aui ..
lJ.=-z.
azj J

## The kinetic energy of a body is readily expressed using equation (21):

For the particular choice of rigid body quasi-co-ordinates made in the previous section,
equation (16) reduces to the following equations:

## where X* + U* is the point of application for f : .

The canonical quasi-momenta are readily calculated from equation (30):

Both the quasi-co-ordinate and the generalized co-ordinate form of Lagranges equation give the
same equations of motion for the displacement field because of the particular co-ordinate choice in
equation (20):

The terms inside the square brackets are quickly recognized as the classical form of the acceleration
vector in a rotating and translating co-ordinate system,
730 D. J. BENSON AND J. 0. HALLQUIST

Equations (3 1)-(35) are the general equations of motion. By introducing the different kinematic
descriptions of the displacement field given by equations (22)-(26) into the equations of motion, the
particular equations for geometrically nonlinear, geometrically linear and rigid bodies are
obtained.
For finite strain calculations, the introduction of separate rigid body co-ordinates is not
necessary unless the magnitude of the rigid body motion is so large in comparison to the
displacements from straining, e.g. space platforms, that the strain calculations are inaccurate.
The classical structural dynamics equations are recovered by simply deleting the rigid body
contributions in equation (35):

When the analyst is interested in only the gross motion of a body, and the magnitude of the
displacement field is small, the rigid body assumption, corresponding to equation (26), is used.
Equation (35) is trivially zero and equation (33) and (34) are simplified:

where M is the mass of the body and J the inertia tensor. Equations (37) and (38) generate a
rigid body finite element with one node and 6 degrees-of-freedom.
The rigid body finite element generated by equations (31) and (32) with equations (37) and
(38) is more complex than the ones used in practice.",2 For rigid body analysis, R is more
convenient to work with than V, and a local co-ordinate system aligned with the principal axes
of the body diagonalizes the inertia tensor. Centre of mass co-ordinates are used to decouple
the translational and rotational degrees-of-freedom:

aaT
=MR, (39)

aT
__ = J i j ~ j
ami

+
JijOj e i j k o j J k n o-
n J po fjAjneni,Xm dQ
RV

While equations (31)-(35) may appear formidable, they are not difficult to program. Most of
the integrals appear in structural analysis to within a rigid body rotation. The integrals for the
inertial terms are readily evaluated since the integrands are simple polynomials in the
SIMPLE RIGID BODY ALGORITHM 73 1

accelerations, velocities and displacements. Benson implemented the equations, using the modal
representation of equation (25), in the general-purpose mechanisms program by adding
about 300 FORTRAN statements to the basic rigid body code.

## FLOATING AXES SYSTEMS

Constraints on the displacement field of a body are necessary to prevent rigid body motion
from occurring relative to the local reference frame embedded in a body. The simplest approach,
called a 'fixed axes system', imposes six displacement boundary conditions by using the standard
methods of static finite element analysis. A careful choice of the constraints will, however, not
only eliminate the extra degrees-of-freedom, but also simplify the equations of m ~ t i o n . '8~- 2,0~
These constraints, which are applied to the entire body instead of just at selected points, generate
'floating axes systems'. Reference 18 contains a more complete discussion.
The discussion is restricted in this paper to the Buckens frame,'3,'4 which is also referred to
as the linearized Tisserand frame. It is the most popular of the floating axes systems because
its constraint equations are easily (almost trivially) eliminated when the free-free elastic modes
are used to represent the body. Also, unlike the Tisserand frame, its constraint equations are
holonomic, which simplifies their implementation in cases where they cannot be eliminated
analytically. Among the researchers who have used it are Canavin and Likins,I8 de Veubeke'
and Wielenga.' O
The first three constraint equations of the Buckens frame, which are common to all floating
axes systems, ensure that R is measured from the inertial frame origin to the instantaneous
centre of mass of a body:

## 6, po(Xi+ Ui)dC2=0 i = 1,2,3

At the initial time, the displacements are assumed to be zero, so that equation (43) can be
(43)

## The second set of constraints eliminate the excess rotational degrees-of-freedom:

ci+3
= eijk]nopoxjukdfi =0 i = 1,2,3

Equations (45) and (46) are the inner product of the displacement field with the six rigid body
modes:
RL = 6, i = 1,2,3 (47)
Ri+3 = eijkXj i = 1,2,3 (48)

## where R' is the ith rigid body mode.

732 D. J. BENSON A N D J. 0. HALLQUIST

The free-free modes of a body include its six rigid body modes. By invoking the orthogonality
properties of the modes, the proof that equation (49) is always satisfied for any subset of the
free-free modes that does not include a rigid body mode is trivial.
In the literature with which the authors are familiar, there is no discussion on analytically
eliminating the Buckens frame constraints with any other set of modes than the free-free modes.
The generalization to arbitrary mode shapes is simple,2 and we give it here for completeness.
The central idea is, of course, the application of the Gram-Schmidt orthogonalization

where (., is the material inner product, H the original mode shapes, H the orthogonal
mode shapes and Hi the orthonormal mode shapes.
The kinetic energy functional, equation (53), after applying the Buckens constraints, only
appears to be more complicated than equation (30)because the functional is completely expanded.
In reality, two terms are completely deleted and the last term is simplified:

## The translational momenta are greatly simplified.

The angular momenta are also simplified primarily because the inertia tensor is simplified. For
comparison, the fixed frame inertia tensor is also given:

## -x,x,-u1u2 (Xi +UJ2 +(X3 + U3) - ~ 2 X 3 - UZU3

-x,x 3 u, u3
- - x 2 x 3- u, u3 ( X l + U J 2 + ( X , + u2)2
(56)

JF =

Lo[
PO
(2,

-(Xi
-(xl
+ u2)2 + ( x 3 + u3)2
+ U i ) ( X 2+ U2)
+ u1)(x3 + u3)
-(xl

(Xi
-(x2
+ u1)(x2 + u 2 )
+ U , ) 2+ (X3

+ u2)(x3 + u3)
+ U3)2

where JB is the Buckens inertia tensor and JF is the fixed frame inertia tensor.
IXl

-( X ,
+ u1)(x3 + u3)
+ U 2 ) ( X 3+ U 3 )
+ ul)2 f (xZ

(57)
+ u2)2 1 da

Equation ( 3 1) remains unchanged with the Buckens frame, but because ofthe particular simplicity
of equation (54,the term e i j k vjaT/avkis zero in equation (32), the angular momentum equation.
The rigid body translational velocities may be evaluated in the ground co-ordinate frame since
SIMPLE RIGID BODY ALGORITHM 133

they appear only in the rigid body translational equations.20 Equation ( 3 1) is then replaced by
a simpler equation derived from Lagranges equation with the generalized velocity R:

Note that equation (58) is identical to equation (41) which is for rigid bodies with a centre of
mass co-ordinate system.
The equations of motion for the modes are almost identical to the general equations of motion
for the displacement field, given by equation (35); the major difference is their lack of the terms
with the rigid body translational velocity, V:

where C R is the reduced damping matrix and KR the reduced stiffness matrix.

SUBSTRUCTURING
The technology of substructuring linearly elastic bodies is highly d e ~ e l o p e d .In
~ this section,
substructuring is extended to include joining rigid bodies or modal representations of linearly
elastic bodies to nonlinear finite element meshes. The motivation for this work is to reduce the
computational cost of low velocity impact calculations. For example, in pipe whip analyses only
a small portion of a body is subjected to finite deformation and the remainder serves only to
store the momentum and elastic strain energy until they are dissipated by plastic work. By
replacing most of the body by a rigid or modal representation, the cost of an analysis is reduced
substantially without significantly affecting its accuracy.
Modal representations of components are usually joined by using component mode synthesis, *
or some variation of it. Static modes are calculated by a condensation procedure with the boundary
degrees-of-freedom being retained. The interior of the body is represented by the static modes
and a truncated series of eigenvectors. Note that, by definition, the modes of components and
the assembled body are anything but the free-free modes, and therefore the orthogonalization
procedure of equations (50)-(52) is necessary before using the Buckens frame.
The methodology for joining rigid components to elastic components is a trivial application
of component mode synthesis. A rigid component has no straining modes, no stiffness matrix,
and no damping matrix, so that its only effect is to add mass and inertia to the body, and to
constrain the boundary degrees-of-freedom of the elastic components to zero where they join the
rigid component.
After assembling the rigid and elastic components, the appropriate equations from the previous
two sections are applied.
Joining the finite element meshes to rigid or modal representations of bodies is not difficult.
The necessary expressions are derived from the finite element model by virtual power arguments:

## vp= I, JI(q, Q, Q>t, X)aii(q, Q, X) + Si(S, Q, Q> t , X)dii(q, Q(th X)dl- + .

734 I).J. BENSON AND J. 0. HALLQUIST

where V P is the virtual power, F the vector of generalized forces, and T and g represent the
appropriate terms from equation (1 6).
Partition the co-ordinates into interior mesh variables, Q and q, boundary mesh variables,
QB and qB, and rigidlmodal body variables, QR and qR. The bodies are joined to the finite
element mesh by expressing the boundary variables in terms of the rigidlmodal body variables:

(
V P = F f 6 Q i + Fj+ F i - ::;) SQj= F;SQf + FySQj = 0 (61)

The mass, damping, and stiffness matrices are derived by differentiating the F and FR
appropriately. The general forms are given below based on the function relationships between
the boundary nodes and the rigid bodies defined in equations (62)-(65):

. aH..
QB = +mknQ;Q; + HijQj
a4k
For the sake of simplifying the notation, the mass, damping and stiffness matrices are partitioned:

## where N is the original M, C or K matrix, m

the augmented matrix, and N J L is defined
as the appropriate dFJ/a. The mass matrices are

(72)
-
c!!= cil
1J 1J (73)
The stiffness matrices are
SIMPLE RIGID BODY ALGORITHM 735

Note that although the mass matrix is symmetric, the damping and stiffness matrices are, in
general, not symmetric. The inertial terms coupling the rigid body equations to the finite element
equations are zero if a lumped mass matrix is used, an important consideration for programs
with explicit integration methods. A lumped mass matrix also eliminates many of the asymmetries
in the damping and stiffness matrices. Rate-dependent materials can also introduce asymmetries
in the damping and stiffness matrices, and also have the added difficulty that, in practice, their
damping and stiffness are calculated together at the element level, which makes implementing
the above equations more difficult.
Rigid bodies can be implemented in a static analysis code by simply setting

and by keeping only the stiffness contributions. The resulting stiffness matrix is symmetric, as
would be expected. This result is not intuitively obvious from the above equations, but it is
easily derived by using generalized co-ordinates with virtual work instead of quasi-velocities
with virtual power in the derivation of equation (61).

## PART 11: IMPLEMENTATION

A BRIEF REVIEW O F DYNA3D
A complete description of DYNA3D is too long for a standard length journal article. A good
introduction appears in Reference 22; however, the best description is the theoretical r n a n ~ a l . ~
DYNA3D is a vectorized, three-dimensional nonlinear structural dynamics program. Eight-
node isoparametric hexahedral elements, along with the recently added four-node isoparametric
shell elements and two-node isoparametric beam elements based on the work by Hughes and
Liu, are used for the spatial discretization. The explicit central difference method is used for
integrating with respect to time.
For the hexahedron, z is the vector of nodal displacements. A complete description of
continuum elements is given by Zienkiewicz* and Bathe.7 The terse presentation here is more
to establish notation than an explanation:
Ui = N , ( E ) u , ~
Na(E) =\$(I + E l E a l ) ( 1 + E Z E a 2 ) ( 1 + E3Ea3) (79)
where N u is the interpolation function, E the isoparametric co-ordinate vector, E, the value of
Eat node a, and u, the nodal displacement.
The current location of a point within an element is interpolated in a similar manner:
x i = N,xUi (80)
where x, is the nodal location.
The shell element,I5 in addition to the three translational displacements, has three rotational
736 D. J. BENSON A N D J. 0. HALLQUIST

degrees-of-freedom, namely the projections of a unit vector along the fibre length onto the three
co-ordinate axes:
'i(&) =' a ( & , 1 '2)'zi +1 2
> ' 2 ) Tz(E3)a,i (81)

## Na(El,E2)=b(l + El&al)(l + ~ 2 ~ z 2 ) (82)

Ta(E3)=+(1+E3)Z,+ + i ( l -E3)Za- (83)
where 1,and T, are the interpolation functions; u, the displacement of the reference
surface, E~ = 0; a, the displacement of the unit vector along the fibre; and Z: ,Za- are
the fibre lengths above and below the reference surface.
For problems with little membrane strain, 2: and Zz- are constant. A method for updating
Z: and Zapto accommodate large membrane strains was developed by Hughes and C a r n ~ y , ' ~
and is implemented in DYNA3D, but it will not be discussed here because it does not affect the
rigid body implementation.
Again, the geometry of the element is interpolated in the same manner as the displacement field:
Xi(&) = N a X a i + 1NzTz2zi
a
(84)

## where 2, is the unit vector along the fiber.

Only the shell elements are considered in the remainder of the paper since the hexahedrons
and beams are obvious simplifications.
Second-order accuracy is achieved in integrating the ordinary differential equations by using
the central difference method:

where z ( j ) refers to z on the jth step, M i is the appropriate mass from a lumped mass matrix,
and h") is the integration stepsize.
The stepsize is determined at each timestep from the Courant stability criterion.

## RIGID BODY DYNAMICS

The equations of motion for a rigid body are given by equations (39) and (40):
MX, = F: (89)
Jijhj + f?ijkmjJkrm,= FY (90)
where M is the mass of the body, J the inertia tensor, X the location of the centre of mass, o
the angular velocity of the body, and F" and F" are the generalized forces and torques. There
are three central issues associated with implementing equations (89) and (90) in a structural
dynamics program:

## 1. The calculation of M and J from the mesh defining the body.

SIMPLE RIGID BODY ALGORITHM 737

2. F and T must be calculated. This issue is especially critical when structures include rigid
bodies contiguous with finite elements.
3. Updating the displacements, velocities and inertia tensor in a manner that does not deform
the rigid body.

A rigid body is defined using a finite element mesh by specifying that all of the elements in
a region are rigid. In many of the equations that follow, summations are performed over all of
the nodes associated with all of the elements in a rigid body, and these special summations are
denoted zf".
The mass and the inertia tensor are readily calculated from equation (91):

where MRRis the rigid body inertia tensor for both rotation and translation, MF the finite
element mass matrix, and Q the rigid body velocity vector. The finite element mass matrix is
partitioned to simplify the notation:

In practice, M F is lumped by a procedure given by Hughesz5 Simple row summing is used for
the solid elements.
The displacements and velocities of the nodal displacements are readily calculated for a rigid
body:

where XCMis the centre of mass displacement, A the transformation from the rotated reference
738 D. J. BENSON AND J. 0. HALLQUIST

configuration to the global co-ordinate frame, 8 the measure of the rotation of the body, and o
the angular velocity of the body in the global co-ordinate frame.
At the initial time, A is the identity transformation, and the mass of a rigid body is readily
calculated by substituting equations (92)-(98) into equation (91):
RB
M = 1M:ii no sum on i(i = 1 or 2 or 3 ) (99)
@
,

The displacement of the rigid body is measured from its centre of mass to eliminate the coupling
between the translational and rotational momentum equations; its location is not known a priori
and must be calculated from the mesh:

By applying equation (91) again, the inertia tensor is calculated from the mass matrix:

In deriving equation (102), the reference configuration is assumed to be co-aligned with the
global reference frame. For arbitrary orientations of the body, the inertia tensor must be
transformed using the standard rules of second-order tensors:

## where J* is the inertia tensor components in the global frame.

Note that for a lumped mass matrix, M T Rand MRTare zero, and MTTand MRRare diagonal,
which considerably simplifies the calculations. The most popular mass lumping procedures scale
the rotational masses to increase the allowable integration stepsize under the central difference
stability criterion. Scaling should not be performed on the mass matrix entries associated with
the rigid body nodes because the rigid body elements are not affecting the stepsize and the
scaling will reduce the accuracy of the calculated inertia tensor. For thin shells, the contributions
of the rotational degrees-of-freedom can be neglected in equation (101).
The generalized rigid body forces are calculated by substituting equations (95) and (98) in
their updated Lagrangian form ( A i j is S i j ) into equation (59):
ai. .
FF =F Z j 2 in general
aQi
RB
F; = 1FZi
a

## where FZj is thejth component of a force conjugate to the z co-ordinate at node a.

The summation is performed over all of nodes in the rigid body, including the nodes on the
boundary between the rigid body and a nonlinear finite element mesh. The summation
automatically accounts for all of the forces (concentrated loads, gravity, impact forces, surface
traction, etc.) including the interface forces between the rigid body and any contiguous mesh. It
SIMPLE RIGID BODY ALGORITHM 739

is the simplicity of the force torque accumulations that makes rigid bodies so computationally
attractive.
Although most rigid body dynamics programs take the total Lagrangian approach, DYNA3D
uses the updated Lagrangian approach for its structural dynamics calculations, therefore the
rigid body equations were implemented in their updated Lagrangian form to be consistent with
the rest of the program.
After calculating the rigid body accelerations from equations (89) and (90), the rigid body
velocities are updated using equation (86). The rigid body translational displacement is updated
using equation (87) and an incremental rotation matrix is calculated using the Hughes-Winget
algorithm,26 a generalization of the incremental rotations used earlier by Hallquist2' in
NIKE2D:
A,\$"+l)ghhoY+1/2)
(106)
A'"' ' ) ( A Q ) iF
jZ 6 i j +(6ik - 4ASik)- ' ASkj (107)

## The velocities of the nodes are calculated by differencing the displacements:

iz+ 112) = (.\$+ 1) - xb"i')/h ( 1 12)
L(fl+l/2)= .("+I)_ A(")

## X ai (xai )/h xai ( 1 13)

A direct integration of the rigid body accelerations into velocities and displacements is not
used for two reasons: (1) calculating the rigid body accelerations of the nodes is more expensive
than the current algorithm, and (2) the second-order accuracy of the central difference integration
method would introduce distortions into the rigid bodies. Accelerations are calculated by
differencing in a similar manner by a postprocessor because the accelerations are not needed
within the program.
Before proceeding to the next time step and calculating the accelerations at t("+'),the inertia
tensor is updated with A(AO("+'))by using equation (102).
Although the modal representation of the displacement field is reviewed in the first part of
this paper, we have not implemented it in DYNA3D. The memory required for storing a sufficient
number of modes to adequately represent a structure is much larger than the memory required
for the elastic moduli. To avoid going to disk storage for our large production problems, we
trade computer time for storage. Finite elements with their constitutive evaluations are used if
elasticity is necessary. Modal representations are attractive for implicit codes because they reduce
the size of the stiffness matrix, therefore saving both computer time and memory. Our NIKE3D
implementation will include both rigid bodies and modal representations.
740 D. J. BENSON AND J. 0. HALLQUIST

EXAMPLES

## Impact of cylinder into rail

In this problem, the steel cylinder shown in Figure 1 is impacted into a long rigid rail at
1676cm/sec. Attached to the ends of this cylinder are rigid masses of 62.3 M dyne.
One-quarter of the cylinder is modelled with two planes of symmetry using the mesh illustrated
in Figure 2. The mesh contains 3432 elements of which 624 define the rigid body. Due to
symmetry, the rigid body has two translational and one rotational degree-of-freedom.
Deformed shapes at millisecond increments are shown in Figure 3. At 4.4 ms the cylinder has
completely rebounded with its final deformed shape. A residual dent of 3.048 cm was calculated.
In a previous calculation with the rigid body approximated as high density elastic material, a
residual dent of 3.886 cm and a rebound time of 6.4 ms were predicted. Obviously, this previous
attempt at modelling a rigid body gave substantially different results. The actual dent measured
in an experiment is 3.64cm; however, the response time is not available. We feel that the rigid
body assumption for treating the added mass is a good one, and when we first performed this
calculation 9 years ago we thought that for all practical purposes we had modelled the rigid
body properly. Now we know better and if we pursued this problem further, we would improve
our material model, increase our mesh density and closely examine the connections between the
canister and the rigid body.
Due to the shorter response time and the reduction in the number of computed elements, the
cost of the solution was reduced from approximately 55 CPU minutes to 31 min on the CRAY-1,
a significant savings. By replacing the three solid elements through the thickness with our fully
vectorized and optimized version of the Hughesz5 shell, we have further reduced the cost of the
solution to 16 min, with essentially identical results.

## Impact of an earth penetrator into a tree

In Figure 4, an earth penetrator 30cm in diameter is shown just prior to impact with a tree
46cm in diameter. The axis of the penetrator is tangent to the outer diameter of the tree. An
initial velocity of 750m/s is assumed for the earth penetrator.
The purpose of the calculation is to determine the angular rotation of projectile prior to
ground impact. We therefore modelled the projectile as a rigid body with just 6 degrees-of-freedom.
We modelled the tree as an elastic-plastic material under the assumption that the results would
primarily depend on the mass density and not necessarily the constitutive model.
Results are shown in Figure 5 at 8 0 0 p intervals. Calculation time with an elastic projectile
was 4h, but with the rigid body projectile, calculation time was approximately 6min of C P U
on the CRAY-I. Most of the CPU was required for the interface treatment between the projectile
and tree. We found that a sufficiently large rotation occurred as to make subsequent penetration
into the ground improbable.

## 304L stainless steel side-struck forging

DYNA3D was used to assist in the analysis of shear band formation, a common problem in
high strength/high strain-rate forged components, in a non-axisymmetric, 304L stainless steel,
side-struck forging.
Figure 6(a) is a finished part machined from the rough forging, Figure 6(b), forged from the
barstock shown in Figure 6(c). To achieve the required strength, this part is high energy rate
S I M P L E RIGID BODY A L G O R I T H M

## Plate 1. Cross-section of valve body forging showing shear band

Plate 2. Shear hands are evident o n the plane normal to the ram along the axis of the bar-stock
Plate 3. Thc devcloprnent o f shear bands is clearly shown in this sequence. In red regions, plastic strain exceeds
75 per cent
SIMPLE RIGID BODY ALGORITHM 743

-
-
+-
t
.635 cm

I
22.9 cm
I
I
I
I

## Figure 1. Weighted steel cylinder

1
Figure 2. Finite element mesh
744 D. J. BENSON A N D J. 0. HALLQUIST

5 = 2.0 ms w

## Figure 4. Earth penetrator at time of impact with tree

SIMPLE RIGID BODY ALGORITHM 745

## Figure 5 . Sequence of deformed shapes at 8 0 0 p intervals

forged (HERF) in one blow at 1850F. Critical application of this component required that
forging be designed to produce preferential grain flow as represented in Figure 7 and that the
part be fabricated from high-purity, certified 304L stainless steel. The part was originally designed
to be forged from cross-rolled plate which met the requirements of grain flow and purity, but
a shortage of certified plate stock developed during production and available, certified 304L,
1 in. diameter bar-stock was chosen as an alternative starting stock material. This change in
starting stock geometry affected the flow characteristics of the metal during forging and produced
parts that contained shear bands, regions of inhomogeneity within the forging which form at
an interface where the metal is flowing at different strain rates. Generally, flow lines in a part,
746 D. J. BENSON AND J. 0. HALLQUIST

Figure 6. Side-struck valve body forging: (a) machined part, (b) forged part, (c) initial barstock
SIMPLE RIGID BODY ALGORITHM 747

## Figure 7. Desired grain flow pattern

L- I
L I
!-
L
Figure 8. Side views of DYNA3D mesh
748 D. J. BENSON AND J. 0. HALLQUIST

curve and follow the contour of the part, but shear bands are features which appear to cut across
the natural flow lines as shown in Plate 1. Microstructure and mechanical properties in shear
band regions can differ greatly from the matrix region of the forging, and for these reasons
forgings which contain shear bands are normally considered defective. Some conditions which
can be responsible for extreme velocity gradients are die geometry, friction or temperature
gradients due to either die chilling or adiabatic heating. Processing variables such as strain rate
and temperature also influence shear band formation. Because shear bands can only be detected
from a destructive evaluation technique, it is more useful to determine a safe regime of forging
conditions which will produce sound forgings. Usually, much trial and error must go into
analysing the forging conditions and process variables to determine this regime.
After shear bands were noted in the side-struck forgings, an extensive metallurgical evaluation
of several processing parameters were performed to determine their cause and affect on shear
band formation. These evaluations require considerable time, labour, material and destructive
testing. Forgings which were sectioned in quarters, Plate 2, and revealed that shear bands were
more prevalent on one plane. Results of these studies indicated that geometry, billet length and
friction were the dominating factors in producing the shear band features.
We modelled the geometry using two zymmetry planes. Side views of the mesh are shown in
Figure 8. The die and ram are treated as rigid bodies, and the mass density of the ram is set to
give the proper ram mass. The initial ram velocity of 600cm/sec is assigned at the beginning of
the calculation. Results are shown in Plate 3 at selected times and clearly show the formation
of shear bands where plastic strain values greater than 75 per cent are deeply shaded. We found
that the shear band formation is most sensitive to the interface friction between the die and
bar-stock. The calculational time is roughly 5 hours of CPU on the CRAY- 1 computer. Higher ram
velocities would require proportionally less CPU time and conversely for lower ram velocities.

CONCLUSIONS
The equations of motion for finite elements, rigid bodies and modal representations of deformable
bodies were derived from the weak form of Lagranges equation. By deriving the three sets of
equations from a single equation, the common structure of the equations is demonstrated. The
common structure simplifies the implementation of all three representations of a body into a
single program. Specifically, we show how to transform the finite element equations of motion
into the equations for rigid bodies and modal representations, which allows us to expand the
capabilities of a nonlinear structural dynamics program with relatively minor changes to it.
The implementation of rigid bodies in DYNA3D is described in detail. DYNA3D was chosen
for modification because it is frequently used for analysing low velocity impacts, an area where
rigid body dynamics is useful.
Three example applications were presented. Rigid body dynamics significantly reduced the
solution time in all cases with little change in accuracy.

ACKNOWLEDGEMENTS

This work was performed under the auspices of the U.S. Department of Energy by the Lawrance
Livermore National Laboratory (LLNL) under Contract No. W-7405-Eng-48.
The authors would like to acknowledge E. C. Flower of LLNL for providing the metallurgical
information described in problem 3, the side-struck forging, and M. L. Chiesa of Sandia National
Laboratories, Livermore, for providing the penetrator tree impact example. The authors also
thank Nikki Falco for patiently typing this paper.
SIMPLE RIGID BODY ALGORITHM 749

DISCLAIMER
This document was prepared as an account of work sponsored by an agency of the United States
Government. Neither the United States Government nor the University of California nor any of their
employees, makes any warranty, express or implied, or assumes any legal liability or responsibility for the
accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or
represents that its use would not infringe privately owned rights, Reference herein to any specific commercial
products, process, or service by trade name, trademark, manufacturer, or otherwise, does not necessarily
constitute or imply its endorsement, recommendation, of favouring by the United States Government or
the University of California. The views and opinions of authors expressed herein do not necessarily state
or reflect those of the United States Government or the University of California, and shall not be used
for advertising or product endorsement purposes.

REFERENCES
1. W. F. Noh, Numerical methods in hydrodynamical calculations, Rept. UCRL-52112, Univ. of California, Lawrence
Livermore National Laboratory (1976).
2. D. J. Benson, The simulation of deformable mechanical systems using vector processors, diss., Univ. of Michigan
(1983).
3. J. T. Oden and J. N. Reddy, Variational Methods in Theoretical Mechanics, 2nd edn, Springer-Verlag, New York, 1983.
4. J. E. Marsden and T. J. R. Hughes, Mathematical Foundations of Elasticity, Prentice-Hall, Englewood Cliffs, 1983.
5. K. Washizu, Variational Methods in Elasticity and Plasticity, 3rd edn. Pergamon Press, New York, 1982.
6. L. E. Malvern, Introduction to the Mechanics of a Continuous Medium, Prentice-Hall, Englewood Cliffs, 1969.
7. K. J. Bathe, Finite Element Procedures in Engineering Analysis, Prentice-Hall, Englewood Cliffs, 1982.
8. 0.C. Zienkiewicz, T h e Finite Element Method, McGraw-Hill, London, 1979.
9. L. E. Elsgolc, Calculus of Variations, Addison Wesley, New York, 1961.
10. L. Meirovitch, Methods of Analytical Dynamics, McGraw-Hill, New York, 1970.
11. N. Orlandea, Node-analogous sparsity-oriented methods for the simulation of mechanical system, diss., The Univ. of
Michigan (1973).
12. P. E. Nikravesh and I. S. Chung, Application of Euler parameters to the dynamic analysis of three dimensional
constrained systems, A S M E J . Mech. Design, 104, 785-791 (1982).
13. B. J. de Veubeke, The dynamics of flexible bodies, J . Eng. Sci., 14, 895-913 (1976).
14. T. R. Kane and D. A. Levinson, Formulation of equations of motion for complex spacecraft, J . Guid. Conrrol. 3,99-
112 (1980).
15. T. R. Hughes and W. K. Liu, Nonlinear finite element analysis of shells: Part I, J . Comp. Melhs. Appl. Mech. Eng., 26,
331-362 (1981).
16. M. A. Chace and D. A. Smith, DAMN-a digital computer program for the dynamic analysis of generalized
mechanical systems, SAE Paper 710244 (1971).
17. P. N. Sheth, A digital computer based simulation procedure for multiple degree of freedom mechanical systems with
geometrical constrains, diss, Univ. of Wisconsin (1972).
18. J. R. Canavin and P. W. Likins, Floating reference frames for flexible spacecraft, J . Spacecraji, 14, 724-732 (1977).
19. F. Buckens, The influence ofelastic components on the attitude stability of a satellite, Proc. Fifth Int. Symp. of Space
Technology and Science, pp. 193-203 (1963).
20. T. J. Wielenga, Simplifications in the simulation of mechanisms containing flexible members, diss. Univ. of Michigan
(1984).
21. W. C. Hurty, Dynamic analysis of structural systems using component modes, A.I.A.A. J., 3, 678-685 (1965).
22. G. L. Goudreau and J. 0. Hallquist, Recent development in large scale finite element Lagrangian hydrocode
technology, J . Comp. Meths. Appl. Mechs. Eng., 33, 725-757 (1982).
23. J. 0. Hallquist, Theoretical manual for DYNA3D, Rept. UCID-19401, Univ. of California, Lawrence Livermore
National Laboratory (1982).
24. T. J. R. Hughes and E. Carnoy, Nonlinear finite element shell formulation accounting for large membrane strains, in
Nonlinear Finite Element Analysis of Plates and Shells, AMD-Vol. 48, American Society of Mechanical Engineers.
pp. 193-208 (1981).
25. T. J. R. Hughes, W. K. Liu and I. Levit, Nonlinear dynamics finite element analysis ofshells, in Nonlinear Finifr Elemenr
Analysis in Structural Mechanics: (W. Wunderlich, E. Stein and K. J. Bathe, Eds.), Springer-Verlag, Berlin. 1981,
pp. 151-168.
26. T. J. R. Hughes and J. Winget, Finite rotation effects in numerical integration of rate constitutive equations arising in
large-deformation analysis, Int. j . numer. methods eng., 15, 1862-1867 (1980).
27. J. 0. Hallquist, NIKE2D: an implicit, finite-deformation, finite-element code for analyzing the static and dynamic
response of two-dimensional solids, Rept. UCRL-52678, Univ. of California, Lawrence Livermore National
Laboratory (1979).