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 半導体 バンドギャップ 

AkaiKKRでLDAとGGA その2

AkaiKKRでLDAとGGA その1と同様に、強磁性の体心立方構造(bcc)鉄の全エネルギーとスピン磁気モーメントを格子定数の関数としてAkaiKKR(machikaneyama)で計算しました。

FeMult.png

Fig.1: 鉄の格子定数と全エネルギー、スピン磁気モーメントの関係


前回と同様に、LDA(mjw)は格子定数を過小評価、GGA(pbe)は過大評価しました。


強磁性bcc鉄


AkaiKKRでLDAとGGA その1では非磁性の面心立方構造(fcc)の銅の格子定数をLDA(mjw)とGGA(pbe)で、それぞれ計算しました。その結果、LDAは格子定数を過小評価し、GGAは過大評価することが確認できました。

今回は、スピン分極を考慮した強磁性の体心立方構造(bcc)の鉄に対して、同様の計算を行います。

結果


結果をFig.1に示します。AkaiKKRでLDAとGGA その1と同様に、格子定数に関してはLDA(mjw)が過小評価、GGA(pbe)が過大評価となりました。実験値との比較では、GGA(pbe)の方が近い値となっていることが分かります。

同時にスピン磁気モーメントもプロットしてあります。磁性入門―スピンから磁石まで (材料学シリーズ)に書いてある鉄の磁気モーメントの実験値は M = 2.218 μB です。

LDA(mjw)によって得られた格子定数のときのLDAの磁気モーメントは、かなり実験値に近い値ですで、ほんのわずかに過小評価してるようです。LDAの磁気モーメントは、格子定数が大きくなるほど大きくなっています。GGA(pbe)によって得られた格子定数でのスピン磁気モーメントは、実験値に対して過大評価で、そのずれはLDAによるものよりも大きくなりました。

そんなわけで、強磁性bcc鉄のスピンモーメントの計算に、LDAの代わりにGGAを使うと、一見すると実験との一致が悪くなるという見方もできます。しかし、GGAは一般的にLDAよりも磁性体の計算を改善する傾向にあるということが、知られているようです。
第一原理計算の結果の正しさを検証する上で、実験値のと比較を行うというのは、最も王道的な方法ではありますが、どの程度の確度で議論ができるのかはよく考えないといけないかもしれません。いずれにせよ、今回の計算ではLDA、GGAどちらも格子定数、磁気モーメントをそれなりに良い確度で再現できていると考えられると思っています。

関連エントリ




参考URL




付録


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


参考文献/使用機器







フィードバック



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

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


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


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

tag: AkaiKKR machikaneyama KKR LDA GGA 

AkaiKKRでLDAとGGA その1

密度汎関数理論(DFT)を用いた第一原理計算において交換相関ポテンシャルに何を使うかは、最も経験的に決めなければならないパラメータのひとつです。AkaiKKR(machikaneyama)でもLDA/GGAのなかからいくつかの選択肢があります。今回はmjw型のLDAとpbe型のGGAを使って面心立方構造(fcc)の銅の格子定数を計算してみました。

Cu.png

Fig.1: 銅の格子定数と全エネルギーの関係


その結果、LDAは格子定数を過大評価し、GGAは過小評価する傾向にあることが確認できました。


交換相関ポテンシャル


密度汎関数理論(DFT)を利用した第一原理計算ソフトでは、その交換相関項を表すために何らかの近似を行います。非常に良く使われるのが局所密度近似(LDA)と一般勾配近似(GGA)です。

ありていに言うとGGAの方がLDAよりも一歩進んだ「えらい」近似であるということになっています。しかしながら、実際に物性値を計算してみると必ずしもGGAのほうが良い結果になるとも限らないようです。更に言うならば、GW近似などの、更に進んだ計算手法と比べるとLDAもGGAも五十歩百歩としてどちらも一まとめにLDAと扱われることもあるようです。

AkaiKKR(machikaneyama)も交換相関項にLDAとGGAのどちらかを選ぶことができます。LDA/GGAの中にもいくつかの定式化があるようでAkaiKKRでは以下の選択肢があります。(詳しくは source/potenv.f のコメントを参照)

