Invertible Finite Elements For Robust Simulation of Large ... · Invertible Finite Elements For...

11
Eurographics/ACM SIGGRAPH Symposium on Computer Animation (2004) R. Boulic, D. K. Pai (Editors) Invertible Finite Elements For Robust Simulation of Large Deformation G. Irving , J. Teran , and R. Fedkiw § Stanford University Abstract We present an algorithm for the finite element simulation of elastoplastic solids which is capable of robustly and efficiently handling arbitrarily large deformation. In fact, our model remains valid even when large parts of the mesh are inverted. The algorithm is straightforward to implement and can be used with any material constitutive model, and for both volumetric solids and thin shells such as cloth. We also provide a mechanism for controlling plastic deformation, which allows a deformable object to be guided towards a desired final shape without sacri- ficing realistic behavior. Finally, we present an improved method for rigid body collision handling in the context of mixed explicit/implicit time-stepping. Categories and Subject Descriptors (according to ACM CCS): I.3.7 [Computer Graphics]: Three-Dimensional Graphics and Realism—Animation 1. Introduction Significant effort has been placed into making finite element simulation robust in the regime of large deformations, in- cluding the arbitrary Lagrangian-Eulerian (ALE) formula- tions pioneered by [HAC74], continuous remeshing (see e.g. [CO97, EZE98] and the references therein), etc. However, as noted in [BBTL03], these approaches are often computa- tionally intensive and difficult to implement, which has pri- marily limited their use to two spatial dimensions. Moreover, [BBTL03] points out that these difficulties often lead authors to less optimal techniques such as element deletion. This not only degrades the accuracy of the simulation, but is unsuit- able for graphics applications where disappearing tetrahedra cause visual artifacts. Since constitutive models for real materials are meaning- ful only for uninverted material, standard finite element sim- ulation algorithms fail as soon as a single tetrahedron inverts. For this reason, various authors have proposed techniques for untangling inverted meshes. For example, [VGS04] used e-mail: [email protected] e-mail: [email protected] § e-mail: [email protected] feasible set methods and optimization to untangle two- dimensional meshes, [ERM * 03] extended various tetrahe- dron quality metrics intended for mesh smoothing to the case of inverted tetrahedra allowing untangling to occur simulta- neously with optimization, etc. However, none of these tech- niques are guaranteed to work, and fail quite often in prac- tice especially if the boundary of the mesh is also tangled. And the failure to untangle a single tetrahedron forces the simulation to fail for most real world constitutive models. As pointed out by [EZE98], element inversion can occur even if the vertex position of the mesh are identical to their true continuum values. A common case of this is illustrated in Figure 1 where a triangle with three nodes on the bound- ary is forced to invert during a collision with another ob- ject. Even if an object as a whole deforms by only a small amount, say 10%, an individual tetrahedron may undergo se- vere deformation due to errors in the discrete representation of the continuous material. In fact, large deformation and in- version can arise even when simulating incompressible ma- terial, since one typically cannot conserve volume for each individual tetrahedron. Given that it is difficult or impossi- ble to prevent inversion in all cases, we propose a simpler approach that allows elements to invert gracefully and re- cover. c The Eurographics Association 2004.

Transcript of Invertible Finite Elements For Robust Simulation of Large ... · Invertible Finite Elements For...

Page 1: Invertible Finite Elements For Robust Simulation of Large ... · Invertible Finite Elements For Robust Simulation ... Irving et al. / Invertible Finite Elements For Robust Simulation

Eurographics/ACM SIGGRAPH Symposium on Computer Animation (2004)R. Boulic, D. K. Pai (Editors)

Invertible Finite Elements For Robust Simulation of LargeDeformation

G. Irving†, J. Teran‡, and R. Fedkiw§

Stanford University

Abstract

We present an algorithm for the finite element simulation of elastoplastic solids which is capable of robustly andefficiently handling arbitrarily large deformation. In fact, our model remains valid even when large parts of themesh are inverted. The algorithm is straightforward to implement and can be used with any material constitutivemodel, and for both volumetric solids and thin shells such as cloth. We also provide a mechanism for controllingplastic deformation, which allows a deformable object to be guided towards a desired final shape without sacri-ficing realistic behavior. Finally, we present an improved method for rigid body collision handling in the contextof mixed explicit/implicit time-stepping.

Categories and Subject Descriptors(according to ACM CCS): I.3.7 [Computer Graphics]: Three-DimensionalGraphics and Realism—Animation

1. Introduction

Significant effort has been placed into making finite elementsimulation robust in the regime of large deformations, in-cluding the arbitrary Lagrangian-Eulerian (ALE) formula-tions pioneered by [HAC74], continuous remeshing (see e.g.[CO97, EZE98] and the references therein), etc. However,as noted in [BBTL03], these approaches are often computa-tionally intensive and difficult to implement, which has pri-marily limited their use to two spatial dimensions. Moreover,[BBTL03] points out that these difficulties often lead authorsto less optimal techniques such as element deletion. This notonly degrades the accuracy of the simulation, but is unsuit-able for graphics applications where disappearing tetrahedracause visual artifacts.

Since constitutive models for real materials are meaning-ful only for uninverted material, standard finite element sim-ulation algorithms fail as soon as a single tetrahedron inverts.For this reason, various authors have proposed techniquesfor untangling inverted meshes. For example, [VGS04] used

† e-mail: [email protected]‡ e-mail: [email protected]§ e-mail: [email protected]

feasible set methods and optimization to untangle two-dimensional meshes, [ERM∗03] extended various tetrahe-dron quality metrics intended for mesh smoothing to the caseof inverted tetrahedra allowing untangling to occur simulta-neously with optimization, etc. However, none of these tech-niques areguaranteedto work, and fail quite often in prac-tice especially if the boundary of the mesh is also tangled.And the failure to untangle a single tetrahedron forces thesimulation to fail for most real world constitutive models.

As pointed out by [EZE98], element inversion can occureven if the vertex position of the mesh are identical to theirtrue continuum values. A common case of this is illustratedin Figure 1 where a triangle with three nodes on the bound-ary is forced to invert during a collision with another ob-ject. Even if an object as a whole deforms by only a smallamount, say 10%, an individual tetrahedron may undergo se-vere deformation due to errors in the discrete representationof the continuous material. In fact, large deformation and in-version can arise even when simulating incompressible ma-terial, since one typically cannot conserve volume for eachindividual tetrahedron. Given that it is difficult or impossi-ble to prevent inversion in all cases, we propose a simplerapproach that allows elements to invert gracefully and re-cover.

