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強磁性OPアンプPICCPAecaljモンテカルロ解析常微分方程式odeトランジスタ状態密度DOSインターフェース定電流PDS5022スイッチング回路半導体シェルスクリプト乱数レベルシフト分散関係HP6632AI2C可変抵抗トランジスタ技術ブレッドボード温度解析R6452A反強磁性確率論バンドギャップセミナー数値積分熱設計非線形方程式ソルババンド構造絶縁偏微分方程式ISO-I2CLM358マフィンティン半径フォトカプラシュミットトリガカオスLED三端子レギュレータGW近似A/Dコンバータ発振回路PC817C直流動作点解析USBTL431数値微分アナログスイッチカレントミラー74HC4053サーボ量子力学単振り子チョッパアンプ補間2ちゃんねる開発環境bzqltyFFT電子負荷LDAイジング模型BSch基本並進ベクトルブラべ格子パラメトリック解析標準ロジックアセンブラ繰り返し六方最密充填構造SMPコバルトewidthFET仮想結晶近似QSGW不規則合金VCAMaximaGGA熱伝導cygwinスレーターポーリング曲線キュリー温度スイッチト・キャパシタ失敗談ランダムウォークgfortran抵抗相対論位相図スピン軌道相互作用VESTA状態方程式TLP621ラプラス方程式TLP552条件分岐NE555LM555TLP521マントル詰め回路MCUテスタFXA-7020ZR三角波過渡解析ガイガー管自動計測QNAPUPSWriter509ダイヤモンドデータロガー格子比熱熱力学起電力awkブラウン運動スーパーセルUbuntu差し込みグラフ第一原理計算フェルミ面fsolveCIFxcrysden最大値最小値ubuntu最適化平均場近似OpenMP井戸型ポテンシャル固有値問題シュレディンガー方程式TeX2SC1815結晶磁気異方性OPA2277フラクタルFSM固定スピンモーメントc/a非線型方程式ソルバgnuplot全エネルギーfcc初期値マンデルブロ集合縮退正規分布interp1ウィグナーザイツ胞L10構造multiplotフィルタ面心立方構造PGAハーフメタル二相共存ZnOウルツ鉱構造BaOSIC重積分磁気モーメント電荷密度化学反応クーロン散乱岩塩構造CapSenseノコギリ波デバイ模型キーボード半金属フォノンquantumESPRESSOルチル構造スワップ領域リジッドバンド模型edelt合金Realforce軸ラベルグラフの分割凡例線種シンボルMAS830LCK1026LMC662PIC16F785トランス関数フィッティングトラックボールPC等価回路モデルヒストグラムパラメータ・モデル不規則局所モーメント最小二乗法TS-112TS-110直流解析ExcelGimp円周率片対数グラフ両対数グラフspecx.f疎行列三次元ifort文字列不純物問題P-10等高線ジバニャン方程式ヒストグラム確率論マテリアルデザイン入出力境界条件陰解法AACircuit熱拡散方程式HiLAPWMBEEAGLE連立一次方程式ナイキスト線図負帰還安定性Crank-Nicolson法日本語

最新コメント
リンク

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