lammps使用in文件进行分子动力学模拟

1.定义模拟的基本规则
dimension 3     #三维空间
boundary p p p  #周期性边界条件,三方向xyz
units real  #模拟单位,real单位系统
atom_style full  #原子信息
pair_style lj/cut/coul/long 10.0 10.0  #非键相互作用 长程库仑力 LJ(Lennard-Jones)势参数
bond_style harmonic  #简谐键
angle_style harmonic  #简谐角
dihedral_style opls  #二面角 optimized potentials for liquid simulations(OPLS) 液体体系
improper_style cvff  #离面角 一致性力场(consistent valence forcefield) 适用于各种多肽,蛋白质与大量有机分子
special_bonds li/coul 0.0 0.0 0.5
#3 个系数(LJ 或库仑)中的第一个是 1-2 个原子对的加权因子,它们是直接相互键合的原子对。第二个系数是 1-3 个原子对的加权因子,这些原子对由 2 个键隔开。第三个系数是 1-4 个原子对的加权因子,这些原子对由 3 个键隔开。
kspace_style pppm 0.0001  
#pppm埃瓦尔德方法(particle-particleparticlemeshewald,粒子-粒子-粒子网格埃瓦尔德方法)
2.定义对象的几何模型
read_data system.data
LAMMPS Description      #第一行描述信息

116803 atoms  #多少个atoms
70386 bonds #共多少个bonds
41643 angles #共多少个angles
13700 dihedrals #共多少个dihedrals
2550 impropers #共多少个impropers

191 atom types #子类
195 bond types 
356 angle types
548 dihedral types
102 improper types

0 97.92 xlo xhi   #x方向上下边界
0 97.92 ylo yhi   #y方向上下边界
 0 97.92 zlo zhi   #x方向上下边界
3.定义对象的物理模型
mass 1 12.001
mass 2 1.008  #定义一种或多种原子类型的原子质量

pair_coeff 1 1 0.066 3.5
pair_coeff 1 2 0.140 2.9
pair_coeff 2 2 0.210 2.96  #定义一对或多对原子类型的之间系数(非键相互作用)

bond_coeff 1 268.0 1.529  #定义一种或多种键类型的键力场系数

angle_coeff 1 50.0 109.5  #定义一种或多种角类型的角力场系数

dihedral_coeff 1 -1.220 -0.126 0.422 0.000  #定义一种或多种二面角类型的二面角力场系数

