差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

seminar:al結晶 2013/06/04 12:25 — 現在
ライン 1: ライン 1:
-====== アルミニウム結晶 ====== 
-{{:new_crystal.jpg?200|FCC結晶格子}} 
-===== 原子間距離と面間距離 ===== 
-アルミニウム結晶は面心立方格子でありその格子常数(立方体の単位格子をとったときの一辺)は0.40496nm(4.0496Å)である。これを<latex>a_0(=4.0496{\rm \AA})</latex>とおく 
- 
-^格子常数|<latex>a_0</latex>|4.0496Å| 
-^立方体の一辺|<latex>a_0</latex>|4.0496Å| 
-^正方形の対角線|<latex>b_0=\sqrt{a_0^2+a_0^2}=\sqrt{2}a_0</latex>|5.7270Å| 
-^立方体の対角線|<latex>c_0=\sqrt{a_0^2+a_0^2+a_0^2}=\sqrt{3}a_0</latex>|7.0141Å| 
-^最隣接原子間距離|<latex>b_0/2</latex>|2.8635Å| 
-^111格子面間隔|<latex>c_0/3</latex>|2.3380Å| 
- 
-===== 単純単位格子 ===== 
-単位格子を立方体の形にとると、1の単位格子に4つの原子が含まれている。1の単位格子に1つの原子が含まれるように単位格子をとるには、 
- 
-<latex> 
-\begin{array}{l} 
-\vec{a}_1=(0,\,\frac{a_0}{2},\,\frac{a_0}{2})\\ 
-\vec{a}_2=(\frac{a_0}{2},\,0,\,\frac{a_0}{2})\\ 
-\vec{a}_3=(\frac{a_0}{2},\,\frac{a_0}{2},\,0)) 
-\end{array} 
-</latex> 
- 
-のように単位格子ベクトルをとればよい。したがって、計算で用いるListOfAtomsオブジェクトは 
- 
-<code python> 
-a0 = 4.05 
- 
-from math import sqrt 
-a2 = a0/2. 
- 
-c1 = (0, a2, a2) 
-c2 = (a2, 0, a2) 
-c3 = (a2, a2, 0) 
-pcell = [c1, c2, c3] 
- 
-from ASE import Atom, ListOfAtoms 
-bulk = ListOfAtoms([Atom('Al',(0, 0, 0))]) 
-bulk.SetUnitCell(pcell) 
-</code> 
- 
-のように定義される。 
-===== 電子配置 ===== 
-アルミニウムの原子番号は13であるから、当然電子の個数は13である。この13個の電子が 
- 
-<latex>(1s)^2(2s)^2(2p)^6(3s)^2(3p)^1</latex> 
- 
-のような電子配置をとっている。3p状態が中途半端につまっているということは、主量子数が3の状態すなわち3sと3pに入っている3個の電子が価電子、主量子数が3未満すなわち1sと2sと2pに入っている10個の電子が内殻電子ということになる。より原子番号の大きな原子、すなわちd状態やf状態が関係してくる場合にはこのように単純には言えないが、Alの場合は単純にこの3個の価電子に対する電子状態だけを計算しておけばよい。スピンの重複度を考えると一つの状態に二つの電子が入れるので、価電子数3の半分を切り上げた2個の状態を最低限計算する必要がある。ところで、結晶の価電子の状態は当然原子の価電子の状態である3sと三つの3p状態、合わせて4個の原子状態が混成した状態であろうとも考えられる。どのような混成が起こっているかわからない以上、一応4個の電子状態を計算しておくのがよいと思われる。 
- 
-そこで、 
-<code python> 
-from Dacapo import Dacapo 
-calc = Dacapo(nbands = 4) 
-</code> 
-のように定義する。 
- 
-====== 計算パラメータの設定 ====== 
- 
-==== K点 ==== 
-一酸化炭素のような分子の計算の場合、周期的に並べられた箱(ListOfAtoms)と箱の間には電子の行き来は無いと考えられるし、また行き来は無いと考えられる程度に箱を大きくしなければならないが、結晶の場合はそもそも箱は結晶の単位格子でしかないから、電子は隣り合う箱の間を行き来する。すなわち「運動量」を持っており、いろいろな運動量についてエネルギーを計算する必要がある。量子力学では運動量は波数kで表されるのでK-Pointなどとも呼ばれる。正確にはブリリュアンゾーン(BZ)の範囲内の連続的な波数について計算する必要があるが、これを有限個のK点で近似する。K点の個数は 
-<code python> 
-calc.SetBZKPoints((2,2,2))        # set the k-points Monkhorst-Pack  
-</code> 
-のようにDacapoのインスタンスにSetBZKPointsメッセージを送る事によって実行される。 
-この例ではBZ内に2x2x2=8個のK点をとってその運動量を持った電子のエネルギーを計算する。実際にどのようなK点について計算しているかについては実行結果のファイルの内容を確かめよ。 
- 
-分子の計算のようにSetBZKPointsを指定しなかったときは 
-<code python> 
-calc.SetBZKPoints((1,1,1)) 
-</code> 
-と指定したと看做され、<latex>\vec{p}=\hbar\vec{k}=(0,0,0)</latex>即ちブリリュアンゾーン内のΓ点についての計算になっている。 
- 
-===== カットオフ ===== 
-箱(単位格子)を周期的に並べる事により電荷密度をフーリエ展開し、同時に波動関数もフーリエ展開してハミルトニアンの行列要素を計算するが、フーリエ展開は無限級数であるので計算機で取り扱うためにはこれをどこかで打ち切らなければならない。打ち切る波数をエネルギーに換算したものをカットオフエネルギーと呼び、次のようにDacapoのインスタンスにSetPlaneWaveCutoffメッセージを送る事によって設定する。 
-<code python> 
-calc.SetPlaneWaveCutoff(150)        # planewavecutoff in eV 
-</code> 
-数字の単位はeVである。 
- 
-電荷密度についてカットオフエネルギーと波動関数についてカットオフエネルギーを以下の例のように別々に指定することもできるが、 
-<code python> 
-calc.SetPlaneWaveCutoff(300)        # plane wave cutoff in eV 
-calc.SetDensityCutoff(600)        # density cutoff in eV 
-</code> 
-つじつまが合わなくならないように同じ値を指定するか、PlaneWaveCutoffだけを指定する。 
-非常に重い元素などについてある程度の精度を確保しながら高速化するためにSetDensityCutoffだけを大きくするようなことが時々行われる。 
- 
- 
- 
-====== 状態密度 ====== 
- 
-===== 定義 ===== 
-<latex> 
-\rho(\varepsilon)=\displaystyle\sum_{k}\delta(\varepsilon - \varepsilon_{k}) 
-</latex> 
- 
-===== 状態密度データファイルの作成 ===== 
- 
-<note warning > 
-出力ファイルに指定したファイル名のファイルが既にあるときは上書きされてしまう!\\ 
-詳細は[[:ab_initio:状態密度|別項]]を参照。 
-</note> 
- 
-  - 正常終了したプログラムの出力結果のncファイルが存在するディレクトリで次のコマンドを実行する。<code sh> 
-$ 
-$ getdos input_nc_file.nc output_text_file.text 
-$ 
-</code> 
-  - CyberDuck等でoutput_text_file.textをMac側に転送する。\\output_text_file.textの中にはエネルギーと状態密度がx-yグラフを描く形式で収められている。これは単なるテキストデータなので適当に加工することも可能。 
-  - Abscissa等でoutput_text_file.textのグラフをつくる。 
- 
-===== 演習問題 ===== 
-  - PlaneWaveCutoffの値と全エネルギーの関係をグラフにせよ。 
-  - BZKPointsを(1,1,1), (2,2,2), (3,3,3)...と変えながら全エネルギーと状態密度の変化を調べよ。 
-  - ユニットセル(単位格子)の大きさを±10%の範囲で変化させ、単位格子の体積(横軸) vs 全エネルギーの変化(縦軸)のグラフを作成せよ。 
- 
seminar/al結晶.1370316342.txt.gz · 最終更新: 2013/06/04 12:25 by kimi
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0