【LAMMPS如何系列】计算体积热容量
体积热容简介
热容(Heat Capacity, or thermal capacity),单位质量或体积的物质温度升高或降低1K时吸收或放出的热量。
Wikipedia里热容的定义:Heat capacity (usually denoted by a capital C, often with subscripts), or thermal capacity, is the measurable physical quantity that characterizes the amount of heat required to change a substance's temperature by a given amount. (link: Heat capacity )
从上面的定义也可以看出,热容有质量热容 (Specific Heat) 和体积热容 (Volumetric Heat Capacity) ,分别是以单位质量和单位体积的物质定义的。这里具体介绍体积热容如何计算。
Wikipedia里体积热容的定义:Volumetric heat capacity (VHC), also termed volume-specific heat capacity, describes the ability of a given volume of a substance to store internal energy while undergoing a given temperature change, but without undergoing a phase change. (link: Volumetric heat capacity )
可以总结出如下公式:
简单分析一下,既然是单位体积的物质,那么体积在模拟的过程中就不能变;然后考虑体系能量随着温度的变化,自然就会想到选择NVT系综。
更具体的描述是:在保持体系体积不变的前提下,计算不同温度下对应的体系总能。E-T曲线的斜率应该就与体积热容有一个直接的对应关系了。
体积热容计算举例
下面以Cu为例,介绍如何使用LAMMPS计算其体积热容Cv。
输入脚本 in.specific.heat
# This input script is used to calculate # the specific heat of copper. # Powered by Xianbao Duan # Email: xianbao.d@gmail.com # Website: http://www.52souji.net/ units metal boundary p p p atom_style atomic variable x equal 2.5 lattice fcc 3.62 region box block 0 8 0 8 0 8 create_box 1 box create_atoms 1 box pair_style eam pair_coeff 1 1 Cu_u3.eam variable N equal step variable Etotal equal etotal variable T equal temp variable V equal vol velocity all create $x 825577 dist gaussian fix extra all print 100 "${N} ${V} ${T} ${Etotal} " file data timestep 0.002 thermo 1000 fix 1 all nvt temp $x 2000 0.2 run 120000
很简单的输入脚本,在34~35行定义了NVT系综,温度从初始温度2.5K一直升高到2000K,整个过程运行120000步。
输出的文件data中包含了所有的数据,分别是计算步,体积,温度和总能量。
将数据导入到origin中,进行简单的线性拟合分析,即可得到下图。
图中拟合曲线的斜率为0.53975,即ΔE/ΔT=0.53975 eV/K。计算过程中保持恒定的体积 V=24288.21914 A3 。
从而,可以计算得到 Cv=3.56 J/(cm3K) 。实验值为:3.45 J/(cm3K)。
(其中用到了单位换算:1 eV = 1.60217646 × 10-19 J, 1 A = 10-8 cm)
体积热容表可以参考:体积热容量查询表
已有 16 条评论
老师你好,我想问一下等压热容如何计算
请问您算出来了吗
感谢Duan老师分享,用的Cu_u3.eam,算出来Cu的等体比热容为0.39593 J/g.K,与网上查到的0.38J/g.K的误差只有4.19%
楼主,能请问一下,具体处理公式吗,我带了你的数据算的不对
不对应该是你没注意单位换算,势函数不一样结果也可能不一样,这是我用的公式((dE/dT)1.6021766341e5/V)/8.98,算出来结果直接是 J/g.K。
请问哪里可以查比较详细的体积热
楼主你好,我利用涨落的方法计算的定压热容量相差几个量级可能是什么原因?期盼您能回我封邮件1982cql@163.com
请问解决了吗
请问博主有关于SiC的热物性计算的lammps程序么
没有。你可以参考网络上相关的程序。
velocity all create 中的875577是手册里面的seed吗,那个具体指的什么呢,理解不了。
seed就是随机数,换成其他数也差不多。
您好,程序到33行就结束了吗,我是初学者,不太懂
你好,一直不明白这样一个问题:一般静态下,做完fix box/relax 和 minimize后,能达到目标压强,比如0bar,但是一加入温度后,在nvt下弛豫,压强就会变成很大的正数(几千bar,远大于标准大气压),请问这样大的压强是不是不合理呢?有什么物理意义呢?在你这个计算体积容量的脚本中,压强从-5000bar逐渐增加到120000bar,应该远超过了铜的可承受压强,又是不是不太合理呢?我发现很多计算都会这样,应该是我哪里没理解,请帮助回答一下,谢谢。
前辈好,计算液体的热熔,看到文件中有提到为考虑quantum effects 而增加的一个correction term, delta_Cp,这个量与intermolecular vibrational energy有关,请问用lammps的话如何计算呢,谢谢指导!
ev/atom/k如何转换成J/Kg/K呢