c© The Eurographics Association 2004.

Page 2: Invertible Finite Elements For Robust Simulation of Large ... · Invertible Finite Elements For Robust Simulation ... Irving et al. / Invertible Finite Elements For Robust Simulation

Irving et al. / Invertible Finite Elements For Robust Simulation of Large Deformation

If the particular material behavior and underlying physicsis unimportant, there are several techniques for treating in-version. For mass-spring systems, altitude springs work sur-prisingly well [MBTF03]. In fact, one can even add altitudesprings to finite element models, but this changes the under-lying partial differential equations and thus the behavior ofthe material (losing one of the key benefits of the finite el-ement method as compared to mass-spring systems). More-over, one cannot use constitutive models that lose meaningfor inverting elements (which is most of them). Of course,one could switch from finite element methods to mass-springmethods for flat, degenerate, and inverted elements but thisleads to force discontinuities (detrimental to implicit meth-ods), visual artifacts such as popping, etc. Various authorshave proposed methods similar in spirit to altitude springs.[THMG04] changes the underlying partial differential equa-tion by adding a volume preservation term to penalize in-version. [MG04] first computes and removes the rotationfrom material to spatial coordinates, and then applies a lin-ear model in the unrotated space. Although the linear modelworks well for inverted elements, it is severely limited in thetypes of materials it can approximate. In fact, we stress thata spring is the most common linear model that correctly ac-counts for rotation.

In this paper, we take a different approach motivated bythe desire to continuously (or even smoothly) extend the fi-nite element method so that it behaves gracefully for bothdegenerate and inverted elements, even for arbitrary consti-tutive models. This is especially important as a number ofrecent graphics publications have advocated the use of moreadvanced constitutive models to capture more realistic phys-ical behavior. Moreover, many materials found in nature ex-hibit complex nonlinearities under large deformation, suchas the biphasic nature of biological tissue and the anisotropicbehavior of muscle. Our approach begins by computing adiagonalization of the deformation mapping in order to de-termine the “direction” along which a given tetrahedron isinverted. We then extend the constitutive model to the in-verted regime usingC0, C1 or higher continuity around theflat state, resulting in smooth behavior even in extreme situ-ations. The resulting forcesalwaysact to restore the tetrahe-dron to its original shape, allowing objects to recover cleanlyfrom flat or inverted configurations, as shown in Figure 2.We illustrate the generality and robustness of our approachwith a number of simulations of objects undergoing large de-formations, including nonlinear and anisotropic constitutivemodels, plasticity with and without control, both volumetricobjects and thin shells, and fracture.

2. Related Work

[TPBF87, TF88b, TF88a] pioneered deformable models incomputer graphics including early work on plasticity andfracture. Finite element simulations have been used to modela hand grasping a ball [GMTT89], to simulate muscles

Figure 1: A highly curved region of an object is pushed in-wards during a collision with a grey object (left), and a tri-angle used to represent this deformation is forced to invert(right).

[CZ92], for virtual surgery [PDA01], and to simulate datafrom the NIH visible human data set [ZCK98, HFS∗01].[OH99] and [OBH02] simulated brittle and ductile frac-ture respectively, while [YOH00] coupled this work to ex-plosions. Finite elements were also used for fracture in[MMDJ01]. Other work includes the adaptive frameworkof [DDCB01], the rotation based approach in [MDM∗02]and [MG04], the hybrid finite element free form deforma-tion approaches in [CGC∗02a, CGC∗02b], and the finite vol-ume muscle models of [TSBNF03]. Other interesting ap-proaches to the simulation of deformable objects include[JP02, JF03].

Many authors have worked to improve the robustness ofmass-spring systems. [Pal94] used a pseudopressure termin addition to edge springs, [BC00] used springs emanatingfrom the barycenter of each tetrahedron to preserve volume,and [CM97] introduced altitude springs to prevent trianglesfrom collapsing. [MBTF03] later improved this model andapplied it in three spatial dimensions to the case of tetrahe-dral mesh generation. If altitude springs are used correctly,not only is inversion not a problem, but the elements willwork to un-invert. Unfortunately, spring systems do not al-low the modeling of arbitrary constitutive models.

We also show examples of our method at work for thein-plane deformations of lower dimensional manifolds suchas cloth and shells. Here, since triangles cannot invert inthree spatial dimensions, our method is similar to the workof [EKS03], except that they do not consider degenerate ele-ments. For out-of-plane forces, we use the bending modelof [BMF03] (see also [GHDS03]), and for self-collisionswe use the method of [BFA02]. Moreover, for volumetriccollisions we also use the method in [BFA02] simply ap-plied to the triangulated boundary surface of the tetrahedronmesh. Other interesting work on cloth and shells includesthe implicit time stepping of [BW98], the bending model of[CK02], the adaptive simulation work of [GKS02], and theself-collision untangling strategy of [BWK03].

c© The Eurographics Association 2004.

Page 3: Invertible Finite Elements For Robust Simulation of Large ... · Invertible Finite Elements For Robust Simulation ... Irving et al. / Invertible Finite Elements For Robust Simulation

Irving et al. / Invertible Finite Elements For Robust Simulation of Large Deformation

3. Measuring deformation

A deformable object is characterized by a time dependentmapφ from material coordinatesX to world coordinatesx.The stress at a given pointX in the material depends onlyon the deformation gradientF(X) = ∂x/∂X of this mapping.Since we are using a purely Lagrangian framework, all map-pings are based in material space. We restrict ourselves toconstant strain tetrahedral elements, and therefore work witha fixed tetrahedron mesh in material space. In this case,φ be-comes a piecewise linear map completely determined by itsvalues at the vertices of the mesh, andF is a constant 3×3matrix in each tetrahedron.

Since [TSBNF03] proved that their constant strain tetra-hedra finite volume method wasexactly the finite elementmethod for this case (see also [TBC03]), we adopt their ge-ometrically intuitive notation. For simplicity, consider twospatial dimensions where each element is a triangle. Wedefine edge vectors for each triangle asdm1 = X1 − X0,dm2 = X2−X0, ds1 = x1−x0, ds2 = x2−x0, and construct2×2 matricesDm with columnsdm1 anddm2, andDs withcolumnsds1 andds2. Then we haveF = DsD−1

m within thistriangle. In three dimensions,Dm andDs become 3×3 ma-trices, andF = DsD−1

m still holds. Since the tetrahedron meshis fixed in material coordinates,D−1

m is constant and canbe precomputed for efficiency. More importantly, as longas the initial tetrahedron mesh is reasonable,Dm is well-conditioned, and thereforeF = DsD−1

