meatballs smoothed particle hydrodynamic
play

Meatballs - Smoothed Particle Hydrodynamic Overview Simulator and - PowerPoint PPT Presentation

Meatballs Jennine Nash and Thomas Klein Meatballs - Smoothed Particle Hydrodynamic Overview Simulator and Renderer Goals SPH Solver Equations Why CUDA? Jennine Nash and Thomas Klein Results References Carnegie Mellon University


  1. Meatballs Jennine Nash and Thomas Klein Meatballs - Smoothed Particle Hydrodynamic Overview Simulator and Renderer Goals SPH Solver Equations Why CUDA? Jennine Nash and Thomas Klein Results References Carnegie Mellon University jmnash@andrew.cmu.edu, twklein@andrew.cmu.edu May 9, 2014

  2. Overview Meatballs Jennine Nash and Thomas 1 Overview Klein Overview 2 Goals Goals SPH Solver Equations 3 SPH Solver Equations Why CUDA? Results 4 Why CUDA? References 5 Results 6 References

  3. SPH Overview Meatballs Jennine Nash and Thomas Klein SPH is used to model liquid flows Overview Goals Too computationally intensive to simulate billions of SPH Solver particles or a truly continuous flow Equations Why CUDA? SPH creates discrete particles which function as moving Results bodies of fluid References Kernel function updates a particles’ properties based on the values of other nearby particles

  4. Goal of the Project Meatballs Jennine Nash and Thomas Klein Overview Realistic-looking liquid particle simulator using a Goals SPH Solver smooth-particle hydrodynamics solver Equations Implemented on both the CPU and GPU (with CUDA) Why CUDA? Results Compare implementation runtimes to each other to References determine the benefit of using CUDA

  5. Properties of Each Particle j Meatballs Jennine Nash and Thomas Klein Position r j Overview Velocity v j Goals SPH Solver Pressure P j Equations Density ρ j Why CUDA? Results Mass m j References Each property (with the exception of mass) is updated according to the values of the properties of the other particles

  6. Kernel Function Limits Which Particles Affect Each Other Meatballs Jennine Nash and Thomas Klein For two particles i and j , x = | r i − r j | Overview h is a smoothing constant adjusted to determine the Goals distance over which particles have effects SPH Solver Equations Let x = r h Why CUDA? 2 x 2 + 3  1 − 3 4 x 3 0 ≤ x ≤ 1 Results   References 1 4 (2 − x ) 3 1 W ( r , h ) = 1 ≤ x ≤ 2 π h 3  0 x ≥ 2  [Cossins, 2010]

  7. Kernel Function Limits Which Particles Affect Each Other Meatballs Jennine Nash and Thomas ∇ W ( r , h ) = ∂ Klein ∂ r W ( r , h ) 4 x 2 − 3 x  9 0 ≤ x ≤ 1 Overview   Goals 1 − 3 4 (2 − x ) 2 = 1 ≤ x ≤ 2 π h 4 SPH Solver  0 x ≥ 2 Equations  Why CUDA? [Cossins, 2010] Results ∂ r j W ( | r i − r j | , h ) = ∇ W ( r , h ) ∂ | r i − r j | ∂ ∇ j W ij = References ∂ r j = ∇ W ( r , h ) 1 r ( r i − r j ) ∇ i W ij = −∇ j W ij ∇ j W ji = −∇ j W ij

  8. Property Update Functions are Performed at Each Time Step Meatballs We defined a small global time step ∆ t Jennine Nash and Thomas Klein All values on the right-hand sides of the equations were calculated during the previous time step Overview Goals Position: r j := r j + ∆ t v j SPH Solver �� � � � Equations P j j + P i Velocity: v j := v j − ∆ t ∇ j W ji + g m i ρ 2 ρ 2 Why CUDA? i i Results where g is the gravity vector [Cossins, 2010] References Density: ρ j := � m i W ji (density effectively changes due i to particles being close together) [Schechter, 2012] �� ρ j � � 7 Pressure: P j := 2000 − 1 where ρ 0 is density ρ 0 based on the mass and volume [Schechter, 2012]

  9. CUDA Best Utilizes Parallelism in Algorithm Meatballs Jennine Nash and Thomas Klein Overview Works well with CUDA warps because unlikely to diverge Goals SPH Solver Each particle calls same functions, and kernel likely to be Equations skipped over in all 32 threads in the warp Why CUDA? Results Every particle is independent because computations only References depend on the time step before

  10. Animation of our Code’s Output Meatballs Jennine Nash and Thomas Klein Overview Goals SPH Solver Equations VIDEOS Why CUDA? Results References

  11. Graph: 4096 Particles on CPU vs. GPU Meatballs Jennine Nash and Thomas Klein Overview Goals SPH Solver Equations Why CUDA? Results References

  12. Graph: 256 Particles on CPU vs. GPU Meatballs Jennine Nash and Thomas Klein Overview Goals SPH Solver Equations Why CUDA? Results References

  13. References Meatballs Jennine Nash and Thomas Klein Overview Peter J. Cossins (2010) Goals Smoothed Particle Hydrodynamics SPH Solver http://arxiv.org/abs/1007.1245v2 Equations Why CUDA? Hagit Schechter and Robert Bridson (2012) Results Ghost SPH for Animating Water References ACM Transactions on Graphics 31(4), article 61 http://dl.acm.org/citation.cfm?doid=2185520.2185557

  14. Meatballs Jennine Nash and Thomas Klein Overview Goals SPH Solver Equations The End Why CUDA? Results References

Recommend


More recommend