Skip to content

Self advection, external force and pressure solve to a velocity field represented by a MaC grid.

License

Notifications You must be signed in to change notification settings

damian-666/Fluid_Simulation

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fluid_Simulation

Implemented

  • Staggered MAC Grid
  • Different advection schemes
    • Semi Lagrangian advection with
      • Bilinear interpolation
      • Runge Kutta and Euler solver
    • PIC advection with bilinear interpolation
    • FLIP advection with bilinear interpolation
    • PIC / FLIP combination
  • Pressure solve using the conjugate gradient method with the linear algebra library "Eigen"
  • Enforce Dirichlet boundary condition
  • Marker particles for air/fluid separation
  • Velocity extension using brute force search through grid

Examples:

Youtube video of real time simulation:

Real time fluid simulation

Not Yet Implemented

  • Adaptive time steps
  • Vorticity confinement
  • Make sure marker particles are outside of obstacles
  • Other interpolation alternatives (quadratic, cubic, Catmull Rom)
  • Other air/fluid separation techniques (for example level set)
  • 3D simulation

About

Self advection, external force and pressure solve to a velocity field represented by a MaC grid.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 90.2%
  • CMake 7.7%
  • C 1.1%
  • GLSL 1.0%