用户工具

站点工具


adf:heatconductance

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
adf:heatconductance [2022/09/22 12:05] – [温度曲线生成] liu.junadf:heatconductance [2024/04/15 13:59] (当前版本) – [模型与参数] liu.jun
行 1: 行 1:
-======ReaxFF-热导率:使用T-NEMD方法计算热导率======+======ReaxFF-热导率方法1:T-NEMD方法结合温度分布======
 =====计算方法与思路===== =====计算方法与思路=====
 在体系中划分一个区域为“热源”,类似划分一个区域为“热漏”,二者之间存在一个热传导区域。系统不断通过“热源”以一定速率释放能量,而“热漏”则以相同速率吸收能量,在经过足够时间长度之后,整个系统的温度将达到一种平衡状态。热传导区域的温度分布曲线,将会存在一个稳定的梯度:靠近“热源”的位置温度最高,靠近“热漏”的位置温度最低。 在体系中划分一个区域为“热源”,类似划分一个区域为“热漏”,二者之间存在一个热传导区域。系统不断通过“热源”以一定速率释放能量,而“热漏”则以相同速率吸收能量,在经过足够时间长度之后,整个系统的温度将达到一种平衡状态。热传导区域的温度分布曲线,将会存在一个稳定的梯度:靠近“热源”的位置温度最高,靠近“热漏”的位置温度最低。
行 5: 行 5:
 **温度分布曲线:** **温度分布曲线:**
  
-A、B、C三个方向,分别均分为N个切片,温度曲线是这N个切片的温度。会得到三个温度分布函数,对应三个方向的温度分布。每个切片的温度,是这个切片内所有原子,从上一帧到当前帧的时间范围内的平均温度。因此切片数不建议太多(以确保片内原子个数较多,具有统计平均的意义),保存轨迹的频率不宜高(默认100建议改为1000或2000甚至根据需要改到更大数值),否则都会导致温度曲线震荡会比较剧烈,失去统计意义。+A、B、C三个方向([[adf:showabc|如何显示方向?]]),分别均分为N个切片,温度曲线是这N个切片的温度。会得到三个温度分布函数,对应三个方向的温度分布。每个切片的温度,是这个切片内所有原子,从上一帧到当前帧的时间范围内的平均温度。因此切片数不建议太多(以确保片内原子个数较多,具有统计平均的意义),保存轨迹的频率不宜高(默认100建议改为1000或2000甚至根据需要改到更大数值),否则都会导致温度曲线震荡会比较剧烈,失去统计意义。
  
 **热导率计算公式:** **热导率计算公式:**
行 30: 行 30:
 正常设置分子动力学基本参数。需要注意的是,为了确保温度曲线数据稳定,我们将保存轨迹的频率从默认的100改为了3000,总共运行60万步。关于步数:需要让体系的温度分布达到平衡状态,多少步才能达到平衡?模拟之前,我们是不知道的,因此可以设置的大一些。 正常设置分子动力学基本参数。需要注意的是,为了确保温度曲线数据稳定,我们将保存轨迹的频率从默认的100改为了3000,总共运行60万步。关于步数:需要让体系的温度分布达到平衡状态,多少步才能达到平衡?模拟之前,我们是不知道的,因此可以设置的大一些。
 {{ :adf:heatconduct02.png?650 }} {{ :adf:heatconduct02.png?650 }}
-设置温度:如果我们关心什么温度下的热导率,这里就设置为多少+设置温度:如果我们关心什么温度下的热导率,这里就设置为多少,这个温度将会是体系的总体平均温度。
 {{ :adf:heatconduct03.png?650 }} {{ :adf:heatconduct03.png?650 }}
 分别设置热源区域(Source)和热漏区域(Sink)(如何添加Region,参考教程[[adf:creatregion]]) 分别设置热源区域(Source)和热漏区域(Sink)(如何添加Region,参考教程[[adf:creatregion]])
