Lammps动态删除反应产物分子的方法

学术   科技   2024-11-04 10:01   山东  
大家好,我是小马老师。
本文介绍lammps反应势模拟过程中动态删除产物分子的方法。
lammps reaxff反应势可以模拟分子间的化学反应,fix reaxff/species命令可以输出反应过程中的产物信息。
在2022之后的lammps版本中,这个命令新增了delete关键词,使用这个命令,可以动态删除反应过程中的分子。
对应的命令格式为:
delete value = filedel keyword value  filedel = name of delete species output file  keyword = specieslist or masslimit    specieslist value = Nspecies Species1 Species2 ...      Nspecies = number of species in list    masslimit value = massmin massmax      massmin = minimum molecular weight of species to delete      massmax = maximum molecular weight of species to delete
filedel:删除的分子信息保存到该文件中
specieslist:设置按产物名字删除产物分子,例如要删除2类分子:CO和CO2
fix 1 all reaxff/species 1 100 100 species.out delete species.del specieslist 2 CO CO2
masslimit:按mass范围删除产物,例如删除mass为0-50之间的分子:
fix 1 all reaxff/species 1 100 100 species.out delete species.del masslimit 0 50

下面in文件为氢气燃烧代码,在模拟过程中,动态删除水分子,对应的代码为:
units    realatom_style  chargeread_data  H2_O2.datapair_style  reaxff NULLpair_coeff  * * ffield.reax.cho H Ofix         q all qeq/reax 1 0.0 10.0 1e-6 reaxffneighbor  2 binneigh_modify  every 10 delay 0 check notimestep  0.25
dump 1 all atom 100 mini.xyzminimize 1e-8 1e-8 10000 10000undump 1reset_timestep 0
velocity all create 1000 98981fix 2 all reaxff/species 1 100 100 species.out element H O delete species.del specieslist 1 H2O dump 1 all atom 100 nvt.xyzfix 1 all nvt temp 1000 1000 25 run 10000
模拟完成后,species.out保存对于步数删除的水分子数量:
Timestep  H2O100  9200  1300  1400  2500  3700  1800  3900  11000  1
在ovito中,查看总原子数,也可以看出,随着模拟过程的进行,总原子数越来越少,说明此命令确实能够动态删除产物分子。
---------- End -----------

报名一对一培训课程可领完整版《lammps中文教程》,配套学习更轻松!

自编lammps教程第3版发布,600页,上册免费领

扫码领取粉丝专属优惠券↓↓↓

免费试听:Cu融化模拟代码编写及启动运算方法
课程介绍:lammps一对一入门与进阶课程
lammps科研合作、培训、咨询请加:
微信:lammps365
QQ群:236862503

lammps加油站
免费分享lammps教程和lammps案例代码,专属一对一lammps培训
 最新文章