大家好,我是小马老师。
本文分享一个使用lammps模拟水分子在石墨烯狭缝内流动的案例。
案例由Simon Gravelle编写,Simon Gravelle已经发表了多篇lammps模拟论文,在其个人主页(https://simongravelle.github.io/)提供了lammps教程和案例代码下载,有兴趣的可以到他的个人主页看看。
案例模型如下图所示:
该案例包括了流体模拟的关键技术,如:
(1)水分子为tip4p类型水分子,在模拟中,使用fix addforce命令驱动水分子产生流动。
fix kick wat addforce ${frc} 0.0 0.0
(2)为防止石墨烯移动,使用以下命令保证石墨烯位置相对固定:
fix mymum Car momentum 1 linear 1 1 1
fix myrec Car recenter NULL NULL INIT
(3)水分子温度计算中,去掉了流动方向速度对温度的影响
compute ctN wat temp/partial 0 1 1
替换模型和势参数可用于其它流体的模拟。
案例下载地址:
https://github.com/simongravelle/lammps-input-files/tree/main/interfaces/water-in-graphene-slit
为方便不能下载的朋友,下面贴出in文件代码:
variable tem equal 300
variable frc equal 2e-4 # force to be applied to the water molecule
units real
atom_style full
bond_style harmonic
angle_style harmonic
dihedral_style opls
improper_style harmonic
boundary p p p
pair_style lj/cut/tip4p/long 1 2 1 1 0.105 10.0
kspace_style pppm/tip4p 1.0e-4
pair_modify mix arithmetic tail yes
special_bonds lj/coul 0.0 0.0 0.5 angle yes
read_data data.lammps
include PARM.lammps
group wat type 1 2
group Car type 3
fix myshk wat shake 1.0e-4 200 0 b 1 a 1
fix mynve all nve
compute ctN wat temp/partial 0 1 1 # only thermalise the water using ddl normal to the direction of the flow
fix myber1 wat temp/berendsen ${tem} ${tem} 100
fix_modify myber1 temp ctN
compute ctM Car temp
fix myber2 Car temp/berendsen ${tem} ${tem} 100
fix_modify myber2 temp ctM
fix kick wat addforce ${frc} 0.0 0.0
fix mymum Car momentum 1 linear 1 1 1
fix myrec Car recenter NULL NULL INIT
dump dp1 all atom 1000 dump.lammpstrj
timestep 2.0
thermo 1000
run 50000
公众号:lammps加油站