|
LAMMPS讲解72-耗散粒子动力学简单流动耗散粒子动力学是专为流体而开发的介观粗粒化模拟方法。通过将全原子尺度下的多个原子粗粒化为一个粒子,从而降低体系的自由度个数,提升计算效率。该方法中被抹除掉的自由度由一对满足涨落-耗散定理的耗散力和随机力进行描述。这也是耗散粒子动力学的名字的由来。耗散粒子动力学经过多年发展已经开发出适用于体相流体的耗散粒子动力学、适用于自由界面模拟的多体耗散粒子动力学,适用于传热模拟的能量耗散粒子动力学等。本专题主要介绍原始的耗散粒子动力学。 在LAMMPS中主要通过pair dpd进行基础或原始耗散粒子动力学模拟。pair dpd会包含三部分力:保守力,耗散力和随机力。其中耗散力和随机力组合起来起到了温度控制器的作用。因此在耗散粒子动力学中系综一定要采用fix nve。耗散粒子动力学最简单的例子就是模拟通道流,即两无限大平行平板间的层流现象。在耗散粒子动力学中比较重要的是边界条件的设置。为了模拟固液之间滑移现象,即通过参数控制实现不同程度的滑移:从无滑移到无限滑移,研究者提出了很多方法,如固定粒子法,虚拟耗散边界法等。本节通过具体的in文件讲解来介绍。 ######基本模拟规则设置######### units lj #耗散粒子动力学中统一采用无量纲化单位 dimension 3 boundary p p p neighbor 0.3 bin neigh_modify delay 0 every 1 chech yes atom_style atomic #如果没有键直接采用这个最简单的原子类型 pair_style dpd 1.0 2.5 546564 #温度一般设定为1 comm_modify vel yes #需要这条命令来使得ghost原子存储速度信息 #######定义几何模型########## region box block -20 20 -20 20 -20 20 units box create_box 2 box region upwall block -20 20 -20 20 15 20 units box lattice fcc 12 #为防止流体原子从壁面中逃逸出去,壁面的密度要设置很大 create_atoms 1 upwall region downwall block -20 20 -20 20 -20 -15 units box lattice fcc 12 #为防止流体原子从壁面中逃逸出去,壁面的密度要设置很大 create_atoms 1 downwall region fluid block -20 20 -20 20 -15 15 units box lattice fcc 3 #流体的密度一般设置为3,也可以设置为其他值,这和你的杜丽华程度有关 create_atoms 2 fluid ########定义物理模型############## pair_style 1 1 3.0 1.0 #保守力和耗散系数的大小可以用来控制流体的可压性和粘度 pair_style 1 2 3.0 1.0 #壁面原子和流体原子之间的保守力可以用来防止流体逃逸出壁面,如果发现有原子深入壁面了,这个值就可以扩大。壁面原子和流体原子之间的耗散系数可以用来控制滑移程度,如果是0就是无限滑移,如果很大就是无滑移 #######定义分组信息######### group wall type 1 group fluid type 2 #######弛豫部分####### timestep 0.01 #由于时粗粒化,保守力是有限值,所以时间步可以大一点 thermo 1000 thermo_style custom step temp thermo_modify flush yes velocity fluidcreate 1.0 3265456 rot yes dist gaussian loop local dump 1 all custom 10000 dump.lammpstrj id type x y z fix fxnve fluid nve #只需要把壁面不包含在任何系综中,壁面就会保持不动 run 1000000 write_restart restart.equ ######开始Poiseuille流动模拟######### fix 1 fluid addforce 0.01 0.0 0.0 #驱动力不能太大,否则温度为控制不住。由于耗散粒子动力学的温度控制是动量守恒的所以不需要排除质心速度进行温度控制 run 1000000 ########统计速度分布和密度分布##### compute layers all chunk/atom bin/1d z lower 0.01 units box fix ave all ave/chunk 1 1000000 3000000 layers density/number vx file vx_rho.profile run 1000000 计算得到的结果就可以使用讲义纳米流动部分进行粘度计算和其他分析。
感谢鲍路瑶老师的分享,内容来自于鲍老师分享出来的资料 如有需要添加微信:lmp_zhushou 进入微信群,帮助他人,共建社区 获取完整版lammps讲义可以加微信lmp_zhushou或加入QQ群994359511 |