【LAMMPS学习】八、基础知识(3.6)计算热导率

时间:2024-04-21 07:03:45

8. 基础知识

此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语,以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各种模拟。

8.1.通用基础知识

8.2. 设置入门

8.3. 分析入门

8.3.1. LAMMPS 的输出(thermo, dumps, computes, fixes, variables

8.3.2.使用chunks计算系统属性 

8.3.3.使用分布式网格 

8.3.4.计算温度

8.3.5.计算弹性常数

8.3.6.计算热导率 

使用 LAMMPS 中的各种选项,至少可以通过 4 种方式测量材料的导热系数 kappa。请参阅示例/KAPPA 目录,了解实现此处讨论的简单 Lennard-Jones 流体模型的 4 种方法的脚本。另请参阅  Howto viscosity 页面,了解有关粘度的类似讨论。

热导率张量 kappa 是材料以扩散方式传输热能的倾向的度量,如傅立叶定律所示

J = -kappa grad(T)

其中 J 是单位时间内每面积能量的热通量,grad(T) 是温度的空间梯度。因此,热导率的单位为每距离每时间每度 K 的能量,并且通常近似为各向同性量,即标量。


第一种方法是在模拟箱的两端设置两个恒温区域,或者在周期箱的中间和末端设置一个恒温区域。通过thermostatting fix将两个区域保持在不同的温度,添加到热区域的能量应等于从冷区域减去的能量,并且与区域之间移动的热通量成正比。有关这一想法的详细信息,请参阅 Ikeshoji 和 Hafskjold 和 Wirnsberger et al 的论文。请注意,诸如fix nvtfix langevin, 和 fix temp/rescale 之类的恒温修正会存储它们添加/减去的累积能量。


或者,作为第二种方法,可以使用fix heat 或 fix ehex 命令代替两个区域中每个区域上的恒温器,以向两个区域添加/减去指定量的能量。在这两种情况下,可以使用“compute temp/region”命令监视两个区域的最终温度,并且可以使用 fix ave/chunk 和 compute ke/atom ​​​​​​​命令监视中间区域的温度分布。


三种方法是使用fix thermal/conductivity ​​​​​​​命令执行反向非平衡MD模拟,该命令实现了Muller-Plathe的rNEMD算法。模拟盒的两个不同层中的原子之间交换动能。这会在两层之间产生温度梯度,可以使用fix ave/chunk 和 compute ke/atom ​​​​​​​命令进行监控。该修复会计算其执行的累积能量传输。有关详细信息,请参阅 fix thermal/conductivity ​​​​​​​命令。


第四种方法基于 Green-Kubo (GK) 公式,该公式将热通量自相关的系综平均值与 kappa 联系起来。热通量可以根据稳态平衡模拟中每原子势能和动能的波动以及每原子应力张量来计算。这与前面两种非平衡方法形成鲜明对比,在这两种方法中,能量在模拟盒的热区和冷区之间连续流动。


compute heat/flux ​​​​​​​ 命令可以计算所需的热通量,并描述如何使用其他 LAMMPS 命令(例如用于计算所需自相关的 fix ave/correlate ​​​​​​​命令)来实现 Green_Kubo 形式。请参阅 compute heat/flux ​​​​​​​命令页面,获取通过 G​​K 形式计算固体 Ar 热导率的示例输入脚本。

Ref:

 

(Ikeshoji) Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261 (1994).

(Wirnsberger) Wirnsberger, Frenkel, and Dellago, J Chem Phys, 143, 124104 (2015).

c85ff83157e74ca09bcc2cb96360c590.png