本文介绍lammps后处理技巧:多帧孔洞体积和孔隙率的计算方法。
在前面的专栏中,已经介绍了单帧孔洞体积的计算方法,有不少粉丝朋友咨询多帧孔洞体积的计算方法。
在上一次案例代码的基础上,稍加修改,添加一个for循环遍历所有的帧即可实现多帧孔洞体积的计算。
计算的结果保存到Vol.txt文本中,便于绘图。
代码如下:
from ovito.io import import_file
from ovito.modifiers import ConstructSurfaceModifier
pipeline = import_file('pka.xyz')
pipeline.modifiers.append(ConstructSurfaceModifier(
method = ConstructSurfaceModifier.Method.AlphaShape,
radius = 1.8,
identify_regions = True))
lines = []
#设置循环,计算每一帧的指数
for frame in range(pipeline.source.num_frames):
data = pipeline.compute(frame)
step = frame
vol=data.attributes['ConstructSurfaceMesh.void_volume']
tmp = str(step) + " "+str(vol)+ "\n"
lines.append(tmp)
#所有帧的数据保存到txt文件
save_data = open('Vol.txt',"w")
save_data.writelines(lines)
save_data.close()
运行这个python代码之后,结果如下:
关于python ovito的配置可参考:
也可考虑报名python ovito后处理课程。课程包含:Python ovito模块配置、CNA结构、位错密度、角度分布、键长分布、rdf等计算
扫码订阅课程(↑↑↑)
---------- End -----------
报名一对一培训课程可领完整版《lammps中文教程》,配套学习更轻松!
扫码领取粉丝专属优惠券↓↓↓