|
本帖最后由 KiritsuguPapa 于 2018-3-13 09:29 编辑
刚开始学lammps 从这里下载了模拟水的文件试试
box里只放了一个水分子,边长3.1 angstroms,正好大约是1g/cm^3的密度;模拟时用lammps的replicate 10 10 10各个方向放大10倍,最终有1000个水分子。
是NpT,试跑了一下没有问题。
之后我将box的边长改为了13.1 angstroms,其它条件不变,因为是NpT,希望看到box变小,最终能达到1g/cm^3的密度。但是结果反而变的更大,密度更小,而压力和温度都没有问题。
希望指教哪里出了问题?
也许有熟悉gromacs的人不熟悉lammps的命令,我稍微解释一些lammps输入文件内容:
read_data data.singleTIP3P-Ew #读入一个水分子,box的边长是3.1或13.1
include forcefield.TIP3P-Ew #力场用的是TIP3P-Ew
velocity create 298 12345 # 生成速度 12345是随机数种子
fix 1 all shake 1.0e-4 100 0 b 1 a 1 # 对键和角都使用shake
fix 2 all npt temp 298.0 298.0 1000.0 iso 1.0 1.0 1000.0 #设定npt,温度298, 压力1atm。这里起始和终止温度/压力都是298/1atm,没有逐渐升温过程,不知道是不是问题所在。
fix 3 all momentum 1 linear 1 1 1 # 移除整个系统的运动
compute T all temp # 温度
fix TempAve all ave/time 10 200 2000 c_T # 计算一定时间平均温度
variable P equal press # 压强
fix PressAve all ave/time 10 200 2000 v_P #一定时间平均压强
variable Dens equal v_nMolecules*${watMoleculeMass}/(vol*${A3_in_cm3}) #密度
fix DensAve all ave/time ${Ne} ${Nr} ${Nf} v_Dens file wat.dens #平均密度
thermo_style custom step lx ly lz temp f_TempAve press f_PressAve f_DensAve density #输出 步数,box的xyz边长,温度,平均温度,压力,平均压力,平均密度,密度
thermo_modify flush yes
thermo 2000
dump trj all atom 1000 wat.lammpstrj
run 20000
|
-
-
3.1.log
5.04 KB, 下载次数 Times of downloads: 6
-
-
13.1.log
5.04 KB, 下载次数 Times of downloads: 5
-
-
in.bulk
1.85 KB, 下载次数 Times of downloads: 17
|