12
A Discrete Model for Inelastic Deformation of Thin Shells Yotam Gingold Adrian Secord Jefferson Y. Han Eitan Grinspun Denis Zorin * Media Research Lab, New York University August 21, 2004 Abstract We introduce a method for simulating the inelastic defor- mation of thin shells: we model plasticity and fracture of curved, deformable objects such as light bulbs, egg-shells and bowls. Our novel approach uses triangle meshes yet evolves fracture lines unrestricted to mesh edges. We present a novel measure of bending strain expressed in terms of surface invariants such as lengths and angles. We also demonstrate simple techniques to improve the robustness of standard timestepping as well as collision- response algorithms. Introduction Aluminum cans, dry autumn leaves, and straw hats are ev- eryday examples of thin shells: thin, curved, deformable objects. When strained, shells exhibit a broad range of inelastic deformations, i.e., permanent changes in shape such as the plastic deformation of a crushed soda can or the fracture of a crushed dry leaf. While the modeling of plasticity and fracture has long been a goal of the graphics community [TF88], recent successful efforts [OH99] have focused on solids, not thin shells. Our approach to modeling the inelastic deformation of thin shells follows recent advances in discrete formula- tions for mechanics [Gre73, MW01, GDHS03] and dif- ferential geometry [MDSB03, CSM03]: we represent the shell using an ordinary triangle mesh and formulate strain in terms of quantities which do not depend on a (global or local) coordinate frame, i.e., in terms of surface invari- ants such as edge length, triangle area, and interior- and dihedral-angles. Contributions. Our main contributions are unified by the concept of bending strain and the discretization of bending strain defined over faces of a triangle mesh. This * {gingold, ajsecord, jhan, eitan, dzorin}@mrl.nyu.edu strain measure is simple to compute, captures a contin- uous range of bending directions, and has a simple ex- pression in terms of face areas, edge lengths, and dihedral angles. Our bending strain is compatible with the usual membrane strain, which makes it possible to treat both in a uniform way. Our strain discretizations form the foundation for a dis- crete model for shell plasticity and fracture. To the best of our knowledge, this is the first fracture method for com- puter animation applications which is formulated for ob- jects represented by triangle meshes while not constrain- ing fractures to run along existing mesh edges. Furthermore, we present three algorithmic techniques that improve the robustness and quality of our simula- tions. First, we demonstrate that a simple algorithm to search for fracture events improves the robustness of our fracture code. Second, we introduce vertex budging, which improves mesh (and animation) quality by subtly reparameterizing the surface during fracture events. Fi- nally, we describe the modifications that make our col- lision response code robust in the presence of fracture events. We demonstrate the benefit of these three im- provements in several animations including a punctured sheet, breaking bowl, and shattered lightbulb. Context Our work applies techniques based on discrete differen- tial operators recently developed for geometric model- ing applications for physically based simulation. Most closely related is the recent work of [GDHS03] which uses a purely geometric approach to deriving a discrete model for elastic thin shells. We build on important re- cent developments in discrete geometry: a simple formu- lation for the discrete shape operator [CSM03], used e.g., in [ACSD * 03] for anisotropic remeshing and in [HP04] for anisotropic smoothing. These techniques make it possible to use conventional 1

A Discrete Model for Inelastic Deformation of Thin Shellsajsecord/fracture/fracture.pdf · 2006-02-09 · A Discrete Model for Inelastic Deformation of Thin Shells Yotam Gingold Adrian

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Discrete Model for Inelastic Deformation of Thin Shellsajsecord/fracture/fracture.pdf · 2006-02-09 · A Discrete Model for Inelastic Deformation of Thin Shells Yotam Gingold Adrian

A Discrete Model for Inelastic Deformation of Thin Shells

Yotam Gingold Adrian Secord Jefferson Y. Han Eitan GrinspunDenis Zorin∗

Media Research Lab, New York University

August 21, 2004

Abstract

We introduce a method for simulating the inelastic defor-mation of thin shells: we model plasticity and fracture ofcurved, deformable objects such as light bulbs, egg-shellsand bowls. Our novel approach uses triangle meshes yetevolves fracture lines unrestricted to mesh edges. Wepresent a novel measure of bending strain expressed interms of surface invariants such as lengths and angles.We also demonstrate simple techniques to improve therobustness of standard timestepping as well as collision-response algorithms.

Introduction

Aluminum cans, dry autumn leaves, and straw hats are ev-eryday examples ofthin shells: thin, curved, deformableobjects. When strained, shells exhibit a broad range ofinelastic deformations,i.e., permanent changes in shapesuch as the plastic deformation of a crushed soda can orthe fracture of a crushed dry leaf. While the modeling ofplasticity and fracture has long been a goal of the graphicscommunity [TF88], recent successful efforts [OH99] havefocused on solids, not thin shells.

Our approach to modeling the inelastic deformation ofthin shells follows recent advances in discrete formula-tions for mechanics [Gre73, MW01, GDHS03] and dif-ferential geometry [MDSB03, CSM03]: we represent theshell using an ordinary triangle mesh and formulate strainin terms of quantities which do not depend on a (globalor local) coordinate frame,i.e., in terms ofsurface invari-antssuch as edge length, triangle area, and interior- anddihedral-angles.

Contributions. Our main contributions are unified bythe concept ofbending strainand the discretization ofbending strain defined over faces of a triangle mesh. This

∗gingold, ajsecord, jhan, eitan, [email protected]

strain measure is simple to compute, captures a contin-uous range of bending directions, and has a simple ex-pression in terms of face areas, edge lengths, and dihedralangles. Our bending strain is compatible with the usualmembrane strain, which makes it possible to treat both ina uniform way.

Our strain discretizations form the foundation for a dis-crete model for shell plasticity and fracture. To the best ofour knowledge, this is the first fracture method for com-puter animation applications which is formulated for ob-jects represented by triangle meshes while not constrain-ing fractures to run along existing mesh edges.

