2D FVM Compressible CFD Solver for multiblock structured mesh in Taichi language
主要目标
- 尝试Taichi语言的特性,如向量化,data oriented feature,自动并行,meta programming等
- 构建FVM形式的CFD求解器的startup framework
- 主要基于可压缩流体
- FVM及支持多块网格,以用于更复杂的边界外形和网格变形
Features
- FVM, structured
- Euler and Navier-Stokes equations (
WIP, laminar diffusion coefficients, validation still needed with test cases
) - Convection Riemann solvers: van Leer / modified Roe / Roe-RHLL methods (
Validation still needed
) - Interpolation / cell integration with adjacent cells (
Currently simple 1st to quasi-2nd order
) - RK3 time marching
- Dual time marching with RK3 (
WIP, convergence problems exist and validations are needed
) - Virtual votexes
- Interconnection boundary data transfer between block surfaces
- Simple GUI and plot output on-the-fly
测试用例
supersonic wedge
blunt shock wave around cylinder
forward-facing step
后续问题及感想
- Bug fixes
- Can Taichi’s autodiff feature be applicated on FVM?
- 高阶方法,Multigrid,Implict等实现
- Unstructured mesh FVM
- Levelset, multiphase simulations, fluid-solid interactions, etc.
关于Taichi的语法,文档及使用上遇到的问题,之后再总结