m is well-defined andfinite regardless of the current state of the object. Further-more,F contains all the information about the deformationof each tetrahedron, since we can recoverDs via Ds = FDm.In particular, we can useF to detect whether elements areinverted by checking the sign of detF.

If the material is isotropic, we can save storage space byperforming a QR-decomposition ofDm and storing only theupper triangular part, as noted in [MMDJ01]. This corre-sponds to rotating material space, and therefore has no effecton an isotropic material. This optimization can be performedfor an anisotropic model by rotating the anisotropic terms viathe rotation from the QR-decomposition.

The next step is usually to define the Green strainG =1/2(FTF− I), and compute stress and forces based onG.We do not do this, however, sinceG is invariant with respectto all orthogonal transformations, including reflection, and istherefore incapable of detecting element inversion. Further-more,G is already nonlinear in the deformation, and it istherefore more difficult to interpret the large deformation be-havior of a constitutive model based onG than one based onF, which is linearly related to deformation. Thus, for the re-mainder of this paper, we make the (nonrestrictive) assump-tion that the constitutive model is written explicitly in termsof F.

4. Force computation

Suppose the constitutive model is given as a first Piola-Kirchhoff stressP, i.e. a mapping from area-weighted nor-mals in material space to traction vectors in world space.The force on a nodei due to a single tetrahedron incidentto it is gi = −P(A1N1 +A2N2 +A3N3)/3, whereA jN j arethe area weighted normals (in material coordinates) of thefaces of the tetrahedron incident to nodei. Since these donot change during the simulation, we can precompute a vec-tor bi such thatgi = Pbi . We optimize the computation bycalculatingg0 asg0 = −(g1 + g2 + g3), and compactly ex-press the othergi asG = PBm, whereG = (g1,g2,g3) andBm = (b1,b2,b3). Note that sinceBm is constant, the nodalforces are linearly related toP. Therefore, the key to obtain-ing robust forces in face of large deformation is an accuratecalculation ofP.

If a constitutive model is given in terms of a Cauchy stressσ or second Piola-Kirchhoff stressS, we can easily con-vert to a first Piola-Kirchhoff stress via the formulasP = FSandP = JσF−T whereJ = detF. Alternatively, one couldrewrite the force formulaG = PBm directly in terms of theother stresses asG = σBs or G = FSBm. Unlike the firstPiola-Kirchhoff case where obtaining a validP is sufficientto obtain robust forces, computing a validσ or S is notenough. For example, if the tetrahedron is a single point,Fand thusG = FSBm are identically zero. Moreover,Bs (theanalogue toBm in world or spatial coordinates) depends onthe area weighted normals of the deformed, possibly degen-erate tetrahedra. And thusBs andG = σBs are identicallyzero as well. That is, there are no restorative forces in ei-ther instance. Therefore, we write all constitutive models interms ofP before force computation.

5. Diagonalization

Since rigid body rotations do not change the physics of a de-formable object, the stressP satisfiesP(UF) = UP(F) forany rotationU. (Here P(F) denotes function application.)Furthermore, if we temporarily assume an isotropic consti-tutive model,P is invariant under rotations of material space,i.e. P(FVT) = P(F)VT . Therefore, if we diagonalizeF viarotationsU andV to obtainF = UFVT , P becomes

P = P(F) = UP(F)VT = UPVT (1)

where a hat superscript denotes the corresponding rotatedquantity. Since the elastic energy of an isotropic material isinvariant under world and material rotations, it can dependonly on the invariants ofF, or equivalently on the entries ofthe diagonalizationF (see e.g. [BW97]). Therefore, the gra-dient of the energy,σ, will also be diagonal. Moreover, sincethe three stresses are related viaσ = (1/J)PFT andP = FS,the diagonalization ofF actually results in the simultaneousdiagonalization of all three stresses. In particular,P in equa-tion 1 is diagonal for an isotropic constitutive model. For ananisotropic constitutive model, a diagonalF does not result

c© The Eurographics Association 2004.

Page 4: Invertible Finite Elements For Robust Simulation of Large ... · Invertible Finite Elements For Robust Simulation ... Irving et al. / Invertible Finite Elements For Robust Simulation

Irving et al. / Invertible Finite Elements For Robust Simulation of Large Deformation

in a diagonalP. However, this is not restrictive, and we showexamples of anisotropic constitutive models in section 6.1.

The diagonalization ofF is not unique, however. Whilethe ordering of the entries of the diagonal matrixF is unim-portant, the signs of the entries determine whether the tetra-hedron is inverted in a particular direction. The standardSVD convention of choosing all nonnegative entries worksonly when detF≥ 0. When detF < 0, the signs of the entriesmust be chosen carefully in order to guarantee that the forcesact to uninvert the tetrahedron. In this case,F has either oneor three negative entries. We heuristically assume that eachtetrahedron is as uninverted as possible, and thus we assumethat only one entry (not three) is negative. Moreover, the en-try with the smallest magnitude is chosen to be negative.This is motivated by the geometric fact that an inverted tetra-hedron can be uninverted by moving any one node across theplane of the opposite face, and it is most efficient to choosethe node that is closest to the opposite face.

We compute the correct diagonalization by finding any di-agonalization and correcting the signs. When doing this, wemust be careful to ensure that the finalU andV are pure rota-tions, i.e., detU = detV = 1. This is because deformable ob-jects are not invariant under reflections of material or worldspace, and equation 1 does not hold if eitherU or V is areflection. We compute the SVD ofF = UFVT as follows.First we form the normal equationsFTF = VFUTUFVT =VF2VT . Then we rearrange to obtain an eigenproblem,FTFV = VF2 for the symmetric positive semidefiniteFTF.Here,V is an orthogonal matrix of eigenvectors andF2 is adiagonal matrix with nonnegative entries. Robust computa-tion of eigensystems for 3×3 matrices (even with repeatedor zero eigenvalues) is a solved problem. And since it is rel-evant to rigid body simulations, it has received a lot of at-tention. Note that ifV is a reflection with detV = −1 wecan simply multiply a column ofV by −1 to makeV a ro-tation with detV = 1. The entries ofF are then determinedby taking the square root of the diagonal elements ofF2, andU can be found viaU = FVF−1 for well shaped elements.However, if a diagonal entry ofF is near zero, which is thecase for flat tetrahedra, we do not use this formula for thecorresponding column ofU, but instead take it to be orthog-onal to the other columns. For example, in the extreme casewhere the tetrahedron is a single point andF = 0, we chooseU = I . Finally, for inverted tetrahedra with detF < 0, we havedetU = −1 implying thatU is a reflection. This is removedby negating the minimal element ofF and the correspondingcolumn ofU. Figure 2 illustrates degeneracy and inversionhandling for a torus mesh. Moreover, we have tested our ap-proach for a variety of degenerate configurations, such aswhen a tetrahedron collapses to a single point or line, andthe method always leads to robust recovery from inversion.

