计算化学公社

标题: 1000个水分子 用NpT想观察box变小 结果反而变大 [打印本页]

作者
Author:
KiritsuguPapa    时间: 2018-3-13 09:19
标题: 1000个水分子 用NpT想观察box变小 结果反而变大
本帖最后由 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                              












作者
Author:
Recycled    时间: 2019-5-17 15:10
请问您的问题是否得到了解决呢?我的模拟中也出现了类似的问题,希望能够得到您的指点。
作者
Author:
KiritsuguPapa    时间: 2019-5-18 18:41
Recycled 发表于 2019-5-17 15:10
请问您的问题是否得到了解决呢?我的模拟中也出现了类似的问题,希望能够得到您的指点。

……这帖子还被翻出来了

没有 我后来不用lammps了(。) 改用gromacs和namd了来着




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3