real-time simulation of ductile fracture with oriented

10
Real-Time Simulation of Ductile Fracture with Oriented Particles Min Gyu Choi Kwangwoon University [email protected] Abstract This paper proposes a practical approach for real-time simulation of large deformation and ductile fracture. We adopt the oriented particles approach for robust and efficient simulation of large deformation and develop a practical model for plastic flow and fracture. The proposed method finds the optimal rotation and the optimal stretch in shape matching. The newly introduced optimal stretch leads to a material strain that can be employed in the plastic flow and fracture criteria. We also propose a GPU skinning method for real-time rendering of a deformed, fractured visual mesh. Experimental results show that the proposed method can robustly simulate large, elastoplastic deformation and ductile fracture of large visual meshes in real time. Keywords: deformation, plasticity, ductile fracture, shape matching, oriented particles 1 Introduction Physics-based simulation is one of the most im- portant techniques in film and game production. In this paper, we focus on physics-based de- formation and ductile fracture. These phenom- ena have been extensively studied in compu- tational mechanics, material science and com- puter graphics. However, it is still a challenging problem to robustly produce visually convinc- ing, stable deformation and fracture in real time. Most real-time fracture applications utilize pre-fractured chunks of rigid bodies that shat- ter when applied with impacts larger than a pre- defined threshold [1]. Thus, they do not reveal elastic deformation. On the other hand, finite element methods based on continuum mechan- ics can simulate accurate deformation and frac- ture [2–6]. However, in real-time applications, robustness and speed are often more essential than accuracy. On that account, we focus on the shape matching techniques [7–9] that can pro- duce visually convincing deformation in a ro- bust and efficient way. In particular, the oriented particles approach [8] can create various types of deformable objects with a small number of simulation particles. Based on the oriented particles approach [8], we develop a practical model for plastic defor- mation and fracture that accommodates material failure at excessively stretched or compressed material points. We extend the shape match- ing to find not only the optimal rotation but also the optimal stretch between the rest and de- formed particles. The newly introduced opti- mal stretch is employed to transfer elastic de- formation into plastic deformation with a multi- plicative decomposition of deformation [3, 10]. The remaining elastic deformation is supplied to the local fracture scheme formulated with the maximum strain criterion and fracture tough- ness [11]. In addition, we propose a GPU skin- ning method for real-time rendering of a de- formed, fractured visual mesh composed of pre- fractured fragments corresponding to the ori- ented particles. This simple and robust method can produce large elastoplastic deformation and fracture of large visual meshes in real time.

Upload: others

Post on 19-May-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Real-Time Simulation of Ductile Fracture with Oriented

Real-Time Simulation of Ductile Fracture withOriented Particles

Min Gyu ChoiKwangwoon University

[email protected]

AbstractThis paper proposes a practical approach forreal-time simulation of large deformation andductile fracture. We adopt the oriented particlesapproach for robust and efficient simulationof large deformation and develop a practicalmodel for plastic flow and fracture. Theproposed method finds the optimal rotationand the optimal stretch in shape matching.The newly introduced optimal stretch leadsto a material strain that can be employedin the plastic flow and fracture criteria. Wealso propose a GPU skinning method forreal-time rendering of a deformed, fracturedvisual mesh. Experimental results show thatthe proposed method can robustly simulatelarge, elastoplastic deformation and ductilefracture of large visual meshes in real time.

Keywords: deformation, plasticity, ductilefracture, shape matching, oriented particles

1 Introduction

Physics-based simulation is one of the most im-portant techniques in film and game production.In this paper, we focus on physics-based de-formation and ductile fracture. These phenom-ena have been extensively studied in compu-tational mechanics, material science and com-puter graphics. However, it is still a challengingproblem to robustly produce visually convinc-ing, stable deformation and fracture in real time.

Most real-time fracture applications utilizepre-fractured chunks of rigid bodies that shat-

ter when applied with impacts larger than a pre-defined threshold [1]. Thus, they do not revealelastic deformation. On the other hand, finiteelement methods based on continuum mechan-ics can simulate accurate deformation and frac-ture [2–6]. However, in real-time applications,robustness and speed are often more essentialthan accuracy. On that account, we focus on theshape matching techniques [7–9] that can pro-duce visually convincing deformation in a ro-bust and efficient way. In particular, the orientedparticles approach [8] can create various typesof deformable objects with a small number ofsimulation particles.

Based on the oriented particles approach [8],we develop a practical model for plastic defor-mation and fracture that accommodates materialfailure at excessively stretched or compressedmaterial points. We extend the shape match-ing to find not only the optimal rotation butalso the optimal stretch between the rest and de-formed particles. The newly introduced opti-mal stretch is employed to transfer elastic de-formation into plastic deformation with a multi-plicative decomposition of deformation [3, 10].The remaining elastic deformation is suppliedto the local fracture scheme formulated with themaximum strain criterion and fracture tough-ness [11]. In addition, we propose a GPU skin-ning method for real-time rendering of a de-formed, fractured visual mesh composed of pre-fractured fragments corresponding to the ori-ented particles. This simple and robust methodcan produce large elastoplastic deformation andfracture of large visual meshes in real time.