Figure 2: A torus with zero strength collapses into a puddle.When the strength is increased, the torus recovers.

5.1. Other Rotations

Typically, authors use a polar decomposition to remove theworld rotation of a tetrahedron producing a symmetricFs

with F = QFs. To recover from inversion, one must be care-ful to control the signs of the eigenvalues ofFs as in the di-agonalization case. However, we know of no way to do thiswithout first computing the full diagonalizationF = UFVT ,and forming the polar decomposition viaQ = UVT , Fs =VFVT . Polar decomposition was used by [EKS03] for clothsimulation and [MG04] for volumetric solids, but neithershowed how to correctly handle inverting elements. Sinceinversion does not occur for triangles in three spatial dimen-sions, this is only a difficulty in the volumetric case.

Alternatively, one could attempt to remove the world ro-tation with a QR-decomposition, i.e.F = QFr with Fr anupper triangular matrix. However, any stress which dependslinearly onFr will be anisotropic in a mesh dependent way,since it is not invariant under rotations of material space. Tosee this, it suffices to note that ifV is a rotation of materialspace, thenFVT = QFrVT , andFrVT is not upper trian-gular. Therefore, QR-decomposition is inadvisable even ifphysical accuracy is not a requirement. Moreover, this is aproblem with any method for removing rotations, such as[MDM ∗02], that does not useQ = UVT for the world rota-tion.

Note that our approach departs from the typical goal ofdetermining (or approximating) the rotation from materialspace to world space, i.e.Q from the polar decomposition.Instead, we look fortwo rotationsU andV such thatUT andVT rotate the world and material spaces, respectively, to aspace where the deformation gradient is a diagonal matrix.This is preferable to the space obtained usingQ in which thedeformation gradient is a more complex symmetric matrix.

c© The Eurographics Association 2004.

Page 5: Invertible Finite Elements For Robust Simulation of Large ... · Invertible Finite Elements For Robust Simulation ... Irving et al. / Invertible Finite Elements For Robust Simulation

Irving et al. / Invertible Finite Elements For Robust Simulation of Large Deformation

6. Constitutive Models

Once we have carefully diagonalizedF, we can extend ourconstitutive models to behave reasonably under inversion.The diagonal setting makes this quite simple.

If St. Venant-Kirchhoff material is compressed beyond acertain point, it gets weaker and weaker as the compres-sion increases, and the stress drops to zero as the objectbecomes flat. Moreover, if an element inverts, the forcesact to keep the element inverted. See Figure 3 (upper left).As noted in [BW97], this makes the St. Venant-Kirchhoffmodel completely useless for modeling large deformations.[OH99] noted these difficulties, but dismissed them sincethey were simulating rigid materials. However, as discussedpreviously, stiff or incompressible objects may still have in-verted tetrahedra due to discretization error, especially on thecoarse grids common in the computer graphics community.

In order to alleviate the problems with the St. Venant-Kirchhoff model, various authors (e.g. [PDA01]) have pro-posed adding a pseudo-pressure term to prevent elementinversion. In fact, the classical neo-Hookean constitutivemodel already does this as shown in Figure 3 (upper right).The singularity at the origin means that infinite energy isrequired to completely flatten a tetrahedron, and as long asthe equations for this constitutive model are accurately simu-lated, inversion is prevented. However, preventing inversionalso prevents the handling of situations where inversion isthe desired, correct response, as in Figure 1. Moreover, sincethe forces become arbitrarily large, the system can becomearbitrarily stiff and difficult to integrate, making it difficult tohandle situations such as that shown in Figure 6 where a vol-umetric Buddha model is pulled through rigid, interlockinggears.

To avoid the unnecessary stiffness associated with theneo-Hookean constitutive model, we modify the constitutivemodel near the origin to remove the singularity by either lin-earizing at a given compression limit or simply clamping thestress at some maximum value. Moreover, as shown in Fig-ure 3 (lower right), we extend the model past the origin intothe inverted regime in order to obtain valid forces for in-verted elements. These forces act to uninvert the element.Note that since we have removed both spatial and materialrotations by diagonalizing, the modified model is automati-cally rotation invariant and isotropic.

The major strength of the diagonal setting is that thesemodifications can be applied to arbitrary constitutive mod-els. This is quite natural, since the diagonal setting is alsocommonly used in the experimental determination of mate-rial parameters. The resulting model is identical to the phys-ical model most of the time, and allows the simulation tocontinue if a few tetrahedrons invert. Furthermore, our ex-tensions provideC0 or C1 continuity around the flat case,which avoids sudden jumps or oscillations which might ef-fect neighboring elements.

Figure 3: The relationship between the first Piola-KirchhoffstressP and the deformation gradientF for various consti-tutive models.

While it may seem nonphysical to modify a constitutivemodel for inversion handling, most constitutive models loseaccuracy long before inversion occurs. It is exceedingly dif-ficult to measure material response in situations of extremecompression, so constitutive models are often measured formoderate deformation and continued heuristically down tothe flat cases. Given that some accuracy loss is unavoidablewhen tetrahedrons are nearly flat, it is preferable to providesmooth, consistent handling of inversion in order to avoidunnecessary corruption of the more meaningful parts of thesimulation.

If a specific qualitative material behavior is desired but theexact quantitative model is less important, we can use the di-agonal setting to construct a suitable constitutive model. Forexample, most biological material is soft under small defor-mation, but becomes stiffer as the deformation increases. Asimple model capturing this behavior is given by choosingthreshold values for compression and elongation, specifyingthe slope of the stress curve outside these threshold valuesand at the undeformed state, and using a cubic spline to in-terpolate between them. This model, equipped with a lin-ear pressure component, was used for the simulations of thevolumetric Buddha model shown in Figures 5 and 6. Notethat any isotropic constitutive model expressed in diagonalform will automatically preserve angular momentum, sinceif P is diagonal,S= F−1P is symmetric (see e.g. [BW97]).For the torus puddle and plastic sphere simulations (see Fig-ures 2 and 7), where the focus is on degeneracy and plas-ticity, respectively, we used the simple rotated linear modelP = 2µ(F− I)+λtr(F− I) depicted in Figure 3 (lower left).

