大家好,我是小马老师。
根据分子动力学理论,体系的温度与原子的速度有关。
温度由公式 KE = dim/2NKT计算得到
其中:KE为原子组的总动能(1/2 mv^2),dim为模拟维度,N为原子总数,K为玻尔兹曼常数,T为温度。
在一些模拟中,体系的温度并不能完全按照以上公式进行计算。
例如,在lammps流体模拟中,流体原子按照一定的速度流动,如果把流体流动速度加入到上述公式进行计算,得到的温度可能与实际温度不符。
一般来说,流体的温度计算公式中应该去掉流体的流动速度。
在lammps中,有两个命令可实现这个功能:
(1)compute temp/partial
该命令语法为:
compute ID group-ID temp/partial xflag yflag zflag
其中,group-ID为需要计算温度的原子组。
xflag yflag zflag确定是否计算该方向的温度。取值为1表示计算温度是包含该方向的速度,取值为0表示不包含该方向的速度。
如流体沿y方向流动,在计算流体温度时,不包含y方向速度,只计算x和z方向速度:
compute myTemp flow temp/partial 1 0 1
(2)compute temp/com
该命令首先计算原子组质心的速度,在计算温度时,去除质心速度。
使用方法:
compute myTemp mobile temp/com
重新计算温度后,可在thermo或者fix命令中使用新的命令,如用在nvt系综设置中:
fix 1 flow nvt temp 300 300 0.1
fix_modify 1 temp myTemp
或者:
thermo_modify temp myTemp
温度修正命令不仅用到流体体系模拟中,在剪切或者有固定边界层的体系中同样适用。
对温度进行修正计算后,模拟结果会更加准确。
如果在使用lammps过程中遇到什么问题,可到公众号或者QQ群留言。
公众号案例代码以及学习交流,请加QQ群:754749935
扫描关注微信公众号:lammps加油站。