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.
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
- Level-Set Method
- Marker-And-Cell(MAC) Method
- Convection Riemann solver
- Smoothed-Particle Hydrodynamics (SPH)
- Eulerian solver
- FFT
- Interactive surface flow
- PIC / FLIP