1. 程序及结果
1.1 程序
# -*- coding:utf-8 -*-
import re
import numpy as np
import matplotlib.pyplot as plt
file_name= "log.lammps" # log 文件名
jump_step= 20 # 需要跳过的step数,主要用于忽略势能最小化或弛豫产生的输出数据
max_lines= 1000000 # 最大行数,无严格要求,大于可能的数据行数即可
# 正则匹配输出参数,有几个参数输出就有几个 "\s+[0-9\.]+",例如输出数据的某一行为:
# step temp temp_water press vol atoms
# 140 124.88839 301.79223 465752.06 1200000 6680
# 则可以使用以下正则:
patten= r'(\s+[0-9\.]+\s+[0-9\.]+\s+[0-9\.]+\s+[0-9\.]+\s+[0-9\.]+\s+[0-9\.]+)'
f = open(file_name,"r")
data = np.zeros((6,max_lines))
count=-1
for i in range(1,max_lines):
line = f.readline()
#print(line)
if re.match(r'(Total wall)&#