计算物理论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
牛顿力学法求解
一维单原子链晶格振动
摘要:
晶体中原子、离子实际上不是静止在晶格平衡位置上,而是围绕平衡位置作微振动,称为晶体振动。
玻恩及玻恩学派逐步建立和发展了比较系统的晶格振动理论成为最早发展的固体理论之一。
晶格振动理论不仅可以用来解释固体的热学性质、结构相变等许多物理性质都是极为重要的,是研究固体物理性质的基础。
因为固体是由大量原子组成的,原子又由价电子和离子组成,所以固体实际上是由大量电子和离子组成的多粒子体系。
由于电子之间、电子与离子以及离子之间的相互作用,要严格求解这种复杂的多体问题是不可能的,但注意到电子与离子的质量相差很大,离子的运动速度比电子慢得多,可以近似地把电子的运动与离子运动分开考虑,变成一个在晶格周期场中运动的多电子问题;在考虑离子的运动时,则认为电子能够即时跟上离子位置的变化,变成离子或原子如何围绕平衡位置运动的问题。
这种近似称为绝热近似。
晶格振动理论就是在这个近似的基础上建立的。
关键字:牛顿法、一维、格波、色散关系
一、问题的引出
一维单原子链
n-1n n+1
图1 一维单原子晶格
考虑由N 个相同的原子组成的一维晶格,如图1所示,相邻原子间的平衡距离为a ,原子质量为m ,原子偏离平衡位置的位移用11............n n n μμμ-+、、来表示,只考虑最近邻原子间的弹性相互作用,在简谐近似下求解晶格振动。
二、问题的解决
2.1 运动方程及其解
只考虑相邻原子间的相互作用,在简谐近似下,有
11112()()()n n n n n n n f βμμβμμβμμμ+-+-=---=+- (2-1-1)
其中β为弹性恢复力系数。
设原子质量为m ,则第n 个原子的运动方程为
112()n n n mu βμμμ+-=+- (2-1-2)
试探解
()i naq wt nq
Ae μ
-= (2-1-3)
其中q 为波数,na 相当于将原点取在第0个原子的平衡位置时第n 个原子的平衡位置,ω和A 为常数。
将(2-1-3)式代入(2-1-2)式可得
222[2]
41
sin ()
2
iaq iaq m e e aq m ωββω--=+-=解得 (2-1-4) 2241sin ()21
sin()2
aq m aq βωω== (2-1-5)
2. 2 周期性边界条件
对于无限大的晶体,每个原子都有形如式(2-1-2)的运动方程,但实际上晶
体是有限大的,处在表面上(对一维晶格来说是两端上)的原子所受到的作用与内部原子不同,其运动方程式应有不同,使问题变复杂。
为解决这一问题,需要引入边界条件,常用的边界条件是所谓的周期性边界条件,是玻恩-卡曼提出的,又称为玻恩-卡曼边界条件。
设想在有限晶体之外还有无穷多个完全相同的晶体,互相平行堆积充满整个空间,在各相同的晶体块内的原子的运动情况应当是相同的,对于一维晶格,这个条件表示为:
11+=N u u
这相当于一维原子链首尾相接形成一个环状晶格(如图2所示),这时每个原子都是等价的,都满足形式相同的运动方程。
这样做虽然没有考虑表面原子的特殊性,但由于实际晶体中原子数目N很大,表面原子数目所占比例很小,不会对晶体的整体性质产生明显地影响。
a
a
图2 玻恩-卡曼边界条件
三、问题讨论
3.1 格波
由式(2-1-3)不难看出,当na-ma=lλ,即第n和第m个原子的位移相等,
所以式(2-3-1)所描述的原子围绕平衡位置的振动是以行波的形式在晶体中传播的,是晶体中原子的一种集体运动形式,这种行波称为格波。
3.2 色散关系
格波的频率与波矢的关系式(2-3-1)称为色散关系,求解q ω
关系并用作
图软件画图可得结果如图3所示(求解程序见附录一)。
ω是q 的周期函数,周
期性为2π/a ,因此可以把q 限制在a
q a π
π<
≤-的范围内,这恰好是第一布里渊
区的范围,其他区域的情况只需把q 平移某个倒格矢G =2πl/a (l 为整数)而得 到。
图3
3.3 相速度、群速度
由色散关系可得到格波的相速度和群速度为: 相速度:
1
2
sin
22
p qa
v a qa q m ω
β⎛⎫
=
= ⎪⎝⎭
(3-2-1)
q
ω
群速度:
1
2
1cos 2g d v a qa dq m ωβ⎛⎫== ⎪⎝⎭ (3-2-2)
相、群速度与格波的关系如图4、5所示:(计算程序见附录二)
图4
q
p v
q
g
v
图5
由此可以看到,由于原子的不连续性,格波的相速度不再是常数。
但当q →0时,
1
2p v a m β⎛⎫= ⎪⎝⎭
为一常数。
这是因为当波长很小时,一个波长范围含若干原子,相邻原子的位相差很小,原子的不连续效应很小,格波接近于连续媒质中的弹性波。
对于格波的群速度来说,由于原子的不连续性,格波的群速度也不等于其相速度,
但当q →0时,g p v v ==,体现出弹性波的特征;当a q π±=,恰好落在布
里渊区边界上时,v g =0(此时相速度为p v =
),这表明波矢位于第一布里
渊区边界时,格波不能在晶体中传播,实际上此时它是一种驻波。
因为此时相邻原子的振动位相相反,即1
1iqa i n n
e e πμμ+===-,此时的波长为2a 。
3.4 波矢数目
原子的位移u n 应满足周期性边界条件,要求:
e i Naq =1 (3-4-3)
由上式可得到
qNa =2πl ,l 为任意整数。
所以,波矢q 的取值不是任意的,只能是
22l l q Na N a
ππ
==
(3-4-4) 即满足边界条件的波矢只能取一些分立的值。
分立波矢的间距为倒格矢长度的1/N ,即
21
q a
N
π⎛⎫∆=
⎪⎝⎭ (3-4-5) 而且,由于ω(q )的周期性已把q 限制在第一布里渊区内,所以l 的取值也限制在 2
2N
l N <≤- (3-4-6) 范围内,即共有N 个不同的值,对应于N 个独立的格波,或者说有N 个独立的振动模式。
由于第一布里渊区内每个分立波矢代表一个独立的状态,第一布里渊区的波矢能给出全部的独立状态,所以独立状态数也等于原胞数。
3.5 关于ωβ
和
ω>,则ω可正可负,习惯上取ω>0;相反,若从色散关系上来看,若20
20
ω<,则ω为虚数,由式(2-1-3)看到,这时晶体中各原子相对平衡位置的位移将随时间增加而无限增大,晶格就不能保持稳定了。
因此,晶体的稳定性要求20
ω>,根据式(2-1-4)应要求β>0,也就是说原子位移后能够恢复原来的位置,否则晶格就不能保持稳定。
附录一:
Real w,a,m,b,q
OPEN(10,FILE='t.out')
C==============================================C
C 打开一个文件t.out,储存计算数据 C
C==============================================C
a=1.0
m=1.0
b=1.0
C========================================================C
C 简单起见,将相邻原子间距a、原子质量m、弹性恢复力b附值1 C
C========================================================C DO 100 q=-3.14,3.14,0.1
C==============================================C
C q的取值范围是(-3.14/a,3.14/a) C
C==============================================C
w=2*sqrt(b/m)*abs(sin(a*q/2))
100 write(10,*) w
C==============================================C
C 将结果储存在文件t.out中 C
C==============================================C
End
附录二:
Real vp,vg,a,m,b,q
OPEN(10,FILE='m.out')
C==============================================C
C 打开一个文件m.out,储存计算数据 C
C==============================================C
a=1.0
m=1.0
b=1.0
C========================================================C C 简单起见,将相邻原子间距a、原子质量m、弹性恢复力b附值1 C
C========================================================C DO 100 q=-3.14,3.14,0.1
C==============================================C
C q的取值范围是(-3.14/a,3.14/a) C
C==============================================C
vp=a*sqrt(b/m)*sin(a*q/2)/(a*q/2)
vs=a*sqrt(b/m)*cos(a*q/2)
100 write(10,*)'vp=',vp,' vs=',vs
C==============================================C
C 将结果储存在文件m.out中 C
C==============================================C
End。