Skip to content

HinaFlow is a Houdini HDK based, open-source framework targeted at fluid simulation research in Computer Graphics and Machine Learning.

License

Notifications You must be signed in to change notification settings

HinaPE/HinaFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HinaFlow

HinaFlow logo

HinaFlow is a Houdini HDK based, open-source framework targeted at fluid simulation research in Computer Graphics and Machine Learning.

HinaFlow is a recursive acronym for "HinaFlow is not a Fluid Learning Optimization Workflow".

Key Features

Differentiable Fluid Solver and Deep Learning based Fluid Solver in Houdini

HinaFlow runs on two contexts: Houdini and Python. Either context uses Houdini HDK nodes. (No Houdini's Python node)

  • When running on pure Houdini, you can purely use HinaFlow's HDK nodes as a extended Houdini Digital Asset. There is no difference from the original Houdini workflow.
  • When running on Python context, you can take full advantage of the whole Python ecosystem, including PyTorch, TensorFlow, NumPy, etc, and build your own fluid simulation pipeline.
  • The two contexts are fully compatible with each other. You can switch between them at any time.

For example, you can easily create a Differentiable Fluid Solver using PyTorch, or even create a FluidGAN using PyTorch.

In Hinaflow, we mainly use phiflow as the backend for fluid simulation, which is a fully differentiable fluid simulation framework, with PyTorch, JAX and TensorFlow backends.

Build Instructions

Before building the project, make sure you have installed Houdini.

  • First, clone the repository
    git clone https://github.com/HinaPE/HinaFlow.git
    cd HinaFlow
  • Then, change Houdini_PATH in FindHoudini.cmake to your Houdini installation path.
  • Build the project using CMake
    cmake -B build -S .
    cmake --build build
  • Finally, open Houdini, create a DOP network, then you can find HinaFlow nodes in the tab menu under Digital Assets directory.

Setup python(hython) context for Houdini

If you want to use python context, you need to install the external dependencies for houdini built-in python (i.e. hython)

  • Install pip for hython, and install torch and phiflow (or other necessary packages you want)
    curl https://bootstrap.pypa.io/get-pip.py -o ./get-pip.py
    hython get-pip.py
    hython -m pip install --upgrade pip setuptools
    hython -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 # Note: change torch version according to your cuda version
    hython -m pip install phiflow

References

Papers

PhD Dissertations

  • Eckert, Marie-Lena. “Optimization for Fluid Simulation and Reconstruction of Real-World Flow Phenomena (Optimierung für Fluidsimulationen und Rekonstruktion von realen Strömungsphänomenen).” (2019).

Course Notes

  • Bridson, Robert and Matthias Müller-Fischer. “Fluid simulation: SIGGRAPH 2007 course notesVideo files associated with this course are available from the citation page.” ACM SIGGRAPH 2007 courses (2007): n. pag.
  • Ihmsen, Markus, Jens Orthmann, Barbara Solenthaler, Andreas Kolb and Matthias Teschner. “SPH Fluids in Computer Graphics.” Eurographics (2014).

Eulerian Fluids

  • Stam, Jos. “Stable fluids.” Proceedings of the 26th annual conference on Computer graphics and interactive techniques (1999): n. pag.
  • Stam, Jos. “Real-Time Fluid Dynamics for Games.” (2003).

Lagrangian Fluids

  • Macklin, Miles and Matthias Müller. “Position based fluids.” ACM Transactions on Graphics (TOG) 32 (2013): 1 - 12.
  • Weiler, Marcel, Dan Koschier and Jan Bender. “Projective fluids.” Proceedings of the 9th International Conference on Motion in Games (2016): n. pag.

Learning/Optimisation Fluids

  • Gregson, James, Michael Krimerman, Matthias B. Hullin and Wolfgang Heidrich. “Stochastic tomography and its applications in 3D imaging of mixing fluids.” ACM Transactions on Graphics (TOG) 31 (2012): 1 - 10.
  • Eckert, Marie-Lena, Wolfgang Heidrich and Nils Thürey. “Coupled Fluid Density and Motion from Single Views.” Computer Graphics Forum 37 (2018): n. pag.
  • Inglis, Tiffany, Marie-Lena Eckert, James Gregson and Nils Thürey. “Primal‐Dual Optimization for Fluids.” Computer Graphics Forum 36 (2016): n. pag.
  • Holl, Philipp, Vladlen Koltun and Nils Thuerey. “Learning to Control PDEs with Differentiable Physics.” ArXiv abs/2001.07457 (2020): n. pag.

Repositories

About

HinaFlow is a Houdini HDK based, open-source framework targeted at fluid simulation research in Computer Graphics and Machine Learning.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published