Page 2: Real-Time Simulation of Ductile Fracture with Oriented

2 Related Work

Physics-based simulation of deformation andfracture has a long history in computer graph-ics since the pioneering work of Terzopoulos etal. [12]. A comprehensive survey in this fieldcan be found in [13]. One of the most popularapproaches to simulating deformable solids is toemploy a finite element method with linear tetra-hedral elements. To reduce the linearization ar-tifacts in large deformation, corotational formu-lations have been successfully employed [14].Even flat or inverted elements can be simulatedrobustly if rectified as suggested in [3].

Excessive deformation leads to fracture in-volved in crack initiation and propagation.O’Brien and Hodgins [6] introduced a finite el-ement method to simulate brittle fracture. Thiswork was further extended to ductile fracture byincorporating plasticity [5]. Molino et al. [4]proposed a virtual node algorithm that removesill-conditioned slivers in remeshing. Pauly etal. [15] developed a meshless method for frac-turing ductile materials. Basically, these ap-proaches are not intended for real-time ap-plications due to the computational burden inremeshing and time stepping. Nevertheless,Parker and O’Brien [16] successfully applied acorotational finite element method to real-timefracture in computer games by employing rel-atively coarse tetrahedral meshes together withsplinters for geometric details of elements.

Deformable materials can be pre-fracturedand subsequently broken apart based on a va-riety of rules. This approach is handy and fastand thus popular in computer games and featurefilms [1]. In particular, Voronoi diagrams arewidely used to generate fracture patterns at run-time. Su et al. [17] employed a fracture patternaligned with an impact location at runtime. Baoet al. [2] proposed a fracturing method for rigidmaterials based on a quasi-static stress analy-sis and a Voronoi-like fracture pattern. Zhengand James [18] also employed a similar frame-work, but the fracture pattern was incrementallyconstructed to maintain a bounded fracture en-ergy. However, Voronoi-like fracturing instanta-neously gives rise to shattered fragments with-out dynamic deformation and crack propaga-tion. Unlike our method, these approaches aredesigned for rigid or brittle materials.

Meshless deformation based on shape match-ing is fast and robust enough for real-time ap-plications [7], but shape matching with a sin-gle transformation is restricted to modest defor-mation. Its extension to lattice shape match-ing can generate large deformation in a morevisually convincing way [9]. In this extension,fracture is addressed by simply cutting exces-sively stretched edges. This work is furtherextended to adaptive shape matching with oc-tree sampling and interactive cut with topolog-ical changes [19]. Plastic deformation is alsosupported with plasticity transformation matri-ces introduced in [7]. Combined with position-based dynamics [20], shape matching with ori-ented particles [8] enables complex dynamic de-formation to be simulated in an efficient and ro-bust way, even with a small number of particles.Our method is based on these shape matchingapproaches. However, none of them addressesductile fracture.

Least-squares estimation of optimal rotationfrom two particle sets is at the heart of theshape matching approach. In contrast to oth-ers, Umeyama’s formulation [21] deals with anadditional scalar parameter for uniform scalingunder the optimal rotation. We extend this for-mulation to compute not only the optimal rota-tion but also the optimal stretch. The optimalstretch is represented as a symmetric matrix soas to estimate anisotropic stretching that leadsto a material strain for plastic deformation andfracture. To our knowledge, the optimal stretchmatrix has been formulated for the first time inthis paper.

3 Ductile Fracture with OP

Our method is based on shape matching withoriented particles. We briefly review shapematching with a single rigid transformation [7]and its extension with oriented particles [8]. Dif-ferently from the previous methods, we intro-duce an additional optimal stretch with respectto an optimal rotation in the shape matching pro-cedure. The optimal stretch is employed in theplastic flow and fracture criteria. In addition, weenforce angular momentum conservation at eachshape matching group to rectify ghost forces thatcan be exaggerated with a large time step.

Page 3: Real-Time Simulation of Ductile Fracture with Oriented

3.1 Shape Matching Foundation

Optimal rotation. Given n vertices of a sur-face mesh with mass mi, there exists a rotationthat optimally matches the rest position xi withthe current position xi in a least-squares sense.This can be formulated as seeking the optimalrotation R that minimizes

∑mi‖Rqi − pi‖2,

where pi = (xi − c) and qi = (xi − c) are therelative positions of the particles with respect tothe centers of mass c and c at the current and reststates, respectively. R can be obtained with po-lar decomposition of the covariance matrix [21]:

Apq =∑

mipiqTi = RSpq. (1)