improper_coeff 1 10.500 -1 2#定义一种或多种离面角类型的离面角力场系数
4.定义分组信息
region fix block INF INF INF INF INF 10.0 units box  #定义空间几何区域,fix用户分配名称,block块状,xlo xhi ylo yhi zlo zhi
group fix region fix  #group将一组原子定义为一组 将区域fix的原子定义为fix组
group thermos type 1  #将类型1的原子定义为thermos组
group a1 id >=76  #将id大于76的原子定义为a1组
group sub id 100:10000:10  #将id从100到10000,增量为10的原子定义为sub组
group big molecule 123  #将123分子定义为big组
group polyA molecule <>50 250  #将50到250的分子定义为polyA组
group boundary subtract all a2 a3  #将所有原子减去a1组和a2组的原子定义为boundary组
group boundary union lower upper  #将lower组和upper组并集原子定义为boundary组
group boundary intersect upper flow  #将upper组和flow组交集原子定义为boundar组
group boundary delete  #将boundary组删除
group mine dynamic all region myRegion every 100 #每100时间更新,将myRegion的所有原子定义为mine组
5.定义对象的计算参数
minimize 0.0 1.0e-8 1000 100000  #能量最小化 (能量停止公差、力停止公差、最大迭代次数、最大评估次数) 
timestep 1.0  #时间步长 real单位fs
velocity all create 300.0 4928459 rot yes dist gaussian  
#velocity改变速度 all所有原子 create在300温度使用随机种子0.4928459生成速度集合 dist gaussian生成速度呈现平均值为0的高斯分布 rot yes角动量为零
thermo 100  #每100时间输出热力学信息
thermo_style custom step temp pe etotal press vol c_1 f_1[1] v_my  
#自定义(custom)输出参数,step时间步长 temp温度 pe总势能 etotal总能量(势能+动能) press压强 vol体积 c_1计算id=1的全局标量值 f_1[1]修复位置1的全局标量的第1个标量 v_my my等式变量的计算值
thermo_modify flush yes  #flush 关键字调用刷新操作,即使 LAMMPS 在模拟完成之前停止,这也确保了输出被更新并且不被缓冲
dump 1 all custom 10000 dump.lammpstrj id mol type mass x y z  
#1 指定的转储名称,每经过10000时间步长将所有原子的id mol type mass x y z信息存储在dump.lammpstrj
fix 1 all nvt temp 300 300 300  #1指定的修复名称,所有原子保持nvt系综,Nose/Hoover控温进行时间积分,开始温度300,结束温度300,温度阻尼系数300
run 1000000  #运行指定数量的时间步长
6.定义统计平均参数
compute 1 all stress/atom NULL  #compute定义一组原子的执行计算,1为指定的计算名称,所有原子的应力张量,NULL不需要计算温度
compute cc1 all chunk/atom bin/1d z 0.0 1.0 units box  #cc1为指定的计算名称,为所有的原子分配块ID,bin/1d 定义为1层,z方向开始0.0厚度1.0
fix 1 all ave/chunk 1 1000000 1000000 cc1 density/mass c_[1] norm sample file press.profile
#1指定的修复名称,计算所有原子每块时间的平均数量,每隔1时间步长使用输入值,使用输入值计算平均值1000000次,每1000000时间步长计算平均值,cc1为计算块的ID,数量或质量密度,ID为1的计算每个原子向量,输出样本平均值,储存press.profile文件中
run 100000
lammps模拟知识补充
#系综
fix 1 all nve  #1用户指定修复名称,NVE微正则系综(不修正),所有原子执行普通时间积分来更新每个原子的位置速度
fix 2 all temp/berendsen 300.0 300.0 100.0  #2用户指定修复名称,所有原子,Berendsen 恒温器,初始温度300,结束温度300,温度阻尼系数100
fix 3 all press/berendsen aniso 0.0 0.0 1000.0 dilate partial  #3用户指定修复名称,所有原子,Berendsen 恒压器,aniso表示应力张量的压强,初始压力0,结束压力0,压力阻尼系数1000,局部膨胀
fix 1 all nvt temp 300.0 300.0 100.0  #1用户指定修复名称,所有原子,nvt系综,初始温度300,结束温度300,温度阻尼系数100
fix 1 water npt temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0 dilate partial  #1用户指定修复名称,water原子组,npt系综,初始温度300,结束温度300,温度阻尼系数100,iso表示静水压力,初始压力0,结束压力0,压力阻尼系数1000,局部膨胀

#邻居列表
neighbor 3.0 bin  #bin通过binning 创建列表,超出力界限的额外距离
neigh_modify every 1 delay 0 check yes  #设置邻居列表的参数,每隔1步建立邻居列表,延迟为0步,yes只有某个原子移动skin距离的一半或者更多时才会创建

流动润湿模拟
fix 1 all nve
pair_style dpd/tstat 1.0 1.0 2.5 34387  #耗散粒子动力学(dissipative particle dynamics,DPD),
开始温度1.0,结束温度1.0,DPD全局界限值2.5,随机种子34387

#能量最小化固定原子
fix freeze indenter setforce 0.0 0.0 0.0  #freeze将粒子的扭矩和力归零,setforce设置xyz方向力分量都为0.0

#弛豫固定原子
fix freeze indenter setforce 0.0 0.0 0.0  
velocity indenter set 0 0 0 units box  #将indenter组的速度xyz方向设置为0,速度和坐标使用units命令中的标准单位
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值