Awesome
A collection of CFD related resources for Taichi developers.
Taichi is an open-source, imperative, parallel programming language for high-performance numerical computation. It is embedded in Python and uses just-in-time (JIT) compiler frameworks (e.g. LLVM) to offload compute-intensive Python code to the native GPU or CPU instructions.
Taichi provides several advantages over existing computational fluid dynamics tools:
- Performance: Through the @ti.kernel decorator, Taichi's JIT compiler automatically compiles your Python functions into efficient GPU or CPU machine code for parallel execution.
- Portability: Write your code once and run it everywhere. You can easily reproduce other's work without worrying about environment setup.
- Simplicity: Data structure detached from computational logic. Tuning performance with only a few lines of change.
:eyes: All fluid simulation projects in Taichi are driven by and for the community. Please feel free to open up an issue to recommend any awesome fluid project you see or build.
Contents
Installation of Taichi
You can easily install Taichi with Python's package installer pip
:
pip install taichi
After you have installed Taichi, running a Taichi program is as simple as:
python your_program.py
More information can be found in Taichi's Documentation.
Learning Resources
- Taichi's documentation: Link
- SIGGRAPH 2020 course on Taichi basics: YouTube, Bilibili, slides (pdf).
CFD Projects in Taichi
Incompressible Fluids
- SIMPLE Method
- Lattice-Boltzmann Method
- LBM_Taichi by @hietwll
- taichi-LBM by @Gecao
- taichi_LBM3d by @yjhp1016
- mcmp-lbm by @geoelements
- Level-Set Method
- Marker-And-Cell (MAC) Method
- Volume-Of-Fluid (VOF) Method
Compressible Fluids
- Convection Riemann solver
Particle Based Methods
- Smoothed-Particle Hydrodynamics (SPH)
Computational Graphics
-
Eulerian solver
-
Stable fuilds
-
FFT
-
Interactive surface flow
-
PIC / FLIP
-
MPM
Fluid Engine
- taichi-particles by @taichi-dev
- taichi_fluids by @taichi-dev
- a-toy-fluid-engine by @Jack12xl
- Fluid-Engine-Dev-on-Taichi by @JYLeeLYJ
- FluidLab by @zhouxian
Artificial Intelligence
- Neural Fluid Fields