我们以简单分子动力学模拟为例,单纯演示如何生成沿着A、B、C晶轴方向的温度分布情况。
方法:在*.run文件中,通过Trajectory字段设置TProfileGridPoints实现,例如:
TProfileGridPoints 40
本文以ReaxFF作为范例,其他模块例如机器学习势、DFTB、基于BAND模块则属于AIMD,除了Main的参数设置不同,其他设置完全一致。
由于温度曲线是从坐标原点开始生成数据,因此用户可以在模型创建完毕之后,Edit → Crystal → Map Atoms to [0..1],从而将坐标原点放置于Cell的顶点,这样数据与模型能够完全对应。
保存作业后,修改*.run文件(记事本可以打开)如下,在Trajectory字段内增加了“TProfileGridPoints 40”的设置。如果没Trajectory字段,用户可以自行添加:
......省略 MolecularDynamics NSteps 10000 Trajectory SamplingFreq 1000 TProfileGridPoints 40 End InitialVelocities Temperature 498 End Thermostat Type NHC Temperature 498 Tau 5 End End System Atoms ......省略
SamplingFreq 1000是我们在图2中设置了保存轨迹的频率为每1000步保存一次轨迹。本例计算了1万步,因此有10帧轨迹(加上初始结构则为11帧)。
提交作业。
计算完毕后,SCM → Kf Browser → File → Expert Mode,在窗口底部输入TempProfile,以搜索相关信息:
可以看到MDhistory里面,有TempProfile_a(i)、TempProfile_b(i)、TempProfile_c(i),对应ABC三个晶轴方向,i=1~11,代表从初始结构到最后一帧。
例如我们希望查看最后一帧B方向的温度分布曲线,将其左侧小三角点开,将产生的所有数据拷贝出去即可,即该方向的温度分布数值。
数据处理小技巧:
将所有数值复制到Word文档中,选中数据之间的间隔,用查找替换功能,将其替换为换行符^p,再将剩余的不规则字符替换为空字符(什么也没有),则变成了规则的一列数据。
如果需要做曲线,横坐标即晶格常数B分为40段。晶格常数可以在AMSinput → Model → Lattice下方看到: