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カウンター
カテゴリ
ユーザータグ

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

最新コメント
リンク

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