转自:小木虫 田淮安 的回答。
LAMMPS中的温度是由原子的动能计算而来的,具体可参见手册compute temp command一节的说明。
LAMMPS的模拟结果,我这里指的是dump命令得到的lammpstrj文件,主要内容都是每个时刻每个原子的信息,包括坐标、速度、动能、势能等等(这些是由dump命令来设置的)。只要你的lammpstrj里面有动能数据,上面的图就容易画。
方法一:用OVITO导入lammpstrj,然后着色。
OVITO是一个专门对LAMMPS结果进行着色的软件,google一下就能找到官网,免费的,LINUX和WINDOWS下都有相应的版本。着色原理是按每个原子的某一种属性的值来配色,比如按原子的x值或者动能。操作很简单。缺点是得到的图是原子化的,基本单位是球,不是你想要的那种连续介质均匀分布的图。比如下图,就是石墨被C60轰击后表面区域的温度分布(侧视图),可以看到每个原子的温度。
方法二:先将数据分道处理,然后画contour图
你贴的这种连续分布图,就是常见的contour图。你需要先把lammpstrj里的温度从以原子为单位转化到以空间为单位。假设你想画x-y面的温度分布,那么就把lammpstrj中的原子按位置填到x-y空间中的小格子里,求出每一个格子里的平均温度,得到一个数据文件,应该有三列,(x,y,Tÿ