【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实现精确小数计算的完全指南

《Python实现精确小数计算的完全指南》在金融计算、科学实验和工程领域,浮点数精度问题一直是开发者面临的重大挑战,本文将深入解析Python精确小数计算技术体系,感兴趣的小伙伴可以了解一下... 目录引言:小数精度问题的核心挑战一、浮点数精度问题分析1.1 浮点数精度陷阱1.2 浮点数误差来源二、基础解决

Python文本相似度计算的方法大全

《Python文本相似度计算的方法大全》文本相似度是指两个文本在内容、结构或语义上的相近程度,通常用0到1之间的数值表示,0表示完全不同,1表示完全相同,本文将深入解析多种文本相似度计算方法,帮助您选... 目录前言什么是文本相似度?1. Levenshtein 距离(编辑距离)核心公式实现示例2. Jac

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

Python中经纬度距离计算的实现方式

《Python中经纬度距离计算的实现方式》文章介绍Python中计算经纬度距离的方法及中国加密坐标系转换工具,主要方法包括geopy(Vincenty/Karney)、Haversine、pyproj... 目录一、基本方法1. 使用geopy库(推荐)2. 手动实现 Haversine 公式3. 使用py

PyQt5 GUI 开发的基础知识

《PyQt5GUI开发的基础知识》Qt是一个跨平台的C++图形用户界面开发框架,支持GUI和非GUI程序开发,本文介绍了使用PyQt5进行界面开发的基础知识,包括创建简单窗口、常用控件、窗口属性设... 目录简介第一个PyQt程序最常用的三个功能模块控件QPushButton(按钮)控件QLable(纯文本

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公式(高精度,