Furthermore, we present three algorithmic techniquesthat improve the robustness and quality of our simula-tions. First, we demonstrate that a simple algorithmto search for fracture eventsimproves the robustness ofour fracture code. Second, we introducevertex budging,which improves mesh (and animation) quality by subtlyreparameterizing the surface during fracture events. Fi-nally, we describe the modifications that make ourcol-lision responsecode robust in the presence of fractureevents. We demonstrate the benefit of these three im-provements in several animations including a puncturedsheet, breaking bowl, and shattered lightbulb.

Context

Our work applies techniques based on discrete differen-tial operators recently developed for geometric model-ing applications for physically based simulation. Mostclosely related is the recent work of [GDHS03] whichuses a purely geometric approach to deriving a discretemodel for elastic thin shells. We build on important re-cent developments in discrete geometry: a simple formu-lation for the discrete shape operator [CSM03], usede.g.,in [ACSD∗03] for anisotropic remeshing and in [HP04]for anisotropic smoothing.

These techniques make it possible to use conventional

1

Page 2: A Discrete Model for Inelastic Deformation of Thin Shellsajsecord/fracture/fracture.pdf · 2006-02-09 · A Discrete Model for Inelastic Deformation of Thin Shells Yotam Gingold Adrian

Figure 1: We used our novel measure of discrete strain to model plasticity and fracture of thin shelled objects. Shownare frames from our simulation of the shattering of a lightbulb.

continuum mechanics models for qualitative simulationswithout incurring prohibitive computational penalties typ-ical, in particular, for finite element simulations of shellmodels, which remain an active research area in the engi-neering community (see [COS00] and references therein).

Related work on fracture. Several papers in the com-puter graphics literature have considered fracture. Thefracture of surfaces and solids was first demonstratedin [TF88] who used curvature-controlled splines and laterby [NTB∗91] who used mass-spring systems. While theseworks showed examples of thin plates, which areflat intheir undeformed state, none showed examples of thinshells. Furthermore, in both works the orientation of thefracture line was not determined; rather fracture was ef-fected by removing the connection between vertices. Con-sequently the resulting fracture lines exhibited aliasingasthey followed only existing mesh edges. In contrast, ourapproach determines the direction of the fracture line andinserts mesh edges as needed. Also related is the proce-dural approach of [NF99], who used a recursive patterngenerator to crack a plane into polygonal shards.

The engineering literature has a large body of work onfracture, however the bulk of this work deals with solidsrather than shells. In a concurrent development dealingwith shell fracture for engineering simulations, [COPar]use subdivision elements and cohesive edge elements tomodel fractures occurring along existing mesh edges.

Recently in graphics, Shen and Yang [SY98] used hex-ahedral volume meshes to simulate deformable objectswith fracture. O’Brien and Hodgins [OH99, OBH02] pro-duced appealing finite-element animations depicting brit-tle and ductile fracture of solid objects, addressing manyof the shortcomings of the earlier approaches, most no-tably the need to resolve the location and orientation of

fracture planes. While these approaches used volumet-ric meshes, we are motivated to use surface meshes forseveral reasons: first, the thin geometry of shells requiresvolume elements with very large aspect ratios commonlyleading to poor conditioning of the resulting numericalsystems [COS00]; second, implementation (e.g., chang-ing mesh connectivity during fracture) is easier for surfacemeshes; third, in graphics the vast majority of geometricmodels are represented as (or easily converted to) trianglemeshes.

Related work on plasticity. Some recent graphics workon 3D plastic deformation includes [OBH02] whichmodeled ductile fracture, [CLH96] which modeled soil,and [DC03] which modeled clay; for 2D deformation,[GDHS03] includes a simple model of plasticity by wayof updating the rest shape configuration.

Overview Our paper is structured as follows. First,we derive continuous membrane and bending strains forshells, and introduce their discrete analogues (Sec. ).These discrete measures serve as building blocks for dis-crete models of shell elasticity, plasticity and fracture(Sec. ). A robust implementation of our model requiresconsideration of timestep adjustment criteria and fracture-aware collision detection (Sec. ). We demonstrate our im-plementation on several examples (Sec. ).

Membrane and Bending Strains

The key result of this section is to characterize the localdeformation of a thin shell as the sum of membrane andbending strains (preview Figure 3). We derive simple dis-crete expressions for these strains, which serve as a foun-

2

Page 3: A Discrete Model for Inelastic Deformation of Thin Shellsajsecord/fracture/fracture.pdf · 2006-02-09 · A Discrete Model for Inelastic Deformation of Thin Shells Yotam Gingold Adrian

dation for our discretizations of elasticity, plasticity andthe fracture of shells.

Continuous membrane and bending strains.

A geometry of a shell with (local) thicknessh is typicallyrepresented by amiddle surfaceand its extrusion byh/2in both the positive and negative normal directions (seeFigure 2). We assume that thicknessh is much smallerthan the minimal radius of curvature of the middle surface.We consider shells inundeformedand deformedstates,using the convention that quantities accented with tilde(e.g., x vs. x) refer to the deformed state.

Assumptions. We make the common assumptions that(i) the normal lines to the middle surface in the unde-formed state are deformed into normal lines to the middlesurface in the deformed state (theKirchhoff-Loveassump-tion), and (ii) the distances along the normal lines are pre-served (thenormal inextensibilityassumption). Further-more, we assume that (iii) strains are small. Note thatsmall strains donot imply small deformations; for ex-ample, a felt hat can be bent drastically without severelystretching the material.

n

middle surfaceh/2

h/2

Figure 2: The shell is represented by itsmiddle surface.We usex andx to denote quantities related to the deformedand undeformed surface configurations, respectively.ndenotes the unit normal to the surface.

r0r1

r1

r2

Figure 3: We express the planar strain,E(z), at an offset,z, as the sum of a membrane and bending term.(left) Con-sider the tangent vector,r0, to a point on the undeformedmiddle-surface. (middle) First, we introduce a mem-brane strain,Em, resulting in a deformed tangent,r1 =(I + Em)r0. (right) Next, we bend the surface, compos-ing the transformation with bending strain and resultingin a deformed tangent,r2 = (I +Ec)r1 ≈ (I +Em+Ec)r0,where the approximate equality is valid for small strains.