c© The Eurographics Association 2004.

Page 6: Invertible Finite Elements For Robust Simulation of Large ... · Invertible Finite Elements For Robust Simulation ... Irving et al. / Invertible Finite Elements For Robust Simulation

Irving et al. / Invertible Finite Elements For Robust Simulation of Large Deformation

Figure 4: A simulation of muscles driven by a key-framed skeleton. The muscle is represented with a transversely isotropicconstitutive model, and the strength along the fiber direction in the muscle is based on activation levels.

Once we have computed the diagonalized stressP, theforce computation becomes

G = UPVTBm = UPBm (2)

whereBm = VTBm can be computed and stored if the ro-tation is fixed for multiple force computations, as in someversions of Newmark time integration (see section 9).

6.1. Anisotropy

If the constitutive model includes anisotropic components,it is no longer invariant under rotations of material space.However, we can continue to fully diagonalizeF, and rotatethe anisotropic terms usingV. Since we still work with adiagonalF, the large deformation behavior of the constitu-tive model is still apparent and easy to modify to handle in-version. For example, if the material is stronger in a certainmaterial directiona, we diagonalizeF and useVTa in thecomputation ofP. P is no longer a diagonal matrix, but wecan still compute forces using equation 2. When construct-ing anisotropic constitutive models that allow inversion, wewrite P as a diagonal matrix plusF times a symmetric ma-trix for the anisotropic terms. ThenS= F−1P is symmetric(preserving angular momentum) as required.

We illustrate this with an example simulation of skeletalmuscle in the upper limb (see Figure 4). We use a nonlin-ear transversely-isotropic quasi-incompressible constitutivemodel. See [TSBNTH∗04] for more details. This is an in-tricate region of the body articulated with complex joints inthe shoulder, elbow and wrist. Inaccuracy in the joint mod-els and motion data leads to skeletal configurations that areincompatible with the musculature creating boundary condi-tions that degenerately deform muscles and tendons leadingto spurious element inversion. However, these configurationsoften only occur in limited regions of the mesh and only forbrief moments during a given motion. Our algorithm allowssimulations to progress past these temporary problems byletting elements invert and then later recover.

6.2. Damping

Damping forces can be implemented by rotating the veloc-ity gradientF by the sameU andV used to diagonalizeF,computing the damping stressP in the rotated frame, and

computing the force exactly as for the elastic case. Note thatthe rotated velocity gradient will in general not be diagonal.

As in the case of anisotropic elastic forces, a dampingmodel will only preserve angular momentum ifP can be ex-pressed asFS, with Ssymmetric. This was not a problem foranisotropy since the anisotropic terms are usually not im-portant for flat or inverted elements. However, in order toprevent visually unpleasant oscillations, we do not want thedamping forces to disappear for flat tetrahedra. For exam-ple, the analogous damping model to the rotated linear con-

stitutive model,P = β( ˆF+ ˆFT)+ αtr( ˆF), does not preserveangular momentum unlessF is a uniform scaling. However,since the angular momentum errors are small around the un-deformed state, and highly deformed tetrahedra are usuallyinteracting with other objects, we have not found this lack ofconservation to be visually noticeable. In simulations wheremore physical accuracy is desired, we use a correct damp-ing model for moderate deformations and a more robust butnonphysical model for the few flat or inverted tetrahedra.

6.3. Plasticity

We represent plastic deformation with a multiplicative de-composition of the deformationF = FeFp, whereFp repre-sents the permanent plastic deformation andFe the elasticdeformation, see e.g. [BW97] or [AL03]. The multiplicativeformulation allows a complete separation between plasticflow and elastic forces, and makes constraints such as vol-ume preservation simple to enforce. In contrast, the additiveplasticity formulation of [OBH02] does not support true in-compressibility, though this might not be a significant prob-lem for graphics applications. Note that if the elastic consti-tutive model is isotropic, the rotational part ofFp is arbitrary,e.g. we can chooseFp to be symmetric.

We restrict ourselves to rate-independent plasticity mod-els, and use the return mapping algorithm to transfer defor-mation from the elastic partFe to the plastic partFp when-ever a yield criterion onFe is exceeded. The details of thecomputation of plastic flow are as follows. Compute the trialelastic deformationFe,trial = FF−1

p , and find the diagonal-

ization Fe,trial = UFe,trial VT . If a yield criterion onFe,trialis exceeded, project back onto the yield surface producinga new diagonal matrixFe,pro j. Compute the trial plastic de-formationFp,trial = F−1

e,pro jUTF (droppingV since rotations

c© The Eurographics Association 2004.

Page 7: Invertible Finite Elements For Robust Simulation of Large ... · Invertible Finite Elements For Robust Simulation ... Irving et al. / Invertible Finite Elements For Robust Simulation

Irving et al. / Invertible Finite Elements For Robust Simulation of Large Deformation

of Fp are unimportant). IfFp,trial exceeds a separate limitcriterion, project it back onto the limit surface producing thefinal Fp. Compute and storeF−1

p for future use.

This structure supports an arbitrary plastic yield criterionwhile still ensuring that the plastic deformation does not be-come too extreme. This is important, since the time step re-quired for stability depends on the conditioning ofFp. Inparticular,Fp should never invert. This can be implementedin the diagonal framework by ensuring that the projectionof Fe always results in anFe,pro j with positive entries. Thefinal limiting of Fp,trial can then be adjusted to ensure a well-conditionedFp. Figure 9 shows a simulation of ductile frac-ture using this technique. See [MBF04] for more details.

7. Controlling Plasticity

Various authors, such as [FM97, PSE∗00, TMPS03], haveconsidered controlling physics based simulations. The abil-ity to control a simulation alleviates the need for laboriousparameter tuning to achieve a desired effect, and makes pos-sible animations which could not be achieved through phys-ical accuracy alone. In the context of plasticity, we can usethe plastic limiting projection step to control the plastic de-formation toward any desired state without sacrificing real-ism. To do this, we compute a goal deformationFp,goal at thebeginning of the simulation. In the plastic projection step,we are given a tentative plastic flow from the old deforma-tion Fp to the trial deformationFp,trial . In order to alwaysmove towardsFp,goal, we choose the final plastic deforma-tion to be the point on the segment fromFp to Fp,trial whichis closest toFp,goal. This computation is actually performedon the logarithms of eachFp after removing the world ro-tation. Since the mapping from rest to goal state will rarelypreserve volume locally, volume preservation should not beused during the elastic projection step.