The shape matching procedure given in [7] em-ploys R to compute the goal position of everyparticle, gi = Rqi + c, and then moves the cur-rent position xi toward the goal position gi bythe amount proportional to the material stiffness.

Optimal stretch. Plastic deformation andfracture require a stretch measure that can leadto a strain; We find the optimal stretch S thatminimizes ∑

mi‖RSqi − pi‖2 (2)

with the optimal rotation R given in Equa-tion (1) and the symmetric constraint S = ST

that guarantees S to be a stretch matrix. It can beobtained by minimizing an unconstrained ver-sion,

f =∑

mi‖RSqi − pi‖2 + tr(l× (S− ST)),

where l is a vector of Lagrange multipliers. Thesecond term of f represents the condition for Sto be symmetric. Differentiating f with respectto S gives the following equation (i.e., ∂f∂S = 0):∑

mi

(2Sqiq

Ti − 2RTpiq

Ti

)− 2l× = 0, (3)

where we exploited ∂∂S

(pTi Sqi

)= piq

Ti and

∂∂S

(qTi S

TSqi)

= 2SqiqTi . Here, l× denotes a

skew symmetric matrix of l such that (l×)a =l × a for an arbitrary vector a. Substituting thecovariance matrices Apq given in Equation (1)and Aqq =

∑miqiq

Ti into Equation (3) gives

SAqq −RTApq = l× . (4)

By transposing both sides of Equation (4), weobtain the following equation:

ATqqS

T −ATpqR = −l× . (5)

Adding each side of Equations (4) and (5) can-cels out the Lagrange multipliers and results inan equation,

SAqq −RTApq + ATqqS

T −ATpqR = 0. (6)

Substituting S = ST and RTApq = ATpqR =

Spq given in Equation (1) into Equation (6)yields the Lyapunov equation of the form:

ATqqS + SAqq = 2Spq, (7)

of which solution [22] can be written asS = 2

∫∞0

(e−tA

Tqq)Spq(e−tAqq

)dt. Here,

the shape matching matrix Aqq is symmet-ric; thus it can be decomposed into Aqq =Vqqdiag(λqq1 , λ

qq2 , λ

qq3 )VT

qq. Then, its expo-nential can be simply obtained by e−tAqq =Vqqdiag(e−tλ

qq1 , e−tλ

qq2 , e−tλ

qq3 )VT

qq. Finally, aclosed-form solution of the optimal stretch is ob-tained as follows:

S = Vqq

[(VTqqSpqVqq

)◦ Λqq

]VTqq, (8)

where Λqqij = 2/(λqqi + λqqj ) and the binary op-

erator ◦ represents the Hadamard product thatproduces the element-wise multiplication of itsoperand matrices.

Discussion. The derivation of the optimalstretch seems to be rather complicated, but itscomputation (8) is simple and efficient; Only asingle matrix diagonalization of Aqq is requiredbecause Spq is already available in Equation (1).We also note that the optimal stretch matrix hasbeen formulated for the first time in this paper.In [21], only a single scalar parameter is consid-ered for isotropic stretching, whereas the opti-mal stretch matrix introduced in this paper copeswith anisotropic stretching and thus it can besuccessfully employed for plastic deformationand ductile fracture.

The linear transformation A = ApqA−1qq min-

imizes∑mi‖Aqi−pi‖2 [7]. Instead of the op-

timal stretch introduced in this paper, one mayemploy polar decomposition of the optimal lin-ear transformation: A = RlSl. However, this

Page 4: Real-Time Simulation of Ductile Fracture with Oriented

is equivalent to seeking a pair of R and S inEquation (2) without fixing R with the optimalone given in Equation (1). Thus, Rl differs fromthe optimal rotation R, which is indeed requiredin the shape matching deformation. This canalso be verified using polar decomposition; A =ApqA

−1qq = (RSpq)A

−1qq = RRdSl = RlSl,

where SpqA−1qq = RdSl. Thus, Rl differs from

R unless Rd = I. Rd = I iff. the principal axesof Spq and Aqq are the same (i.e., stretching oc-curs along the principal axes of the rest shape).

The inset illustrates an example of the optimalstretch. The blue quad is purely stretched withSl from the black quad. The axes inside a quaddepict stretching directions and magnitudes.

R

RSA=Sl

IShape matching with arigid transformation callsfor the red quad trans-formed with the optimal ro-tation R. Then, the opti-mal stretch S measures howmuch stretching is required to match the red tothe blue. In contrast, one might employ the polardecomposition A = RlSl. Unfortunately, thismakes the blue quad be pulled toward the black(not the red) because Rl = I in this example.

3.2 Shape Matching with OP