Strain. Recall that for a mapψ mapping an undeformedconfiguration of an object to a deformed configuration,the strain measures the change in the squared distance be-tween close points in deformed and undeformed config-urations. A strain is a tensor, formally defined asE =(1/2)(∇ψT∇ψ− I); this map can be three-dimensional(“strain”) or two-dimensional (“planar strain”). Considerthe distance between any two close pointsx andx + dx:strain measures the change in squared distance caused bythe deformation,i.e., dxTEdx is (ψ(x + dx)−ψ(x))2 −dx2. For thin shells it is assumed that normal straincan be neglected—the components of strain are purelytangential—thus the planar strain completely describesthe deformation at any point of the shell. Strain is a purelygeometric concept, unrelated to any assumptions aboutthe physics of the materials. However many physical lawsdescribing elasticity, plasticity and fracture are expressedin terms of strains.

Expressions for planar strain. Let f(x) be the middlesurface parameterized by the tangent plane coordinatesx.Locally we can regard a shell as the image of a 3D para-metric domainΩ = ω× [−h/2,h/2], whereω is a domainin the tangent plane of the middle surface. The mapsdefining the undeformed and deformed shell are respec-tively given by

Φ : Ω → R3 : Φ(x,z) = f(x)+ zn(x) ,

Φ : Ω → R3 : Φ(x,z) = f(x)+z˜n(x) .

Because of the inextensibility assumption, the corre-spondence between material points is given by a mapA : Ω → Ω given byA(x,z) = (x(x),z) wherex(x) is themap between tangent planes induced by the correspon-dence of middle-surface material points. Then the defor-mation of the shell can be decomposed asΦ AΦ−1.The transformation between differential volumes is givenby the differential of this map at(x = 0,z). The differ-ential can be computed as a product of three linear 3Doperators:∇(x,z)Φ∇A(x,z)(∇(x,z)Φ)−1, where∇(x,z) is thegradient with respect to three variables(x1,x2,z). By def-inition, A has block diagonal form, with a 2x2 block cor-responding to planar variables, and 1 corresponding to thenormal coordinatez. The 2x2 block for planar variablesis S= ∇xx, i.e., the gradient of the deformation of themiddle surface.

Using the definition of the second fundamental formexpressed in tangent plane coordinatesΛi j = (τi ·∂x j n)(0),whereτi , i = 1,2 are coordinate vectors, we can easilycompute

(∇x,zΦ)(0) =

(I +zΛ 0

0 1

).

3

Page 4: A Discrete Model for Inelastic Deformation of Thin Shellsajsecord/fracture/fracture.pdf · 2006-02-09 · A Discrete Model for Inelastic Deformation of Thin Shells Yotam Gingold Adrian

We note that the second fundamental form in tangentplane coordinates represents the shape operator,i.e., theoperatorΛ such that for any tangent vectorτ Λτ is thederivative of the unit normal in the direction ofτ. Weobserve that it has block diagonal form with a 2x2 blockfor planar variables, just asA. This shows that the de-formation maps the plane parallel to the tangent plane ofthe middle surface to itself, and is identity in the normaldirection. The planar transformation is computed as theproduct of three planar map gradients and is

F(z) = (I +zΛ)S(I +zΛ)−1 . (1)

This expression allows us to compute the planar strainat any point along the normal to the middle surface as fol-lows. Expanding the last term inF(z) up to first order inzκ (recall that the eigenvalues ofΛ are curvatures in thechosen tangent plane basis), and dropping terms propor-tional toz2, we obtain

F(z) ≈ (I +zΛ)S(I −zΛ) ≈ S+z(ΛS−SΛ) .

We are interested in planar strainE = (1/2)(FTF − I),which can be approximated by(1/2)(F + FT)− I . Us-ing I + Em ≈ (1/2)(S+ ST), and dropping second-orderterms which are products of membrane strains and termsof orderκh we obtain the following expression forE:

E(z) = Em+z∆Λ = Em+zEc .

The planar strain is the sum of the middle surfacemem-branestrain and abendingterm proportional to the differ-ence of second fundamental forms expressed in tangentplane coordinates (see Figure 3). We call the second termthebending strain, and its subscript refers to curvature.

Discretization of Strains

As we will see in the next section, the continuum mod-els for elasticity, plasticity and fracture can be expressedin terms of membrane and elastic strains defined above.Thus, we can obtain discretizations of these models auto-matically if we have discretizations for these strains.

In our discretization both strains are assumed to bepiecewise constant over triangles of a mesh approximat-ing the shell surface. For the membrane strain, we rewritea well-known discretization in terms of only mesh invari-ants. For the bending strain, we introduce a novel dis-cretization with a number of features essential for model-ing stiff shells. Both expressions for strain are designedto be closely compatible thus leading to a straightforwardimplementation.

t1

t2

t3

l1l2

l3p2

p3

p1

Figure 4: Vectors and points used in the membrane andbending strain calculations. The area of the triangle isA = (1/2)|n|.

Membrane strain. Computation of the planar strain onthe triangle is well-known and standard both in engineer-ing and graphics literature. As the map from the unde-formed to the deformed triangle is affine, the strain isdirectly determined by the matrix of the gradient of thismap: Em = 1/2(STS− I). However, it is convenient toexpress it in the form in which the dependence on thechanges of edge length is explicit. For this purpose weintroduce vectorst i in the triangle plane, which are per-pendicular to the undeformed edges of the triangle, andhave the same length as corresponding edges. The vectorspointing counterclockwise along the edges are denotedvi ,|vi | = l i , i = 1,2,3 (Figure 4).

We observe that by definition of strain, the edge lengthssatisfy

(l i2− l2

i ) = vTi Emvi (2)

where it does not matter in which coordinate frame thetensors and the vectors are expressed. We adopt the nota-

tion si = l i2− l2

i , and(· ⊗ ·) for the outer product of twovectors. It turns out to be convenient to use the tensorbasist i ⊗ t j , where(i, j,k) is a circular permutation of(1,2,3). A straightforward calculation taking advantageof orthogonality ofv j andt j yields the following expres-sion for the membrane strain:

Em=1

8A2 ∑i

si (t j ⊗ tk + tk⊗ t j) .

All factors exceptsi depend only on the undeformed state,hence initially we precompute the outer products and ar-eas, and at every timestep we reevaluate onlysi , thedeformation-induced change in squared edge-lengths.

