分子动力学模拟与纳米尺度传热(二):EMD 方法计算热导率

分子动力学模拟计算热导率优缺点

相比其他常用计算热导率方法(常用计算方法的简介请参见),分子动力学计算方法能够计算更大的体系,计算原子数通常在数百到数十万个范围,尺度在纳米到微米区间。分子动力学模拟包含了声子与声子之间的各阶散射,能够更加真实地模拟声子间的相互作用。但是该方法需要用到经典作用势,计算热导率的准确程度与所用的势函数类型及参数密切相关。该方法也不适合用于低温,通常要求体系的温度要高于模拟物质的德拜温度,如果温度过低,需要考虑对温度进行量子修正。


平衡态分子动力学

分子动力学计算热导率的常用方法有平衡态分子动力学(EquilibriumMolecularDynamics,EMD)和非平衡态分子动力学(NonequilibriumMolecularDynamics,NEMD)。两种体系在计算过程中都处于稳态(体系的温度分布不随时间发生变化),其中,前者不存在温度梯度,通过原子间的微热流来实现热量交换,继而由统计力学原理来得到热导率。后者存在一个稳定的温度梯度,类似于实验中直观的热导率测量方法,所以又被称为直接法(Direct method),我们在后面的文章会详细介绍采用NEMD计算热导率的方法,在这里略去不表。


EMD的优势&劣势:尺寸效应相对较小,理论上采用周期性边界条件可以实现计算无限大的体系。但是该方法要得到收敛的热流需要较长的弛豫时间,需要比较大的计算量。
具体地,EMD方法计算热导率由如下的Green-Kubo公式得到:


a593302170f01c7b29e068ad207bfe37.jpeg


其中,是热导率张量,别代表三个方向,V是模拟体系的体积,是玻尔兹曼常数,T表示模拟体系温度,表示热流自相关函数,尖括号表示对热流自相关函数进行系综平均,t表示热流自相关函数的积分上限,τ表示相关时间。对于三维各项同性材料,热导率张量的非对角张量一定为零,我们通常会计算三个方向的热导率数值,然后取平均得到最终的热导率数值。对于一维结构(单链、纳米线等)只需要对某一个方向的热流自相关函数进行积分,对二维结构,可以分别计算两个面内两个方向的热导率然后取平均。

我们通常在微正则系综(NVE)下记录热流,此时,系统相当于是一个孤立体系,没有外界干扰。在正式记录热流之前,需要对结构进行充分弛豫以得到优化好的结构。前期优化不充分可能会导致能量、温度、压强等物理量在热流记录阶段出现异常,所以在记录热流的过程中可以输出这些物理量帮助自己做出判断。最终得到的热流自相关应该在0附近做很小的震荡变化,因为相关时间越长,初始的热流信号与该时刻的热流信号的差异会越大。热流自相关积分得到的热导率也应该是随着积分时间的增加而达到收敛。
计算时需要对时间步长、热流取样间隔、相关时间步、总的记录热流时间步等参数做收敛性测试。通常最终的热导率计算结果需要使用不同的初始速度计算多次,然后取平均值。


EMD方法计算实例

以下给出LAMMPS采用EMD方法计算固体氩晶格热导率实例

1# sample LAMMPS input script for thermal conductivity of liquid LJ` 2# Green-Kubo method via compute heat/flux and fix ave/correlate` 3# settings` 4variable    x equal 10  `#模拟体系X方向长度` 5variable    y equal 10  `#模拟体系Y方向长度` 6variable    z equal 10  `#模拟体系Z方向长度` 7variable    rho equal 0.6 `#固体氩晶格常数` 8variable  t equal 1.35 `#模拟体系温度` 9variable    rc equal 2.5    `#截断半径` 10variable    p equal 200     `# 热流相关长度` 11variable    s equal 10      `# 热流取样间隔` 12variable    d equal $p*$s   `# 输出热流自相关函数间隔` 13`# setup problem` 14units        lj  `#模拟体系采用的` **单位**`(具体各个物理量的单位查LAMMPS手册)` 15timestep     0.005 `#时间步长0.005tau` 16atom_style    atomic `#定义模拟体系原子所具有的属性` 17lattice        fcc ${rho}     `#定义晶格类型和晶格常数` 18region        box block 0 $x 0 $y 0 $z `#模拟体系大小` 19create_box    1 box   `#创建模拟体系box` 20create_atoms    1 box   `#创建模拟体系原子` 21mass        1 1.0   `#给定原子质量` 22velocity    all create $t 87287 `#给定特定温度下的初始速度,其中87287是随机数,可以任意取值` 23pair_style    lj/cut ${rc}   `#定义原子间作用势和截断半径` 24pair_coeff    1 1 1.0 1.0 `#势函数参数值` 25neighbor    0.3 bin `#定义近邻原子` 26neigh_modify    delay 0 every 1 `#创建近邻原子列表` 27# 1st equilibration run 28fix        1 all nvt temp $t $t 0.5  `#NVT系综弛豫` 29thermo        100             `#每100步输出一次默认参数` 30run        1000                `#跑1000步` 31velocity    all scale $t           `#调整体系温度以达到给定值` 32unfix        1 33# thermal conductivity calculation 34reset_timestep  0                `#重新设置时间步为0` 35compute         myKE all ke/atom    `#计算每个原子的动能` 36compute         myPE all pe/atom    `#计算每个原子的势能` 37compute         myStress all stress/atom NULL virial    `#计算每个原子的应力张量` 38compute         flux all heat/flux myKE myPE myStress `#计算热流` 39fix                1 all nve   `#NVE系综下记录热流` 40fix             JJ all ave/correlate $s $p $d & `#计算热流自相关函数并输出到指定文件` 41                c_flux[1] c_flux[2] c_flux[3] type auto & 42            file profile.heatflux ave running 43variable        scale equal $s*dt/$t/$t/vol 44variable        k11 equal trap(f_JJ[3])*${scale} `#对热流自相关函数做积分` 45variable        k22 equal trap(f_JJ[4])*${scale} 46variable        k33 equal trap(f_JJ[5])*${scale} 47thermo            $d `#输出变量间隔` 48thermo_style    custom step temp v_Jx v_Jy v_Jz v_k11 v_k22 v_k33 `#自定义输出物理量类型` 49run             100000    `#跑100000步,可以得到10组热流数据以及热导率数据,采用最后一组数据` 50variable        kappa equal (v_k11+v_k22+v_k33)/3.0    `#对三个方向热导率做平均` 51print           "running average conductivity: ${kappa}" `#在屏幕上输出热导率数值`


