AkaiKKRとecaljでCuGaTe2 その2

AkaiKKRとecaljでCuGaTe2 その1ではAkaiKKR(machikaneyama)を用いてCuGaTe2の状態密度を計算しました。今回は、さらにecaljを用いて、LDAとGW近似の計算を行いました。その結果、AkaiKKRがCuGaTe2のバンドギャップを過小評価するのは、LDA/GGAに共通する問題であろう事、また、ecaljを用いてGW近似を適用すると、バンドギャップが改善されることが分かりました。

AkaiKKRLDAGW
Bandgap~0.4 eV0.1586 eV1.0962 eV
table.1: AkaiKKR(GGA), ecalj(LDA), ecalj(GW近似)のそれぞれのバンドギャップ



CuGaTe2のバンドギャップ問題


AkaiKKRとecaljでCuGaTe2 その1では、AkaiKKR(machikaneyama)を用いてCuGaTe2の状態密度を計算しました。その結果、得られたバンドギャップの大きさは過小評価となりました。これがLDA/GGAに起因する問題ならば、ecaljのLDA計算でも過小評価となり、かつ、GW近似を適用することで改善が見られるはずです。そこで今回は、LDAとGW近似の両方でCuGaTe2の計算を行います。

ecaljの結晶構造ファイル


ecaljの実行手順(LDA計算)ecaljの実行手順(GW近似)で書いたとおりecaljのために最低限必要なのは結晶構造ファイル ctrls.cugate2 だけです。ecaljの結晶構造ファイルは、基本並進ベクトルで格子を指定し、直交座標系で原子位置を指定する必要があります。

AkaiKKRではブラベ格子の種類は「ブラベ格子のキーワード」を指定する方法と「基本並進ベクトル」を指定する方法の2種類があります(参考: AkaiKKRのブラベ格子AkaiKKRの基本並進ベクトル その1AkaiKKRの基本並進ベクトル その2)。また、原子位置も「直交座標系」で与える方法と「分率座標系(fractional coordinate)」で与える方法の2種類あります。

もしもAkaiKKRの入力ファイルが、ブラベ格子のキーワードを利用している、あるいは、原子位置が分率座標系で与えられている場合、ecaljの入力フォーマットに合うように直す必要があります。AkaiKKRの入力ファイルからecaljの入力ファイルを作る方法としては、いったんcifファイルなどを経由してVESTAを利用する方法が正攻法でしょう(参考: VESTAでAkaiKKRのための基本並進ベクトル)。

しかし、もしもすでにAkaiKKR用の入力ファイルがあるのなら、ワンステップだけとはいえ、余計な手間がかかっている感があります。幸いにして、AkaiKKRの出力には、基本並進ベクトルと直交座標系での原子位置が出力されるので、今回はこれらを利用してecaljのための入力ファイルを作ります。

具体的には、AkaiKKRとecaljでCuGaTe2 その1の出力結果から、以下の基本並進ベクトルと原子位置の部分を抜き出します。

   primitive translation vectors
a=( -0.50000 0.50000 0.99600)
b=( 0.50000 -0.50000 0.99600)
c=( 0.50000 0.50000 -0.99600)


   atoms in the unit cell
position= 0.23703000 0.25000000 0.24900000 type=Te
position= 0.76297000 0.75000000 0.24900000 type=Te
position= 0.75000000 0.23703000 0.74700000 type=Te
position= 0.25000000 0.76297000 0.74700000 type=Te
position= 0.50000000 0.50000000 0.00000000 type=Ga
position= 0.50000000 0.00000000 0.49800000 type=Ga
position= 0.00000000 0.00000000 0.00000000 type=Cu
position= 0.00000000 0.50000000 0.49800000 type=Cu
position= 0.75000000 0.25000000 0.24900000 type=Es1
position= 0.25000000 0.75000000 0.24900000 type=Es1
position= 0.75000000 0.75000000 0.74700000 type=Es1
position= 0.25000000 0.25000000 0.74700000 type=Es1
position= 0.00000000 0.00000000 0.49800000 type=Es2
position= 0.50000000 0.50000000 0.49800000 type=Es2
position= 0.00000000 0.50000000 0.00000000 type=Es2
position= 0.50000000 0.00000000 0.00000000 type=Es2


結局CuGaTe2の結晶構造ファイルは、以下のようになります。

STRUC   ALAT=11.5388
PLAT=-1/2 1/2 0.99600
1/2 -1/2 0.99600
1/2 1/2 -0.99600
SITE ATOM=Te POS=0.23703000 0.25000000 0.24900000
ATOM=Te POS=0.76297000 0.75000000 0.24900000
ATOM=Te POS=0.75000000 0.23703000 0.74700000
ATOM=Te POS=0.25000000 0.76297000 0.74700000
ATOM=Ga POS=0.50000000 0.50000000 0.00000000
ATOM=Ga POS=0.50000000 0.00000000 0.49800000
ATOM=Cu POS=0.00000000 0.00000000 0.00000000
ATOM=Cu POS=0.00000000 0.50000000 0.49800000


結果


LDAを用いた結果、ワンショットGW近似を用いた結果、および、前回計算したAkaiKKRのGGAの結果を示します。

CuGaTe2-GW.png
Fig.1: QSGWによるCuGaTe2の状態密度

CuGaTe2-LDA.png
Fig.2: LDAによるCuGaTe2の状態密度

