今天给大家梳理一下已知的可以模拟固体开裂的几种数值计算的策略。
源自:https://link.springer.com/article/10.1007/s00170-020-05792-y
该方法通过将宏观物体视为大量微观颗粒的集 合体,以牛顿第二定律为理论基础,计算颗粒之间的运动,从而模拟宏观物体的开裂。
目前很多软件都可以做离散元模拟:
PFC 2D & 3D:岩土工程用得很多,缺点是没有GPU加速,大量粒子计算起来效率很低;
EDEM:农业科学、食品等领域用的多,有GPU加速;
Taichi:高性能的Python编程软件包,开源,有论坛,用的人很多;
YADE:开源的DEM软件,支持CPU并行计算和GPU加速。但是需要Linux系统才能编译。
通过把断裂看成一个标量场,通过泊松形式的偏微分方程计算固体开裂,也支持多场耦合的开裂,缺点是需要稠密的网格,计算量很大。
以下是可以做的软件:
Abaqus:通过用户子程序,可以做纯力学开裂,也可以做多场耦合的固体开裂。需要用到UEL;
COMSOL:直接利用现成的PDE接口即可;
JIVE:开源软件,支持很多的数值模拟方法,前提是需要Linux系统编译。
以上软件包都有开源的代码,网上都可以找到。
本质就是在有限元的基础上加入内聚力单元。通过在网格之间插入内聚力单元,破坏就发生在内聚力单元上。可以做固体开裂,也能做固体破碎,大变形等等。
目前支持的商业软件居多,大多都是在Munjiza的基础上写的代码:
Abaqus:如果有内聚力插件,可以插入内聚力单元,从而在商业软件中实现固体开裂的模拟;
MultifracS:中国地质大学严成增教授开发的,有多种版本供用户选择;
Irazu:多伦多大学课题组开发的,也是商业软件。
兼具了分子动力学的特点。本质上是一种粒子类的方法。
目前能做的软件很多,开源的,商业的都有,以下是其中的几种:
ABAQUS/ANSYS:通过二次开发,用UEL编写出近场单元做计算;
Peridigm:桑迪亚实验室Silling教授开发,需要Linux系统,支持并行计算,开源软件;
C++,Fortran和Matlab等编程语言实现。
本质都是粒子类的方法,大多用于大变形的模拟,以下是支持的软件:
MPM3D:清华大学张雄教授开发,支持并行计算,显式动力学,可以在网上申请试用版本;
SPHinXsys:C++语言编写的开源代码,支持SPH的多场耦合计算,支持GPU加速;
DualSPHysics:这个主要是做多相流的多,支持GPU加速。