4

Page 5: A Discrete Model for Inelastic Deformation of Thin Shellsajsecord/fracture/fracture.pdf · 2006-02-09 · A Discrete Model for Inelastic Deformation of Thin Shells Yotam Gingold Adrian

Bending strain. To compute the bending strain we needto choose a shape operator discretization. There are manypossible ways to define curvature on a polygonal mesh,all of which, under certain assumptions, would convergeto continuous curvatures.

One common approach is to consider curvature con-centrated at edges, with principal curvatures 0 andϕ(θ),whereθ is the angle between the normals of the two trian-gles joined at the edge andϕ(·) is a suitably chosen func-tion, monotonic inθ. The principal curvature directioncorresponding to zero curvature is assumed to be alignedwith the edge.

The shape operator corresponding to this case is eas-ily computed, as it has a single nonzero eigenvalueϕ(θ),and, therefore, can be expressed asϕ(θ)(t ⊗ t)/l i wheret is the unit vector perpendicular to the average normalof the adjacent triangles and the edge, andl is the edgelength. However, this approach suffers from an importantproblem: the operator does not converge pointwise to theshape operator of the smooth surface as the triangulationis refined. Indeed, the principal curvature directions forthis operator do not depend on the principal curvature di-rections of the sampled smooth surface.

It was proved, however, that the average of this operatorover a sufficiently large area converges to the integral ofshape operator as the triangulation is refined [CSM03]. Inparticular, averaging over vertex neighborhoods was usedin [ACSD∗03, HP04]. We consider an even simpler ap-proach, which matches well our chosen discretization ofstrain, that is, the averages on triangles. Following theideas in [HP04], we define the triangle shape operatorsusing projections of the edges to the plane perpendicularto the normal. In the case of triangle the normal is welldefined, and the resulting expression is remarkably sim-ple:

Ec = Λ−Λ = ∑i

(∆ϕi)

2Alit i ⊗ t i .

where∆ϕi = ϕ(θi)−ϕ(θi). Here the factor 1/2 accountsfor the fact that each edge is shared by two triangles, andthe factor 1/A takes into account the area over which theoperator is averaged. Once more, all factors exceptϕi de-pend only on the undeformed state. Hence after precom-puting those factors, at every timestep we reevaluate onlyϕi . Contrast this with vertex-based shape operators, whichyield a substantially more complex expressions. At thesame time, the triangle-centric approach has the neededflexibility: it reproduces all curvature directions (see Fig-ure 5), just as the vertex-centric approach.

Figure 5: The novel bending strain captures a contin-uous range of bending directions. Shown are framesfrom the accompanying video: bending direction changessmoothly as dihedral angles are varied.

The remaining question is the choice ofϕ(θ), restrictedby the following considerations: forθ close to zero thefunction should behave asθ to obtain convergence to cur-vature for finer discretizations, and should monotonicallyincrease withθ. [CSM03] uses simplyθ, whereas [HP04]uses 2sin(θ/2). We found the choice 2tan(θ/2) mostsuitable as for largeθ it results in arbitrarily high bend-ing strain. Our choice is motivated by the observation thatduring crumpling deformations of real shells almost all ofthe internal energy is distributed in the neighborhood ofridge and cone formations [Woo02]: using 2tan(θ/2) (asopposed to 2sin(θ/2) or θ) the fraction of total energyaway from ridge-like edges vanishes with increasing edgesharpness.

Physical Models and Their Dis-cretizations

In this section we consider continuum models for elastic-ity, plasticity and fracture; all these models are definedand discretized using membrane and bending strains dis-cussed in the previous section.

Elasticity

Conceptually, it is convenient to describe internal elas-tic shell behavior using elastic energy. As the geomet-ric deformation of the shell at a given point is completelydescribed by the pair of strainsEm andEc, any such en-ergy is a function of the invariants of these tensors. Ourdiscretization is based on the idea of representing thesetensors using invariant quantities (edge lengths and dihe-dral angles). This ensures that invariant expressions forany energy expressed in terms of membrane and bendingstrains can be obtained by simple substitution of the dis-crete expressions for strains.

We use energies that can be separated into two parts,one depending only on the membrane strain and the other

5

Page 6: A Discrete Model for Inelastic Deformation of Thin Shellsajsecord/fracture/fracture.pdf · 2006-02-09 · A Discrete Model for Inelastic Deformation of Thin Shells Yotam Gingold Adrian

only on the bending strain. The membrane surface energydensity is well-known and standard:

Wmembrane= hY

2(1−ν2)

((1−ν)Tr(E2)+ν(TrE)2)

The coefficientsY andν are the Young modulus and thePoisson ratio for the material. We consider two exam-ples of bending energy. [GDHS03] uses energy densityC∆H2 where∆H2 is the change in the mean curvature.The use of that energy is based on purely geometric con-siderations. (In the case of a flat undeformed configura-tion it corresponds to the Willmore energy.) We observethat change of the mean curvature is simply the trace ofour bending strain∆H = TrEc, as for our choice of co-ordinates the shape operatorsΛi have curvatures as eigen-values. Thus the “Discrete Shells” bending energy densityis simply

WDSbending= C(TrEc)

2

A more complex model derived from physics considera-tions is Koiter’s shell model [Koi66]. It is obtained byusing the zero normal stress assumption to convert 3Dstrains and stresses to two dimensions and a linear elas-ticity constitutive law to derive the equation for energy.Using our bending strain, this model yields an expressionfor bending energy density which is remarkably similar tothe membrane energy density:

WKoiterbending=

Yh3

24(1−ν2)

((1−ν)Tr(E2

c )+ν(TrEc)2)

While this elastic energy is not the focus of our workhere, we have provided it for completeness, and a de-tailed derivation will follow in a technical report. The totalelastic energy in both cases isWmembrane+Wbending. Thecomplete equations of motion for the discretized shell areobtained by differentiating the discrete elastic energy ex-pressions with respect to vertex positions to obtain forcesand adding external and damping forces.

Observe that the elastic energy density we get usingour strain discretizations is just a quadratic function ofchanges of squared lengths,si , and functions of dihedralangles,∆ϕ(θ)i . Thus the complexity of this energy isclose to that of ad hoc edge-length and angle-based en-ergies used in cloth simulation.

