欧拉视角下的纯网格烟雾模拟,pic网格和粒子混合法,mpm混合粒子有限元法
之前做了了Position base dynamic光滑粒子法流体和离散元法法的练习,那些方法都是基于拉格朗日视角的模拟过程质保正粒子之间相互作用的物理守恒:动量,质量,角动量等守恒
本着入门就把常见方法都试一下的和taichi老师推荐的路线,最近把基于欧拉网格的方法也试了一下
欧拉视角把当前空间划分成一个个网格,利用了力场的概念,网格中每个格子在xyz方向都有不同的速度(加速度),粒子在场内的运动会遵循场的加速度来改变当前速度和方向
例如:
原本的(只显示粒子)
显示出网格(注意粒子都被框在一个个的小格子里)
演示网址:https://matthias-research.github.io/pages/tenMinutePhysics/18-flip.html
所以:为什么要用网格? 答:更好的处理projection(也就是相互作用,和限制条件)
TODO此处添加视频
1. SPH固流耦合 https://github.com/mrzhuzhe/Reisen/blob/main/sph/main.py
2. 纯欧拉法烟雾https://github.com/mrzhuzhe/Reisen/blob/main/euler/test.py
3. 欧拉混合拉格朗日流体(dt不能太大)https://github.com/mrzhuzhe/Reisen/blob/main/euler/pic.py
4. 3d Partical in cell flip apichttps://github.com/mrzhuzhe/Reisen/blob/main/flip/3d_pic.py
5. mpm https://github.com/mrzhuzhe/Reisen/blob/main/mpm/2_compare.py
代码大量借鉴了
遇到的问题
流程