通过晶格常数sc建立水分子
1.lammps的代码如下:
region 1 block -0 50 0 50 0 50 units box side in #创建区域
#创建一个长方体区域,名称为1,坐标的单位就与命令units说指定的距离单位相同
create_box 2 1 &
bond/types 1 &
angle/types 1 &
extra/bond/per/atom 2 &
extra/angle/per/atom 1 &
extra/special/per/atom 2
#在区域1里边创建一个box,设定该box支持多少种原子类型、键类型、角类型和每个原子包含键和角的类型。
molecule h2omol spc.mol #额外准备一个spc.mol文件
lattice sc 5 #晶格常数设定为5,如果是4,则生成的原子数会更加多。代表每隔5A生成一个水分子
create_atoms 1 region 1 mol h2omol 1234 units box
#create_atoms 0 random 2000 1234 1 mol h2omol 1234 units box #这个命令生成的水分子会发生重叠,计算易出错。
2.如何计算生成水分子的个数呢?
如上的代码,晶格常数sc为5,那么相当于一个水分子在盒子中所占的体积是5*5*5=125 A3。
所创建的region的体积(水盒子的体积)为50*50*50=125*1000,
水盒子的体积 / 一个水分子在盒子中的体积 = 水分子的个数。
如上代码可以生成1000个水分子,即3000个原子。
3.一个有各种水模型的data文件和力场文件 http://www.orsi.sems.qmul.ac.uk/downloads.html
1.spc.mol文件的内容下入:
# SPCE molecule file.
3 atoms
2 bonds
1 angles
Coords
1 1.12456 0.09298 1.27452
2 1.53683 0.75606 1.89928
3 0.49482 0.56390 0.65678
Types
1 1
2 2
3 2
Charges
1 -0.8472
2 0.4236
3 0.4236
Bonds
1 1 1 2
2 1 1 3
Angles
1 1 2 1 3
Shake Flags
1 1
2 1
3 1
Shake Atoms
1 1 2 3
2 1 2 3
3 1 2 3
Shake Bond Types
1 1 1 1
2 1 1 1
3 1 1 1
Special Bond Counts
1 2 0 0
2 1 1 0
3 1 1 0
Special Bonds
1 2 3
2 1 3
3 1 2
2.tip4p/2005.mol如下:
# tip4p/2005 molecule file.
3 atoms
2 bonds
1 angles
Coords
1 1.55000 1.55000 1.50000
2 1.55000 2.30695 2.08588
3 1.55000 0.79305 2.08588
Types
1 1
2 2
3 2
Charges
1 -1.1128
2 0.5564
3 0.5564
Bonds
1 1 1 2
2 1 1 3
Angles
1 1 2 1 3