Shape matching with a single rigid transfor-mation is restricted to modest deformation [7].However, its extended version, shape match-ing with oriented particles allows an efficientand robust way of simulating visually convinc-ing deformation in a position-based dynamicsframework [8]; A surface/volume mesh is ap-proximated with ellipsoidal particles, and shapematching is applied to each shape matchinggroup consisting of a particle and its one-ringneighbor particles. Positions and orientations ofthe particles are used for linear blend skinning ofthe surface vertices. We adopt this approach forreal-time simulation of large elastoplastic defor-mation and ductile fracture; thus, we briefly re-formulate it in this section and then introduceadditional velocity correction for angular mo-mentum conservation in the next section.

Suppose that ellipsoidal particles of a shapematching group are transformed from the restposition xj and rotation Rj to the current po-sition xj and rotation Rj (See Figure 1(a) and

(a) Rest (b) Deformed (c) Fractured (d) Remeshed

Figure 1: Deformation and fracture with OP.

(b)) 1. Then, the shape matching matrices Apq

and Aqq for the shape matching groupN can becomputed as follows:

Apq =∑j∈N

(RjAjR

Tj +mjxjx

Tj

)−MccT,

Aqq =∑j∈N

(RjAjR

Tj +mixjx

Tj

)−M ccT,

where Aj = 15mjdiag(a2j , b

2j , c

2j ) is the moment

matrix of an ellipsoid with mass mj and princi-pal radii aj , bj and cj , M is the total mass ofthe shape matching group, and c and c are thecurrent and rest centers of mass, respectively.

Position-based dynamics for oriented parti-cles evolves the states of the particles in threesteps. (1) Prediction: The linear velocity vand the angular velocity w of a particle are up-dated with the external force and torque, andthen its predicted position xp and orientation qpare computed using an explicit Euler integrationscheme,

xp ← x + hv and qp ← exp(hw/2)q,

where h is the size of the simulation time step.(2) Correction: The predicted positions and ori-entations are modified to satisfy a set of con-straints such as shape matching and collision.(3) Velocity update: The linear and angular ve-locities of a particle are updated backward fromits position and orientation,

v← (xp−x)/h and w← 2 log(qpq−1)/h.

For more details, refer to [8]. In the correctionstep, shape matching constraints are enforced byGauss-Seidel iterations where the position andorientation of a particle participating in a shapematching group is modified without consideringits participations in other groups.

1Rj = [raj |rbj |rcj ] when raj , rbj , rcj are unit axes of an ellipsoid.

Page 5: Real-Time Simulation of Ductile Fracture with Oriented

3.3 Momentum Conservation

The linear momentum of the oriented particlesis conserved perfectly before and after shapematching, regardless of the time step size. How-ever, the angular momentum was not conservedperfectly in its basic form. We observed that,without angular momentum conservation, de-formable bodies fallen down onto the floor wereslowly but constantly rotating. This problemcould be suppressed to some degree by set-ting the cutoff velocity that freezes the angu-lar motions. However, it was not easy to deter-mine how large cutoff value should be set. Theamount of difference in angular momentum isproportional to the time step size. We prefer alarge time step for real-time applications and sodevise an additional mechanism for perfect con-servation of angular momentum.

The angular momentum L of a shape match-ing group N can be computed by

L =∑j∈N

(Hjwj +mjrj × vj

),

where Hj = Rj

[tr(Aj)I−Aj

]RTj is the inertia

tensor of an ellipsoid with a moment matrix Aj

and rj = (xj−c) is the moment arm of the ellip-soid from the center of mass of N . Let L− andL+ be the angular momentums before and aftershape matching, respectively. Then, we need tocompensate for the difference of the angular mo-mentum, ∆L = (L−−L+). We instantaneouslyinterpret the shape matching groupN as a com-posite rigid body with a composite inertia tensorH =

∑j∈N (Hj −mjrj × rj×). Here, the par-

allel axis theorem is used to shift the moment ofinertia of an ellipsoid. Then, ∆L can be com-pensated for by an instantaneous change of thecomposite angular velocity, ∆w = H−1∆L.This compensation is accomplished by velocitycorrection of the ellipsoids participating in theshape matching group N :

∀j ∈ N(∆vj = ∆w × rj and ∆wj = ∆w

).

This velocity correction is computed for eachshape matching group at the time of shapematching but applied after the velocity updatestep because velocities of the oriented particlesare recomputed backward from their positionsand orientations in position-based dynamics. In-stantaneous interpretation of a shape matching

group as rigid is similar to the rigid impact zonein [23].

3.4 Plastic Deformation

The stretch matrix given in Equation (8) is sym-metric, and thus it can be further decomposedinto S = VΛVT, where Λ = diag(λ1, λ2, λ3)with eigenvalues λi and V = [e1|e2|e3] withorthonormal eigenvectors ei. The stretch ma-trix has diverse relationships with the strain:εc = V(Λ − I)VT, εg = 1