下图为笔者采用上述LAMMPS脚本计算得到的10组热流自相关函数和热导率结果:


7387f38dec897314fcd79deb9fc6ed1f.jpeg


e6b84fbc32bb7fcc8cfdffcb59711917.jpeg


本文由邵成和鲍华编辑

  • 27
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
大学生在线租房平台管理系统按照操作主体分为管理员和用户。管理员的功能包括报修管理、报修评价管理、字典管理、房东管理、房屋管理、房屋收藏管理、房屋留言管理、房屋租赁管理、租房论坛管理、公告信息管理、留言板管理、用户管理、管理员管理。用户的功能等。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。 大学生在线租房平台管理系统可以提高大学生在线租房平台信息管理问题的解决效率,优化大学生在线租房平台信息处理流程,保证大学生在线租房平台信息数据的安全,它是一个非常可靠,非常安全的应用程序。 管理员权限操作的功能包括管理公告,管理大学生在线租房平台信息,包括房屋管理,培训管理,报修管理,薪资管理等,可以管理公告。 房屋管理界面,管理员在房屋管理界面中可以对界面中显示,可以对房屋信息的房屋状态进行查看,可以添加新的房屋信息等。报修管理界面,管理员在报修管理界面中查看报修种类信息,报修描述信息,新增报修信息等。公告管理界面,管理员在公告管理界面中新增公告,可以删除公告。公告类型管理界面,管理员在公告类型管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息。
### 回答1: LAMMPS是一个经典分子动力学(MD)模拟软件,它可以用于研究原子模型的系统,并用于计算材料的热导率。在固态氩的计算中,LAMMPS利用了误差递减法(EMD)来计算热导率EMD是一种基于MD计算方法,它通过模拟材料系统的热输运过程来计算热导率。在固态氩的情况下,首先需要在LAMMPS中构建一个氩原子的初始晶格结构。然后,在所需的温度下进行MD模拟,对系统施加热源,并测量热流的大小和方向。 在MD模拟期间,LAMMPS将跟踪每个氩原子的位置、质量和速度,并计算热流的传输过程。通过在MD模拟中施加梯度热源,可以处理从热源到被测样品的热传导。 利用MD模拟产生的数据,LAMMPS使用EMD方法计算热导率EMD方法基于维拉尔模型,该模型假设热流等于热流密度乘以负梯度温度。通过在样品中引入不同的温度梯度以及计算MD模拟中的热流密度,可以得到热导率。 简而言之,LAMMPS利用EMD方法模拟固态氩中的热输运过程,并通过计算热流密度和温度梯度之间的关系来计算热导率。这使得研究者可以确定氩材料的热导率以及与其他因素相关的热传导性质。 ### 回答2: LAMMPS(Large-scale Atomic/Molecular Massively Parallel Simulator)是一种用于分子动力学模拟的开源软件包。它可以通过分子之间的相互作用模拟原子和分子的运动,以研究材料的物理、化学和力学性质。 EMD(Einstein-Mueller Displacement)是一种用于计算热导率方法。在固态氩材料中,如果希望使用LAMMPS进行热导率计算,可以采用EMD方法EMD方法是基于热导率与能量传递之间的关系。通过在材料中引入一个热源,在热源与其他部分之间存在温度梯度的条件下,可以计算热传导现象。通过记录热源的温度变化以及与之相接触的其他部分的温度变化,可以计算出热流,并通过热流和温度梯度之间的比例关系来计算热导率。 在使用LAMMPS进行热导率计算时,首先需要构建固态氩的模型,并通过LAMMPS的输入文件定义原子间的相互作用势能。然后,设置一个区域作为热源,并在热源和其他部分之间设置一个温度梯度。运行LAMMPS模拟,记录热源和其他部分的温度变化,再通过EMD方法计算热导率。 总之,通过LAMMPS使用EMD方法进行固态氩热导率计算,可以通过模拟材料中的热传导现象,记录温度的变化,最终计算热导率。这种方法可以帮助我们深入了解固态氩热传导的机理以及材料的热性质。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值