Allowing some flexibility in the plastic flow allows thedeformation to pick up additional fine detail not present inthe goal state. For example, Figure 7 shows a plastic spherepulled through interlocking gears. The sphere is controlledtowards the flattened disk shape. In particular, the goal statedoes not include the teeth marks present in the final stateof the sphere. A more obvious example of control is shownin Figure 7. Both of these examples used the simple yieldcriterion‖ logFe‖ ≤ γ.

8. Thin Shells and Cloth

The diagonalized framework is readily extended to handlethe in-plane behavior of thin shells and cloth (see Figure 5).Here,F is a 3×2 matrix decomposed asF = UFVT whereU is a 3×2 matrix with orthonormal columns,F is a 2×2diagonal matrix, andV is a 2×2 rotation matrix. Everythingelse follows in a straightforward manner.

Inversion does not occur for freely moving thin shells and

cloth, since an “inverted” triangle is indistinguishable froma triangle that has been rotated 180◦ out of plane. However,when triangles degenerate to lines or points special careisneeded. Moreover, when a shell approximates a two dimen-sional surface such as during surface mesh generation (seee.g. [MBTF03]), “inversion” can occur. That is, a trianglecan be tested for inversion by considering the sign of the dotproduct between its face normal and a known approximationto the surface normal at the center of the triangle. If this signis negative, the triangle can be considered inverted, and thesigns of the entries ofF can be corrected as before. Thus, thetriangle acts to uninvert by flipping the direction of its facenormal.

For bending forces, we use the formulation of [BMF03],which is similar to that of [GHDS03]. The bending modelis independent of the in-plane model, and in-plane plasticityis analogous to the three dimensional case. To allow plasticbending, we apply the plastic flow algorithm to the rest an-gles between each pair of adjacent triangles. An example ofa shell simulation showing both in-plane and bending plas-ticity is shown in Figure 8.

9. Time-Stepping and Collision Handling

We use the Newmark time-stepping scheme of [BMF03]with explicit integration for the elastic forces and implicitintegration for the damping forces. Treating only the damp-ing forces implicitly removes the strict quadratic time steprestriction required by fully explicit schemes without intro-ducing the extra artificial damping characteristic of fully im-plicit schemes. As most damping models are linear in thevelocities with a positive definite, symmetric Jacobian, theimplicit integration can be implemented using a fast conju-gate gradient solver.

We modify [BMF03]’s scheme slightly to improve thehandling of rigid body collisions. Specifically, we use thevelocity from the last implicit update as input to the rigidbody collision algorithm, and use constraints in the veloc-ity update to prevent motion in the direction normal to therigid body for points experiencing a collision. The resultingalgorithm to move from stepn to n+1 is as follows:

• vn+1/2 = vn + ∆t2 a(tn,xn, vn+1/2)

• xn+1 = xn +∆tvn+1/2

• Process rigid body collisions using ˜xn+1 andvn, pro-ducing final positionsxn+1 and modified velocitiesvn.

• vn+1 = vn+∆t(a(tn,xn, vn)+a(tn+1,xn+1,vn+1)

)/2

Note that the last line is exactly the trapezoidal rule appliedto the velocities. This algorithm supports a variable time stepwith second order accuracy and monotone behavior. Sincethe positions change only in lines 2 and 3 of the algorithm,we can computeF and its diagonalization only once per timestep after step 3. Plastic flow is also computed at this time.

c© The Eurographics Association 2004.

Page 8: Invertible Finite Elements For Robust Simulation of Large ... · Invertible Finite Elements For Robust Simulation ... Irving et al. / Invertible Finite Elements For Robust Simulation

Irving et al. / Invertible Finite Elements For Robust Simulation of Large Deformation

With this optimization, the cost of diagonalization becomesnegligiblecompared to the cost of the implicit velocity up-dates.

The rigid body collision processing is based on the algo-rithm of [BMF03]. We represent rigid bodies as implicit sur-faces, which simplifies collision detection. Each such nodeis projected to the surface of the object, and its normal ve-locity is set to that of the object if it is not already movingaway from it. We incorporate friction by changing the rela-tive tangential velocityvT,rel to

vnewT,rel = max

(0,1−µ

∆vN +∆xN/∆t|vT,rel |

)vT,rel

where∆xN and∆vN are the changes in position and normalvelocity from the projection step. The∆xN/∆t term ensuresthat the particle will experience the correct friction for thechange in position imparted by the object. This term was notconsidered in [BMF03].

Any node involved in a collision is flagged, and its nor-mal velocity is held fixed during the final trapezoidal rulestep. Enforcing normal velocities of colliding particles viaconstraints during the velocity update further increases thestability of the collision scheme, since it allows a nonlocalresponse to collision. This strategy is similar to that proposedin [BW98], who implemented rigid body collisions in theirfully implicit scheme via constraints in the conjugate gradi-ent solver.

Since projecting points to the surface of an object tends tocrush tetrahedra, the ability to handle flat or inverted tetra-hedra is essential to enable the use of reasonable time steps.Also, since the rigid body collision algorithm is applied tovertices only, not triangles, it is useful to apply the algorithmto the interior points as well as the surface points, to preventsmall rigid bodies from slipping between surface points intothe interior of the object. The importance of this increasesfor very soft objects, as very soft surface triangles can easilyexpand and pass around even moderately sized obstacles.

For self-collisions we extract the boundary surface andapply the cloth collision algorithm of [BFA02]. This algo-rithm is applied “outside” of the time-stepping algorithmoutlined above. Although a surface-only collision algorithmdoes not prevent the interior of the object from extendingoutside its boundary, our method has no difficulty with thisinversion and only the surface is needed for rendering.

10. Examples

We used the algorithm of [MBTF03] to generate the meshesused in this paper. Even without preconditioning in the CGsolver, computation times were generally under 20 minutesper frame for the largest meshes. Of course, coarser meshescan be simulated in just a few minutes a frame. For exam-ple, the torus simulation in Figure 2 ran at around 10 to20 seconds per frame with the 115K element mesh, and .5

to 1 second per frame with an 11K element mesh. All thesimulations involved large numbers of inverted elements: atypical frame from the Buddha simulation in Figure 6 hadabout 29K inverted tetrahedrons out of a total of 357K tetra-hedrons, or about 8% of the mesh.

The Buddha with cape example in Figure 5 was simulatedin two layers, with one-way coupling from the Buddha to thecloth using the collision processing algorithm from section9. We used the exact triangulated surface geometry of theBuddha in order for the cloth to resolve the many featuresof the Buddha mesh. To evaluate the Buddha as an implicitsurface at a cloth vertexv, we find the closest pointp to von the Buddha surface (which may lie on a vertex, edge, orface) and define the “normal” atv to be in the direction fromv to p or p to v, whichever points outwards.