Temporal discretization using the Newmark scheme.We integrate the system forward in time using the New-mark scheme [WKMO00]:

xi+1 = xi +∆ti xi +∆t2i

((1/2−β)xi +βxi+1

),

xi+1 = xi +∆ti((1− γ)xi + γxi+1

),

where∆ti is the duration of theith timestep, andxi andxi

are the state velocity and acceleration at the beginning oftheith timestep, respectively. The adjustable parametersβandγ are linked to the accuracy and stability of the timescheme. Newmark is either an explicit (β = 0) or implicit(β > 0) integrator: we used the standardβ = 1/4 for fi-nal production, andβ = 0 to aid in debugging. Newmarkgives control over numerical damping via its second pa-rameterγ, which is discussed in Westet al. [WKMO00].

Plasticity

Plasticity model for solids. Our plasticity formulationfor shells is based on the same 3D plasticity model as usedin [OBH02].

We start with briefly explaining the plasticity modelfor solids; more details can be found in many mechanicstexts. We found the general description in [HR99] use-ful for derivation of the shell plasticity model. Typically,plasticity models are defined in terms of stress and strain;by assuming a linear elastic law, we describe plasticity interms of strain only.

The plasticity model that we use relies on the follow-ing basic assumptions; these are easiest to understand inthe one-dimensional case, where the strainε is a scalar.The state of a plastic object is characterized byplasticstrain, p, which is the strain that remains in the absenceof external (including body) forces. The simplest plasticbehavior is ideal plasticity: when the total strain,ε, ex-ceeds a thresholdε0, all further increase in the total strainis converted to plastic strain. This model is not very re-alistic: most materials have some form ofhardening, i.e.,the plastic threshold depends on the accumulated plasticstrain p. A simple model for this effect is to assume thatplastic regime starts when theelastic strainεe = ε − preachesε0 + γp, i.e., the threshold grows linearly with theplastic strain. This model for hardening is calledlinearkinematic hardening. The equation for the change in plas-tic strain is immediately obtained fromε− p = ε0 + γp:∆p = ∆ε/(1+ γ). The analogues of this formula is usu-ally referred to asplastic update.

The plastic update formula immediately shows howplasticity can be implemented computationally. First,compute the increment in total strain keeping plasticityfixed; then update plastic strain using the plastic updateformula.

In 3D strain is no longer a scalar; we use a more gen-eral yield functionϕ(εe,p) defined for tensor strains todetermine the transition to the plastic regime and com-puting the plastic update (the one-dimensional analogueis ε− γp− ε0). Derivation of such functions is based on

6

Page 7: A Discrete Model for Inelastic Deformation of Thin Shellsajsecord/fracture/fracture.pdf · 2006-02-09 · A Discrete Model for Inelastic Deformation of Thin Shells Yotam Gingold Adrian

physical observations; in particular, it was observed thatplastic deformation is primarily created by anisotropicstrain; for this reason, in the plasticity model that we usethe yield function depends only on the traceless part of thestrain,i.e., εD

e = εe−13Trε. Thevon Mises yield function

for ideal plasticity is simply the Frobenius norm ofεDe ,

i.e.,√

∑i j (εDi j )

2 minus a plastic threshold. If hardening

is present, then, similar to the one-dimensional case, onlya part of anisotropic stress is used in the yield function:ϕ(εe,p) = ‖εD

e − γp‖−ε0. The constantγ in this formula-tion is related to the standard kinematic hardening coeffi-cienthkin asγ = hkin/2µ whereµ is the Lamé constant forthe material.

Once the yield function becomes positive, we needto define how the plastic strain is increased to return itback to zero. Unlike the one-dimensional case, the linearelasticity law and the conditionϕ(εe,p) = 0 are insuffi-cient to determine the plastic update uniquely. Additionalphysical considerations (the principle of maximum plasticwork) result in the update formula of the form

∆p = λ(εDe − γp),

whereλ = ϕ(εe+∆ε))/(1+ γ).

Shell plasticity. Just as it is the case for elasticity mod-els, the plasticity model for shells can be derived from themodel for solids. An additional assumption that we makeis that for a given point on the middle surface all mate-rial points along the normal are simultaneously in plasticor elastic mode, with the yield function value obtained byaveraging the values along the normal.

We also use the planar stress assumption to convert 3Dstrains and stresses to 2D. Once these assumptions aremade can obtain explicit formulas for plastic update byroutine calculations.

All 2D strain quantities at a point of the shell are char-acterized using a pair of 2D tensors(Am,Ac), such that thestrain at distancez from the middle surface has the formAm+zAc; indexm refers to the middle surface quantity,crefers to the term associated with surface curvature, as itwas done for the elastic strain. In particular, we use the to-tal strainE = (Em,Ec), plastic strainP = (Pm,Pc), elasticstrainEe = E−P. For convenience we define a constantc = (1/6)(1+ ν)/(1− ν). The expression for the yieldfunction and plastic updates are best expressed using anauxiliary strainA:

Ai = cTrEi I +Ei − (1+ γ)P, i = m,c.

Using this strain, we can express the yield functionΦas follows:

Φ(E,P) = F(E,P)− ε0 ,

F(E,P) =h2

(TrA2

m+(TrAm)2)+h3

24

(TrA2

c +(TrAc)2) .

We have introduced the functionF(E,P), which in the3d yield function corresponds to the norm of the trace-less stress‖εD

e − γp‖. The update formulas for 2D straincomponents are

∆Pi =Φ(E,P)

1+ γF(E,F)Ai . (3)

Discretization. The only additional variable needed todescribe plastic materials with linear kinematic hardeningis plastic strain. In our discretization, we represented itexactly in the same way elastic strain is represented,i.e.,using per-triangle variables. For the membrane compo-nent, we store a triple of squared edge length changes, andfor the bending component, a triple of angle changes. Theplastic update is performed explicitly at each time step:we apply the continuous formulas for the yield functionand plastic update directly to the discrete strains.

Fracture

