大家好,我是小马老师。
在阅读论文时,大家应该会注意到,不同的论文在模拟时,可能采用不同的控温方式。
有的是Nose-Hoover,有的是速度标定法,有的同学可能不知道如何用代码实现。
控温的基本原理是通过调节原子的速度达到调节体系温度的目的。
调节原子速度的算法有很多,因此,对应的控温方式有多种。
下面介绍lammps常用的几种控温方式对应的实现代码,只讲代码不讲原理,有兴趣的可以查阅分子动力学原理书籍。
- Nose-Hoover热浴法
nvt和npt采用Nose-Hoover热浴法调节体系温度,因此,如果论文中提到Nose-Hoover,其实就是用nvt或者npt,至于用哪个,主要看是否控压。
对应代码为:
fix 1 all nvt temp 300.0 300.0 100.0
或
fix 1 all npt temp 300.0 300.0 100 iso 0 0 1000 - langevin控温法
langevin控温只通过力的计算调节原子的速度,但是不能对时间进行积分,如果对一组原子只施加langevin控温,原子会固定不动。
因此,一般需要配合fix nve使用。
fix 1 all nve
fix 2 all langevin 300 300 100.0 48279