大家好,我是小马老师。
本文介绍lammps输出单个原子总能量的方法。
能量的计算与输出相对比较简单,本来没有写本文的计划,但最近有几个学员咨询到相关的问题,想想还是写出来吧,万一哪天能用的上呢。
在lammps模拟中,单个原子量的计算主要通过compute **/atom类的命令实现。
只要是带有atom关键词的compute命令,基本都是计算单个原子的量,总共41个计算命令,功能已经比较全面,但是没有单个原子总能量的计算命令。
虽然lammps没有提供总能量的计算方法,但是提供了势能和动能的计算命令。
只要计算出动能和势能,求和即可得到总能量。
原子的总能量=动能+势能
代码如下:

#计算单个原子的动能
compute Ke_atom all ke/atom
#计算单个原子的势能
compute Pe_atom all pe/atom
#求和得到总能量
variable E_total atom c_Ke_atom+c_Pe_atom

注意,variable命令中不能用equal,必须用atom关键词,否则会提示错误。
equal对应标量,atom对应矢量,因为每一个原子具有一个势能或者动能值,所以此处的能量均为矢量。
单个原子量的输出需要用dump命令:

dump 1 all custom 100 npt.xyz id type x y z v_E_total

原子能量值保存到轨迹文件中,用ovito就可以显示原子总能量云图:

lammps模拟输出单个原子的能量_分子动力学


公众号:lammps加油站