We model the fracture of a shell when in a small region themagnitude ofprincipal strainexceeds a material-specifictensile or compressive threshold. Here principal strainrefers to an eigenvalue of the strain tensor,E(z); the as-sociated eigenvector gives theprincipal strain direction.The material fractures along thefracture lineperpendicu-lar to the principal strain direction. O’Brien [OH99] de-scribed a similar model of fracture (with a different dis-cretization), and explained that while the resulting behav-ior is not truly physical, as the important plastic regionnear the tip of a crack is not correctly modeled, it is ade-quate for animating fracture of solid objects.

One can observe1 that theprincipal strains, i.e., theeigenvalues|λ1(z)|> |λ2(z)| of E(z), take extremal valuesfor z= ±h/2. In our model, the material instantaneouslyfails at every point where|λ1(+h/2)| > λf (respectively|λ1(−h/2)| > λf). Note that it would be very easy to as-sign different thresholds to tensile (λ1(+h/2) > λf+ > 0)or compressive (λ1(+h/2) < λf− < 0) strains.

1The principal strainλi can be expanded in the formλmi + z(λc

1(1+cos2β) + λc

1(1− cos2β))/2 up to second order inz, whereλmi are the

eigenvalues ofEm, λci are the eigenvalues ofEc, andβ is the angle be-

tween the dominant eigenvectors ofEm andEc.

7

Page 8: A Discrete Model for Inelastic Deformation of Thin Shellsajsecord/fracture/fracture.pdf · 2006-02-09 · A Discrete Model for Inelastic Deformation of Thin Shells Yotam Gingold Adrian

Discretization of fracture. We simulate fracture eventsper face: for every face, we compute eigenvalues ofE(h/2) andE(−h/2), and if any exceedλf then then theface is deemed fractured and is split as shown in Figure 6.Note that in general a face fractures due to a combinationof membrane and bending strains. Note that unlike earlierapproaches, we allow simultaneous failures at differentpoints in the surface,i.e., we do not impose an arbitrarytemporal ordering on fracture events. This improvementis possible due to fracture-aware timestepping code. Aswe will see in Section , a key consequence is that, unlikein earlier work on simulating fracture, we do not need tomodel the propagation of excess fracture energy to nearbyregions of material.

We have also experimented with plastic behavior nearthe crack tip and have found this to be a good way to dis-sipate excess energy during fracture (in Section we treatplasticity). Immediately after a face is split into two, wecan absorb some percentage of the elastic strain into thelocal plastic state. As expected, fractures propagate fur-ther if less strain is absorbed plastically. While this tech-nique is effective and provides a simple and elegant alter-native to damping, the question of modeling behavior atthe crack tip remains open.

e

v0

v1

Figure 6: (left) We discretize fracture events by examin-ing each mesh face in isolation, splitting those faces withexcessive strain along the unique fracture linee that isperpendicular to the direction of greatest strain and in-cident on a face vertex.(right) Splitting alonge intro-ducesv0 and v1. If the introduced vertices are interior(away from surface boundary), then the adjacent face isalso split. This secondary split does not introduce newvertices nor further splits.

Vertex budging improves mesh quality. The potentialto capture a continuous range of fracture orientations is amixed blessing. It allows for smooth, “antialiased,” frac-ture boundaries, but it may demand that we create arbitrar-ily thin “sliver” triangles. When a fracture line is nearlythe same as an existing mesh edge, we locally reparam-eterize the surface by sliding the existing edge onto thedesired fracture line; we call this operation avertex budge

v

ee'

v' v0v1

Figure 7: Arbitrarily-oriented fractures can potentiallycreate arbitrarily-thin faces. To prevent this, we locallyreparameterize of the surface viavertex budging. (left)If a proposed face split will introduce a vertexv′ near anexisting vertexv (for clarity we have exaggerated the dis-tance between the two), we instead plastically deformv tothe position ofv′, thus aligning an existing mesh edgeewith the desired fracture linee′. Note that budging doesnot alter strains.(right) We can effect fracture by splittingalonge.

because it amounts to repositioning a vertex in paramet-ric space (see Figure 7). We regard vertex budge as achange in discretization of a smooth surface we approxi-mate. This implies that vertex budging should not modifythe strains on the mesh, even in the vicinity of the budge.To implement a vertex budge, we measure the change instrain, over each face, cause by the repositioning, and weabsorb the change plastically (Section ).

The combination of arbitrary fracture orientations andvertex budging allows our final animations to have smoothfracture boundaries, where they should, and more gener-ally to appear as if the coarse-mesh simulations were car-ried out on a fine mesh (see Figure 8). Surprisingly, wefound that budging produced better results than increasingmesh resolution, thus promising to be a great source forreducing computational cost. We feel that budging shouldbe further explored in other physical-simulation settings.

Implementation

Several considerations lead to a more robust implementa-tion:

Simulation Loop

Our simulation loop moves the simulation forward in timewhile ensuring that important events are not missed. Themost important events to resolve are fractures and suddenlarge forces. For a particular step forward in time, wecheck a list of criteria and if any criteria are not satisfied

8

Page 9: A Discrete Model for Inelastic Deformation of Thin Shellsajsecord/fracture/fracture.pdf · 2006-02-09 · A Discrete Model for Inelastic Deformation of Thin Shells Yotam Gingold Adrian

Figure 8: Budging drastically improves the quality of fracture edges; compare identical simulations(left) withoutbudging and(middle)with budging. Furthermore, budging produced better torn fringes than running the simulationwith (right) four times as many faces. The action of budging can be seen on the detailed mesh(far right).

then we reduce the time step and try again. This dynamicsearch is controlled by the currentsearch level k, whichdictates an effective time step of 2−k∆t. The search levelis controlled by theSimulationLoop algorithm:

SimulationLoop1 k := 02 While t < tend

3 t′ := t +2−k∆t // proposed (level-k) timestep

4 compute proposed state att′ // Sec.

5 if k > kmax or all criteria satisfied// Sec.

6 t := t′ // successful timestep

7 accept proposed state8 update plastic state// Section

9 fracture over-strained faces// Section

10 k := max(k−1,0) // pop search level

11 else12 discard proposed state13 k := k+1 // push search level

