Suppose we have xp
and an evenly-spaced Eulerian grid xi.
Then associated with each (fixed) particle are a set of interaction weights
wpi that describe contribution of the value of a quantity qpn
stored at the particle position.
In typical MPM literature this is given by
N(x)=⎩⎨⎧21∣x∣3−x2+32,−61∣x∣3+x2−2∣x∣+3400≤∣x∣<11≤∣x∣<2otherwise
and Ni(x)=N(h1(x1−ih))N(h1(x2−jh))N(h1(x3−kh))
which impose
that points only apply to two neighbor points in each direction
We're chiefly concerned with the particle-to-grid and grid-to-particle transfers given by
minDpnminvin=p∑wi,pnmp=i∑wi,pn(xin−xpn)(xin−xpn)⊤=p∑wi,pnmp(vpn+Bpn(Dpn)−1(xin−xpn))
where Bp is transient and stored on particles. G2P reads as
vpn+1Bpn+1=i∑wi,pnvin+1=i∑wi,pnvin+1(xin−xpn)⊤.
Together these describe a material-agnostic treatment of p2g and g2p transfers.
In what follows, we make the definition Cpn=Bpn(Dpn)−1.
MLS reconstruction (before quadrature)
Suppose we have samples ui=u(xi).
To better condition the fit, we typically choose a base point x about which
to center our linear fit, which in MPM is typically particle positions.
If we have a (unconstrained) point z at which we want to approximate,
we can try to reconstruct the value based on P=[p1(z−x),…,pn(z−x)]⊤
as u(z)=P(z−x)⊤c(x). We choose to minimize ∑iξi(x)(P(xi−x)⊤c(x)−ui)
where ξi is an interaction kernel with compact support.
Solving this gives u(z)=ξi(x)P(z−x)M−1(x)P(xi−x)ui
with M=∑iξi(x)P(xi−x)⊤P(xi−x).
Essentially, the second term in the sum are the weights found by MLS and the
multiplication by P(z−x)⊤ follows from the equation above.
THis motivates the MLS shape functions Φi(z)=ξi(xp)P(z−xp)⊤M−1(xp)P(xi−xp)
Incompressible fixed corotated
Graphics implementations of MPM phrase constitutive relations
in terms of energy functionals.
The versatile one used in Stomakhin's work
uses a multiplicative plasticity flow law with F=FEFP.
The calculation of plastic deformation in the solid phase follows
from this work
where excess deformation (measured by singular values of F)
is passed into FP. In the fluid phase, we set
FE=(JE)d1I at the end of a time step, as deformation
is effectively fully plastic.
The vanilla form of the energy functional is
Ψμ(FE)Ψλ(det(FE))≡Ψλ(JE)=μ∥FE−RE∥F2=2λ(JE−1)2
This gets modified to be suitable for highly incompressible materials according to
Ψ^(FE)=Ψ^μ(FE)+Ψλ(JE), where Ψ^μ(FE)=Ψμ(JE−1/dFE)
which eliminates any contribution of the dilational component of deformation to Ψλ(FE)
Using concepts from hyperelasticity (see, e.g., this classic)
we find σμ=J1∂FE∂Ψ^μFE⊤.
This also indicates that an analogue of the Newtonian
stress-strain relationship is encoded by μ.
It's clear we're using the fluid-mechanical decomposition σ=σμ+σλ,
so we get by the chain rule
σλ=J1(∂JE∂Ψλ∂FE∂JE)FE⊤=JEJP1∂JE∂ΨλJEFE−⊤FE⊤=(JE1∂JE∂Ψλ)I≡−pI
Deviatoric stress is dealt with either implicitly or explicitly using the MLS-MPM treatment of
Δtv∗−vn=ρn1∇⋅σμ+g, resulting in gridpoint values of v∗.
In vanilla MPM, quantities needed to solve for pressure are then transfered to cell-centered grid points analogously to mass, e.g.
[JE]cn=mcn1p∑wc,pnmp[JE]pn.
This is the most important equation for determining a MLS-consistent
particle-to-grid for fluids.
MLS digression
The continuum momentum equation we're solving looks like
ρDtDv=∇⋅σμ+∇⋅σλ+ρg=∇⋅σμ−∇p+ρg
The weak form of this equation looks like
Δt1∫Ωnρ(vα∗−vαn)qαdx=∫∂ΩnTαqαds−∫Ωnσαβ∂xβ∂qαdx
Using the fact that ∇⋅(σq)=q⋅(∇⋅σ)+∇q:σ The derivation looks like
⟹⟹⟹⟹ρdtdv=∇⋅σ+ρg⟨ρdtdv,q⟩=⟨∇⋅σ,q⟩+⟨ρg,q⟩∫Ω⟨ρdtdv,q⟩dx=∫Ω⟨∇⋅σ,q⟩dx+∫Ω⟨ρg,q⟩dx∫Ω⟨ρdtdv,q⟩dx=∫Ω∇⋅(σq)dx−∫Ω∇q:σdx+∫Ω⟨ρg,q⟩dx∫Ω⟨ρdtdv,q⟩dx=∫∂Ω⟨σq,n⟩ds−∫Ω∇q:σdx+∫Ω⟨ρg,q⟩dx
Using the MLS shape functions qα=P⊤(x−xpn)M−1(xpn)P(x−xpn)
and using linear polynomials for P (APIC) and tensor-spline weights, we get
∂xβ∂qα=∂xβ∂P⊤(x−xpn)M−1(xpn)P(xi−xpn)=Mp−1Ni(xpn)(xi,β−xp,β)
Grid-space pressure correction:
The most economical grid-space equation for this (semi-incompressible) constitutive equation is
λnJEnJPnΔtpn+1−δt∇⋅(ρn1∇pn+1)=λnJEnJPnΔtpn−∇⋅v∗=λnJEnJPn⋅(−JPn1λn(JEn−1))−∇⋅v∗
which then gives a pressure correction vn+1=v∗+ρnΔt∇pn+1.