Multi Material
Multi Material
Visual Simulations
TAO YANG, Tsinghua University
JIAN CHANG, Bournemouth University
MING C. LIN, University of North Carolina, Chapel Hill
RALPH R. MARTIN, Cardiff University
JIAN J. ZHANG, Bournemouth University
SHI-MIN HU, Tsinghua University
Fig. 1. Frying an egg on a hot pan, achieved by enabling the diffusion of phases but disabling the diffusion of concentrations.
ACM Transactions on Graphics, Vol. 36, No. 6, Article 224. Publication date: November 2017.
224:2 • Yang, T. et al
method is based on drift velocity, which requires small time steps, 2 RELATED WORK
and cannot easily or intuitively capture the evolution of phenomena In computer graphics, multi-material fluid simulation has been ex-
based on energy considerations [Yang et al. 2015]. Furthermore, tensively investigated during the last decade. Again, here we classify
it cannot simulate phase-change phenomena such as melting and multi-material fluid simulations as those involving only liquids, and
solidification. those involving solids and liquids. We start by introducing particle-
Phase transitions are commonly observed in the physical world, based solid simulation, then providing an overview of the relevant
such as dissolving, melting and solidification. Previous particle- works closest to this paper.
based simulation methods model this process mainly using either a
concentration criterion [Yan et al. 2016] or a temperature criterion
[Stomakhin et al. 2014], so that a given particle changes its phase if
its concentration or temperature exceeds a pre-defined threshold. 2.1 Solid Simulation
Although this approach is straightforward and easy-to-implement, In computer graphics, particle-based methods are commonly used
it suffers from two problems. First, the criteria are inconsistent: it to simulate fluids [Monaghan 1992; Müller et al. 2003]; they also
is problematic to model phase change phenomena involving both work well for simulating solid materials, including rigid objects,
concentration- and temperature-related variables. Secondly, the deformable bodies, and granular materials. Gray et al. [2001] simu-
interfaces between phases are discontinuous, as a given particle can lated elastic objects using a linear model by defining the artificial
only be in a single phase. To address these problems, we represent stress based on the signs of the principal stresses. Although this
the phase separately using an extra variable to describe it. This gave plausible results, their model suffers from accumulated nu-
phase variable is governed by a unified energy density function merical error. To capture the dynamics of truly elastic materials
related to both concentration and temperature. or large elastic deformations, researchers later developed a variety
In computer graphics, the terms ‘fluid’, ‘phase’ and ‘material’ have of solutions, such as storing the initial state [Müller et al. 2004],
been widely used, but not always consistently or accurately. We calculating the deformation gradient tensor [Gerszewski et al. 2009],
formally define them here: fluids are substances with zero shear adopting an implicit framework [Zhou et al. 2013], or use of ‘embed-
modulus; phases are states of substances, and materials are different ded space’ [Jones et al. 2014]. Müller et al. [2004] animated elastic,
kinds of substances (which may exist in any state or phase). For plastic, and melting objects using a physical model derived from
simplicity, we only consider the three most commonly observed continuum mechanics. This method needs to store the initial state
phases of matter, i.e., solid, liquid and gas, and largely focus on the in order to calculate stress. Gerszewski et al. [2009] proposed a new
first two for demonstration of concepts in this paper. way to compute the deformation gradient, avoiding the need to
Our approach significantly extends the energy-based multi-fluid store the initial rest configuration. Zhou et al. [2013] extended this
approach proposed by Yang et al. [2015] to represent ‘solid’ phases, work, using an implicit numerical integrator to achieve more stable
enabling modeling of a variety of fluid-solid interactions. We treat simulation of elastoplastic materials. Jones et al. [2014] introduced
phases and materials independently, thereby the unified multi-material embedded space—the least-squares best fit of the material’s rest state
simulation framework can model a much wider range of real-world in 3D—and used it to handle extreme elastic and plastic deforma-
phenomena. It is straightforward to describe the state of a particle tions. Jiang et al. [2015a] animated deformable objects, as well as
with a phase variable and a concentration variable. For simplicity, collision handling, using an affine particle-in-cell method (APIC)
we assume that the phase variable acts on the whole particle which with a Lagrangian force model.
can be composed of multiple materials. Zhu and Bridson [2005] adopted an existing fluid solver for simu-
In summary, the main contributions of this work are as follows: lating granular materials, decomposing the spatial domain according
to the strain rate tensor. Bell et al. [2005] used non-spherical parti-
• A simple elastoplastic model is introduced to simulate vari- cles to represent discrete elements of simulated materials, such as
ous solids, including deformable objects, granular materials, sand and rigid bodies. Narain et al. [2010] solved both the internal
and cohesive soils. It is capable of capturing a variety of pressure and frictional stresses in granular materials, achieving two-
solid phenomena that have been largely ignored in the lit- way coupling between granular materials and solid bodies. Using
erature, such as collapsing granular columns with varying a friction and cohesion model, Alduán and Otaduy [2011] simu-
aspect ratios, landslides, and dry/wet sand. lated granular flows in a predictive-corrective incompressible SPH
• By treating materials and phases separately, a much wider (PCISPH) framework [Solenthaler and Pajarola 2009]; this work was
range of challenging real-world phenomena involving mul- extended by Ihmsen et al. [2012], using a two-scale framework to
tiple materials and phases can be simulated, including com- simulate granular materials with high-quality visual detail. Recently,
plex fluid-solid interactions, such as dissolving, melting. the material point method (MPM) has gained popularity as a hybrid
• Our phase-field method defines the phase boundary using method to capture a variety of fluid and solid phenomena. Klár
a phase variable, providing a continuous interface between et al. [2016] recreated a wide range of visual sand phenomena by
phases. combining Drucker-Prager plastic flow and Hencky-strain-based
• A unified Helmholtz free-energy density for both the non- hyperelasticity. Daviet et al. [2016] presented a continuum-based
conservative Allen-Cahn equation and the conservative method for simulating non-smooth viscoplastic granular rheology
Cahn-Hilliard equation is proposed to guide the evolution using a material point method.
of concentrations and phases, respectively.
ACM Transactions on Graphics, Vol. 36, No. 6, Article 224. Publication date: November 2017.
A Unified Particle System Framework for Multi-Phase, Multi-Material Visual Simulations • 224:3
ACM Transactions on Graphics, Vol. 36, No. 6, Article 224. Publication date: November 2017.
224:4 • Yang, T. et al
(see the Appendix A for the derivation) where ‘˙’ denotes the deriva-
tive with respect to time, G is the shear modulus, ϵ˙ = (∇u + ∇uT )/2
denotes the total strain rate tensor, and ė = ϵ˙ − Tr(ϵ˙ )/3δ is the
deviatoric shear strain rate tensor. The scalar function λ̇ denotes
the rate of change of the plastic multiplier λ, and is given by:
1 √2G
s : ė + 3KαTr(ϵ˙ ) , f > 0
λ̇ = G + 9Kα β S ,
(6)
f
0,
Fig. 3. A particle view demonstrating the benefit of using Jaumann stress ≤ 0
rate. Left: with it, particles belonging to an elastic cube stay attached during where K is the bulk modulus. The shear and bulk moduli are related
rotation. Right: without it, particles at the corner detach as the cube rotates. to the Young’s modulus E and Poisson ratio v by:
E E
K= , G= . (7)
3(1 − 2v) 2(1 + v)
In our implementations, the deviatoric shear stress s in Equation (2)
is obtained by integrating its time derivative ṡ in Equation (5). We
use the leapfrog algorithm for numerical integration; s and S on the
right-hand side of Equations (5) and (6) are obtained at the half-time
step.
Fig. 4. Deformable jelly. Left: a purely elastic jelly. Middle and Right: plastic In this work, we use a fixed coordinate system and integrate the
jellies, with different degrees of plasticity.
stress rate. As a result, the rotation of a material introduces changes
in Cauchy stress. To eliminate this consequence, an extra stress rate,
3.1 Constitutive Model invariant with respect to material rotation, is employed to describe
the material response. The Jaumann stress rate is implemented,
The momentum equation for solids can be expressed as: and works well for small strains and large material rotations (see
Du 1 Figure 3).
= ∇ · σ + fext , (1)
Dt ρ s˙J = ṡ + s · ω̇ − ω̇ · s, (8)
where D/Dt = ∂/∂t + u · ∇ is the substantial derivative, u is the where ω̇ = (∇u − ∇uT )/2 denotes the spin rate tensor; subscript J
velocity, ρ is the density, fext is the external force, and σ is the denotes the Jaumann rate.
Cauchy stress tensor of the solid, which is normally divided into Jaumann stress rate is a so-called objective stress rate, aiming to
two parts in SPH: hydrostatic pressure p and deviatoric shear stress eliminate the mechanical response of a material with respect to the
s, i.e., σ = −pδ + s. We rewrite Equation (1) as: frame of reference. It has been previously used in the graphics com-
Du 1 munity occasionally, e.g. by Yan et al. [2016]. They simply employ
= (−∇p + ∇ · s) + fext . (2)
Dt ρ such a term, but did not illustrate how it benefits simulation; our
For consistency, the hydrostatic pressure is determined for both flu- examples do so. As illustrated in Figure 3 (and the supplementary
ids and solids using Tait’s equation [Becker and Teschner 2007]. To video), the rotation of a deformable cube introduces extra changes
determine s, the Drucker-Prager model is adopted in our work. The of the Cauchy stress tensor due to the fixed frame of reference,
yield condition f and plastic potential function д are respectively which however should not be part of the mechanical response of a
given by: material, resulting in particles at the corner detaching. By adopting
1 the Jaumann stress rate, this issue could be largely prevented.
f = √ S − 3αp − γ , (3) To smoothly approximate the Mohr-Coulomb hexagon on the de-
2 viatoric stress plane (π plane), several strategies have been proposed
1
д = √ S − 3βp, (4) to determine the Drucker-Prager cone parameters [Wang and Sitar
2 2004] (see the Appendix B). In 3D, the parameters are determined
where S = ||s ||; α and γ are Drucker-Prager’s constants, which by [Chen et al. 2012]:
are related to ϕ (internal friction) and the Coulomb constant kc 2 sin ϕ 2 sinψ 6kc cos ϕ
(cohesion); the latter can be treated as a function of the accumulated α= √ , β= √ , γ = √ .
3(3 − sin ϕ) 3(3 − sinψ ) 3(3 − sin ϕ)
plastic strain to handle plastic hardening and softening. For simplic-
ity, we just set kc to a constant. β has a similar expression to α and ψ is set to 0 in our examples. The implementation is given in Algo-
is related to the dilation angle ψ of materials such as soils. The yield rithm 1 later.
condition determines where plastic deformation occurs; the plastic
potential function is used to obtain the degree of plasticity (see the 3.2 Granular Materials
Appendix A). For simplicity, we formulate the deviatoric shear rate The proposed elastoplastic model can be used to capture the dynam-
ṡ as in the works of Bui et al. [2008] and Chen et al. [2012]: ics of purely elastic objects or plastic ones, depending on whether
s or not the Drucker-Prager yield criterion is satisfied (see Figure 4).
ṡ = 2G ė − λ̇ √ , (5)
2S This model is also capable of simulating granular materials [Bui et al.
ACM Transactions on Graphics, Vol. 36, No. 6, Article 224. Publication date: November 2017.
A Unified Particle System Framework for Multi-Phase, Multi-Material Visual Simulations • 224:5
ACM Transactions on Graphics, Vol. 36, No. 6, Article 224. Publication date: November 2017.
224:6 • Yang, T. et al
Fig. 7. Sand collapses. (a) initial dry granular column with aspect ratio H /R = 2.0, for (b)–(e). (b)–(d) final states of collapse for friction angles ϕ of 20◦ , 30◦ ,
and 40◦ . (e) final states of collapse without tension cracking treatment for a friction angle ϕ of 40◦ . (f) initial dry granular column for (g) with aspect ratio
H /R = 0.9. (g) final state of the collapse with friction angle of 40◦ .
4 PHASE-FIELD MULTI-MATERIAL SIMULATION equation [Allen and Cahn 1972], which appears to have not been
In this section, we first review the energy-driven multi-fluid simula- previously used in computer graphics.
tion proposed by Yang et al. [2015], and then show how to extend
this framework to handle other phases. 4.2 Governing Equations
We make use of the momentum equation for motion, the Cahn-
4.1 Phase-Field Method Hilliard equation for the evolution of the concentration variable,
The phase-field model was established mainly for solving interface and the Allen-Cahn equation for the evolution of the phase variable.
problems. The method has been used to describe solidification pro- We assume the system has M materials with N possible phases.
cesses, as well as microstructure evolution at the interfaces of solids Du 1
and liquids. Yang et al. [2015] used the Cahn-Hilliard equation [Cahn = (−∇p + ∇ · s) + fext , (17)
Dt ρ
and Hilliard 1958] to calculate the changes in the fraction of each Dcm
material. The rate of change of each material is given by: = ∇ · (LCH ∇µm ), (18)
Dt
Dc ∂F
= ∇ · (LC H ∇µ), (14) µm = − ξ 2 ∆cm , (19)
Dt ∂cm
where c represents the concentration of the material (we use mass Dηk ∂F
= L AC (ξ 2 ∆ηk − ), (20)
fraction like Yang et al.), LC H denotes its degenerate mobility, and µ Dt ∂ηk
is its chemical potential, related to the Ginzburg-Landau free energy where s is the deviatoric stress for a solid (see Section 3) or the
density. The latter is composed of a bulk part and an interface part, viscosity tensor for a fluid (when Equation (17) becomes the Navier-
and can be expressed as: Stokes equation). cm and ηk are respectively the m-th material’s
∂F concentration and the k-th phase of a given particle. For simplicity,
µ= − ξ 2 ∆c, (15) we set ξ = 0.01 regardless of the type of the material or the state
∂c
of phase. LCH , L AC are both material dependent. However, unlike
where F is the Helmholtz free energy density, and ξ is associated density and viscosity, the values of LCH , L AC are set constant during
with diffuse interfaces; it introduces an internal length scale (inter- simulation for simplicity. The external force fext includes gravity,
face thickness). Yang et al. [2015] integrated their model into the as well as interactive forces between materials [Yang et al. 2015],
position-based fluids approach, achieving real-time performance. etc. For a consistent labeling convention, we use subscripts k, l to
As explained in Section 1, we introduce an extra phase variable η represent phases, m for materials, and i, j for particles.
to handle multiple phases consistently and continuously. η is used The concentrations of the materials and the phase variables must
to describe the current state of each particle in a continuous manner. satisfy the constraints:
For example, we may take the value one to mean solid and zero for
liquid; across an interface, the value varies smoothly from one to M
X −1 N
X −1
zero. The introduced phase variable η is considered as the proportion cm = 1, ηk = 1, cm , ηk ∈ [0, 1]. (21)
of a state. Unlike the concentrations of materials, the phase-field m=0 k =0
variables are not conserved. Real-world phenomena evolve from To meet the constraints, we adopt a post-correction process, as
high-energy states to low-energy states. We assume the system do Ren et al. [2014], Yang et al. [2015] and Yan et al. [2016]. For
locally tends to minimize energy and to conserve concentrations of simplicity, we use c, η to represent the vector of materials and
materials at the same time. Therefore, we represent the evolution phases of a given particle in the rest of this paper. They are vectors
of the phase variable using: of three elements, whose entries with indices 0, 1, 2 represent the
Dη ∂F proportions of solid, liquid and gas respectively. Since we focus on
= L AC (ξ 2 ∆η − ), (16) the first two phases, η 2 is always 0 in this work.
Dt ∂η
Temperature is important when simulating phenomena involv-
where L AC is the mobility. For simplicity, we adopt the same ξ as ing phase change. To model heat flow, we use a similar evolution
in the Cahn-Hilliard equation. This is known as the Allen-Cahn equation to that used by Stomakhin et al. [2014], adding an extra
ACM Transactions on Graphics, Vol. 36, No. 6, Article 224. Publication date: November 2017.
A Unified Particle System Framework for Multi-Phase, Multi-Material Visual Simulations • 224:7
source term for the phase transition: used for interpolation, satisfying q(0) = 0 and q(1) = 1; it is chosen
dT dη according to the situation. For example, if we use q(ηk ) = ηk2 (3 −
CH +Z = ∇ · (CT ∇T ), (22) 2ηk ), k ∈ {0, 1, 2}, it satisfies q ′ (0) = q ′ (1) = 0, which ensures
dt dt
where C H is the heat capacity per unit volume, Z is the latent that the minima of the free energy are at ηk = 0 and ηk = 1 (i.e.
heat per unit volume, and CT is the thermal conductivity. For each pure phase states) regardless of the temperature. However, when
particle at a given time, the phase change is considered to occur simulating a single material’s phase transition, the phase-change
between two phases, e.g., phase k, l (in this work, solid and liquid); process will not be triggered if only one phase exists in the initial
the η in Equation (22) can be either ηk or ηl , while Z should change stage. We then instead use q(ηk ) = ηk .
its sign accordingly. The proposed model can be used to capture simulations with
Every particle is considered to (potentially) be composed of mul- multiple phases including solid, liquid and gas. In this paper, we
tiple materials and multiple phases, but unlike Ren et al. [2014] and simply focus on two-phase examples involving solid and liquid.
Yan et al. [2016], we simply take it as a whole. We thus compute If additional constraints are introduced [Macklin et al. 2014], our
aggregate values for every particle at the beginning of each time approach can be extended to consider gaseous phase, which is not
step, for each of the required quantities: density, viscosity, heat ca- the main focus of this work. Thus, N in Equation (25) is set to 2 in our
pacity per unit volume, latent heat per unit volume, and thermal examples. Then only (Z 0,1 )m and (T0,1 )m appear in Equation (25),
conductivity. For simplicity, we use weighted averages: to model phase change between liquid and solid.
M
X −1
A= cm Am , (23) 4.4 Continuous Interfaces between Phases
m=0
Materials in different phases obey different physical laws. For in-
N −1
X stance, in Equation (17), s denotes the deviatoric stress for solids, but
B= ηk Bk , (24)
the viscosity tensor for fluids. To obtain this value, the velocity gra-
k =0
dient is needed. When calculating the velocity gradient in standard
where m and k are respectively the material and phase indices. A SPH, only neighboring particles in the same state are taken into
and B are continuous variables; the former is mainly influenced by consideration. This is problematic if particles have mixed phase. To
the type of the material, and the latter by the state of the phase, calculate the aggregate deviatoric stress, deviatoric stresses for both
respectively. In this paper, only the deviatoric stress is of the latter liquid and solid phases are needed. Each depends on its own veloc-
type. ity gradient, while the particle only has a bulk velocity. To address
this issue, previous works simply set each particle to a particular
4.3 Unified Helmholtz Free Energy Density
phase according to its concentration fraction, temperature and so
As explained in Section 4.2, the evolutions of c and η are driven on. However, we adopt a continuous phase interface: a particle at
by the Helmholtz free energy density F . In contrast to the work of the interface can be in multiple phases. We resolve this issue by
Yang et al. [2015], our Helmholtz free energy density works on both computing the velocity gradient for phase k of particle i as follows:
c and η. We thus call it the unified Helmholtz free energy density. It
plays a key role in guiding phase-field multi-material simulations.
The unified Helmholtz free energy density must be related to X (ηk )i + (ηk )j
(∇ui )k = Vj (u j − ui )∇Wi j , (26)
both the concentration fraction c and phase fraction η. Since phase 2
j
change typically depends on temperature, it must be taken into
consideration. Garcke et al. [2004] defined the bulk free energies for
individual phases. Since our simulations involve multiple phases, where Wi j is a symmetric kernel function; we use a spiky kernel
with the help of the interpolating function q, we define the final free for gradient calculation following the work by Müller et al. [2003].
energy function for phase-field multi-material simulation to be: Vj is the volume of the neighboring particle j. (ηk )i denotes the
N
X −1 M X −1
T − (T̃k,l )m k-th phase variable for particle i. As we only consider solids and
F= cm (Z k,l )m q(ηk ) − q(ηl ) liquids, we use (∇ui )k to calculate the appropriate tensor for phase k.
k,l =0,k <l m=0 (T̃k,l )m Finally, as we assume that the deviatoric stress is mainly influenced
(25)
M −1 by phase, we use Equation (24) to obtain the aggregate deviatoric
X RG
+ Tcm ln(cm ) − CV T ln(T ) − 1 , stress. The whole process is summarised in Algorithm 1.
m=0
VM The use of continuous interfaces is of benefit in the implementa-
where (Z k,l )m and (T̃k,l )m are respectively the latent heat per unit tion of a multi-phase, multi-material framework, as no extra param-
volume and the phase transition temperature of the pure material m eter is needed to label the phase (solid, liquid or gas). This feature
when a phase transition occurs from phase k to phase l. (Z k,l )m = also avoids the computational effort needed to update such labels.
−(Zl,k )m , (T̃k,l )m = (T̃l,k )m for simplicity. CV is the specific heat, The phases of particles can be mixed, thereby closer to real physical
which is assumed to be independent of c and η. The molar volume behavior. Although existing methods can produce similar visual ef-
VM is taken to be a constant. RG is the gas constant. If cm is smaller fects, our method offers a unified treatment to seamlessly and easily
than a threshold (10−4 in our examples), the particle is considered handle multi-phase, multi-material simulations including transitions
to be free of the m-th material. q is a monotone function on [0, 1] between phases.
ACM Transactions on Graphics, Vol. 36, No. 6, Article 224. Publication date: November 2017.
224:8 • Yang, T. et al
ACM Transactions on Graphics, Vol. 36, No. 6, Article 224. Publication date: November 2017.
A Unified Particle System Framework for Multi-Phase, Multi-Material Visual Simulations • 224:9
Table 2. Performance; particle numbers change in some examples as water of dry granular columns with different angles (see Figures 7b–7d).
is added; our method is about 3 times faster than [Yan et al. 2016] We also demonstrate that the behavior of the collapse of an initially
vertical cylinder of granular materials depends on the aspect ratio
Example materials phases particles ms/step H /R, where H and R are its initial height and radius respectively
Deformable Jelly 1 1 50k 9.6 [Lube et al. 2004] (see Figures 7d and 7g).
Dry Sand (H /R = 0.9) 1 1 48k 10.2 Melting and Solidification: our multi-phase, multi-material model
Dry Sand (H /R = 2.0) 1 1 100k 15.0
can be used to capture a wide range of phase-changing phenomena
including melting and solidification. Figure 10 presents the melting
Butter Bunny 1 2 276k 24.1
of a butter bunny on a hot pan. The simulation involves one material
Egg 2 2 180k 20.8 (butter) with two phases (solid and liquid). We capture melting by
Dissolving Bunny (our method) 2 2 110k–260k 36.2 enabling diffusion of the phase variable. Since the initial conditions
Dissolving Bunny ([Yan et al. 2016]) 2 2 110k–260k 96.4 are single-phase, we set the monotone function q(ηk ) = ηk . Figure 1
Soluble/wettable Granules 3 2 200k–400k 46.4 demonstrates the frying of an egg. This is a two-material (egg white
and egg yolk) system with two phases (solid and liquid). The egg
Bubble Tea 4 2 320k–600k 61.0
white and egg yolk do not mix in this case, so any given particle
contains only one material. We initialize the egg white and the egg
yolk with different values of thermal conductivity to ensure different
we set the mobility to 0). We enable both concentration and phase
speeds of spread of phase change [Yang et al. 2016, 2017].
to evolve when simulating solid dissolution.
Dissolving Bunny: Figure 9 demonstrates the dissolution process
To simulate phase-change phenomena, we set the original phase
of a bunny. We also provides a comparison with results by Yan
to 0, and the target phase to 1. The temperature T in Equation (25)
et al. [2016] (see the supplementary video). Our method achieves
triggers the evolution of phase. For cases including solid wetting
comparable results and is about 3 times faster (see Table 2), as we
and dissolution, the temperature does not play a key role, so we set
avoid the use of computationally expensive drift velocity and an
it to a constant. The evolution of concentration occurs at interfaces
hypoplastic model.
according to the Cahn-Hillard equation (18). We set the monotone
Soluble and Wettable Granular Materials: Figure 11 shows advan-
function q(ηk ) in Equation (25) to ηk2 (3 − 2ηk ), so the evolution of
tages of our model over previous methods. Two piles of soluble
phase starts at the interfaces of phases thanks to the Laplacian term coffee granules and sands interact with water from above poured
in Equation (20) (The SPH formulation of the Laplacian operator onto them. To simulate soluble coffee granules, we enable diffusion
contains a gradient term [Ihmsen et al. 2014b]). To capture phe- of both concentration and phase variables, but to simulate insoluble
nomena like dissolution of solids, the evolution of concentration sand grains, we disable the diffusion of the phase variable. (The
interacts with the evolution of phase, and both only occur at inter- density ratio of granular material to water is 2 : 1 in each case).
faces. Figure 8 shows a snapshot of the differences in concentration Here, we assume the wettable sand and water slightly mix with each
and phase evolution in the same scenario as Figure 11 at a given other until reaching a saturation point: we assume a sand particle
time. can contain at most 5% water.
Decoupling the concentration and the phase leads to a straight- Bubble Tea: to demonstrate challenging real-world phenomena
forward and flexible approach to capture a variety of multi-material with multiple materials and phases, as shown in Figure 12, we sim-
and multi-phase interactions as illustrated in Table 1. ulate the making of bubble tea, a drink that contains soluble cof-
fee granules, wettable elastoplastic tapioca pearls, and two liquids
6 RESULTS
(water and milk). Our method can capture a variety of complex
6.1 Examples interactions in a versatile way. (The density ratios of coffee granules
In this section, we present various examples to demonstrate the vs. tapioca pearls vs. water vs. milk are 2 : 1.5 : 1 : 1). In this
range of simulations that our method can handle; supplementary scenario, we use particle boundary; to prevent particle penetration,
videos are also provided. Key parameters used in the simulations larger viscosity and artificial viscosity are adopted. We add vorticity
are given here; further details of parameters can be found in the confinement [Fedkiw et al. 2001; Macklin and Müller 2013] to make
supplementary material. the fluid less viscous.
Deformable Jelly: the proposed elastoplastic model can simulate We implemented our algorithm using CUDA on an NVIDIA
both purely elastic and plastic object behavior, as shown in Figure 4. GeForce GTX1080 11GB GPU and 8 Intel Core i7-3770 CPUs; the
An elastic jelly (left) and two plastic jellies (middle and right) are CPUs are relatively unimportant. Performance for the examples
dropped onto a plane. The elastic jelly rebounds and recovers its described above is given in Table 2. The particle numbers shown
shape, while the plastic jellies deform irreversibly with different include both fluid and boundary particles. The timings presented
degrees of plasticity. are averaged running times over the entire simulations. The time
Dry and Wet Sand: Figures 5 and 7 shows that our elastoplastic step is set to around 10−3 s, which is sufficient to achieve stable
model is capable of simulating both dry, non-cohesive sand, and simulation and prevent particle penetration.
cohesive, wet sand by choosing whether to use return mapping
algorithms or not. Our SPH-based approach is about 4 times faster
than the MPM-based one. Our method can simulate the collapses
ACM Transactions on Graphics, Vol. 36, No. 6, Article 224. Publication date: November 2017.
224:10 • Yang, T. et al
Fig. 9. Soluble bunny. A deformable bunny dissolves in the water pouring from the pipe, coloring the water red.
Fig. 10. Melting a butter bunny on a hotplate. Phenomena such as wave-like spread and free sliding behavior of the unmelted butter can be observed.
Fig. 11. Soluble and wettable granular materials. Piles of coffee granules (brown) and sands (yellow) interact with water poured from above onto them. Left: the
sand is merely wettable if phase evolution is disabled. Right: the coffee granules dissolve, achieved by enabling the evolution of both phase and concentration.
Fig. 12. Making of Bubble Tea. A granular coffee column collapses in the goblet, then dissolves in water (pouring from right) and milk (pouring from left).
ACM Transactions on Graphics, Vol. 36, No. 6, Article 224. Publication date: November 2017.
A Unified Particle System Framework for Multi-Phase, Multi-Material Visual Simulations • 224:11
velocity. Our method however uses a unified energy to drive the dif- For instance, the given particle above could be that all material A is
fusion of both concentration and phase. Every particle is considered solid and all material B is liquid, or vice versa, or various combina-
as a whole; each concentration within a single particle shares the tions in between. In the future, we hope to investigate the degree to
same velocity. Our method is much simpler to implement and is also which it is beneficial to use a more precise representation.
more efficient, overall being about 3 times faster than Yan et al.’s Crystallization is also commonly observed in daily life, e.g. in
method (see Table 2). Furthermore, Yan et al. use an elastoplastic ice formation on a window. The process of crystal growth involves
model to simulate deformable bodies and a hypoplastic model for both concentration and phase evolution, so in principle, is within
granular materials, which adds complexity. By improving the elasto- the scope of our model. Further effort is needed in future to capture
plastic model to make it capable of modeling granular materials, this phenomenon.
we are able to use a single general formulation for both cases. The We use the weakly compressible SPH (WCSPH) in our work, as
proposed method models landslides with different failure patterns it can readily integrate into our method. However, it suffers from
as well as collapsing granular columns with varying aspect ratios, compressibility compared with the MPM solver (see Figure 5 and
which have been largely overlooked in the graphics community. All the supplementary video). The position based fluids (PBF) [Mack-
the multi-material, multi-phase examples presented could not pre- lin and Müller 2013] and MPM have gained popularity in recent
viously be achieved in such a straightforward, easy-to-implement, years. It would be promising to integrate our method to these two
fast and unified way. frameworks.
ACM Transactions on Graphics, Vol. 36, No. 6, Article 224. Publication date: November 2017.
224:12 • Yang, T. et al
J. Gray, J. Monaghan, and R. Swift. 2001. SPH elastic dynamics. Computer Methods in Barbara Solenthaler, Jürg Schläfli, and Renato Pajarola. 2007. A unified particle model
Applied Mechanics and Engineering 190, 49C50 (2001), 6641–6662. for fluid-solid interactions. Comput. Animat. Virtual Worlds 18, 1 (Feb. 2007), 69–82.
Markus Ihmsen, Nadir Akinci, Marc Gissler, and Matthias Teschner. 2010. Boundary Alexey Stomakhin, Craig Schroeder, Chenfanfu Jiang, Lawrence Chai, Joseph Teran,
handling and adaptive time-stepping for PCISPH. VRIPHYS (2010), 79–88. and Andrew Selle. 2014. Augmented MPM for phase-change and varied materials.
Markus Ihmsen, Jens Cornelis, Barbara Solenthaler, Christopher Horvath, and Matthias ACM Trans. Graph. 33, 4 (Jul. 2014), 138:1–138:11.
Teschner. 2014a. Implicit Incompressible SPH. IEEE Transactions on Visualization & Deborah Sulsky, Shi-Jian Zhou, and Howard L. Schreyer. 1995. Application of particle-
Computer Graphics 20, 3 (2014). in-cell method to solid mechanics. Computer Physics Communications 87, 1-2 (1995),
Markus Ihmsen, Jens Orthmann, Barbara Solenthaler, Andreas Kolb, and Matthias 236–252.
Teschner. 2014b. SPH Fluids in Computer Graphics. In Eurographics 2014 - State of A. Pradhana Tampubolon, T. Gast, G. Klar, C. Fu, J. Teran, C. Jiang, and K. Museth. 2017.
the Art Reports (2014), 21–42. Multi-species simulation of porous sand and water mixtures. ACM Trans. Graph. 36,
Markus Ihmsen, Arthur Wahl, and Matthias Teschner. 2012. High resolution simulation 4 (2017), 105:1–105:11.
of granular material with SPH. VRIPHYS (2012), 53–60. Gang Wang and Nicholas Sitar. 2004. Numerical Analysis of Piles in Elasto-plastic Soils
C. Jiang, C. Schroeder, A. Selle, J. Teran, and A. Stomakhin. 2015a. The Affine Particle- Under Axial Loading. 17th ASCE Engineering Mechanics Conference (2004), 13–16.
In-Cell Method. ACM Trans. Graph. 34, 4 (2015), 51:1–51:10. Xiao Yan, Yun-Tao Jiang, Chen-Feng Li, Ralph R. Martin, and Shi-Min Hu. 2016. Multi-
Min Jiang, Richard Southern, and Jian J. Zhang. 2015b. A Particle-based Dissolution phase SPH Simulation for Interactive Fluids and Solids. ACM Trans. Graph. 35, 7
Model using Chemical Collision Energy. Proceedings of the 10th International Con- (Jul. 2016), 79:1–79:11.
ference on Computer Graphics Theory and Applications (2015), 285–293. Tao Yang, Jian Chang, Bo Ren, Ming C. Lin, Jian Jun Zhang, and Shi-Min Hu. 2015. Fast
Ben Jones, Stephen Ward, Ashok Jallepalli, Joseph Perenia, and Adam W. Bargteil. 2014. multiple-fluid simulation using helmholtz free energy. ACM Trans. Graph. 34, 6 (Oct.
Deformation Embedding for Point-Based Elastoplastic Simulation. ACM Trans. 2015), 201:1–201:11.
Graph. 33, 2 (Apr. 2014), 21:1–21:9. Tao Yang, Ming C. Lin, Ralph. R. Martin, Jian Chang, and Shi-Min Hu. 2016. Versatile
Richard Keiser, Bart Adams, Dominique Gasser, Paolo Bazzi, Philip Dutré, and Markus Interactions at Interfaces for SPH-Based Simulations. Proceedings of the 2016 ACM
Gross. 2005. A unified lagrangian approach to solid-fluid animation. Proceedings SIGGRAPH/Eurographics Symposium on Computer Animation (2016), 57–66.
of the Second Eurographics / IEEE VGTC Conference on Point-Based Graphics (2005), Tao Yang, Ralph R. Martin, Ming C. Lin, Jian Chang, and Shi-Min Hu. 2017. Pairwise
125–133. Force SPH Model for Real-Time Multi-Interaction Applications. EEE Transactions
Gergely Klár, Theodore Gast, Andre Pradhana, Chuyuan Fu, Craig Schroeder, Chenfanfu on Visualization & Computer Graphics 23, 10 (2017), 2235 – 2247.
Jiang, and Joseph Teran. 2016. Drucker-Prager Elastoplasticity for Sand Animation. Yahan Zhou, Zhaoliang Lun, Evangelos Kalogerakis, and Rui Wang. 2013. Implicit
ACM Trans. Graph. 35, 4 (Jul. 2016), 103:1–103:12. integration for particle-based simulation of elasto-plastic solids. Computer Graphics
Toon Lenaerts, Bart Adams, and Philip Dutré. 2008. Porous flow in particle-based fluid Forum 32, 7 (2013), 215–223.
simulations. ACM Trans. Graph. 27, 3 (Aug. 2008), 49:1–49:8. Yongning Zhu and Robert Bridson. 2005. Animating sand as a fluid. ACM Trans. Graph.
Toon Lenaerts and Philip Dutré. 2009. Mixing fluids and granular materials. Computer (2005), 965–972.
Graphics Forum 28, 2 (2009), 213–218.
Shiguang Liu, Qiguang liu, and Qunsheng Peng. 2011. Realistic simulation of mixing
fluids. The Visual Computer (Mar. 2011), 241–248. A DERIVATION OF THE ELASTOPLASTIC MODEL
Gert Lube, Hernert E. Huppert, R. Stephen J. Sparks, and Mark A. Hallworth. 2004.
Axisymmetric collapses of granular columns. J. Fluid Mech. 508 (2004), 175–199. In this work, we adopt an elastic-perfectly plastic model. The total
Miles Macklin and Matthias Müller. 2013. Position Based Fluids. ACM Trans. Graph. 32, strain rate tensor ϵ˙ is commonly composed of two parts, i.e., elastic
4 (2013), 104:1–104–12.
Miles Macklin, Matthias Müller, Nuttapong Chentanez, and Tae-Yong Kim. 2014. Unified
strain rate ϵ˙e and plastic strain rate ϵ˙p :
ϵ˙ = ϵ˙e + ϵ˙p .
Particle Physics for Real-Time Applications. ACM Trans. Graph. 33, 4 (2014), 153:1–
153:12. (29)
J. J. Monaghan. 1992. Smoothed Particle Hydrodynamics. Annual Review of Astronomy
and Astrophysics 30, 1 (1992), 543–574. The generalized Hooke’s law states that:
J. J. Monaghan. 2000. SPH without a tensile instability. J. Comput. Phys. 82, 1 (2000),
1–15. σ̇ = De : ϵ˙e = De : (ϵ˙ − ϵ˙p ). (30)
Matthias Müller, David Charypar, and Markus Gross. 2003. Particle-Based Fluid
Simulation for Interactive Applications. Proceedings of the 2003 ACM SIG- where De is the fourth-order elasticity tensor, which can be formu-
GRAPH/Eurographics Symposium on Computer Animation (2003), 154–159.
M. Müller, R. Keiser, A. Nealen, M. Pauly, M. Gross, and M. Alexa. 2004. Point Based lated as:
Animation of Elastic, Plastic and Melting Objects. Proceedings of the 2004 ACM De = 2GT + Kδ ⊗ δ, (31)
SIGGRAPH/Eurographics Symposium on Computer Animation (2004), 141–151.
Matthias Müller, Barbara Solenthaler, Richard Keiser, and Markus Gross. 2005. Particle- where T = I − 1δ
⊗ δ, is the fourth-order deviatoric tensor. The
Based Fluid-Fluid Interaction. Proceedings of the 2005 ACM SIGGRAPH/Eurographics 3
Symposium on Computer Animation (2005), 237–244. plastic potential function д specifies the direction to which the plas-
Rahul Narain, Abhinav Golas, and Ming C. Lin. 2010. Free-flowing granular materials tic strain develops. The plastic strain rate tensor may be computed
with two-way solid coupling. ACM Trans. Graph. 29, 6 (Dec. 2010), 173:1–173:10.
Jinho Park, Younghwi Kim, Daehyeon Wi, Nahyup Kang, Sung Yong Shin, and Junyong
by using the plastic flow rule:
Noh. 2008. A Unified Handling of Immiscible and Miscible Fluids. Computer
∂д
Animation and Virtual Worlds 19, 3-4 (Sept. 2008), 455–467. ϵ˙p = λ̇ . (32)
Andreas Peer, Markus Ihmsen, Jens Cornelis, and Matthias Teschner. 2015. An Implicit ∂σ
Viscosity Formulation for SPH Fluids. ACM Trans. Graph. 34, 4 (Jul. 2015), 114:1–
114:10. Thus, substituting Equation (32) into Equation (30) gives:
Bo Ren, Yuntao Jiang, Chenfeng Li, and Ming C. Lin. 2015. A simple approach for
∂д
σ̇ = De : ϵ˙ − λ̇
bubble modelling from multiphase fluid simulation. Computational Visual Media 1,
. (33)
2 (2015), 171–181. ∂σ
Bo Ren, Chenfeng Li, Xiao Yan, Ming C. Lin, Javier Bonet, and Shi-Min Hu. 2014.
Multiple-fluid SPH simulation using a mixture model. ACM Trans. Graph. 33, 5 (Sept. During the plastic flow, the stress state must remain on the yield
2014), 171:1–171:11.
H.F. Schwiger. 1994. On the Use of Drucker-Prager Failure Criteria for Earth Pressure
surface (see Figure 6). Thus, the consistency condition must be
Problems. Computer and Geotechnics 16, 3 (1994), 223–246. satisfied:
X. Shao, Z. Zhou, N. Magnenat-Thalmann, and W. Wu. 2015. Stable and Fast Fluid-Solid ∂f
Coupling for Incompressible SPH. Comput. Graph. Forum 34, 1 (Feb. 2015), 191–204. df = : σ̇ = 0. (34)
Barbara Solenthaler and Renato Pajarola. 2008. Density contrast SPH Interfaces. Proceed- ∂σ
ings of the 2008 ACM SIGGRAPH/Eurographics Symposium on Computer Animation This equation ensures that the new stress state σ + dσ still satisfies
(2008), 211–218.
Barbara Solenthaler and Renato Pajarola. 2009. Predictive-Corrective Incompressible the yield criterion after loading:
SPH. ACM Trans. Graph. 28, 3 (Jul. 2009), 40:1–40:6.
f (σ + dσ ) = f (σ ) + d f = f (σ ). (35)
ACM Transactions on Graphics, Vol. 36, No. 6, Article 224. Publication date: November 2017.
A Unified Particle System Framework for Multi-Phase, Multi-Material Visual Simulations • 224:13
We use N and Q to represent the partial derivatives of f and д (see Table 3 summarizes determination of model parameters with
Equations (3) and (4)) with respect to σ for convenience: respect to friction angle ϕ, cohesive coefficient kc , and dilatancy
∂f 1 ∂д 1 angle ψ [Wang and Sitar 2004].
N := = √ s + αδ, Q := = √ s + βδ . (36)
∂σ 2S ∂σ 2S Table 3. Model parameter determination.
Substituting Equation (33) into Equation (34) gives:
N : De : ϵ˙ − λ̇Q = 0, α β γ
(37) D-P approximation
2 sin ϕ 2 sin ψ 6k cos ϕ
Compression Cone √ √ √ c
and thus: 3(3−sin ϕ ) 3(3−sin ψ ) 3(3−sin ϕ )
Mohr-Coulomb
σ3 σ2
Internal cone
Extension cone
ACM Transactions on Graphics, Vol. 36, No. 6, Article 224. Publication date: November 2017.