All simulations for this paper were run using a maximumsearch levelkmax of ten, representing a search resolutionof roughly 1/1000th of the current time step.

Timestep Adjustment Criteria

Limiting force rate. We limit the rate of change offorces on the object over a time step so that objects canrespond naturally to large forces. For example, if we dropan egg onto a floor it will fall freely until entering thefloor’s proximity region. If the time steps are large thenat timet + ∆t some area of the egg will have penetrateddeeply into the floor’s proximity region and received acorresponding large force. This large force is an artifact ofthe time step and the resulting behavior will disagree with

the real behavior. The most obvious result of overly-largeforces is an over-abundance of fracturing.

We compute the magnitude of the maximum force ofthe proposed state,Ft+∆t , and compare it to the same quan-tity of the current state. All simulations in this paper limitthe relative valuer = (Ft+∆t −Ft)/Ft to 1.1, or a %10 in-crease over the current state. In this way we limit dras-tic changes to the state of the simulation and allow reac-tions to proceed naturally. Note that since we dynamicallychange the search levelk the time step is automatically re-duced for temporary events such as a floor bounce. Thesearch level decreases and the effective time step returnsto its previous size after the magnitudes of the forces havediminished.

Resolving fracture events. In addition to large forces,we also resolve fracture events. In essence, oversteppinga fracture event is an attempt to integrate over a sharpdiscontinuity. Such an attempt leads to over-strained ele-ments which experience large forces, and consequent un-desirable artifacts, in particular extraneous fractures (seeFigure 9). Rather than overstepping and then using aheuristic model for propagating excess strain, we discardthe proposed state. Fracturing at the correct time allowsnearby faces to relax with respect to the new boundary.

Fracture-aware collision detection and re-sponse

Responding to collisions is a key ingredient for realisticsimulation. The case of surfaces is more difficult because,unlike solids, surfaces do not have an inside/outside orien-tation; Bridsonet al. [BFA02] and Baraffet al. [BWK03]recently presented robust approaches to deal with colli-sions in the surface setting. To deal with the lack of ori-entation, we never accept a state in which there are inter-sections, and we use the popular penalty force approach to

9

Page 10: A Discrete Model for Inelastic Deformation of Thin Shellsajsecord/fracture/fracture.pdf · 2006-02-09 · A Discrete Model for Inelastic Deformation of Thin Shells Yotam Gingold Adrian

Figure 9: Searching in time for important simulationevents can eliminate undesirable artifacts. We demon-strate this with a simulation of a dropped egg shell hit by avery small force.(left) Searching in time creates only theexpected fractures;(right) in contrast, disabling the searchroutine leads to large numbers of unexpected fractures andbrittle behavior.

Figure 10: To accommodate fracture, the repulsion fieldis inset along mesh boundaries. The shaded region rep-resents the repulsion field of a piece of mesh(left) beforeinsetting and(right) afterward: dashed lines indicate theinset boundary; note that the repulsion field now lies en-tirely within the area of the mesh.

prevent intersections [MW88]. Our contribution is a treat-ment of fracture events which (a) alter mesh connectivity,and (b) introduce abutting disconnected geometry.

Detection. For collision detection, we rely on a hierar-chy of axis-aligned bounding boxes to cull the numberof pairwise triangle-intersection tests. The hierarchy isinitially constructed top-down. At every timestep the ex-tents of the bounding boxes are update bottom-up. Thehierarchy structure isincrementallyupdated after frac-ture events, since theylocally modify mesh connectivity.Furthermore, every constant (e.g., 60) number of frames,the hierarchy structure is rebuilt from scratch to ensuretemporal-spatial coherence. More sophisticated cullingmight be achieved by adapting curvature-based culling toour setting [VCM95].

Response. Our approach to collision response builds onthe popular penalty force approach. We surround the tri-angle mesh by a repulsive force field of thicknessh/2.We consider all vertex-face and edge-edge interactions be-tween the triangles, applying equal and opposite repulsiveforces to interacting pairs. When fractures are created,disconnected components are instantaneously coincident:if not dealt with, the standard collision response wouldinappropriately generate repulsive forces. Indeed, whenthe material fractures, the collision code should not pre-vent the abutting pieces from remaining where they are,but it should prevent them from penetrating deeply. Tothat end, weinset the repulsion field around boundaryedges (see Figure 10). The inset field allows the recently-disconnected abutting geometry to not interact unless itbegins to penetrate. The drawback to the penalty-forceapproach is that inset edges may penetrate by a small dis-tance (O(h)); we have not found this to be a problem. Analternative approach might be to use analytic constraints.

Results

We simulated the shattering of a glass lightbulb when hitby a fast-moving projectile (see Figure 1). Observe thehigh variance in the size of the shards, a typical charac-teristic of glass materials. Note that during rendering weadded a slight thickness to the material. The simulationtook approximately 70min on a 2.4GHz P4 Xeon, includ-ing collision detection.

We simulated the puncturing of sheets with varyingfracture thresholds (Figure 11), and with varying plasticparameters. As a comparison, we also simulated a sheetwithout the budging operation (Figure 8). Observe thatthat we have intentionally omitted extraneous dampingfrom our simulation. These runs required between 8minto 30min of computation time depending on processor, thenumber of faces created during fracture, and the complex-ity of collisions.

Although plasticity is vital for simulating a wide rangeof fracturing materials, it also stands on its own, as wedemonstrate with a simulation of a dropped, then dented,tube (see Figure 12). In the accompanying animation, ob-serve that as the tube squishes, some of the deformationis stored as elastic energy resulting in a bounce, while therest becomes plastic work resulting in a dent. The entirecomputation took 11min on a P4 1.7GHz processor. Theaccompanying video also contains animations of a projec-tile shattering a diving board and a bowl; again plastic andfracture coefficients are varied to demonstrate a range ofmaterials.

10

Page 11: A Discrete Model for Inelastic Deformation of Thin Shellsajsecord/fracture/fracture.pdf · 2006-02-09 · A Discrete Model for Inelastic Deformation of Thin Shells Yotam Gingold Adrian

Figure 11: We simulate the puncture of an elastic sheet by a fast projectile. By varying the fracture threshold,λf , weobtain different behaviors. From left to right,λf = 0.02,0.001,0.0001.

