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

2024-04-20 17:44

本文主要是介绍【LAMMPS学习】八、基础知识(3.6)计算热导率,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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 nvt, fix 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

 

 

这篇关于【LAMMPS学习】八、基础知识(3.6)计算热导率的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/920923

相关文章

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Java计算经纬度距离的示例代码

《Java计算经纬度距离的示例代码》在Java中计算两个经纬度之间的距离,可以使用多种方法(代码示例均返回米为单位),文中整理了常用的5种方法,感兴趣的小伙伴可以了解一下... 目录1. Haversine公式(中等精度,推荐通用场景)2. 球面余弦定理(简单但精度较低)3. Vincenty公式(高精度,

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操