LAMMPS-用fix nve一定表示NVE系综的模拟么

版权声明:iSimuLy创作 https://blog.csdn.net/iSimuLy/article/details/82928045

最近QQ群里有部分小伙伴,问我关于命令和系综的事情,对命令和系综的理解没有到应有的地步,我记得之前在口说LAMMPS命令系列教程(优酷有视频可免费观看)中强调过此事。下面再说一遍。

首先要声明的是,或者要强调的是:命令和系综没有直接联系,除非你的in文件里只有一个和系综相关的fix.

我们知道,按统计物理的概念来讲,我们常用的模拟系综分NVE(表示系统粒子数、体积、总能量保持不变,是为微正则系综),NVT(表示,粒子数、体积、温度保持不变,是正则系综,大多数体系都会用此系综进行抽样),NPT(表示粒子数、压强、温度保持不变,是等温等压系综)。注:上面说的保持不变,指的是宏观统计平均值。

而与上面对应的LAMMPS命令有 fix nve; fix nvt; fix npt. 到这里大家应该没有什么疑问,因为系综和命令是一一对应的。那下面一个命令组如何理解呢?:

Fix nve+ fix temp/rescale

……………………………………………………….(此处大家先思考下)

看到上面命令,你判断是nve还是nvt,还是npt呢????????????????

正确答案是 nvt系综!想不明白的仔细读我下面说的话。我们上面所说的系综,是指的你的模拟体系宏观上对应于什么样的系统。当整个体系保持,N, V, T不变时,就是NVT系综。而上述组合命令的最终结果,就是保证了体系N、V、T的不变。所以我们不能看的有fix nve就认为是nve系综。只要大家抓住N、V、T、P这些量哪些被调控了,就能理解自己的系统是什么系综了。比如fix nve+ fix langven; fix nve+ fix temp/berendsen都是NVT的系综。

Fix nve+ fixtemp/berendsen + fix press/berendsen; fix nvt +fix press/berendsen 就是NPT系综.

到这,大家应该理解最前面的fix命令,其实是启动更新坐标和速度的作用,后面的命令是进行相关量的调控。比如fix +nve 进行位置和速度的更新,体系没有能量的输入输出,所以是NVE。。当你加上fix temp/rescale时,这个命令在第一个命令更新速度时,进行了速度的标度(也就是说对温度进行了调控,使其保持不变),那这样的系统,最终导致的结果就是T也保持了恒定。所以是NVT系综。

到此,大家应该能理解fix nvt+ fix press/berendsen为什么不是nvt系综了吧。

注:fixnvt已经对体系进行了T的调节,而没对V进行调节;到加上fix press/berendsen时,这个命令对V进行了调节来保证体系P恒定。

猜你喜欢

转载自blog.csdn.net/iSimuLy/article/details/82928045