Figure 12: We model plasticity with kinematic hardening,which gives us a range of inelastic materials. We simu-late an elastoplastic tube as it falls, dents, and bounces offboxes.

Conclusion. We derived a novel formulation for thestrain of a thin shell in terms of membrane and bend-ing components, and we presented a simple and elegantdiscretization of the strain expressed in terms of the sur-face invariants of a triangle mesh. This per-triangle strainmeasure serves as a unifying foundation for our models offracture and plasticity. Our current shell model does notcapture change in thickness due to deformation. Model-ing the thinning of an object due to elastoplastic stretch-ing or bending may help to capture the effects of an objectweakening due to strain, and we plan to extend our modelin this direction.

References

[ACSD∗03] ALLIEZ P., COHEN-STEINER D., DEVILLERS

O., LÉVY B., DESBRUN M.: Anisotropic polyg-onal remeshing.ACM Transactions on Graphics22, 3 (July 2003), 485–493.

[BFA02] BRIDSON R., FEDKIW R. P., ANDERSONJ.: Ro-bust treatment of collisions, contact, and frictionfor cloth animation.ACM Transactions on Graph-ics 21, 3 (July 2002), 594–603.

[BWK03] BARAFF D., WITKIN A., KASS M.: Untanglingcloth. ACM Transactions on Graphics 22, 3 (July2003), 862–870.

[CLH96] CHANCLOU B., LUCIANI A., HABIBI A.: Physi-cal models of loose soils dynamically marked by amoving object. InComputer Animation ’96(June1996), pp. 27–35.

[COPar] CIRAK F., ORTIZ M., PANDOLFI A.: A cohesiveapproach to thin-shell fracture and fragmentation.Computer Methods in Applied Mechanics and En-gineering(to appear).

[COS00] CIRAK F., ORTIZ M., SCHRÖDER P.: Subdi-vision surfaces: A new paradigm for thin-shellfinite-element analysis.Internat. J. Numer. Meth-ods Engrg. 47, 12 (2000), 2039–2072.

[CSM03] COHEN-STEINER D., MORVAN J.-M.: Re-stricted delaunay triangulations and normal cycle.In Proc. 19th Annu. ACM Sympos. Comput. Geom.(2003), pp. 237–246.

[DC03] DEWAELE G., CANI M.-P.: Interactive globaland local deformations for virtual clay. InPacificGraphics(2003). Canmore, Canada.

[GDHS03] GRINSPUN E., DESBRUN M., HIRANI A.,SCHRÖDER P.: Discrete shells. InProceedingsof ACM SIGGRAPH / Eurographics Symposiumon Computer Animation(2003), Breen D., Lin M.,(Eds.).

[Gre73] GREENSPAN D.: Discrete Models. Addison-Wesley, 1973.

[HP04] HILDEBRANDT K., POLTHIER K.: Anisotropicfiltering of non-linear surface features. InProceed-ings of MINGLE Workshop(2004).

11

Page 12: A Discrete Model for Inelastic Deformation of Thin Shellsajsecord/fracture/fracture.pdf · 2006-02-09 · A Discrete Model for Inelastic Deformation of Thin Shells Yotam Gingold Adrian

[HR99] HAN W., REDDY B. D.: Plasticity, vol. 9 ofInterdisciplinary Applied Mathematics. Springer-Verlag, New York, 1999. Mathematical theory andnumerical analysis.

[Koi66] K OITER W. T.: On the nonlinear theory of thinelastic shells. I, II, III. Nederl. Akad. Wetensch.Proc. Ser. B 69(1966), 1–17, 18–32, 33–54.

[MDSB03] MEYER M., DESBRUNM., SCHRÖDERP., BARR

A. H.: Discrete differential-geometry operatorsfor triangulated 2-manifolds. InVisualization andMathematics III, Hege H.-C., Polthier K., (Eds.).Springer-Verlag, Heidelberg, 2003, pp. 35–57.

[MW88] M OORE M., WILHELMS J.: Collision detectionand response for computer animation. InCom-puter Graphics (Proceedings of SIGGRAPH 88)(Aug. 1988), vol. 22, pp. 289–298.

[MW01] M ARSDEN J. E., WEST M.: Discrete mechanicsand variational integrators.Acta Numerica(2001),357–514.

[NF99] NEFF M., FIUME E. L.: A visual model forblast waves and fracture. InGraphics Interface’99 (June 1999), pp. 193–202.

[NTB∗91] NORTON A., TURK G., BACON B., GERTH J.,SWEENEY P.: Animation of fracture by physicalmodeling. The Visual Computer, 7 (1991), 210–219.

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

J. K.: Graphical modeling and animation of duc-tile fracture. InAMC Transactions on Graphics(2002), ACM Press, pp. 291–294.

[OH99] O’BRIEN J. F., HODGINS J. K.: Graphical mod-eling and animation of brittle fracture. InProceed-ings of SIGGRAPH 99(Aug. 1999), ComputerGraphics Proceedings, Annual Conference Series,pp. 137–146.

[SY98] SHEN J., YANG Y.-H.: Deformable objectmodeling using the time-dependent finite elementmethod.Graphical Models and Image Processing60, 6 (Nov. 1998), 461–487.

[TF88] TERZOPOULOSD., FLEISCHER K.: Modelinginelastic deformation: Viscoelasticity, plasticity,fracture. InComputer Graphics (Proceedings ofSIGGRAPH 88)(Aug. 1988), vol. 22, pp. 269–278.

[VCM95] VOLINO P., COURCHESNE M., MAGNENAT

THALMANN N.: Versatile and efficient techniquesfor simulating cloth and other deformable objects.In Proceedings of SIGGRAPH 95(1995), ACMPress, pp. 137–144.

[WKMO00] WEST M., KANE C., MARSDEN J. E., ORTIZ

M.: Variational integrators, the newmark scheme,and dissipative systems. InInternational Con-ference on Differential Equations 1999(Berlin,2000), World Scientific, pp. 1009 – 1011.

[Woo02] WOOD J.: Witten’s lectures on crumpling.Phys-ica A: Statistical Mechanics and its Applications313, 1–2 (October 2002), 83–109.

12