11. Conclusions

We have presented a new method for modifying an elas-tic constitutive model to behave robustly for inverted ele-ments, which works by carefully diagonalizing the defor-mation mapping prior to computing forces. Examples werepresented to demonstrate that this algorithm works well forvolumetric and thin shell simulations involving degeneracy,complex geometries, anisotropic constitutive models, plas-ticity with and without control, ductile fracture, and couplingbetween different types of deformable objects.

12. Acknowledgement

Research supported in part by an ONR YIP award anda PECASE award (ONR N00014-01-1-0620), a PackardFoundation Fellowship, a Sloan Research Fellowship, ONRN00014-03-1-0071, ARO DAAD19-03-1-0331, NSF IIS-0326388, NSF ACI-0323866 and NSF ITR-0205671. In ad-dition, G. I. and J. T. were supported in part by NSF Gradu-ate Research Fellowships.

We would also like to thank Mike Houston for providingcomputing resources used for rendering.

References

[AL03] A RMERO F., LOVE E.: An arbitrarylagrangian-eulerian finite element methodfor finite strain plasticity.Int. J. Num. Meth.Eng. 57(2003), 471–508.

[BBTL03] BESSETTE G., BECKER E., TAYLOR L.,L ITTLEFIELD D.: Modeling of impactproblems using an h-adaptive, explicit la-grangian finite element method in three di-mensions. Comput. Meth. in Appl. Mech.and Eng. 192(2003), 1649–1679.

[BC00] BOURGUIGNON D., CANI M. P.: Control-ling anisotropy in mass-spring systems. In

c© The Eurographics Association 2004.

Page 9: Invertible Finite Elements For Robust Simulation of Large ... · Invertible Finite Elements For Robust Simulation ... Irving et al. / Invertible Finite Elements For Robust Simulation

Irving et al. / Invertible Finite Elements For Robust Simulation of Large Deformation

Eurographics(2000), Eurographics Assoc.,pp. 113–123.

[BFA02] BRIDSON R., FEDKIW R., ANDERSONJ.:Robust treatment of collisions, contact andfriction for cloth animation. ACM Trans.Graph. (SIGGRAPH Proc.) 21(2002), 594–603.

[BMF03] BRIDSON R., MARINO S., FEDKIW R.:Simulation of clothing with folds and wrin-kles. In Proc. of the 2003 ACM SIG-GRAPH/Eurographics Symp. on Comput.Anim.(2003), pp. 28–36.

[BW97] BONET J., WOOD R.: Nonlinear con-tinuum mechanics for finite element anal-ysis. Cambridge University Press, Cam-bridge, 1997.

[BW98] BARAFF D., WITKIN A.: Large steps incloth simulation. InProc. SIGGRAPH 98(1998), pp. 1–12.

[BWK03] BARAFF D., WITKIN A., KASS M.: Un-tangling cloth. ACM Trans. Graph. (SIG-GRAPH Proc.) 22(2003), 862–870.

[CGC∗02a] CAPELL S., GREEN S., CURLESS B.,DUCHAMP T., POPOVIC Z.: Interac-tive skeleton-driven dynamic deformations.ACM Trans. Graph. (SIGGRAPH Proc.) 21(2002), 586–593.

[CGC∗02b] CAPELL S., GREEN S., CURLESS B.,DUCHAMP T., POPOVIC Z.: A multires-olution framework for dynamic deforma-tions. InACM SIGGRAPH Symp. on Com-put. Anim.(2002), ACM Press, pp. 41–48.

[CK02] CHOI K.-J., KO H.-S.: Stable but respon-sive cloth.ACM Trans. Graph. (SIGGRAPHProc.) 21(2002), 604–611.

[CM97] COOPER L., MADDOCK S.: Preventingcollapse within mass-spring-damper modelsof deformable objects. InThe 5th Int. Conf.in Central Europe on Comput. Graphics andVis. (1997).

[CO97] CAMACHO G., ORTIZ M.: Adaptive La-grangian modelling of ballistic penetrationof metallic targets.Comput. Meth. in Appl.Mech. and Eng. 142(1997), 269–301.

[CZ92] CHEN D., ZELTZER D.: Pump it up:Computer animation of a biomechanicallybased model of muscle using the finite ele-ment method.Comput. Graph. (SIGGRAPHProc.) (1992), 89–98.

[DDCB01] DEBUNNE G., DESBRUN M., CANI M.,

BARR A.: Dynamic real-time deforma-tions using space & time adaptive sampling.In Proc. SIGGRAPH 2001(2001), vol. 20,pp. 31–36.

[EKS03] ETZMUSS O., KECKEISENM., STRASSER

W.: A fast finite element solution forcloth modelling. InPacific Graph.(2003),pp. 244–251.

[ERM∗03] ESCOBAR J., RODRÍGUEZ E., MON-TENEGROR., MONTERO G., GONZÁLEZ-YUSTE J.: Simultanous untangling andsmoothing of tetrahedral meshes.Comput.Meth. in Appl. Mech. and Eng. 192(2003),2775–2787.

[EZE98] ESPINOSAH., ZAVATTIERI P., EMORE G.:Adaptive FEM computation of geometricand material nonlinearities with applicationto brittle failure.Mech. Materials 29(1998),275–305.

[FM97] FOSTER N., METAXAS D.: Controllingfluid animation. InComputer Graphics In-ternational 1997(1997), pp. 178–188.

[GHDS03] GRINSPUN E., HIRANI A., DESBRUN M.,SCHRODER P.: Discrete shells. InProc.of the 2003 ACM SIGGRAPH/EurographicsSymp. on Comput. Anim.(2003), pp. 62–67.

[GKS02] GRINSPUN E., KRYSL P., SCHRODER P.:CHARMS: A simple framework for adap-tive simulation. ACM Trans. Graph. (SIG-GRAPH Proc.) 21(2002), 281–290.

[GMTT89] GOURRET J.-P., MAGNENAT-THALMANN

N., THALMANN D.: Simulation of objectand human skin deformations in a graspingtask. Comput. Graph. (SIGGRAPH Proc.)(1989), 21–30.

[HAC74] HIRT C., AMSDEN A., COOK J.: Anarbitrary Lagrangian-Eulerian computingmethod for all flow speeds.J. Comput. Phys.135(1974), 227–253.

