Interlinked SPH Pressure Solvers for Strong Fluid-Rigid...
Transcript of Interlinked SPH Pressure Solvers for Strong Fluid-Rigid...
Interlinked SPH Pressure Solvers for Strong Fluid-Rigid Coupling
Copyright of figures and other materials in the paper belongs original authors.
Presented by Ki-hoon Kim
2019.10. 10
Computer Graphics @ Korea University
C. Gissler(University of Freiburg) et al.SIGGRAPH 2019
Ki-hoon Kim | 2019-11-12 | # 2Computer Graphics @ Korea University
• Introduction
• Method
• Result & Conclusion
Index
Introduction
Ki-hoon Kim | 2019-11-12 | # 4Computer Graphics @ Korea University
• Particle-sampled solids are a popular basis for boundary handling
• In iteration solvers, contact forces are only applied after solver
• This concept causes substantial issues in the two-way coupling
Introduction
Ki-hoon Kim | 2019-11-12 | # 5Computer Graphics @ Korea University
• Stabilize the handling of SPH fluid-rigid interfaces
• Fluid-rigid and rigid-rigid contacts are uniformly handled
With SPH Concept
• Our approach can be combined with iterative SPH solver
Contributions
Ki-hoon Kim | 2019-11-12 | # 6Computer Graphics @ Korea University
• Particle-Based Fluid Simulation for Interactive ApplicationsM.Muller et al. / SCA 2003
Show the interaction of fluids and deformable objects
Basic of SPH Fluid Simulation on CG
Related Work
SPH
Ki-hoon Kim | 2019-11-12 | # 7Computer Graphics @ Korea University
• Predictive-corrective Incompressible SPH(PCI-SPH)B. Solenthaler and R.Pajarola/SIGGRAPH 2009
Predict Pressure Force
Enforce 𝜌𝑛𝑒𝑥𝑡 = 𝜌0
• Implicit Incompressible SPH(IISPH)Markus Ihmsen et al./TVCG 2013
Predict Velocity Field
Enforce 𝛻 ∙ 𝐯𝑛𝑒𝑥𝑡 = 0
• Both methods adjust pressure Force.
Related Work
Iterative Pressure Solver
Ki-hoon Kim | 2019-11-12 | # 8Computer Graphics @ Korea University
• Versatile Rigid-Fluid Coupling for Incompressible SPHAkinci et al. / SIGGRAPH 2012
Boundary particles for the solid boundaries
Extends to two-way fluid-solid coupling
Contacts force is based on SPH Pressure
• Direct Forcing for Lagrangian Rigid-Fluid CouplingBecker et al. / TVCG 2009
Predictor-corrector Scheme
Only enforce correction of particle position
Related Work
SPH-Rigid Coupling
Method
Ki-hoon Kim | 2019-11-12 | # 10Computer Graphics @ Korea University
• 𝐅𝑟𝑓𝑟
and 𝐅𝑟𝑟𝑟 are only applied after the iterations
By using final pressure field
• 𝐯𝑟∗ is erroneous during the solver iterations.
Generic iterative pressure solver with the boundary handling
𝑙 : Iteration Step𝑝 : Pressure𝐯 : Velocity
Small 𝑓: FluidSmall 𝑟: Rigid Body
Upper *: Predicted
Algorithm 1
Ki-hoon Kim | 2019-11-12 | # 11Computer Graphics @ Korea University
• Forces at the fluid-rigid interface are not only applied to fluid.
• Update the velocity 𝐯𝑟∗,𝑙 in each iteration 𝑙.
• Improved predicted velocities 𝐯𝑟∗,𝑙 influence
Pressure refinement 𝑝𝒇𝑙
Fluid velocity 𝐯𝒇∗,𝑙
Iterative pressure solver with interleaved fluid-rigid update
Algorithm 2
Ki-hoon Kim | 2019-11-12 | # 12Computer Graphics @ Korea University
• We integrated the forces proposed by Akinci et al[2012]. and Band et al. [2018b]
Fluid-Rigid interface forces
Algorithm 2
Ki-hoon Kim | 2019-11-12 | # 13Computer Graphics @ Korea University
• 𝐅𝑟𝑟𝑟 based on artificial density deviations
𝐅𝑟𝑟𝑟 is contact force
• If there is a contact, we calculate a density 𝜌𝑟 > 𝜌𝑟0
𝜌𝑟 is density of rigid particle
𝜌𝑟0 is rest density of rigid particle
• Determine contact forces such that 𝜌𝑟 = 𝜌𝑟0 for all rigid particles
Contact force is artificial pressure force: −𝛻 ∙ 𝑝𝑟 𝑝𝑟 is artificial pressure
Rigid body solver
Ki-hoon Kim | 2019-11-12 | # 14Computer Graphics @ Korea University
• Proposed system derived from the continuity equation𝐷𝜌𝑟𝐷𝑡
= −𝜌𝑟𝛻 ∙ 𝐯𝑟
• Discretizing time with
A backward difference
Constraint that the density at 𝑡 + Δ𝑡
• 𝜌𝑟𝑛𝑒𝑥𝑡 = 𝜌𝑟
0
𝜌𝑟0−𝜌𝑟
Δ𝑡= −𝜌𝑟𝛻 ∙ 𝐯𝑟
𝑛𝑒𝑥𝑡 (Eq.1)
𝐯𝑟𝑛𝑒𝑥𝑡 is desired(Unknown) velocity at 𝑡 + Δ𝑡to obtain desired density 𝜌𝑟
𝑛𝑒𝑥𝑡 = 𝜌𝑟0
System of Rigid body Solver
Continuity Equation
Ki-hoon Kim | 2019-11-12 | # 15Computer Graphics @ Korea University
• 𝐯𝑟𝑛𝑒𝑥𝑡 can be written as
𝐯𝑟𝑛𝑒𝑥𝑡 = 𝐯𝑹
𝑛𝑒𝑥𝑡 +𝛚𝑅𝑛𝑒𝑥𝑡 × 𝐫𝑟
𝑛𝑒𝑥𝑡 (Eq. 2)
𝑅 is respective rigid body
𝐯𝑅 is linear velocity of 𝑅
𝛚𝑅 is angular velocity of 𝑅
𝐫𝑟 is vector from center of mass of 𝑅 to rigid particle
System of Rigid body Solver
Velocity Decomposition of Rigid particles
Ki-hoon Kim | 2019-11-12 | # 16Computer Graphics @ Korea University
• Using integration and Newton’s 2nd law, write 𝐯𝑹𝑛𝑒𝑥𝑡
𝐯𝑹𝑛𝑒𝑥𝑡 = 𝐯𝑅 + Δ𝑡
1
𝑀𝑅(𝐅𝑅 + Σ𝑘𝐅𝑘
𝑟𝑟) (Eq. 3)
𝑘 is rigid particle of 𝑅
𝑀𝑅 is mass of 𝑅
𝐅𝑅 : Comprises all momentum-changing except 𝐅𝒓𝑟𝑟
• Fluid-Rigid Interface force
• Gravity
• Etc.
• The angular velocity 𝝎𝑹𝑛𝑒𝑥𝑡 in (Eq. 2) can be written as
𝝎𝑹𝑛𝑒𝑥𝑡 = 𝝎𝑅 + Δ𝑡𝐈𝑅
−1(𝛕𝑅 + 𝐈𝑅𝛚𝑅 ×𝛚𝑅 + Σ𝑘𝐫𝑘 × 𝐅𝑘𝑟𝑟) (Eq. 4)
𝐈𝑅 is inertia tensor of 𝑅
𝛕𝑅 is all source torques except contact force
System of Rigid body Solver
Velocity Integration of Rigid body
Ki-hoon Kim | 2019-11-12 | # 17Computer Graphics @ Korea University
• Using (Eq. 2) to (Eq. 4), we write (Eq. 1) as
Unknown velocities are replaced by unknown rigid-rigid contact forces
• 𝐯𝑟𝑛𝑒𝑥𝑡 → 𝐅𝑘
𝑟𝑟
System of Rigid body Solver
Rewrite Continuity Equation
(Eq. 5)
Ki-hoon Kim | 2019-11-12 | # 18Computer Graphics @ Korea University
• Approximation 𝐫𝒓𝑛𝑒𝑥𝑡 = 𝐫𝑟
• The source terms 𝑠𝑟 =𝜌𝑟0−𝜌𝑟
Δ𝑡+ 𝜌𝑟𝛻 ∙ 𝐯𝑟
𝑠
𝐯𝑟𝑠 =
𝐅𝑅 and 𝛕𝑅 include the fluid-rigid interface forces and all forces
They do not include the rigid-rigid contact forces.
We assume to be constant.
System of Rigid body Solver
Assumption to Linearize
Ki-hoon Kim | 2019-11-12 | # 19Computer Graphics @ Korea University
• We move 𝑠𝑟 to left-hand side and leave the rigid-rigid contact force terms on the right-hand side.
• (Eq. 6) can be written as
𝐊𝑟𝑘 =1
𝑀𝑅𝕀 − 𝐫𝑟𝐼𝑅
−1 𝐫𝑘
𝕀 is the identity matrix
𝐫𝑟 is the skew-symmetric cross-product matrix of 𝐫𝑟• Ex) 𝐱 × 𝐲 = �ු�𝐲 [𝐱, 𝐲 are column vector, �ු� is matrix]
𝐊 is referred to as collision matrix and has been proposed before
System of Rigid body Solver
Linearize System(b=Ax)
(Eq. 6)
(Eq. 7)
Ki-hoon Kim | 2019-11-12 | # 20Computer Graphics @ Korea University
• We model the contact forces as pressure forces.𝐅𝑘𝑟𝑟 = −𝑉𝑘𝛻𝑝𝑘
𝑉𝑘 is artificial volume
𝑝𝑘 is unknown artificial pressure
• This pressure is only used for rigid-rigid contact
• (Eq. 7) can be written as
System of Rigid body Solver
Artificial Pressure
(Eq. 8)
Ki-hoon Kim | 2019-11-12 | # 21Computer Graphics @ Korea University
• We use SPH Interpolation
𝐴𝑖 = Σ𝑗𝑚𝑗
𝜌𝑗𝐴𝑗𝑊𝑖𝑗
𝐴 is arbitrary scalar quantity
𝑚 is mass
𝜌 is density
𝑊 is Kernel function
• Spatial derivatives
Gradient: 𝛻𝐴𝑖 = 𝜌𝑖Σ𝑗𝑚𝑗(𝐴𝑖
𝜌𝑖2 +
𝐴𝑗
𝜌𝑗2)𝛻𝑊𝑖𝑗
Divergence: 𝛁 ∙ 𝐀𝑖 =1
𝜌𝑖Σ𝑗𝑚𝑗(𝐀𝑖 − 𝐀𝑗)𝛻𝑊𝑖𝑗
Introduced in “Smoothed particle hydrodynamics and magnetohydrodynamics”Daniel J. Price /Journal of Computational Physics 2012
Implementation
SPH
Ki-hoon Kim | 2019-11-12 | # 22Computer Graphics @ Korea University
• Artificial Rest Volume
𝑉0𝑟 =
𝛾
Σ𝑘𝑊𝑟𝑘
𝛾 is user parameter. We use 0.7
• Artificial Rest Density
Artificial Rest Density is irrelevant for the simulation.
Implementation
Artificial Rest(Initial) Values
Ki-hoon Kim | 2019-11-12 | # 23Computer Graphics @ Korea University
• Artificial Density
𝜌𝑟 = 𝜌𝑟0𝑉𝑟
0Σ𝑘𝑊𝑟𝑘 or Σ𝑘𝜌𝑘0𝑉𝑘
0𝑊𝑟𝑘
If other objects are in contact, we get a density deviation
• 𝜌𝑟 > 𝜌𝑟0
• Artificial Volume
𝑉𝑟 =𝜌𝑟0𝑉𝑟
0
𝜌𝑟
Implementation
Compute Artificial Values
Ki-hoon Kim | 2019-11-12 | # 24Computer Graphics @ Korea University
• 𝑠𝑟 =𝜌𝑟0−𝜌𝑟
Δ𝑡+ 𝜌𝑟𝛻 ∙ 𝐯𝑟
𝑠
𝜌𝑟 has been computed.
• 𝐯𝑟𝑠 =
We can compute this term directly.
• Divergence term
Implementation
Compute 𝒔𝒓(Left-hand Side of (Eq. 8))
(Eq. 9)
Ki-hoon Kim | 2019-11-12 | # 25Computer Graphics @ Korea University
• Compute 𝜌𝑟𝛁 ∙ (Δ𝑡Σ𝑘𝑉𝑘𝐊𝑟𝑘𝛁𝑝𝑘)
• Step 1-1. Compute Gradient Pressure(Pressure Force)
• Step 2: Accumulates Velocity change per Rigid body
• Step 3: Compute Velocity change per Rigid Particle𝐯𝑟𝑟𝑟 = 𝐯𝑅
𝑟𝑟 +𝝎𝑟𝑟𝑟 × 𝐫𝑟
= −Δ𝑡Σ𝑘𝑉𝑘𝐊𝑟𝑘𝛁𝑝𝑘
• Step 4: Compute Divergence Using 𝐯𝑟𝑟𝑟 = −Δ𝑡Σ𝑘𝑉𝑘𝐊𝑟𝑘𝛁𝑝𝑘
Implementation
Compute (Right-hand Side of (Eq. 8))
Ki-hoon Kim | 2019-11-12 | # 26Computer Graphics @ Korea University
• We use a relaxed Jacobi solver
𝛽𝑟𝑅𝐽
is relaxation coefficient
• 𝛽𝑟𝑅𝐽
=0.5
𝑛𝑢𝑚_𝑐𝑜𝑛𝑡𝑎𝑐𝑡𝑠
𝑏𝑟 is diagonal elements of linear system
Implementation
Solver step
(Eq. 10)
Ki-hoon Kim | 2019-11-12 | # 27Computer Graphics @ Korea University
Combining fluid and rigid body solver
Algorithm 3
Result & Conclusion
Ki-hoon Kim | 2019-11-12 | # 29Computer Graphics @ Korea University
Result
Ki-hoon Kim | 2019-11-12 | # 30Computer Graphics @ Korea University
Performance Comparison(Akinci)
Part of Table2
Ki-hoon Kim | 2019-11-12 | # 31Computer Graphics @ Korea University
Performance Comparison(with bullet)
Table 3
Ki-hoon Kim | 2019-11-12 | # 32Computer Graphics @ Korea University
Stability Comparison(with bullet)
Table 3
Ki-hoon Kim | 2019-11-12 | # 33Computer Graphics @ Korea University
• The accuracy of the contact handling is related to the size of a rigid body and a fluid particle.
• The accuracy of the contact handling is coupled to the accuracy of the fluid simulation.
• Performance gain is reduced in
Scenarios with smaller density ratios
Calm scenes with slowly moving particles
Limitations
Ki-hoon Kim | 2019-11-12 | # 34Computer Graphics @ Korea University
• We have introduced a strong two-way coupling method
• The technique shares characteristics of a unified approach by solving pressure
• We solve a monolithic system, we show that it is a flexible and useful extension.
• In Future
Investigate the applicability of our concept to alternative Lagrangian fluid formulations.
Conclusion