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.
👀 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.
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.
- Taichi's documentation: Link
- SIGGRAPH 2020 course on Taichi basics: YouTube, Bilibili, slides (pdf).
- 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
- Convection Riemann solver
- Smoothed-Particle Hydrodynamics (SPH)
-
Eulerian solver
-
Stable fuilds
-
FFT
-
Interactive surface flow
-
PIC / FLIP
-
MPM
- 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
- Neural Fluid Fields