Superquadrics and Model Dynamics For Discrete Elements in Interactive Design
Superquadrics and Model Dynamics For Discrete Elements in Interactive Design
Superquadrics and Model Dynamics For Discrete Elements in Interactive Design
9, 115-127 (1992)
ABSTRACT
This paper discusses advances in interactive discrete element simulation for use in computer-aided concurrent
design. We highlight the computational problems of creating a 'virtual world' populated by objects which
behave much as real world objects and propose a system based on a new class of volumetric models, called
superquadrics. These functions have significant advantages for calculating multibody interactions, and by
coupling volumetric representation to a modal decomposition method for the physical dynamics we have
been able to gain up to two orders of magnitude in efficiency. The modal method allows us to trade off
high order modes for improved stability, time step magnitude, temporal aliasing and speed of response,
and so provide almost real time feedback to the designer. We believe that virtual manufacturing systems
will be especially useful in conceptual design, in design for manufacture and in the new thrust in concurrent
design.
0264-4401/92/020115-13$2.00
© 1992 Pineridge Press Ltd Received March 1991
116 JOHN R. WILLIAMS AND ALEX P. PENTLAND
solution accuracy. Towards this goal we have developed algorithms which allow us to trade off
interactivity and accuracy in an optimum manner. In this paper we examine two critical areas
of multibody dynamical simulation, namely (1) rigid and deformable body dynamics, and (2)
contact detection.
The design and programming of a conceptual design system presents many problems spanning
the fields of CAD, computer graphics, human-machine interface, and simulation. The goal we
have set ourselves is the production of a system for what we term 'virtual manufacturing'1,2.
The prototype design tool encompasses an agile CAD system with tightly coupled physics. The
three-dimensional CAD system, based on a superquadric representation3,4, allows objects to be
deformed and moulded, much as one might mould clay. This is tightly coupled to a discrete
element based simulation system which, using a modal approach5,6, calculates dynamic
deformations and stresses.
DYNAMICS OF MOTION
We require algorithms to solve for the dynamic motion and deformation of multiple interacting
bodies. First, we consider the response of a single body where the interactions are represented
as external boundary forces on the body.
The dynamic equilibrium equations* can be written for a body characterized by displacements
u as:
(1)
where [M] is the n x n mass matrix, [K] the n x n stiffness matrix, and {F} the vector of
applied forces, including interaction forces. (The damping matrix [C] will be neglected in further
discussions for clarity but it can be included, using either mass or stiffness proportional damping,
or by a perturbation method if damping forces are small compared to stiffness forces.) We note
that for free bodies the stiffness matrix [K] is singular and is not invertible. If we wish to use
implicit time stepping techniques we must remove the singularity which is due to the rigid body
motion. In static finite elements this is achieved by specifying boundary conditions to fix the
body in space. In dynamics, inertial relief condenses out the rigid body motion, leaving a
non-singular stiffness matrix. The approach taken here is to avoid inverting [K] by using an
explicit time stepping technique.
An explicit time stepping solution for {u} is obtainable if [M] is invertable so that:
where the superscript refers to time station n, etc. Usually [M] is taken as a diagonal (lumped
mass) matrix leading to a straightforward solution scheme. This approach is used in DYNA3D7
and in PARADYN8, both of which use a variety of linear and quadratic, solid and shell finite
elements to represent deformations. We note that deformable discrete element methods can be
based on standard finite element orfinitedifference solution procedures. The advantage of using
finite elements is that a range of well behaved linear and quadratic solid, plate and shell elements
are available.
* Here we gloss over some of the details of the dynamics of deformable bodies, especially with respect to the definition
of co-rotational axes and large strain. The Appendix gives a brief overview of the general theory of deformable body
dynamics for a modal formulation.
SUPERQUADRICS AND MODAL DYNAMICS 117
MODAL DECOMPOSITION
If we are solely interested in accurate solutions for continuum regions these standard finite
element or finite difference methods are perfectly adequate. However, because we seek solution
schemes which allow varying degrees of approximation, modal decomposition offers great
advantages. Let the displacements {»} be expanded in terms of an orthogonal set of basis
functions {φi}. Substituting {u} = [φ]{q}, in (1) and pre-multiplying by [φ] T we get:
(2)
It should be noted that (2) provides a prescription for the calculation of generalized masses and
forces for any basis functions φ, whether or not they are eigenmodes. For example by choosing
φ to be equivalent to element shape functions n1 we can recover a standardfiniteelement scheme6.
If {φi} is an eigenvector of the equation,
where qi, is the modal participation factor of the ith mode and Mi and Fi are the generalized
mass and generalized force respectively. The non-linear material behaviour can still be modelled
by combining the modes at the end of each time step, to recover the full strain and stress state
of the body.
Here we have transformed {u} using a set of eigenfunctions {φ} which span the solution
space. It is emphasized that any other set of basis functions, which span the sapce, can also be
used9, e.g. Fourier components, Legendre polynomials, shape functions etc.
Advantages of eigenmodes
The accuracy of any reduced basis technique depends on choosing basis vectors that are a
good approximation to the full solution. The advantage of eigenmodes is that they provide a
method of ranking the importance of each basis vector's importance to the solution. In general
high frequency modes contribute less to the solution than low frequency modes, because they
require more energy to excite, and also damp out far quicker. Thus, by taking the eigenvalue of
the modes, we can decide a priori whether or not it is likely to contribute significantly to the
solution. Furthermore, we have efficient techniques for calculating modes in order of increasing
eigenvalue, so that even if we discretize the body with, say 100 unknowns, we need only calculate
the M lowest modes.
Discarding high frequency modes also has a beneficial effect on the time step, because the
critical time step length is inversely proportional to the highest eigenvalue. (The critical time
step can only be calculated approximately from the theoretical wave speed c = √(E/ρ) and the
size of the smallest element side.)
Solution accuracy
A measure of the solution accuracy of a reduced basis technique can be obtained by substituting
the solution {u} = [φ]{q}, which contains the full N unknowns, obtained from the reduced
basis (M unknowns), back into the full matrix equation (1), to calculate the residual force {R}.
{R} = [M]{ü} + [ K ] { u } - { F }
Having obtained an approximate solution, we are in a good position to obtain better
approximations using perturbation techniques10. It is also noted that a modal approach in which
we solve for successively higher modes has similar beneficial properties to a multi-grid scheme.
(We are presently researching the exact relationship between these methods.)
Calculating modes
Discrete element methods based on simply deformable elements11,12 often assume the modes
to be equivalent to the constant strain deformations of an element. This has some advantages
in that this leads to analytic expressions for quantities such as generalized mass, but has been
shown6,9 to be theoretically incorrect because it leads to coupling between the shear strain and
the rotation modes. For linear elements6 and some quadratic elements9, it is possible to write
analytic expressions for eigenmodes. However, there is really no need to derive analytic expressions
for the eigenmodes because they are easily calculated for any order element using a numerical
solution, such as sub-space iteration.
For simple bodies (bodies which are represented by a single element) we use in Thing World
either a linear or a parabolic finite element which is matched to the body's geometry (we are
SUPERQUADRICS AND MODAL DYNAMICS 119
also implementing plate and shell elements). We calculate the element's eigenmodes using a
numerical algorithm based on sub-space iteration. Depending on the application we retain a
given number of modes for determining deformations with time. At this stage we could use the
finite element representation for all phases of the calculation. However, because contact detection
using this type of wire-frame boundary representation is difficult, we have adopted an alternative
approach using volumetric functions, called superquadrics.
CONTACT DETECTION
6
In discrete element problems with large numbers of bodies, as much as 80% of the computational
time is spent in detecting and tracking the contact between bodies. The problem is especially
severe because the algorithm is of order 0(nm) operations, where n is the number of polygons
and m is the number of points to be checked for interference. Mostfiniteelement implementations7,8
avoid automated checking by having the user input contacting surfaces, but this is only possible
when these surfaces can be predicted a priori. Here we consider the general problem of reasoning
about spatial relationships, including contact detection, when they must be resolved by the
computer program. The method we present uses a hybrid approach in which the geometry of
the object is represented by superquadric functions while the internal deformation energy are
interpolated using standard linear or parabolic shape functions.
(3)
where a, b and c, determine the lengths of the principal axes and ε1, ε2 and ε3 are powers, such
that 0 < ε < ∞.
The properties of the superellipse or superquadric equation were first investigated by the
Danish designer Peit Hein16. When ε = 2 we recover the equation of an ellipsoid. By varying
a, b and c we can stretch the body continuously in any direction. By varying ε from infinity to
zero we obtain the curves shown in Figure 1.
A particularly useful facet of volumetric expressions is the so called 'inside-outside' property.
To determine if the point (x, y, z) is inside or outside the body we substitute the point into the
function F(x, y, z). If F, is greater than zero the point is outside the body, if F is equal to zero
the point is on the surface, and if F is less than zero the point is inside the body. Furthermore,
we note that for ε = 2, |F| is the square of the distance of the point from the surface. In general
(3) provides a non-Riemann measure of the distance of the point (x, y, z) from the superquadratic
surface.
120 JOHN R. WILLIAMS AND ALEX P. PENTLAND
The superquadric family can also be represented parametrically by latitude and longitude
parameters as:
(4)
and n, m, l are the direction cosines of the local body axes with respect to the global axes, and
d, is the translation vector to the loal body axes origin.
Thus,
[r]{x local } = {xworld} where {x}T = {x,y,z,l}
defines a form tapered along the z axis. In order to deform the superquadric function the Jacobian
must be defined at all boundary points on the body, which is achieved by defining the Jacobian
as a polynomial function of body coordinates. Thus the deformation gradient [F] and the
Jacobian [ J ] can be written:
SUPERQUADRICS AND MODAL DYNAMICS 121
where u = a0 + a1x + ..anxn. We shall see in the next section that we can relate this polynomial
expansion to deformations calculated from the modal basis functions.
Hyperquadrics
It is estimated that 80% of solids can be represented by superquadric functions. Solids which
cannot be represented directly can be derived from superquadrics in higher dimensions, i.e.
hyperquadrics. The hyperquadric equation for n dimensions can be written:
where a.b = a.c = a.d = b.c = b.d = c.d = 0. Calculating a 4-vector orthogonal to three other
4-vectors, say a, b, n is accomplished by choosing the coefficients A, B, C, D as the cofactors of
i, j, k, and l in the determinant below;
where I is the unit vector in the 4th dimension. This gives the required transformation from
global to local coordinates oriented normal to, and in, the hyperplane:
given by:
where
Thus
For unit displacement q, of each mode,
(5)
This relationship allows us to define a Jacobian for each basis mode φ, whose terms are simple
functions of coordinates. For example, for a two-dimensional square element, the volumetric
deformation mode {—d,d,—d,—d,d,—d,d,d} corresponds to the deformation u = d, x, v =d,y.
SUPERQUADRICS AND MODAL DYNAMICS 123
Once the eigenmodes and their corresponding Jacobians are calculated initially, the two
representations are easily kept in step as follows:
(1) each body is represented by a superquadric and the Jacobian [J 0 ] which takes us from
the spherical superquadric to stress free object shape is calculated;
(2) a parabolic finite element is matched to the superquadric and the eigenmodes are calculated
using sub-space iteration, i.e. {u} = [φ]{q};
(3) the polynomial coefficients for the unit deformation Jacobians corresponding to each mode
are calculated via:
(4) the generalized mass and generalized force for each mode are calculated using numerical
integration from the terms in (1) e.g.∫ v [φ] T [M][φ]dV;
(5) each modal equation is integrated in time using a central difference explicit time stepping
scheme to calculate the participation factors {q} and hence {u} = [φ]{q};
(6) the internal stress is calculated from the combined modes, and any plasticity iteration for
stress relief, applied;
(7) the total deformation Jacobian formed from the pariticpation factors applied to the Jacobian
for each mode, is applied to the superquadric, such that {xnew} = [jtotal] {x}
EXAMPLES
Two examples of analyses using the Thingworld system based on superquadrics are shown in
Figures 3 and 4. The first analysis shows the dynamic impact of a ball on a 2 x 4 piece of wood.
Constant, linear and quadratic strain modes were analysed, allowing very rapid calculation of
the response.
124 JOHN R. WILLIAMS AND ALEX P. PENTLAND
ACKNOWLEDGEMENTS
This work was funded by US Army URI Program Grant No. DAAL-03-87-0005 and by a
Nippon Telephone & Telegraph Data Corporation grant to IESL.
REFERENCES
1 Pentland, A. P. and Williams, J. R. Virtual constructions, Construction, 3, No. 4, MIT (1988)
2 Williams, J. R. and Pentland, A. P. Interactive, integrated design - object representation and modal analysis, Human
Comput. Interface Int. '89. Boston (1989)
3 Pentland, A. P. and Williams, J. R. Good vibrations: modal dynamics for graphics and animation, SIGGRAPH
'89; ACM Comput. Graph., 23, (4), 215-222 (1989)
4 Barr, A. Superquadrics and angle-preserving transformations, IEEE Comput. Graph. App., 1, 1-20 (1981)
5 Williams, J. R., Mustoe, G G. W. and Hocking, G. The theoretical basis of the discrete element method, NUMETA
85, Swansea, Balkema, Rotterdam (1985)
6 Williams, J. R. Contact analysis of large numbers of interacting bodies using discrete modal methods for simulating
material failure on the microscopic scale, Eng. Comput., 5, 198-209 (1988)
7 Hallquist, J. O. A numerical treatment of sliding interfaces and impact, Computational Techniques for Interface
Problems, (Eds Park and Gartling), Vol. 30, ASME, New York (1978)
8 Rockfield Software Ltd, PARADYNE Users Manual, Swansea Innovation Centre, Swansea (1988)
9 Mustoe, G. G. W. Higher order discrete elements based on Legendre polynomials, 1st US Conf. Discrete Elements,
Golden, CO (1989)
10 Noor, A. K. and Peters, J. M. Reduced basis technique for nonlinear analysis of structures, AIAA, 18, 455-462 (1980)
11 Hocking, G., Mustoe, G. G. W. and Williams, J. R. Validation of the CICE discrete element code for ice ride-up
and ice ridge/cone interaction, ARCTIC '85. San Francisco, ASCE, New York (1985)
12 Cundall, P. A. and Hart, R. D. Development of generalized 2-D and 3-D distinct element programs for modeling
rock joints, US Army Engineers Waterways Experimental Station, Final Technical Report (1983)
13 Barr, A. Global and local deformations of solid primitives, Comput. Graph. 18, (3), 21-30 (1984)
14 Pentland, A. Perceptual organization and the representation of natural form, Art. Intell. J., 28, (2), 1-38 (1986)
15 Hanson, J. A. Hyperquadrics: smoothly deformable shapes with convex polyhedral bounds, Comput. Vision, Graph.
Image Process., 44, 191-210 (1988)
16 Gardiner, M. The superellipse: a curve that lies between the ellipse and the rectangle, Scient. Am. (Sept.) (1965)
SUPERQUADRICS AND MODAL DYNAMICS 125
where RX locates the origin of X in frame I. The material point is then located by r or by
where is the vector to the undeformed position. In general, we shall prefix the vector with the
frame of reference in which the vector is measured, so that IR means that R is measured with
respect to frame I. The postscript refers to the point or frame being defined by the vector. Thus
I x
R means the vector defining point X* measured with respect to frame I. Similarly Iωx means
the angular velocity of frame X in frame I.
The linear momentum of a deformable body, in inertial frame I, is given by:
The angular momentum for a deformable body, in an inertial frame I, with respect to an arbitrary
moment centre X* is given by:
Let M x =∫s(rx t) dS +∫v(rx f) dV and let IHx be the total angular momentum of the system
126 JOHN R. WILLIAMS AND ALEX P. PENTLAND
If the moment centre X* is taken to coincide with the mass centre B* of the body then
We now have two vector equations, namely the linear momentum equation and the angular
momentum equation, for three vector unknowns, the velocity of the centre of mass of the body
B* in I(IvB), the angular velocity of X in I, (Iωx), and the deformation vector u. The orientation
of the frame X with respect to I is resolved using Euler parameters. The additional vector
equation needed relates to solution for the deformation.
We must make a clear distinction between quantities in the indeformed body (the reference
configuration) and quantities in the deformed configuration. In considering the dynamic
equilibrium of the body we solve the equations at time step t + Δt, in the deformed state (Figure
A1). We introduce the second Piola-Kirchhoff pseudo stress tensor S, related to the true stress
σ by:
S = JF-1.σ.F-T
where J = det(F), the determinant of the deformation gradient matrix. The following relationship
is defined to exist between the surface traction referred to dS0, T, and the pseudo stress S:
T = N.S.FT
gives
It should be noted that other principles are equally valid, e.g. minimizing the kinetic energy.
where u0 are the rigid body translations, θ are the rigid body rotations and φ are a finite set of
vibration modes of amplitude α. The vibration modes can be chosen as the eigenmodes or any
set of modes which are orthonormal. We choose the modes to be mass normalized, such that:
Since the modes do not contribute to the linear momentum of the body, the rigid body linear
momentum equation can be used to determine the translational motion of the centroid. The
global angular momentum for a deformable body is given by:
Deformation equations
Substituting the modal expansion for the displacements u gives:
where
The second Piola-Kirchhoff stress tensor depends on the constitutive equations for the material
property at R, and are functions of the eigenfunction amplitudes α. The generalized inertia
(generalized mass) term can be expanded as follows:
This is thefinalequation required relating the modal inertia terms to known quantities. It should
be noted that these equations are totally general for both large rotations and large strains.