Ariel Fluid Simulator
A PIC/FLIP fluid simulation with OpenVDB and Houdini integration
Overview
Ariel is an experimental fluid simulator I wrote from scratch to explore the popular PIC/FLIP fluid solver algorithm and to evaluate OpenVDB. Ariel supports arbitrary animated meshes as fluid starting volumes and as solid obstacles, and supports exact fluid-solid boundary finding through an integrated raycasting engine. Meshing can either be done natively in the simulator through OpenVDB, or through Houdini integration via Partio. This project is written entirely in C++.
This project has been under active development since 2013, although it is something more of a sandbox/hobby compared to the amount of focus I put into my main renderer project.
Features
Select Images and Videos
Acknowledgements
The beginnings of this project were overseen by Professor Doug James as part of his Computational Motion course at Cornell University. Friends Harmony Li, Dan Knowlton, and John DeCorato were invaluable sounding boards for various ideas.
Project Blog Posts
Progress updates for this project were posted to my development blog, Code & Visuals. The following posts detail the development of this project. Posts are listed starting with the most recent:
Resources
In the process of building my simulator, I drew upon the following papers and articles. They are listed in no particular order.
Animating Sand as a Fluid: The original PIC/FLIP graphics simulation paper by Zhu and Bridson.
OpenVDB: An open source hierarchical volumetric data structure and toolkit by Dreamworks Animation.
OpenVDB SIGGRAPH 2013 Course Notes: Useful presentations and notes on using OpenVDB and OpenVDB in industry.
VDB: High-resolution Sparse Volumes with Dynamic Topology: Ken Museth's original 2013 paper presenting OpenVDB.
Partio: An open source particle file format wrangling library by Walt Disney Animation Studios.
Fluid Simulation for Computer Graphics: The go-to reference book for fluid simulation, by Robert Bridson.