[HFS∗01] HIROTA G., FISHER S., STATE A., LEE

C., FUCHS H.: An implicit finite elementmethod for elastic solids in contact. InCom-put. Anim.(2001).

[JF03] JAMES D., FATAHALIAN K.: Precomput-ing interactive dynamic deformable scenes.ACM Trans. Graph. (SIGGRAPH Proc.) 22(2003), 879–887.

[JP02] JAMES D., PAI D.: DyRT: Dynamicresponse textures for real time deforma-tion simulation with graphics hardware.

c© The Eurographics Association 2004.

Page 10: Invertible Finite Elements For Robust Simulation of Large ... · Invertible Finite Elements For Robust Simulation ... Irving et al. / Invertible Finite Elements For Robust Simulation

Irving et al. / Invertible Finite Elements For Robust Simulation of Large Deformation

ACM Trans. Graph. (SIGGRAPH Proc.) 21(2002), 582–585.

[MBF04] MOLINO N., BAO J., FEDKIW R.: Avirtual node algorithm for changing meshtopology during simulation. ACM Trans.Graph. (SIGGRAPH Proc.), (in press)(2004).

[MBTF03] MOLINO N., BRIDSON R., TERAN J.,FEDKIW R.: A crystalline, red green strat-egy for meshing highly deformable ob-jects with tetrahedra. In12th Int. MeshingRoundtable(2003), pp. 103–114.

[MDM ∗02] MULLER M., DORSEYJ., MCM ILLAN L.,JAGNOW R., CUTLER B.: Stable real-timedeformations. InACM SIGGRAPH Symp.on Comput. Anim.(2002), pp. 49–54.

[MG04] MULLER M., GROSS M.: Interactive vir-tual materials. InGraph. Interface(May2004).

[MMDJ01] MULLER M., MCM ILLAN L., DORSEYJ.,JAGNOW R.: Real-time simulation of de-formation and fracture of stiff materials. InComput. Anim. and Sim. ’01(2001), Proc.Eurographics Workshop, Eurographics As-soc., pp. 99–111.

[OBH02] O’BRIEN J., BARGTEIL A., HODGINS

J.: Graphical modeling of ductile fracture.ACM Trans. Graph. (SIGGRAPH Proc.) 21(2002), 291–294.

[OH99] O’BRIEN J., HODGINS J.: Graphicalmodeling and animation of brittle fracture.In Proc. SIGGRAPH 99(1999), vol. 18,pp. 137–146.

[Pal94] PALMERIO B.: An attraction-repulsionmesh adaption model for flow solution onunstructured grids.Comput. and Fluids 23,3 (1994), 487–506.

[PDA01] PICINBONO G., DELINGETTE H., AY-ACHE N.: Non-linear and anisotropic elasticsoft tissue models for medical simulation.In IEEE Int. Conf. Robot. and Automation(2001).

[PSE∗00] POPOVIC J., SEITZ S., ERDMANN M.,POPOVIC Z., WITKIN A.: Interactivemanipulation of rigid body simulations.ACM Trans. Graph. (SIGGRAPH Proc.) 19(2000).

[TBC03] TAYLOR G., BAILEY C., CROSS M.: Avertex-based finite volume method appliedto non-linear material problems in compu-

tational solid mechanics.Int. J. Num. Meth.Eng. 56(2003), 507–529.

[TF88a] TERZOPOULOSD., FLEISCHER K.: De-formable models.The Visual Computer, 4(1988), 306–331.

[TF88b] TERZOPOULOSD., FLEISCHER K.: Mod-eling inelastic deformation: viscoelasticity,plasticity, fracture. Comput. Graph. (SIG-GRAPH Proc.)(1988), 269–278.

[THMG04] TESCHNER M., HEIDELBERGER B.,MÜLLER M., GROSSM.: A versatile androbust model for geometrically complexdeformable solids. InProc. ComputerGraphics International(2004).

[TMPS03] TREUILLE A., MCNAMARA A., POPOVIC

Z., STAM J.: Keyframe control of smokesimulations. ACM Trans. Graph. (SIG-GRAPH Proc.) 22(2003), 716–723.

[TPBF87] TERZOPOULOSD., PLATT J., BARR A.,FLEISCHER K.: Elastically deformablemodels. Comput. Graph. (Proc. SIG-GRAPH 87) 21, 4 (1987), 205–214.

[TSBNF03] TERAN J., SALINAS -BLEMKER S., NG V.,FEDKIW R.: Finite volume methods forthe simulation of skeletal muscle. InProc.of the 2003 ACM SIGGRAPH/EurographicsSymp. on Comput. Anim.(2003), pp. 68–74.

[TSBNTH∗04] TERAN J., SALINAS -BLEMKER S., NG-THOW-HING V., LAU C., FEDKIW R.: Ro-bust simulation of muscle and connectivetissues in the upper limb (in review).IEEETrans. on Vis. and Comput. Graph.(2004).

[VGS04] VACHAL P., GARIMELLA R., SHASHKOV

M.: Untangling of 2D meshes in ALE sim-ulation. J. Comput. Phys. 196(2004), 627–644.

[YOH00] YNGVE G., O’BRIEN J., HODGINSJ.: An-imating explosions. InProc. SIGGRAPH2000(2000), vol. 19, pp. 29–36.

[ZCK98] ZHU Q., CHEN Y., KAUFMAN A.: Real-time biomechanically-based muscle volumedeformation using FEM.Comput. Graph.Forum 190, 3 (1998), 275–284.

c© The Eurographics Association 2004.

Page 11: Invertible Finite Elements For Robust Simulation of Large ... · Invertible Finite Elements For Robust Simulation ... Irving et al. / Invertible Finite Elements For Robust Simulation

Irving et al. / Invertible Finite Elements For Robust Simulation of Large Deformation

Figure 5: A deformable Buddha with a cape undergoinglarge deformation when hit by a ball (top). The same withthe Buddha removed to illustrate the deformation (bottom).(Cape - 84K triangles, Buddha - 357K tetrahedrons)

Figure 6: A volumetric Buddha model is pushed down witha cylinder and pulled between rigid interlocking gears, thenrecovers its shape elastically. (300K elements)

Figure 7: A plastic sphere controlled towards a flatteneddisk shape is pulled through rigid interlocking gears (up-per left, upper right, lower left). A more obvious example ofplasticity control (lower right).

Figure 8: Half of a torus (shell) simulated with in-plane andbending plasticity. (3.5K triangles).

Figure 9: A Buddha undergoing ductile fracture. (300K ele-ments)

c© The Eurographics Association 2004.