行 41: 行 41:
   * Method是实现热传导的三种算法:1) Simple方法中,原子速度按比例放大(或缩小)一个因子,该因子与能量速率对应,不考虑总动量的守恒;2) HEX 方法中,速度以总动量守恒的方式缩放,这会在总能量中引入一个小但可见的漂移;3) e HEX 算法,通过添加三阶时间积分校正来消除漂移,从而改进HEX。我们测试SiO<sub>2</sub>的热导率,Simple与HEX几乎没有差别,e Hex略有小幅变化(仅1‰量级)。   * Method是实现热传导的三种算法:1) Simple方法中,原子速度按比例放大(或缩小)一个因子,该因子与能量速率对应,不考虑总动量的守恒;2) HEX 方法中,速度以总动量守恒的方式缩放,这会在总能量中引入一个小但可见的漂移;3) e HEX 算法,通过添加三阶时间积分校正来消除漂移,从而改进HEX。我们测试SiO<sub>2</sub>的热导率,Simple与HEX几乎没有差别,e Hex略有小幅变化(仅1‰量级)。
   * 设置为2000步以后才开始进行热传导(因为MD前面的一些step,体系有可能还没有达到平衡,这个过程相当于让体系充分弛豫,这个值也可以适当调整   * 设置为2000步以后才开始进行热传导(因为MD前面的一些step,体系有可能还没有达到平衡,这个过程相当于让体系充分弛豫,这个值也可以适当调整
-  * 能量传递速率(即功率)为0.004 Hatree/fs,对应**热导率公式中的W**。**注意**,W是指热源传递出去热量的总功率,本例中的周期性原因,它向±C方向都有传递,因此在其中一个方向上,只有一半的功率。基于这一点而言,两个热传递区域设置为一样长更严谨,能够确保功率为总功率的一半,即**公式中W的值为Heat Rate值的一半**。该值的设置太大,有可能过载(系统承受不了这么大能量流,计算会报错),太小则达到平衡的速度太慢,需要的总MD步数会很高。+  * 能量传递速率(即功率)为0.004 Hatree/fs,对应**热导率公式中的W**。**注意**,W是指热源传递出去热量的总功率,本例中的周期性原因,它向±C方向都有传递,因此在其中一个方向上,只有一半的功率。基于这一点而言,两个热传递区域设置为一样长更严谨,能够确保功率为总功率的一半,即**公式中W的值为Heat Rate值的一半**。该值的设置太大,有可能过载(系统承受不了这么大能量流,计算会报错:Error: Trying to pump Too much heat from the system. Decrease the HeatingRate value),太小则达到平衡的速度太慢,需要的总MD步数会很高。
   * 指定热源为Source区域的原子,热漏为Sink区域的原子。当然用户也可以不使用region,直接勾选Show,然后在下面对应的ABC数据中设定热源与热漏的范围,ABC为晶格矢量,后面的数据为分数坐标,用户可以通过修改数值,观察阴影区域的变化,从而正确理解数据的作用。   * 指定热源为Source区域的原子,热漏为Sink区域的原子。当然用户也可以不使用region,直接勾选Show,然后在下面对应的ABC数据中设定热源与热漏的范围,ABC为晶格矢量,后面的数据为分数坐标,用户可以通过修改数值,观察阴影区域的变化,从而正确理解数据的作用。
  
行 57: 行 57:
 =====温度曲线生成===== =====温度曲线生成=====
  
-计算完毕后,SCM → Kf Browser → File → Expert Mode,窗口底部输入tempprofiel,在MDHistory中可以找到每一帧(本例60万步,每3000步保存一次,加上初始结构因此有201帧)的温度分布函数数据,例如101帧C方向:+计算完毕后,SCM → Kf Browser → File → Expert Mode,窗口底部输入tempprofile,在MDHistory中可以找到每一帧(本例60万步,每3000步保存一次,加上初始结构因此有201帧)的温度分布函数数据,例如101帧C方向:
  
 {{ :adf:heatconduct06.png?650 }} {{ :adf:heatconduct06.png?650 }}
行 67: 行 67:
 <color grey>将所有数值复制到Word文档中,选中数据之间的间隔,用查找替换功能,将其替换为换行符^p,再选中剩余的不规则字符,类似替换为空字符(什么也没有),则变成了规则的一列数据。</color> <color grey>将所有数值复制到Word文档中,选中数据之间的间隔,用查找替换功能,将其替换为换行符^p,再选中剩余的不规则字符,类似替换为空字符(什么也没有),则变成了规则的一列数据。</color>
  
-横坐标值就是从0~C之间的等分30个数值,其中C=267.448384 Å,每个数据点的横坐标间隔为C/29,热导率公式需要的C方向的横截面积S为4002.8113 Å<sup>2</sup>(即**热导率公式中的S**):+横坐标值就是从0~C之间的等分30个数值,如下图所示,C=267.448384 Å,每个数据点的横坐标间隔为C/30,热导率公式需要的C方向的横截面积S为4002.8113 Å<sup>2</sup>(即**热导率公式中的S**):
  
 {{ :adf:heatconduct07.png?650 }} {{ :adf:heatconduct07.png?650 }}
行 89: 行 89:
 = 5.59 W/mK = 5.59 W/mK
  
 +=====注意:=====
 +  * 模型太小,则热涨落很大,模型越大,结果越趋于稳定。
 +  * 力场的准确度对结果影响很大。
 +  * 该方法对力场、DFTB、MOPAC、DFT均适用。
adf/heatconductance.1663819539.txt.gz · 最后更改: 2022/09/22 12:05 由 liu.jun

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