用户工具

站点工具

本页面的其他翻译:
  • zh

adf:temperaturealongaxes

温度分布函数:计算沿着Cell某个轴向的温度分布函数

概述

我们以简单分子动力学模拟为例,单纯演示如何生成沿着A、B、C晶轴方向的温度分布情况。

方法:在*.run文件中,通过Trajectory字段设置TProfileGridPoints实现,例如:

      TProfileGridPoints 40
  • 该字段的位置:是MolecularDynamics的子字段,如果保存轨迹的频率修改了这个字段就会自动出现在*.run文件
  • 40的含义:A、B、C三个方向,分别被均分为40个切片,温度曲线是这40个切片的温度。会得到三个温度分布函数,对应三个方向的温度分布。
  • 温度的平均:每个切片的温度,是这个切片内所有原子,从上一帧到当前帧的时间范围内的平均温度。因此切片数不建议太多(以确保片内原子个数较多,具有统计平均的意义),保存轨迹的频率不宜高(默认100建议改为1000或2000甚至根据需要改到更大数值),否则都会导致温度曲线震荡会比较剧烈,失去统计意义。

本文以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下方看到:

adf/temperaturealongaxes.txt · 最后更改: 2024/06/14 07:35 由 liu.jun

© 2014-2022 费米科技(京ICP备14023855号