2V(Λ2− I)VT, εl =V log(Λ)VT, where εc, εg, and εl denote theCauchy, Green, and logarithmic strain tensors,respectively. We chose the logarithmic strain forconvenience of strain decomposition as in [3].

We represent plastic deformation with a mul-tiplicative decomposition of deformation asin [3]. At each shape matching group, the to-tal deformation is written as F = FEFP , whereFP is a matrix representing the plastic defor-mation stored at the shape matching group andinitialized with the identity matrix. The elas-tic deformation is computed by FE = RS =R(VΛVT). Then, the plasticity model [10]equipped with creep and work hardening can beapplied as follows:

FP ←V(Λ · |Λ|−

13)γ

VTFP ,

where γ = min(ν(‖εl‖−εY )‖εl‖ , 1

)determines how

much of the symmetric part of the elastic de-formation is transferred to the plastic deforma-tion in terms of the plastic flow rate ν when-ever a plastic yield criterion exceeds the plas-tic yield threshold εY . We adopt the plasticyield criterion on the logarithmic strain ‖εl‖ =‖ log(FE)‖2 = maxi(| log(λi)|). The plasticyield εY is increased by κ‖εl‖∆t after the plas-tic update, where κ controls the amount of workhardening and ∆t is the time step.

Once a portion of the elastic deformation isabsorbed by the plastic deformation, the remain-ing deformation becomes the elastic deforma-tion:

FE = RS← RV(Λ1−γ |Λ|

γ3)VT. (9)

The stretch matrix S is used to determine mate-rial failure in Section 3.5. The plastic deforma-tion FP is incorporated into the computation of

Page 6: Real-Time Simulation of Ductile Fracture with Oriented

the shape matching matrices and the goal posi-tions by replacing the definition qi = (xi − c)with qi = FP(xi − c), as in [7]. The shapematching matrices for plastic deformation areobtained as follows:

Apq = ApqFTP and Aqq = FPAqqF

TP .

The goal positions are computed by gi =RFP(xi − c) + c. Figure 4 shows examplesof three rest shapes after plastic deformation.

3.5 Ductile Fracture

A material fails when applied with an excessivestretch or compression. We are interested inthe material failure leading to ductile fracture.The key difference between brittle and ductilefracture can be attributed to the amount of plas-tic deformation that the material undergoes be-fore fracture [5]. Ductile materials experiencelarge amounts of plastic deformation while brit-tle materials experience little or no plastic de-formation. We already paved a way to incor-porating plastic deformation into the simulationframework. Thus, ductile fracture can be im-plemented just by employing a fracture criterionnot on the total deformation but on the elasticdeformation, given in Equation (9).

In the graphics literature, the maximum stresscriterion has been widely adopted for fracture,which assumes that a material fails when themaximum principal stress is larger than the uni-axial tensile strength of the material [2, 4, 14].To employ this criterion, a stress tensor must beobtained from a strain tensor using a constitu-tive relation. However, it is cumbersome to in-troduce additional material constants for a stresstensor. Thus, we employ another phenomeno-logical failure criterion, the maximum principalstrain criterion [11], which directly deals withprincipal strains.

Suppose that we are examining a shapematching group N consisting of an ellipsoid Eand its one-ring neighbors. Fracture is initiatedwith a local fracture plane when the magnitudeof the principal elastic strain of the shape match-ing group N exceeds a user-specified fracturetoughness τ . Assume that we are employingthe logarithmic strain tensor and | log(λi)| > τ .Then, we set the fracture plane to be perpendic-ular to the eigenvector ei corresponding to the

principal elastic stretch λi and pass through thecenter of mass of the shape matching group N .If the plane intersects with an edge between theellipsoid E and one of its neighbors, then we cutoff the edge (See Figure 1(c)). A shape matchinggroup involved with fracture calls for recompu-tation of its shape matching matrix Aqq. In ad-dition, fracture entails remeshing of the visualmesh (See Figure 1(d)). Remeshing will be de-scribed in Section 4.

4 Visualization of Fracture

Up to now, we have considered only a simula-tion mesh that consists of a set of oriented parti-cles and a set of edges among the particles. Thissection addresses how to maintain a deformed,fractured visual mesh for rendering along with asimulation mesh. A visual mesh of a deformablebody is paired with a simulation mesh of n par-ticles in such a way that, when shattered com-pletely, it is partitioned into n fragments, each ofwhich solely depends on a unique particle (SeeFigures 1 and 2). We use a fragment mesh torepresent the geometry of a fragment. Then, thevisual mesh becomes, in its basic form, a com-posite mesh of the fragment meshes. Fragmentmeshes must be watertight at each interface un-til fractured. Thus, an interface surface betweena pair of fragments corresponds to an edge inthe simulation mesh, of which both ends are theparticles associated with the fragments.

Visualization of fracture is formulated asmaintaining the topology of a visual mesh inaccordance with a simulation mesh, while de-forming vertices of the visual mesh. We employlinear blend skinning for vertex deformation asin [8]. Each vertex depends on the nearest ori-ented particle and its one-ring neighbors. Re-garding fracture, we propose two methods thatmaintain a watertight, visual mesh from givenfragment meshes. One is designed for offlineapplications where the initial, compact visualmesh is progressively deformed and split at theinterfaces, while fractured at runtime. The otheris for real-time applications where GPU skin-ning makes a pair of polygonal fragment sur-faces watertight until fractured. For fragmentmesh generation of a deformable body, a set ofpre-fracturing techniques can be employed, such

Page 7: Real-Time Simulation of Ductile Fracture with Oriented

v1

v2

v3

v2

v3

v11 v1

2

v22v2

1 v32

v4 v42

v41

v4

p1 p2

p3

p1 p2 p1 p2

p3 v31p3

v11 v1

2

(a) (b) (c)

Figure 2: Fracture and fragments.

as Voronoi cell decomposition [1], approximateconvex decomposition [24], and volumetric celldecomposition with fracture patterns [25].

4.1 Runtime Splitting of a Visual Mesh

A polygonal surface representing a fragment in-terface is invisible and useless until fracture oc-curs between the fragments. We maintain a wa-tertight, compact visual mesh where duplicateor invisible faces do not exist at the intact inter-faces. At first, an initial watertight visual meshis built up by composing all the faces of the frag-ment meshes except those at the fragment in-terfaces. Whenever an interface between a pairof fragments is fractured (i.e., the edge betweenthe corresponding particles is disconnected), allthe faces of the interface become visible andsplit for each fragment. The vertices of the in-terface require special care to make the topol-ogy of the visual mesh synchronized with thesimulation mesh, which is in contrast to rigidfracturing where all the vertices of the interfaceare split unconditionally [18, 25]. Each vertexis checked to see if it can be split or not (SeeFigure 2). A vertex should be split when thefragments sharing the vertex is not connectedthrough them (e.g., v11 and v21 in Figure 2(b)).Otherwise, it cannot be split (e.g., p1, p2, p3sharing v2 are connected; thus, it cannot be splitin Figure 2(b)). As edges are disconnected, theconnected graph becomes separated into manyconnected components. A connected compo-nent with a single particle corresponds to a frag-ment (See Figure 2(c)).

4.2 GPU Skinning with Fragment Meshes

It is no surprise that, for large visual meshes, up-dating and transferring the vertex positions andthe connectivities into the GPU side results ina performance bottleneck rather than simulatingductile fracture in the CPU side. For interac-tive applications, we propose a GPU skinning

method that supports runtime fracture as wellas deformation. At the beginning, all the frag-ment meshes of the particles are transferred intothe GPU side. At runtime, each pair of polyg-onal surfaces representing a fragment interfaceis kept watertight until the corresponding edgeis disconnected in the simulation mesh. Option-ally, a geometry shader can be employed to skiprasterization of an invisible interface surface notfractured yet.

Pre-fracturing makes a vertex of an interfaceinstanced at multiple fragments. To render asmooth surface as well as a sharp interface, eachinstance of the vertex is assigned with a nor-mal for each adjacent face. Then, multiple in-stances of the vertex need to have the same po-sition with consistent normals until the interfaceis fractured (e.g., the vertex v11 of the particle p1and v21 of p2 are instanced from the same ver-tex v1; thus they have the same position untilthe edge p1p2 is disconnected in Figure 2). Weemploy linear blend skinning that computes theposition and normal of a vertex using the near-est particle and its one-ring neighbors. Thus, thenearest particles at the multiple instances shouldbe the same for watertight skinning. As fractureoccurs, fragments connected locally at a vertexbecome disconnected. Accordingly, the nearestparticle at an instance of the vertex should be up-dated as the nearest one among the particles stillconnected locally to the instance (e.g., the near-est particle changes from p3 to p2 at v22 after theedge p2p3 is disconnected, whereas the nearestparticle is still p3 at v12 in Figure 2).

When an edge is disconnected in the simula-tion mesh, the nearest particle needs to be up-dated only at the vertices of the correspondinginterface. In addition, particles undergoing frac-ture at a frame exhibit spatial coherence. Basedon these observations, we apply spatial cluster-ing to the fragments so as to efficiently trans-fer the nearest particle information into the GPUside as per-vertex data on a per-cluster basis.Accordingly, pre-fracturing is modified to oc-cur on a per-cluster basis. A watertight, compactvisual mesh composited from a cluster of frag-ments is replaced with the individual fragmentmeshes, when the cluster of fragments is actu-ally involved with fracture. This excludes raster-ization of invisible faces and linear blend skin-ning for invisible vertices. The vertex shader

Page 8: Real-Time Simulation of Ductile Fracture with Oriented

