====== 概要 ====== * 仮想結晶近似 (Virtual Crystal Approximation, VCA) とは、異なる2つの原子のポテンシャルを混ぜ合わせて平均化することで、合金やキャリアドープなどを仮想的に再現する近似です。 * **周期表の同じ行で隣り合う原子のみ**混ぜ合わせることができます。 * また、混ぜ合わせる原子のそれぞれだけでエネルギーバンドを書いてみたときに、その構造がほとんど一致している(つまりフェルミ準位が動いただけのように見える)場合にのみ使うことができます。 * 公式にサポートしている計算方法ではありませんので、使用は自己責任で行ってください。 ====== 例:ホウ素ドープダイヤモンド ====== いっとき流行ったホウ素ドープダイアモンドの仮想結晶近似を例にVCAを説明します。 * 高いデバイ振動数を持ったダイアモンドにキャリアを入れて金属化すれば室温超伝導ができるのでは?というモチベーションで研究が進みましたが、特にそんなことはありませんでした。 プロジェクト名は Diamond とします ===== 準備 ===== 仮想結晶近似を行う原子の電子配置を調べておきます。 * 炭素 * Z = 6 * [He] 2s^2 2p^2 * ホウ素 * Z = 5 * [He] 2s^2 2p^1 structファイルは次のものを使用しました。 blebleble F LATTICE,NONEQUIV.ATOMS: 1 227 Fd-3m MODE OF CALC=RELA unit=bohr 6.740880 6.740880 6.740880 90.000000 90.000000 90.000000 ATOM 1: X=0.87500000 Y=0.37500000 Z=0.37500000 MULT= 2 ISPLIT=15 1: X=0.12500000 Y=0.12500000 Z=0.12500000 C 1 NPT= 781 R0=.000100000 RMT= 1.45 Z: 6.00000 LOCAL ROT MATRIX: 1.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0 NUMBER OF SYMMETRY OPERATIONS * その名の通りダイアモンド構造で、単位胞に炭素原子を2つ含みます。 ===== 計算手順 ===== - ドープしていない物質の構造で初期設定とSCF計算をします $ init_lapw -b -numk 1000 -rkmax 5.5 - Diamond.struct を開きます。ここでは炭素の5%をホウ素に置換することにして、炭素の原子番号を Z = 5.95 にします。 blebleble F LATTICE,NONEQUIV.ATOMS: 1 227 Fd-3m MODE OF CALC=RELA unit=bohr 6.740880 6.740880 6.740880 90.000000 90.000000 90.000000 ATOM 1: X=0.87500000 Y=0.37500000 Z=0.37500000 MULT= 2 ISPLIT= 2 1: X=0.12500000 Y=0.12500000 Z=0.12500000 C 1 NPT= 781 R0=.000100000 RMT= 1.45 Z: 5.95 LOCAL ROT MATRIX: 1.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.0000000 48 NUMBER OF SYMMETRY OPERATIONS ... - Diamond.in2を開いて、NE (単位胞内の全価電子数) を7.9に変更します TOT (TOT,FOR,QTL,EFG,FERMI) -12.0 7.9 0.50 0.05 1 EMIN, NE, ESEPERMIN, ESEPER0, iqtlsave TETRA 0.000 (GAUSS,ROOT,TEMP,TETRA,ALL eval) 0 0 4 0 4 4 6 0 6 4 -3 2 12.00 GMAX NOFILE FILE/NOFILE write recprlist - SCF計算を実行します $ run_lapw -cc 0.0001 -ec 0.00001 -i 100 -p -NI * キャリアを入れることで金属になったことを確認しましょう。$ grep ":GAP" Diamond.scf * ドープ量を変更したい場合は case.struct と case.in2 を編集してSCF計算を再実行します $ run_lapw -cc 0.0001 -ec 0.00001 -i 100 -p -NI * もしSCF計算が収束しない、あるいは途中でエラーが出る場合は、ドープしてないものをSCF計算でいったん収束させて、徐々にドープしていってください。 ===== 参考 ===== * https://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/msg09731.html