CuGaTe2DOS.png
Fig.3: GGA(AkaiKKR)によるCuGaTe2の状態密度


まず、大まかに見れば状態密度の形状はどれもほとんど同じであることが分かります。ただし、バンドギャップができるはずの部分では、LDAやAkaiKKR(GGA)の結果は、GW近似の結果と比較してギャップエネルギーを過小評価していることが分かります。

ecaljのログファイルには、バンドギャップの値が出力されます。前回のAkaiKKRの値とあわせて比較するとTable.1のようになりました。

ただし、LDA/GGAはバンドギャップを過小評価するという以上のことを言おうと思うと、微妙な議論になるかもしれません。
結晶構造と格子定数を合わせてあるとはいえ、細かい設定は異なります。AkaiKKRではpbe(GGA)を、ecaljのLDAはvwnを使っている点。AkaiKKRはフルポテンシャルでない点、などです。実際、空孔を入れたり原子球近似(ASA)を使ったりすることでギャップの値が改善されるということは、バンドギャップの値がポテンシャルの形状に影響を受けるはずだということです(参考: AkaiKKRでダイヤモンド型構造半導体)。

LDA/GGAのバンドギャップ過小評価は、第一原理計算パッケージ全般についてまわる問題だけあって、私には結論が出せませんが、仮にバンドギャップが正しい値を示さなくても、バンド構造や全エネルギーに関して議論を行うことは、何らかの意味があるかもしれません。

関連エントリ




参考URL




付録


このエントリで使用したファイルを添付します。ファイル名末尾の".txt"を削除して、"_"を"."に変更すれば使えるはずです。(参考:ねがてぃぶろぐの付録)


参考文献/使用機器




フィードバック



にほんブログ村 その他趣味ブログ 電子工作へ

 ↑ 電子工作ブログランキング参加中です。1クリックお願いします。


コメント・トラックバックも歓迎です。 ↓      


 ↓ この記事が面白かった方は「拍手」をお願いします。


tag: AkaiKKR machikaneyama KKR ecalj LDA GGA GW近似 QSGW 半導体 バンドギャップ 

comment

Secret

FC2カウンター
カテゴリ
ユーザータグ

LTspiceAkaiKKRmachikaneyamaScilabKKRPSoC強磁性CPAPICOPアンプecalj常微分方程式モンテカルロ解析状態密度トランジスタodeDOSインターフェース定電流スイッチング回路PDS5022半導体シェルスクリプト分散関係レベルシフト乱数HP6632AR6452A可変抵抗トランジスタ技術温度解析ブレッドボードI2C反強磁性確率論数値積分セミナーバンドギャップバンド構造偏微分方程式非線形方程式ソルバ熱設計絶縁ISO-I2Cカオス三端子レギュレータLM358GW近似マフィンティン半径A/DコンバータフォトカプラシュミットトリガLEDPC817C発振回路数値微分直流動作点解析サーボカレントミラーTL431アナログスイッチUSB74HC4053bzqltyVESTA補間電子負荷アセンブライジング模型BSch量子力学単振り子2ちゃんねるチョッパアンプLDA開発環境基本並進ベクトルFFT標準ロジックブラべ格子パラメトリック解析抵抗SMPMaxima失敗談ラプラス方程式繰り返し位相図スイッチト・キャパシタ熱伝導状態方程式キュリー温度gfortranコバルトTLP621不規則合金Quantum_ESPRESSO六方最密充填構造ランダムウォーク相対論ewidthスピン軌道相互作用FETQSGWVCAcygwinスレーターポーリング曲線GGA仮想結晶近似PWscfシュレディンガー方程式LM555ハーフメタル固有値問題NE555最小値ガイガー管QNAPUPS自動計測ダイヤモンドマントルTLP552格子比熱最適化MCU井戸型ポテンシャル最大値xcrysdenCIF条件分岐詰め回路フェルミ面差し込みグラフスーパーセルfsolveブラウン運動awk過渡解析起電力三角波第一原理計算FXA-7020ZRWriter509Ubuntuテスタ熱力学データロガーTLP521OpenMPubuntu平均場近似MAS830LトランスCK1026PIC16F785PGA2SC1815EAGLEノコギリ波負帰還安定性ナイキスト線図MBEOPA2277P-10フィルタCapSenseAACircuitLMC662文字列固定スピンモーメントFSMTeX結晶磁気異方性全エネルギーc/a合金multiplotgnuplot非線型方程式ソルバL10構造正規分布等高線ジバニャン方程式初期値interp1fcc面心立方構造ウィグナーザイツ胞半金属デバイ模型電荷密度重積分SIC二相共存磁気モーメント不純物問題PWgui擬ポテンシャルゼーベック係数ZnOウルツ鉱構造edeltquantumESPRESSOフォノンリジッドバンド模型スワップ領域BaO岩塩構造ルチル構造ヒストグラム確率論マテリアルデザインフラクタルマンデルブロ集合キーボードRealforceクーロン散乱三次元疎行列縮退化学反応関数フィッティング最小二乗法Excel直流解析PCTS-110TS-112日本語パラメータ・モデル等価回路モデルcif2cell入出力陰解法熱拡散方程式HiLAPW両対数グラフCrank-Nicolson法連立一次方程式specx.fifort境界条件片対数グラフグラフの分割円周率ヒストグラム不規則局所モーメントGimpシンボル軸ラベル凡例線種トラックボール

最新コメント
リンク

にほんブログ村 その他趣味ブログ 電子工作へ