|
流体绕过障碍物模拟#案例采用二维模型,边界条件为psp边界,y方向为自由边界,在模拟过程中也可以看到y方向尺寸会有变化。 dimension 2 boundary p s p atom_style atomic neighbor 0.3 bin neigh_modify delay 5 #晶格类型为hex类型,因为是二维模型,box在z方向尺寸只有0.5个晶格长度。box内包含3种类型的原子。 lattice hex 0.7 region box block 0 40 0 10 -0.25 0.25 create_box 3 box create_atoms 1 box #力场 pair_style lj/cut 1.12246 pair_coeff * * 1.0 1.0 1.12246 #原子分组,模型为最常见的流体模型,上下为边界层,中间为流体层 region 1 block INF INF INF 1.25 INF INF group lower region 1 region 2 block INF INF 8.75 INF INF INF group upper region 2 group boundary union lower upper group flow subtract all boundary #set语句把边界层的原子类型分别设为2和3。 set group lower type 2 set group upper type 3 #系综设置,体系内存在边界层,因此需要重新计算流体温度,在温度初始化及控温时所用温度为流体flow组温度,而不是全局温度。 compute mobile flow temp velocity flow create 1.0 482748 temp mobile #流体设置 #使用velocity和fix setforce命令固定下边界。 velocity boundary set 0.0 0.0 0.0 fix 3 lower setforce 0.0 0.0 0.0 #设定上边界upper组沿y负方向力为0.5 fix 4 upper setforce 0.0 NULL 0.0 fix 5 upper aveforce 0.0 -0.5 0.0 #fix addforce命令对flow组在x方向施加力,使其产生流动。 fix 6 flow addforce 1.0 0.0 0.0 #障碍物设置 #案例中的障碍物是两个球形的空心障碍物,分两步设置。 #首先删除两个球形区域内的原子。 region void1 sphere 10 4 0 3 delete_atoms region void1 region void2 sphere 20 7 0 3 delete_atoms region void2 #在这两个球形区域内设置两个虚拟球,用的命令和纳米压痕fix indent命令一样。区别是在这个案例中,这两个虚拟球的位置是固定的。 fix 7 flow indent 100 sphere 10 4 0 4 fix 8 flow indent 100 sphere 20 7 0 4 fix 9 all enforce2d #设置步长并运行,步长为0.003,轨迹文件保存到dump.xyz中,运行25000步。 timestep 0.003 thermo 1000 thermo_modify temp mobile dump 1 all atom 100 dump.xyz run 25000 |