前几天听说Palabos更新到2.1版本,问了一下果然出了RBC相关的模拟,令人意外的是这次更新还添加了GPU加速的部分。因期待许久迫不及待,便抽出时间,抢先体验一下该算例的效果。
本次算例体验运行于Ubuntu 18.04系统,未使用gpu运算。
程序目录
showcase/bloodFlowDefoBodies
总体的运行步骤
Step1: cmake编译
Step2: 生成CPs文件夹,或者提供initialPlacing.pos文件
Step3: 运行对应的血液流体程序(即判断是shear还是poiseuille的xml文件)
CPs文件夹的作用
CPU版本下,配置好cellPacking_params.xml,随后输入mpirun -n X ./bloodFlowDefoBodies cellPacking_params.xml
,会生成CPs文件夹。
根据readme的信息,cellPacking会随机在流域内生成红细胞和血小板,并且在一定迭代后自己处理好碰撞和相互穿透,随后这些细胞的位置都会储存在CPs文件夹。
这个xml文件里可以设置各种参数,如尺寸,血细胞比容等。
initialPlacing.pos文件的作用
打开自带的initialPlacing文件,会发现仅有一行,第一个数字代表了细胞种类,1为血小板,0表示红细胞,随后三个数字为坐标,再随后三个数字表示角度。
以CPs_poiseuille.tar.gz为例
这个算例用于演示如何利用CPs文件夹来运行程序,此处的CPs文件夹直接通过解压获得。
解压该压缩包,得到CPs文件夹,又因为这是poiseuille流,所以cmake编译后,输入mpirun -n 4 ./bloodFlowDefoBodies poiseuille_params.xml
。
我发现这个算例存在374个红细胞,74个血小板。所以4核运算时间预计过长,终止运算。
以case study为例
这个算例用于演示如何使用initialPlacing.pos来运行程序。个人来说我更倾向于这个方法,因为它似乎更方便自定义红细胞的位置。
该算例涉及到1个红细胞和一个障碍物,可以通过paraview看到红细胞遇到障碍物后的变形。
cmake编译之后,输入mpirun -n 4 ./bloodFlowDefoBodies obstacle_params.xml
,随后程序运行,tmp文件夹便会储存这个红细胞的数据。