LDA: vbh, mjw, vwn
GGA: gga91, pbe, ev

いずれにせよ、交換相関ポテンシャルの項に対して、LDA/GGAといった近似を持ち込むことが、DFT計算において最も程度の大きい近似であるので、これらの項にどの近似を使うことによって、結果にどのような影響があるのかは知っておいたほうが良いです。

今回は面心立方構造(fcc)の銅の格子定数を全エネルギーの最小化から求めました。LDAの代表として mjw を選び、GGAの代表としては pbe を選びました。

計算結果


Fig.1に銅の格子定数と全エネルギーの関係をグラフに示します。mjw型のLDAでは格子定数が a=6.75 Bohr 程度になることが分かります。
これに対してpbe型のGGAを用いると a=6.95 Bohr 付近に全エネルギーの最小が存在します。グラフの中に垂直の破線で示したところが、実験から得られている格子定数です。
LDAは格子定数を過小評価、GGAは過大評価していることが分かります。

この傾向は、銅に限った話ではなくLDAは密度の高い相を導きやすくGGAはより隙間の大きい構造を好む様です。(参考: 物質の電子状態〈下〉 (SPRINGER UNIVERSITY TEXTBOOKS))

なおグラフの縦軸は任意目盛りです。そして、LDAとGGAでも別の軸を取っているので、相対的な比較はできません。それぞれの曲線の中で全エネルギーが最小となる格子定数がどの程度になるのかだけ見てください。

関連エントリ




参考URL




付録


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


参考文献/使用機器






フィードバック



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

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


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


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

tag: AkaiKKR machikaneyama KKR LDA GGA 

ecaljの実行手順(LDA計算)

ecaljは、ユーザーが最低限準備しなければならないファイルが結晶構造ファイルctrls.siだけで非常に簡単です。その分、結晶構造ファイルからバンド計算のための入力ファイルを半自動生成するステップが必要です。今回は、ecaljを用いた局所密度近似(LDA)計算の手順をまとめます。

  1. 結晶構造ファイル ctrls.si の作成
  2. 制御ファイル ctrl.si の作成
  3. 構造のチェック(省略可): lmchk
  4. 計算の前準備: lmfa
  5. LDA計算: lmf
  6. ポスト処理(状態密度の描画など)



ecaljのLDA計算


ecaljはGW近似を計算可能な第一原理計算パッケージです。
密度汎関数理論(DFT)と局所密度近似(LDA)の組み合わせは、半導体のバンドギャップを過小評価するなどの問題がある事が広く知られています。
GW近似は、この問題に対してLDA計算の結果を大きく改善します。
今回はこのecaljの基本的な計算方法のうち、GW近似を用いないLDA計算の手順をメモしておきます。

ecaljのファイル命名規則に書いた通りecaljのファイル名は、拡張子の部分に物質の名前を指定する規則になっているようです。
今回はシリコンを想定して ctrls.si の様にファイル名を命名していますが、計算する系に応じて si の部分は読み替えてください。

1. 結晶構造ファイル ctrls.si の作成


結晶構造を指定するファイルは ctrls.si です。
このファイルには、最低限で以下の3つの情報が必要です。
  • 格子定数 a (Bohr)
  • 基本並進ベクトル
  • 基底の原子位置

#で始まる行はコメント、%constで始まる行は定数の定義です。

2. 制御ファイル ctrl.si の作成


結晶構造ファイルctrls.si から半自動的に制御ファイルのテンプレート ctrl.si を作成することができます。
ctrlgenM1.py si
cp ctrlgenM1.ctrl.si ctrl.si

結晶構造ファイル ctrls.si と非常に名前が良く似ていますが、制御ファイル ctrl.si は別のファイルです。

3. 構造のチェック: lmchk


省略

4. 計算の前準備: lmfa


lmfa si

計算の前準備をします。

5. LDA計算: lmf


lmf si

実際の第一原理計算です。

6. ポスト処理


状態密度の描画などのポスト処理を行います。
job_tdos si -np 2

上記の例では、全状態密度を描画します。

関連エントリ




参考URL




参考文献/使用機器




フィードバック



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

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


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


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

tag: ecalj LDA 

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

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

最新コメント
リンク

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