(a) Clusters (b) OBB (c) OP (d) Fracturing a dinosaur model with 20 particles

Figure 3: Simulation mesh obtained with k-means clustering.

needs the simulation mesh for linear blend skin-ning. Because the size of the simulation meshis larger than the maximum size of uniform pa-rameters, it is fetched into the GPU side at eachframe as a single texture.

5 Experimental Results

The proposed technique was implemented as anAutodesk MAYA plug-in for contents creationand offline rendering. It was also implementedas a Unity3D plug-in with Cg shaders for in-teractive application and real-time rendering oflarge scenes. All experiments were performedwith an Intel I7-3770K 3.5GHz CPU, 8GBmemory, and an NVIDIA GeForce GTX680.

The fragments of a deformable body comeup with a simulation mesh. Thus, we need notonly the geometry of a deformable body butalso its fragment meshes. One of the most in-tuitive ways of obtaining fragment meshes isto employ Voronoi-like fracture patterns in atetrahedral mesh of a given deformable body.For convenience of implementation, we apply k-means clustering to the centers of the tetrahedrawhile taking into account the connectivities inthe mesh. Then, each cluster of tetrahedra be-comes a fragment corresponding to an orientedparticle. The covariance of the tetrahedra givesthe initial orientation of the particle and the ori-ented bounding box gives the radii of the particleas in [8]. This process is illustrated in Figure 3.Fragment meshes can also be obtained in manydifferent ways [1, 25].

Figure 4 compares plastic deformation ofthree vertical elastic bars with different plastic-ity. The top end of each bar is twisted for onefull rotation while its bottom end is fixed as il-lustrated in Figure 4(a) and (b). The bars shownin Figure 4(c), (d), and (e) with low, medium,and high plasticity undergo large amounts of

(a) Rest (b) Twist (c) Low (d) Mid (e) High

Figure 4: Twisted bars with different plasticity.

Figure 5: Four plates with increasing plasticity.

plastic flow during the twisting, and thus do notreturn to their original shapes after being re-leased. The simulation mesh of each bar con-sists of 320 particles and 1,888 edges.

The animation of fracturing ductile plates inFigure 5 demonstrate a range of visual effectswith different plasticity parameters. The left-most inset shows the behavior of a nearly brittlematerial. From left to right, the materials be-come more ductile. Each scene consists of 300particles including a single particle for the pro-jectile. Figure 6 shows two bunnies struck bya heavy weight. They undergo large deforma-tion and ductile fracture due to collisions withthe weight and the floor and self-collisions. Thesimulation mesh of a bunny model consists of300 particles and 1,288 edges. The left insetshows the behavior of a purely brittle material,and the right shows the effects of plasticity.

For real-time simulation and rendering of

Page 9: Real-Time Simulation of Ductile Fracture with Oriented

Figure 6: Fracturing two bunnies with a heavy projectile. The left one is brittle and the right is ductile.

Figure 7: Real-time simulation of a large scene.

large scenes, we exploit not only a multi-coreCPU but also a many-core GPU. Figure 7 showsa screenshot of a simple FPS-like game devel-oped with the Unity 3D game engine. The simu-lation is performed with a simple parallelizationusing OpenMP and GPU skinning described inSection 4.2. Currently, collision detection andresponse are handled in a single core. The sceneconsists of 12 deformable models with 2.7K par-ticles and 9.4K edges for the simulation meshes.As the simulation progresses, the deformablemodels are falling down to the floor. At the endof the simulation, the visual meshes become 849components with 479K vertices and 246K trian-gles. The simulation runs about 30 FPS with 2sub-steps for collision detection and response.On the average, shape matching, collision han-dling, and fracturing take 54, 45, and 1 percentof the computation time, respectively.

6 Conclusion

We have presented a practical approach to real-time simulation of ductile fracture. The orientedparticles approach [8] is employed for robustand efficient simulation of large deformation,and the shape matching procedure is extended tofind not only the optimal rotation but also the op-timal stretch. This optimal stretch is used to for-mulate the plastic flow and fracture criteria for

material failure at excessively stretched or com-pressed material points. We have demonstratedthat the proposed method runs in real time evenfor large visual meshes and it can simulate largedeformation and ductile fracture robustly.

Our method is based on shape matching withoriented particles; the physical behavior is de-pendent on the simulation mesh so that it is noteasy to support adaptive refinement of the simu-lation mesh. Thus, a pre-fractured fragment cor-responding to a single particle cannot be frac-tured into smaller ones. In the same vein, thepre-fractured fragments cannot be aligned witha point of impact given at runtime. These short-comings could be alleviated to some degree ifdynamic fracture with a fracture pattern [25] isemployed to produce detailed sub-fragments atruntime. In addition, one can create fine de-bris and dust distributed over a newly-exposedfragment interface as in [16, 25]. Currently, wedetect collisions using the ellipsoidal particlesthemselves, as in [8], not their correspondingfragment meshes. We plan to incorporate frag-ment meshes for collision handling.

