岩土工程中MLS-MPM的应用

岩土工程博0一枚,也是数值算法开发的小白,被taichi简洁优雅的代码以及精美的效果吸引。于是我趁着毕业的空档研究了taichi的一些关于模拟的项目,比如SPH和MPM,发现图形学在本构计算中常用的一些变量和我们有较大的差别,比如我们在工程中会经常遇到到柯西应力张量,偏应力,偏应变等这些变量。

于是我冷饭新炒,对张雄老师一篇关于MPM的文章:Zhang X, Chen Z, Liu Y. The material point method: a continuum-based particle method for extreme loading cases[M]. Academic Press, 2016 进行复现,实现了非关联流动D-P砂土模型的MLS-MPM。

同时也参考了蒋老师文章中从粒子应力计算网格节点力的策略:Jiang C, Schroeder C, Teran J, et al. The material point method for simulating continuum materials[M]//Acm siggraph 2016 courses. 2016: 1-52. 另外边界加上了摩擦(感谢 g1n0st)。

二维的效果看起来还行,可是三维的就有点勉强(如果代码没错的话)。

2D_SAND_ALL
3D_SAND_ALL

代码托管在:GitHub - AUTUMN9452/MLS_MPM_sand_DPmodel: Application of the DP constitutive model to the MLS-MPM
总结:欢迎各个领域的大佬提提意见和交流 :smiling_face_with_three_hearts:,土木老铁代码水平有限,后面有空再写写砂-水的耦合。

3 个赞

您好,请问我使用张雄老师中有限元的形函数,1/4*(1-kexi)*(1-eta),假如affine映射速度发现会爆炸,请问能加您一个微信一起讨论吗

请问用的是单精度还是双精度

发现2D sand的代码中放射速度C的更新漏除了一个dx,抱歉 :innocent:

同学您好!加我945219576交流!!我也初学不久 :smiling_face:

1 个赞

修改完后看起来沙子的流动看起来更加顺滑了

2D_sand_all

最近也写了个采用柯西应力更新的流体代码,与MPM99里面的效果类似。
2D_water_all

1 个赞

您好!我正在做有关水土耦合物质点法的相关工作,目前是直博一年级请问方便添加微信进行讨论吗?我的微信号是Solar_IVY,非常感谢

非常赞!上面的联系方式是qq还是微信?

你好,我在模拟流体时遇到一些问题,可以加您的微信一起讨论吗

hello,我简单测试了一下楼主的代码,发现按照常规sand column collapse运行后的散体摩擦角结果与所设摩擦角相比较小,不知道为什么