如题
前言
本人在用Lammps建模弛豫过程中发现很难肉眼观察势能的变化,因此针对thermo输出的数据进行了python程序的编写,只要将thermo的数据复制到txt文档里,再运行程序,就可以输出势能曲线
一、为什么要观察势能曲线
很简单,为了判断弛豫过程是否达到目的
二、使用方法
诸多安装使用内容不在此赘述
1.创建txt文件
我们常用的thermo命令输出的内容如图
可见有step、lx等等数据,我们从数据栏开始复制,写一个txt文件,位置就写在python程序运行的文件夹
2.写入代码
import numpy as np
import matplotlib.pyplot as plt
def openreadtxt(file_name):
data = []
file = open(file_name, 'r') # 打开文件
file_data = file.readlines() # 读取所有行
for row in file_data:
tmp_list = row.split() # 按‘,’切分每行的数据
tmp_list[-1] = tmp_list[-1].replace('\n',',') #去掉换行符
data.append(tmp_list) # 将每行数据插入data中
return data
if __name__ == "__main__":
data = openreadtxt('test.txt') #此处是文件名
print(data)
c = np.array(data,dtype=float)
x=c[:,0] #此处对应栏数,例如此处读取step栏,就是0
y=c[:,8] #此处对应栏数,例如此处读取PotEng栏,就是8
#print(x)
#print(y)
plt.plot(x, y, 'o')
plt.show()
要注意的地方有:
1.文件名写作test.txt
2.y=c[:,8] 此处的数据可以变化,可以读势能,也可以读压力等等,看自己设置的thermo_style所对应的栏数,注意第一栏对应python中的顺序0
三、成果展示
输出图片如下
可以看到数据比较稳定