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

ecaljで半金属α-スズ

ダイヤモンド構造を持つα-スズ(灰色スズ)は、バンドギャップがほとんどない半金属であることが知られています。今回は、ecaljを用いてα-スズの計算し、LDA計算でもGW近似計算でも半金属的なバンド構造を持つことを確認しました。

aSnLDAdos.png

Fig.1: ダイヤモンド構造スズ(α-スズ, 灰色スズ)の状態密度の計算結果。



ダイヤモンド構造のα-スズ


私たちがスズと聞いて、日常的に思い浮かべるのは、β-スズと呼ばれる正方晶の結晶で、金属です。ここで周期表を眺めてみると、スズは14族に属する元素です。14族元素を上から順に見てみると、炭素・シリコン・ゲルマニウムといずれもダイヤモンド構造をとる半導体です(炭素の最安定構造はグラファイトですが)。スズもまた、13℃以下の温度では、ダイヤモンド構造をとり、α-スズ(灰色スズ)と呼ばれ、通常のβ-スズ(白色スズ)と区別されます。

Sn-Alpha-Beta-small.jpg

Fig.2: 左は金属のβ-スズ(白色スズ)で右はダイヤモンド構造のα-スズ(灰色スズ)。Wikipediaのスズのページより


今回はecaljを利用してダイヤモンド構造のα-スズのバンド構造を計算します。
なおWikipediaのスズのページにはバンドギャップが約0.1 eVの半導体[要出典]と書かれています。

計算手順


ecaljのMATERIALSディレクトリで ./job_materials.pySn--noexec オプションをつけて実行すると関連するファイル群が作成されます。
./job_materials.py Sn --noexec

その中から結晶構造ファイル ctrls.sn だけコピーして、後はいつもどおり計算します。

計算結果


LDA計算とワンショットのQSGW計算を行いました。

aSnLDA.png
aSnQSGW.png

Fig.3-4: ダイヤモンド構造のスズ(α-スズ, 灰色スズ)のバンド構造の計算結果(LDAとQSGW)


LDAもGW近似も状態密度を見るとフェルミ準位に状態の谷がありますが、金属なのか半導体なのかの判断は微妙です。バンド図を見るとLDAの方はわずかながらフェルミ準位でバンドの重なりがあります。GW近似の結果は、微妙です。

ecaljでAg2Oの状態密度のときは、LDA計算ではバンドギャップがまったくなかったものが、QSGW計算にするとギャップが開くという結果が得られました。これに対して今回のα-スズの計算ではQSGW計算でもほとんど(あるいはまったく)バンドギャップが見られませんでした。このことは現実のα-スズでもバンドギャップがほとんど(あるいはまったく)ない半金属的な電子構造を持つということと調和的です。

関連エントリ




参考URL




参考文献/使用機器





フィードバック



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

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


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


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

tag: ecalj QSGW 半金属 

ecaljの実行手順(GW近似)

ecaljはLDAとGW近似の両方の計算ができる第一原理計算パッケージです。GW近似を用いた計算でも、通常のLDA計算とほとんど変わらない手続きで計算を行うことができます。今回は、ecaljでGW近似を用いた計算を行う手順をまとめます。

  1. 結晶構造ファイル ctrls.si の作成
  2. 制御ファイル ctrl.si の作成
  3. 構造のチェック(省略可): lmchk
  4. 計算の前準備: lmfa
  5. GW計算入力ファイル GWinput の作成
  6. ワンショットGW計算: gwsc
  7. QSGW収束計算: gwsc
  8. ポスト処理(状態密度の描画など)



ecaljのLDA計算とGW近似計算


ecaljは通常の局所密度近似(LDA)計算とGW近似を用いた計算の両方ができる第一原理計算パッケージです。ecaljでシリコンのバンド構造(LDA計算)では、ecaljの実行手順(LDA計算)でまとめた計算手順に従ってシリコンのバンド構造を描画しました。

次にシリコンのバンドギャップがGW近似によってどの程度改善されるかを見る事を考えます。今回のエントリではその前にGW計算の手順をまとめておきます。基本的には、LDA計算のときの手続きとほぼ同じです。GW近似計算を行う前に、必ずしもLDA計算を行っておく必要はないため(というか勝手にやってくれるようなので)、最初からGW近似計算をやることもあると思うので、全く同じ部分も省略せずにecaljの実行手順(LDA計算)と同じ内容を書いておきます。

ecaljのファイル命名規則に書いた通りecaljのファイル名は ctrls.si の様に拡張子の部分に物質名を書く規則なので、今回のエントリで si となっている部分は、計算したい系に応じて適宜読み替えてください。

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


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

#で始まる行はコメント、%constで始まる行は定数の定義です。
ファイルの内容はLDA計算のときとまったく同一です。

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


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

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

3. 構造のチェック: lmchk


省略

4. 計算の前準備: lmfa


lmfa si

LDA計算と同様に計算の前準備をします。

5. GW近似用ファイルの作成


ここからがGW計算に必要なステップです。
mkGWIN_lmf2 si

上記のようにタイプするとn1=のように、値を聞かれるので3回とも2などの整数を入力します。

cp GWinput.tmp GWinput

mkGWIN_lmf2が半自動的にGW計算の入力ファイルのテンプレートを作成してくれるので、ユーザーは本番用にコピーします。

6. ワンショットGW計算


まずワンショットGW計算を行います。
gwsc 0 -np 2 si

gwsc に続く整数の部分に0を指定するとワンショット計算になります。

7. QSGW収束計算


収束させる場合は gwsc に続けて整数を指定します。
gwsc 5 -np 2 si

この整数の値はイテレーションの回数+1です。

8. ポスト処理


ポスト処理はLDA計算と同じです。以下の例は全状態密度を計算します。
job_tdos si -np 2


関連エントリ




参考URL




参考文献/使用機器




フィードバック



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

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


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


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

tag: ecalj GW近似 QSGW 

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

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

最新コメント
リンク

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