Acknowledgements

This work was supported by the NationalResearch Foundation of Korea (NRF) grantfunded by the Korean Government (NRF-2011-0012878, NRF-2014R1A1A1008486) and theResearch Grant of Kwangwoon University in2013.

References

[1] M. Baker, N. Bin Zafar, M. Carlson,E. Coumans, B. Criswell, T. Harada, andP. Knight. Destruction and Dynamics forFilm and Game Production. ACM SIG-GRAPH 2011 Course Notes, 2011.

Page 10: Real-Time Simulation of Ductile Fracture with Oriented

[2] Z. Bao, J.-M. Hong, J. Teran, and R. Fed-kiw. Fracturing rigid materials. IEEETVCG, 13(2):370–378, 2007.

[3] G. Irving, J. Teran, and R. Fedkiw. Invert-ible finite elements for robust simulationof large deformation. In Proc. SCA, pages131–140, 2004.

[4] N. Molino, Z. Bao, and R. Fedkiw. Avirtual node algorithm for changing meshtopology during simulation. ACM TOG,23(3):385–392, 2004.

[5] J. F. O’Brien, A. W. Bargteil, and J. K.Hodgins. Graphical modeling and ani-mation of ductile fracture. ACM TOG,21(3):291–294, 2002.

[6] J. F. O’Brien and J. K. Hodgins. Graphicalmodeling and animation of brittle fracture.Computer Graphics, 33(4):137–146, 1999.

[7] M. Muller, B. Heidelberger, M. Teschner,and M. Gross. Meshless deformationsbased on shape matching. ACM TOG,24(3):471–478, 2005.

[8] M. Muller and N. Chentanez. Solid simu-lation with oriented particles. ACM TOG,30(4):92:1–92:9, 2011.

[9] A. R. Rivers and D. L. James. FastLSM:Fast lattice shape matching for robust real-time deformation. ACM TOG, 26(3):82:1–82:6, 2007.

[10] A. W. Bargteil, C. Wojtan, J. K. Hodgins,and G. Turk. A finite element method foranimating large viscoplastic flow. ACMTOG, 26(3):16:1–16:8, 2007.

[11] D. Gross and T. Seelig. Fracture Me-chanics: With an Introduction to Microme-chanics. Mechanical Engineering Series.Springer, second edition, 2011.

[12] D. Terzopoulos and K. Fleischer. Model-ing inelastic deformation: Viscoelasticity,plasticity, fracture. Computer Graphics,22(4):269–278, 1988.

[13] A. Nealen, M. Muller, R. Keiser, E. Box-erman, and M. Carlson. Physically baseddeformable models in computer graphics.CGF, 25(4):809–836, 2006.

[14] M. Muller and M. Gross. Interactive vir-tual materials. In Proc. Graphics Interface,pages 239–246, 2004.

[15] M. Pauly, R. Keyser, B. Adams, P. Dutre,M. Gross, and L. Guibas. Meshless an-imation of fracturing solids. ACM TOG,24(3):957–964, 2005.

[16] E. G. Parker and J. F. O’Brien. Real-timedeformation and fracture in a game envi-ronment. In Proc. SCA, pages 165–175,2009.

[17] J. Su, C. Shroeder, and R. Fedkiw. Energystability and fracture for frame rate rigidbody simulations. In Proc. SCA, pages 1–10, 2009.

[18] C. Zheng and D. L. James. Rigid-bodyfracture sound with precomputed sound-banks. ACM TOG, 29(4):69:1–69:13,2010.

[19] D. Steinemann, M. A. Otaduy, andM. Gross. Fast adaptive shape matchingdeformations. In Proc. SCA, pages 87–94,2008.

[20] M. Muller, B. Heidelberger, M. Hennix,and J. Ratcliff. Position based dynamics.In Proc. VRIPHYS, pages 71–80, 2006.

[21] S. Umeyama. Least-squares estima-tion of transformation parameters betweentwo point patterns. IEEE Trans. PAMI,13(4):376–380, 1991.

[22] P. J. Antsaklis and A. N. Michel. A LinearSystems Primer. Birkhauser, 2007.

[23] R. Bridson, R. Fedkiw, and J. Anderson.Robust treatment of collisions, contact andfriction for cloth animation. ACM TOG,21(3):594–603, 2002.

[24] J.-M. Lien and N. M. Amato. Approxi-mate convex decomposition of polyhedraand its applications. CAGD, 25(7):503–522, 2008.

[25] M. Muller, N. Chentanez, and T.-Y. Kim.Real Time Dynamic Fracture with Volu-metric Approximate Convex Decomposi-tions. ACM TOG, 32(4):115:1–115:10,2013.