加载中
加载中
表情图片
评为精选
鼓励
加载中...
分享
加载中...
文件下载
加载中...
修改排序
加载中...
求解电子的热力学量
St_Maxwell2018/01/20化学 IP:未同步

J. Chem. Theory Comput. 2013, 9, 3165−3169

我必须把对这篇文献的吐槽写在最前面

这学期学了统计热力学,前几天期末考试考完后就开始看这篇文献的。不得不说这篇文献在某些地方非常地坑爹,它的 Supporting Information 中有很多笔误。我在 follow 的时候必须充分翻阅各种资料才能确保公式的正确性。虽然后面的公式推导的思路是根据文献来的,但是我写的绝对比原本的要更清晰一些。


公式推导

自由电子气的熵

将电子作为量子 Fermi 气体,其巨正则配分函数为:

ZG=p[1+eβ(εpμ)]

式中 β=1/kTεp 代表第 p 个可及能级,μ 为体系的化学势。由巨正则配分函数可得到巨热力学势

Φ=1β lnZG=1βpln[1+eβ(εpμ)]

将求和用积分近似(J 是简并度,对电子而言等于 2)

Φ=1β(2π(2m)3/2VJh30ln[1+eβ(εμ)]ε1/2dε)

定积分的部分可用分部积分得到

0ln[1+eβ(εμ)]ε1/2dε=23(ln[1+eβ(εμ)]ε3/2|00ε3/2d(ln[1+eβ(εμ)]))=2β30ε3/21+eβ(εμ)dε

所以

Φ=23 2π(2m)3/2VJh30ε3/21+eβ(εμ)dε=23 JVm3/221/2π230ε3/21+eβ(εμ)dε

另一方面,已知

N=(Φμ)=pn(εp)

同样将求和用积分近似,有

N=pn(εp)=pωp1+eβ(εpμ)=2π(2m)3/2VJh30ε1/21+eβ(εμ)dε=JVm3/221/2π230ε1/21+eβ(εμ)dε

定义函数 fp

fp(a)=1p!0xp1+ex/adx,a=eμ/kT,x=ε/kT

补充:

Γ(12+n)=(12+n)!=Π(12+n)=(2n1)!22n1(n1)!π

(12)!=π2,(32)!=3π4

所以摩尔巨热力学势为

Φ=RTf3/2(a)f1/2(a)

电子气的内能则为

U=pεpn(εp)=32 Φ

熵由 Gibbs-Duhem 关系式得到

S=U+pVTμNT=52Rf3/2(a)f1/2(a)Rlna

p=(ΦV)=23Jm3/221/2π230ε3/21+eβ(εμ)dε

显然 pV=Φ=23U。理想 Fermi 气体不遵循理想气体状态方程(pV=NkT)。

可推导得到温度为(默认取一个标准大气压)

T=[ph3Jk(2πmk)3/2f3/2(a)]2/5

强简并 Fermi 气体的情况(TTF

Fermi 气体的能量为

εF=(6π2J)2/322m ρ2/3

ρ=N/V 为数密度。以上公式的具体推导见 Wikipedia

Φ(T)=NεF3/20ε3/21+eβ(εμ)dε

1=32 εF3/20ε1/21+eβ(εμ)dε

(中间涉及一些较复杂的过程,具体过程见文献或《统计热力学导论》P299-300)

μ(T)=εF[1π212(kTεF)2+O(T4)]

Φ(T)=25NεF[1+5π212(kTεF)2+O(T4)]

推导得到(摩尔)熵为

S=1T(U+23UμN)π22RTTF

其中定义了 Fermi 温度 TF=εF/k

热容

CV=(UT)π22RTTF

Cp=T(ST)=π22RTTF

完全非简并气体的情况(TTF

这种情况下,fp(a)a

S52RRlna

aph3Jk(2πmk)3/2T5/2

得到

S=52R+Rln[J(2πmkT)3/2kTph3]

该表达式与使用电子的平动配分函数处理得到的结果是一致的。

迭代方法

文章中作者描述的方法是给定一个温度 T0(即我们要得到该温度下电子的熵),以及 a 的初猜。由该初猜可计算出相应的温度 T,将该温度与给定温度比较来判断 a 的合理性。如果两者的差异大于要求的收敛限,则对 a 进行校正,再一次计算温度。重复以上步骤直到温度 T 收敛于要求的温度 T0。这时利用 a 便能算出熵。

但是作者在文中丝毫没有提到如何对 a 进行校正,所以我使用了简单的二分法来求 a。另外 fp 函数计算中作者使用了 Romberg 方法进行数值积分,但是我并不会数值计算。从网上找的代码也难以完美用于这里的任务(被积分的函数有外部指定的参数),因此同样使用了简单的梯形公式来计算。所以整体的精度会差一些。求得不同温度下的熵后,可利用数值微分计算得到等压热容。并进一步算出焓等其它热力学量。同样地,我现在不会数值微分,因此其他的热力学量不方便求出。

结果

Fortran 代码上传到了GitHub

用程序计算了 251 K350 K 之间的电子的熵,部分结果如下(MathJax表格神烦,直接截图了)。

未知

可以看出我得到的结果相较于文献计算的结果稍偏大。我估计自己得到的精度应该低于文献的,毕竟数值计算的部分用的是简单粗糙的方法。

虽然不能求得任意温度下的等压热容 Cp,但将熵对温度作图后发现,在至少 251350 K 的范围内熵与温度近似为线性关系。进行线性拟合后得到斜率,利用公式 Cp=T(ST) 可得到该温度范围内的等压热容。至于焓以及 Gibbs 自由能,则必须从 0 K 开始计算等压热容的值,再根据 Kirchhoff 定律进行数值积分得到。

未知

补充

把不同 a 的情况下函数 f3/2 的图像画出来比较了一下

未知

101104 这个数量级范围内,fpx=25 之前就基本趋于零了。所以我把积分的范围减小到了0至50(间隔数与之前一样为40000,之前的积分范围为0至120)。顺便把二分法的收敛限减小到 109。重新计算后的结果有微小的改变,但是只在小数点第四位有变化。看来只有靠更好的数值方法才能有效地改善结果。

从一本Fortran科学计算的书上找了一个Simpson积分的代码拿来用,不过改进也不是特别大。另外,我想起来Origin可以做数值微分,所以算了 273323 K 范围内的熵值。在Origin中算出等压热容 Cp,与文献值相比还是相对精确的。因为计算出的熵值与文献值相比是整体都偏大,但斜率则较接近。 未知 未知

[修改于 7年2个月前 - 2018/01/20 20:55:56]

来自:数理化 / 化学
1
 
新版本公告
~~空空如也

想参与大家的讨论?现在就 登录 或者 注册

所属专业
所属分类
上级专业
同级专业
St_Maxwell
进士 学者 机友 笔友
文章
29
回复
823
学术分
6
2012/03/11注册,4个月14天前活动

Bachelor's Degree, Chemistry, Sichuan University

Ph.D Student, Theoretical and Computational Chemistry, Xiamen University

Site:东方红茶馆

主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的