ABINIT

 ここではABINITを用いた基本的な計算からGW近似によるバンドギャップの計算までを解説する。
--------------------------------------------------------------------------------
ABINIT Discussion Forums(困ったときは下記を参考にしてみると良いだろう)
■ Windows binaries(Windowsユーザーは下記を参考にするとよい。Youtubeにも関連情報がある)
Abinit GUI (無理に使用する必要はない)
Version (ヴァージョンの読み方が記されている)
■ ABINITでの入力ファイルのQ&A
■ 擬ポテンシャル(大抵はPAWかUSPP{ウルトラソフト擬ポテンシャル}を選択する) ※ 擬ポテンシャルファイルは、http://www.abinit.org/downloads/PAW2 からPAWでGGAまたはGGA-PBEのもので、どのタイプでも良いので用いる。ecut 15〜25 とし、pawecutdg 15〜40 として計算すればよい。十分に慣れてきて、計算時間を短縮したいなどの要望が出てきて、よりパラメーターを吟味するようになってきたら、各ポテンシャルにある README を開いて、ecut などの値とVASPとの結果の比較などに目を通してみればよい。

■ Binary(インストールが容易なヴァージョン)
ABINITでの入力ファイルのvariablesの選択
物質・材料研究機構の新井先生が書かれた「ABINITによる第一原理電子構造計算
BFGS: 今日、経験的にも理論的にも最も優れているとされている準ニュートン法
◆ /usr/local/bin/abinit を見ると実行可能なコマンドが分かります。cif2cellもありますので、利用して頂けましたら幸いです(使い方は左欄の「入力ファイルの変換」を参照)。

◆ case.in ファイルに入力する重要入力変数
()の中に記述されていない変数:系、計算に応じて変更が必要
()の中に記述されている変数:計算速度向上等に関係するテクニカルな変数。case.inファイルに記述するが、推奨値がソフト側で与えられている。
A. 結晶構造、原子情報変数:acell, rprim, ntypat, znucl, natom, typat, xred, (nsim)
B. 平面波カットオフ変数:ecut
C. 交換相関項変数:ixc
D. k点設定変数:ngkpt, (kgtopt), (nshiftk), (shiftk)
E. 収束条件変数:toldfe, (nstep)
F. 構造最適化変数:optcell, ionmov, (ntime), (dilatmx), (ecutsm)
G. その他:
金属の場合:tsmear, (occopt)
半導体の場合:(diemac)

◆ 計算での幾つかのポイント
A. 半導体の場合は occopt, tsmear が不要。
B. 金属の場合は、例えば occopt 4,  tsmear 0.04 が推奨値。
C . nsym 1 :対称性の指定がP1構造になる。chkprim 0 は対称性を自動認識させない指定。
D. 構造最適化
  optcell:1の場合、ユニットセルを等方的に伸縮させ、応力(sigma)がゼロになるように計算される。2を推奨。
  inomv:3の場合、エネルギーが低くなるように原子を動かす。
  ntime 10, dilatmx 1.05, ecutsm 0.5 が推奨値。
  case.outの最後に書かれたacellに最適化したセルの長さが書かれる。
  ※ prtcif 1を記入しておくと cif ファイルが出力される。VESTAなどで表示してみよう。
E. ixc: 7の場合 LDA。1〜9はLDAで、1, 2, 3, 7はほぼ同じ結果となる。
F. 半導体の場合 diemac 12.0,  絶縁体の場合 diemac 2.0-4.0にすると収束を早めることができる。
G. k点の設定
  ngkpt: ngkpt = 2,2,2 は逆格子空間上で、x, y, zをそれぞれ半分ずつ区切ったk点を作る。つまり、逆格子空間上で2*2*2=8点が形成される。
  nshift: nshift = 1(1はshiftkを用いてngkptで作った全てのk点をシフトさせる指定の数)としてshiftk = ( 1/2, 1/2, 1/2 )とすると、ngkpt で作ったk点間の距離を1単位として、shiftkで指定する量だけk点をシフトさせる(https://www.jstage.jst.go.jp/article/jsssj/28/3/28_3_135/_pdf)。
  kptopt :入力ファイルから読み取る場合は0 を指定、1はIrreducible Brillouin Zone内で対称性を考慮してk点を生成、負の値はバンド図の計算で用いる。ディフォルトは1に設定されている。
H. spinat は、例えばz軸にd電子6個を全てupスピンで揃えた場合にFeだと 0.0 0.0 6.0 となる。upとdownが同量だと3(up) -3(down) = 0 となって、 0.0 0.0 0.0 となる。spinatで指定する値がupに揃える(強磁性)かupとdownがほぼ同量(磁性が弱い)かで結果が異なる場合がある。
I. BoltzTraP(ゼーベック係数、電気伝導度計算)を使用したい場合は、prtbltztrp を用いる。
J. PHONOPY(フォノン計算)を使用したい場合は、prtposcarを用いる。
※ 3軸それぞれを一度に構造最適化したい場合はPWscfの使用を考慮に入れる。
※ PAW と USPP は計算コストがあまり違わないので、精度が高い計算をしたい場合は PAW を選択し、信頼性を重視したい場合は 比較的枯れたUSPPを選択したりすることを考慮に入れたりするとよい。
※ PAWの擬ポテンシャルを用いる場合には、ecut 15 とし、pawecutdg 40 としておけば良いだろう(http://www.abinit.org/documentation/helpfiles/for-v6.12/input_variables/varpaw.html#pawecutdg 参照)

◆ case.outでの見方
A. ファイルの下から見ていく。
B. Calculation completed と表示されていれば、正常終了。
C. -kt*entropy は誤差範囲を示す。
D. Etotal が全エネルギーを示す。
E. sigma に応力テンソルが示される。
F. -outvars: echo values of variables after computation ----- の下で、最終的な結果が示される。構造最適化されている場合、acellが格子定数を示す。 
G. Warning を調べる。
H. Integrated total density in atomic spheres: にて、「Note: Diff(up-dn) can be considered as a rough approximation of a local magnetic moment.(注:Diff(up-dn)は局所的な磁気モーメントの粗い近似と考えることができる)」の記述がある。

◆ 出力ファイル
A. DDB : Derivative DataBase(全ての2DTEや3DTEを含んでいる)。
B. WFK : 波動関数ファイル。
C. 1WF  :  the first-order derivatives of the wavefunctions(波動関数の一次微分)。
D. 2DTE : the seconf derivatives of the total energy(全エネルギーの二次微分)。1WFから計算される。
E. DDK :dH/dk, Electric Fildに関係したファイル。

◆ ABINITでのディフォルトの単位系
A. エネルギー:1 hartree = 27.2113845 eV = 2625.5 kJ/mol = 4.35974417 * 10^-18 J
B. 長さ: 1 bohr = 0.52917720859 Å = 5.2917720859 * 10^-11 m
C. 応力:1 hartree/(bohr^3) = 29421.01 GPa

◆ k点の設定 (http://www.abinit.org/documentation/helpfiles/for-v7.8/input_variables/varbas.html#shiftk)
  • FCC (primitive cell) case
rprim
0.0 0.5 0.5
0.5 0.0 0.5
0.5 0.5 0.0
 
nshiftk 4

shiftk
0.5 0.5 0.5
0.5 0.0 0.0
0.0 0.5 0.0
0.0 0.0 0.5
  • BCC (primitive cell) case
rprim
-0.5 0.5 0.5
0.5 -0.5 0.5
0.5 0.5 -0.5

nshiftk 2

shiftk
0.25 0.25 0.25
-0.25 -0.25 -0.25
  • hcp (primitive cell) case
rprim
1.0 0.0 0.0
-0.5 sqrt(3)/2 0.0
0.0 0.0 1.0

nshiftk 1

shiftk 0.0 0.0 0.5
  • other primitive cell case
nshiftk 1
shiftk 0.5 0.5 0.5
-----
◆ ノルム保存型擬ポテンシャル(主にフォノンの計算で2014年現在でも用いられている)
(2014年の現在でもフォノンを扱った計算では論文にその記述を見つけることができる)
 計算させる原子の擬ポテンシャルファイルの2行目の2番の値(zion)をメモっておき、単位胞にあるその原子の数(typatで記述したその原子の数)だけ加算する。その合計を2で割った値がEFでのintegrated DOSに対応する(nsppolを2にしてスピンを考慮した場合)。nbandの数はこれに1-2割追加した値にすれば良いだろう。
 Fe2VAlの擬ギャップをよく再現させるためには、40 Haで構造最適化した構造を用いてみたが40 Haでは上手くいかず、50 Haで可能になった。下記には50 Ha で構造最適化したときの格子定数を示す。
50 Ha: 3*1.1054644472E+01, Phonon(DFPT): (ifort + MKL + fftw3xf_intel case ) 201195.0 s = 2.32 days  (There are negative frequencies) ?
100 Ha: 3*1.0761825710E+01 (7499.4 s)
 EFでのintegrated DOSの値やnbandの計算の仕方は上記のOPIUMと同じ。
 Fe2VAlを構造最適化したとき、ecut が 50 Ha と 100 Ha では格子定数が10^-5オーダー(0.001%)で異なるだけである。
50 Ha:3*1.0971932576E+01、価電子帯のDOSをある程度再現できているが、ギャップは開いている。
100 Ha:3*1.0972260791E+01、価電子帯のDOSはある程度再現できているが、ギャップは1 eV程度開いている。
200 Ha : 格子定数を3*1.0972260791E+01として計算。価電子帯のDOSはある程度再現できているが、ギャップは1 eV程度開いている。
 EFでのintegrated DOSの値やnbandの計算の仕方は上記のOPIUMと同じ。
 Fe2VAlを構造最適化したとき、ecut が 50 Ha と 100 Ha では格子定数が10^-3オーダー(0.1%)で異なるだけである。
50 Ha:3*1.0755777949E+01、擬ギャップとなっている。
100 Ha: 3*1.0781232342E+01、擬ギャップではなく僅かにギャップが開く。
 
  価電子帯のDOSについてはどのノルム保存型擬ポテンシャルも比較的良い結果を与えている。一方、伝導帯側ではどの擬ポテンシャルが有効なのかを検討しておくことが重要であるということを強く感じる結果となった。
※ 格子定数の実験値は、5.76517 Angstrom = 10.894591 Bohrである。
Fe2VAlを計算したときのk点 (OPIUMでは DOSでの ngkpt を 8 8 8 にすると擬ギャップになる。他は未確認)
SCF: ngkpt 4 4 4, DOS ngkpt 6 6 6
ngkpt 6 6 6
nshiftk 4
shiftk 0.5 0.5 0.5
       0.5 0.0 0.0
       0.0 0.5 0.0
       0.0 0.0 0.5
-----
◆ ウルトラソフト擬ポテンシャル
 必要なカットオフがノルム保存型擬ポテンシャルよりも小さく済むと言われている。ecutはノルム保存型擬ポテンシャルの1/8から1/4程度で良いと聞く。
gunzip uspp-736-0.tgz
tar xf uspp-736-0.tar
rm uspp-736-0.tar
USpp2Abinitを用いて非常に有名なヴァンデルビート(Vanderbilt)のUSPPをAbinitのPAWフォーマットに変換する。しかし、下記で示すように既にPAWが整備されているので、下記のPAWを用いることをオススメする。
-----
◆ PAW擬ポテンシャル
 必要なカットオフ(ecut)がノルム保存型擬ポテンシャルよりも小さく済むと言われている。形式的にはウルトラソフト擬ポテンシャルに近い。GPAWは pawecutdg 60 でテストした。他は、pawecutdg 15 としている。
・PBE
mkdir all_pbe_paw
cd all_pbe_paw
tar zxvf all_pbe_paw.tar.gz
 下記にはFe2VAlに対してecut 15 Ha で構造最適化したときの格子定数を示す。
15 Ha: 3*1.0790408689E+01
---
・LDA
mkdir all_lda_paw
cd all_lda_paw
tar zxvf all_lda_paw.tar.gz
※ default ixc 2 (non-spin)である。ixc 1 と 2(non-spin) と 3(non-spin) と 7 はほぼ同じ結果を与える。
15 Ha: 3*1.0566642902E+01、ixc 1 と nsppol 2 で計算したが擬ギャップになっている。
 40 Ha程度のカットオフ(ecut)を指定しないとFe2VAlのDOSを上手く再現してくれない。ノルム保存型擬ポテンシャルよりは少ないカットオフ値で再現できる。
 ecut 15 HaでFe2VAlのDOSを上手く再現してくれる。VASPでの擬ポテンシャルに匹敵する。フリーでこの結果は素晴らしい。重要な欠点を挙げるとすれば、素人にはこのJTHを用いてフォノンの計算ができないところであろう。フォノンの計算では、Abinitが改良されるのを待つか、OPIUMなどのノルム保存型擬ポテンシャルを用いることが必要である。
Fe2VAlを計算したときのk点(DOS ngkpt 6 6 6 や 7 7 7 ではギャップが開く)
SCF: ngkpt 4 4 4, DOS ngkpt 8 8 8
ngkpt 8 8 8
nshiftk 4
shiftk 0.5 0.5 0.5
       0.5 0.0 0.0
       0.0 0.5 0.0
       0.0 0.0 0.5
-----
※ 上手くいかないときは、SCF計算とDOS計算の入力ファイルで格子定数が同じかどうかを確認する(ecutが異なるときはエラーを出してくれる)。当然ながらSCFとDOSで格子定数が異なると正しい値は出力されない。
※ 上記の計算は、面倒ではあるが、構造最適化 -> 最適化した構造を用いて SCF 計算 -> DOS計算としている。構造最適化 -> DOS計算にできれば良いが、私の実力不足でその方法がまだ判明していない。

case.filesには、以下を記述する。()と()内は記述しない。
./A/case.in とファイルAの中にある指定も可能。
--------------------------------------------------
case.in (パラメーターの入力ファイル名)
case.out (出力ファイル名)
casexi (その他の入力ファイルのヘッダー)
casexo (その他の出力ファイルのヘッダー)
temp (一時ファイル用)
06-C.LDA.fhi (擬ポテンシャルファイル名)
--------------------------------------------------

case.in
--------------------------------------------------
acell 7.38 7.38 7.38 #セルの長さの設定。 3*7.38 でもよい。(a.u.単位)
angdeg 90 90 90 #基本ベクトル間の角度(a2とa3の間の角) (a1とa3の間の角) (a1とa2の間の角)
ntypat 3 #原子種の数
znucl 38 22 8 #各原子種の原子番号
natom 5 #原子数
typat 1 2 3 3 3 #各原子の種類を指定 (例だと、Sr Ti O O O となる)
xred #各原子の相対座標 または xcart #各原子の座標
0.0 0.0 0.0
0.5 0.5 0.5
0.5 0.5 0.0
0.5 0.0 0.5
0.0 0.5 0.5 
ixc 11 #交換相関項の設定。GGAは11。擬ポテンシャルもGGA用が必要
nsppol 2 #スピン分極を考慮する場合は2
spinat #各原子の初期のスピン(ディフォルト値は0.0d0、h-bar/2単位)
0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
nband #考慮する状態(バンド)数
68 68
ecut 30.0 #平面波展開のカットオフエネルギー(Hartree単位)
occopt 7 #7はGaussian smearing
tsmear 0.01 #フェルミ端のブロードニング(Hartree単位)
kptopt 1 #対称性を考慮してirreducible Bz内でのk点を作成
ngkpt 6 6 6 #Monkhorst-Pack法によるk点(x, y, z方向のk点数)
nstep 40 #最大イタレーション
toldfe 1.0d-6 #収束判定条件(total energy) または toldff #収束判定条件(atomic forces)
--------------------------------------------------

case.in (複数の計算を行う場合 : multi dataset mode)
この方法は、原子位置を徐々に変えて計算したり、SCF計算の後にDOSやバンド図を計算させたりすることを設定することができる。下記はカットオフを徐々に変えた例。
--------------------------------------------------
ndtset 3 #データセットの数
ecut1 30.0
ecut2 35.0
ecut3 40.0
または下記のようにする
ndtset 3 
ecut : 30.0
ecut+ 5.0
--------------------------------------------------

複数のデータセットを複数計算する場合
?が付いた変数がdatasetで変化する。udtsetの二番目の数字は"?の後に数字を付ける数"(幾つか計算させたい系の数などを書き込めばよい)。udtsetの一番目の数字だけ変数が変化する。
--------------------------------------------------
ndtset 12 udtset 6 2 # ndtsetはdatasetの合計(=udtset の一番目の数字 * udtsetの二番目の数字)
ecut:? 10 ecut+? 5 # :? は初期値、+?は増加分、udtset の一番目の数字だけ繰り返される
natom?1 # 1つめの系の計算 (udtsetの二番目の数字で設定)
(省略)
natom?2 # 2つめの系の計算 (udtsetの二番目の数字で設定)
(省略)
--------------------------------------------------
※ 例えば、ndtset, nsym 1, xred1, xred2 ... を組み合わせると、特定の原子を動かしていった場合での全エネルギーの変化を知ることができる。

計算の実行は、abinit < case.files > case.log

Q. ABINITでDOSやBand図を計算をする方法を教えて下さい。
A1. SCF計算で出力されたcase0_DENファイルを複製して、casei_DENという名前に変えて下さい。

case.in(DOSを得るための計算)
--------------------------------------------------
iscf -2 #SCF計算をしない
prtdos 3 #Local Density of States inside a sphere centered on an atomを出力
nband 28 #考慮する状態(バンド)数
tolwfr 1.0e-10 #wf許容誤差
--------------------------------------------------
※ acell, ntypat, znucl, natom, typat, xred, ecut, ngkpt はSCF計算のときと同じものを記述しておく。
※ 全状態密度分布を得たい場合は prtdos2 、部分状態密度分布を得たい場合は prtdos 3 とする。
※ フェルミエネルギーは case.out に記載があるものを用いる。
※ non-spinでSrTiO3をHGHの擬ポテンシャルを用いて計算した限りでは、SCFとDOSを連動させてk点を徐々に増加させてもk点が十分であれば結果に大きな変化は無い。

case.in (バンド図のための計算)
--------------------------------------------------
iscf -2 #SCF計算をしない
nband 28 #計算するバンドの数
enunit 1 #eV単位の固有エネルギーとなるように設定
tolwfr 1.0e-10 #<nk|(H-E)2|nk>  <= 1.0e-10
kptopt -5 #負の場合はkptboundsとndivkが対応する。
kptbounds #代表的なk点の分割を5(kptopt -5 で 5を指定)にしたから、5+1点を記入。
0.0 0.0 0.0 #Gamma点
0.5 0.0 0.0 #X点
0.5 0.5 0.0 #M点
0.0 0.0 0.0 #Gamma点
0.5 0.5 0.5 #R点
0.5 0.5 0.0 #M点
ndivk 15 15 20 25 15 #上で入力した点間の分割数。
-------------------------------------------------- 
※ acell, ntypat, znucl, natom, typat, xred, ecut はSCF計算のときと同じものを記述しておく。

Q. ABINITでDOSやBand図の計算でもっと簡便な方法は無いですか?
A2.  SCF での case.in ファイルに prtden 1 を記入して、DOSやバンド図の計算のcase.inでgetden -1 (prtden 1 で出力した電子密度ファイルを読み込む)を記入しておくと、case0_DENファイルを複製して、casei_DENにしなくてもよくなります。ndtset も使えるので便利(SCF後→Band図の計算など)。
-------------------------------------------------- 

Q. Gamma点のフォノン、M点での不安定モードに対応する原子変位を計算をする方法を教えて下さい。
A. 下記のようにします。

case.in (Gamma点に対するフォノンの計算)
--------------------------------------------------
ndtset 2 #データセットの数
#キーワードの直後に1が書かれていると最初に計算される。
kptopt1 1 # 対称性を考慮してirreducible BZ内でのk点を作成
tolvrs1 1.0d-10 # SCF停止の基準
#キーワードの直後に2が書かれていると二番目に計算される。
rfphon2 1 # フォノンタイプの摂動に対する応答関数
rfatpol2 1 5 # 1から5の原子が変位する
rfdir2 1 0 0 # x軸方向のみ原子が変位する指定
nqpt2 1 # 変位に関して一つの波数ベクトル
qpt2 0 0 0 # Gamma点での計算
getwfk2 -1 # WFK ファイルから波動関数を得る
kptopt2 2 # 時間反転対称
tolvrs2 1.0d-8 # SCF停止の基準
#以下は共通。キーワードの直後に数字が書かれない。
acell 7.267 7.267 7.267 # セルの長さの設定
ntypat 3  # 原子種の数
znucl 38 22 8 # 各原子種の原子番号
natom 5 # 原子数
typat 1 2 3 3 3 # Sr Ti O O O
xred #各原子の相対座標
0.0 0.0 0.0
0.5 0.5 0.5
0.5 0.5 0.0
0.5 0.0 0.5
0.0 0.5 0.5 
ecut 40.0 # 平面波展開のカットオフエネルギー
ngkpt 6 6 6 # Monkhorst-Pack法によるk点(x, y, z方向のk点数)
--------------------------------------------------

case.files (M点での不安定モードに対応する原子位置変位の計算)
--------------------------------------------------
case.in
case.out
casexo_DS3_DDB
foo
--------------------------------------------------

case.in (M点での不安定モードに対応する原子位置変位の計算)
--------------------------------------------------
eivec 1 # flag to turn on the analysis of phonon eigenvectors
nph1l 1 # number of q-points for phonon interpolation
qph1l 1 1 0 2 # list of q-points for phonon interpolation
--------------------------------------------------
※ "case.in (Gamma点に対するフォノンの計算)"での”#以下は共通”と書いた共通の部分も記述しておく。

計算の実行は、anaddb < case.files > case.log

Q. ABINITで特定の原子を固定した場合の構造最適化の方法を教えて下さい。
A. 下記のようにnatfixとiatfixを用いて下さい。

case.in (特定原子を固定した構造最適化)
--------------------------------------------------
ionmov 3 # 修正Broydenアルゴリズムを使用(全エネルギー考慮)
ntime 10 # Broydenタイムステップの最大値
tolmxf 5.0d-4 # 構造最適化での収束判定条件(Hartree / Bohr)
nsym 1 # 空間群 No.1
acell 4.73565 4.73565 47.25
angdeg 90 90 120
natfix 2 # 固定する原子種の数
iatfix 6 7 # 固定する原子の番号
ntypat 2 # 原子種の数
znucl 6 27 # 各原子種の種類を指定
natom 7 # 原子数
typat 1 1 2 2 2 2 2 # C C Co Co Co Co Co
xred # 各原子の相対座標 または xcart #各原子の座標
0.0 0.0 0.4
0.3333 0.6666 0.4
0.3333 0.6666 0.488
0.0 0.0 0.56938
0.3333 0.6666 0.65076
0.0 0.0 0.73214
0.3333 0.6666 0.81352
nband 36 # 考慮する状態(バンド)数
ixc 7 # 交換相関項の設定。Perdew-Wang 92 function
ecut 30.0 # 平面波展開のカットオフエネルギー(Hartree単位)
kptopt 1 # 1にすると手動でk点を設定することになる
ngkpt 6 6 2 # セル内を6 x 6 x 2で分割する
nstep 40 # 最大イタレーション
toldfe 1.0d-6 # 収束判定条件(total energy) または toldff #収束判定条件(atomic forces)
--------------------------------------------------

Q. ABINITでチュートリアルの入力ファイルを書き直して実際の計算をする場合、どのくらいの精度に設定し直せばよいですか?
A. XtalEditのsample/ABINITの中には、入力ファイルの例が書かれています。この程度の精度になるように、チュートリアルの値を書き換えると良いと思います。(原子種や原子座標の設定は除く)
Ga2O3 : ionmov 2, ntime 200, acell 10.0531007914 10.0531007914 10.0531007914, tsmear 0.04, ixc 7, kptop 1, ngkpt 4 4 4, ecut 40.0, nstep 100, toldff 5.0d-5, tolmxf 5.0d-4, diemac 12.0
La2O3 : ionmov 2, ntime 200, optcel 0, tsmear 0.04, ixc 7, kptopt 1, ngkpt 4 4 2, ecut 40.0, nstep 100, toldff 5.0d-5, tolmx 5.0d-4, diemac 12.0
LaAlO3(Lattice optimize) : ionmov 1, dtion 100.0, vis 50.0, acell 11.322570056 16.039447611 11.401013107, ecut 50.0, kptopt 0 #(use nkpt.), nkpt 1, nstep 100, toldfe 1.0d-6, diemac 12.0
LaGaO3 (1000 k) : ionmov 2, ntime 200, acell 10.3651470474 14.6831709313 10.4369566349, tsmear 0.04, ixc 7, kptopt 1, ngkpt 3 3 3, ecut 45.0, nstep 100, toldff 5.0d-5, tomlxf 5.0d-4, diemac 12.0
LaGaO3(super cell) : ionmov 2, ntime 200, optcel 0, acell 14.7093964442 14.6831710000, 14.7093964442, tsmear 0.04, ixc 7, kptopt 1, ngkpt 2 2 2, ecut 45.0, nstep 100, toldff 5.0d-5, tolmx 5.0d-4
SrO : ionmov 2, ntime 200, optcel 2, acell 6.8949883953 6.8949883953 6.8949883953, ixc 7, tsmear 0.04, kptopt 1, ngkpt 4 4 4, ecut 40, nstep 100, toldff 5.0d-5, tolmx 5.0d-4, diemac 12.0

Q. TDDFTの入力ファイルを教えてください。
A. チュートリアルには下記のようにあります。(見たところ、全てのnbandとboxcenter, nbdbufを消して、diemacとcommon dataの部分を計算したい系の情報に書き換えればよいようだ{調査中})
  case.in
  --------------------------------------------------
  ndtset 2 (SCFとTDDFTの二つのプロセスがあるという意味)
  #data set 1 SCF
  iscf1 5 # SCFの計算の設定
  tolwfr1 1.0d-15 #<nk|(H-E)2|nk>  <= 1.0e-15
  nband1 5 # 考慮する状態(バンド)数
  prtden1 1 # TDDFTの計算で用いるための電荷密度分布のデータを出力する
  getwfk1 0 # no use of previously computed output wavefunction file appended with _DSx_WFK is done.
  #data set 2 TDDFT
  iscf1 -1 # TDDFTの計算の設定
  tolwfr2 1.0d-9 #<nk|(H-E)2|nk>  <= 1.0e-9
  nband2 12 # 考慮する状態(バンド)数、非占有準位の数も入れる
  getden2 1 # data set "1" からの電荷密度分布のデータを取得する
  getwfk2 1 #  data set "1" からの output wavefunction file を得る
  #common data
  acell 6 2*5 Angstrom # 6 x 5 x 5 の大きさの単位胞を設定
  boxcenter 3*0.0d0 # 中心位置を設定(TDDFTでの計算のみに用いられる)。ディフォルトは 0.5 0.5 0.5
  diemac 1.0d0 # For silicon, use 12.0 . A similar value is likely to work well for other semiconductors.  For wider gap insulators, use 2.0 ... 4.0. ディフォルトは 106 (metallic damping).
  diemix 0.5d0 # model dielectric mixing factor.  0.0 から1.0の間の値。ディフォルトは 1.0
  ecut 25 # 平面波展開のカットオフエネルギー(Hartree単位)
  ixc 7 # 交換相関項の設定。Perdew-Wang 92 function
  kptopt 0 # k点設定のオプション(この場合、1点計算になる)
  natom 2 # 単位胞内に2つの原子を用いる
  nbdbuf 0 # bufferとしてのバンドの数
  nstep 25 # 最大イタレーション
  ntypat 1 # 1つの原子種のみ用いる
  znucl 7 # 窒素原子Nを1番に設定
  typat 1 1 # N と N の座標を単位胞内で設定する
  xcart -0.54885 0 0 0.54885 0 0 Angstrom # 座標の設定
  --------------------------------------------------

 

Q. GW近似での入力ファイルを教えてください。

A. チュートリアルには下記のようにあります。擬ポテンシャルはLDA用のものが必要です。最後にpspncやfhiと付いたファイルや、Troullier-Martines pspやHamann-type, LDA CA Perdewangとファイルに書き込まれたものを用いて下さい。

GWA Calculation Steps
1. Calculation of the KS electronic structure

2. Calculation of the RPA screening W

3. Calculation of the GW corrections ( self-energy matrix element) <ΣV>

case.files
--------------------------------------------------
  case.in
  case.out
  casei
  caseo
  caset
  ../../Psps_for_tests/14si.pspnc
-------------------------------------------------- 

case.in
--------------------------------------------------
ndtset 3 #
#Definition of parameters for the calculation of the KSS file
nbandkss1 -1 # KSS fileにおけるバンド数に関する設定。-1は完全対角化、平面波の数とバンドの数を case.outで見てみるとよい。
nband1 9 # 占有と非占有のバンド数
 
#Calculation of the screening
optdriver2 3 # Screening 計算
getkss2 -1 # 前のデータセットからのKSS fileを取得
nband2 17 # screening 計算で用いるバンド数
ecutwfn2 2.1 # 波動関数のためのカットオフエネルギーを設定, Usually, ecutwfn is smaller than ecut, ecutwfn is smaller than ecut. It would be more convenient to keep the default ecut value.
ecuteps2 3.6 # 誘電関数のためのカットオフエネルギーを設定
ppmfrq2 16.7 # Imaginary frequency where to calculate the screening. Note that, if the plasmon-pole approximation is good, then, the choice of ppmfrq should have no influence on the final result.  One should check whether this is the case.  In general, the plasmon frequencies of bulk solids are of the order of 0.5 Hartree.
awtr2 0 # 時間反転対称性無しにAdler-Wiser expressionを用いる
 
#Calculation of the Self-Energy matrix elements
optdriver3 4 # Self-Energy 計算
getkss3 -2 # KSS file をデータセット1から得る
getscr3 -1 # SCR fileを前のデータセットから得る
nband3 30 # Self-Energy 計算で用いるバンド数
ecutwfn3 5.0 # Planewaves to represents wavefunctions. It would be more convenient to keep the default ecut value.
ecutsigx3 6.0 # Dimension of the G sum in Sigma_x. Dimension of Sigma_c = size of screening matrix (SCR files)or size of Sigma_x, whichever is smaller. It would be more convenient to keep the default ecut value.
nkptgw3 1 # GW補正のためのk点の数
kptgw3 # k点の指定
-0.125 0.0 0.0
bdgw3 4 5 # 4から5のバンドに対してGW補正を計算
 
#Data common to the three different datasets
acell 3*10.217 # 10.217 x 10.217 x 10.217のユニットセル
rprim # primitive vectors
0.0 0.5 0.05
0.5 0.0 0.5
0.5 0.5 0.0
ntypat 1 # 原子種の数
znucl 14 # 各原子種の原子番号
#Definition of the atoms
natom 2 # 原子数
typat 1 1 #各原子の種類を指定
xred 0.0 0.0 0.0 # 各原子の相対座標
0.25 0.25 0.25
#Definition of the k-point grid
ngkpt 4 4 4 # Monkhorst-Pack法によるk点(x, y, z方向のk点数)
nshiftk 4 # k点のグリッドをシフトさせる数
shiftk 0.5 0.5 0.5 # k点のシフト。
0.5 0.0 0.0
0.0 0.5 0.0
0.0 0.0 0.5
istwfk *1 # This is mandatory in all the GW steps.
#Use only symmorphic operations
symmorphi 0 #
#Definition of the planewave basis set
ecut 8.0 # 平面波展開のカットオフエネルギー(Hartree単位)
#Definition of the SCF procedure
nstep 10 # 最大イタレーション
   toldfe 1.0d-6 # 収束判定条件(total energy)
diemac 12.0 # For silicon, use 12.0 . A similar value is likely to work well for other semiconductors. For wider gap insulators, use 2.0 ... 4.0. ディフォルトは 106 (metallic damping).
iscf 5 # SCFの計算の設定
--------------------------------------------------

上記は下記のようにして、ディフォルトの値を用いるようにしても、0.001 eVの違いでGapの値が求められる。

# ppmfrq2 16.7 eV # Note that, if the plasmon-pole approximation is good, then, the choice of ppmfrq should have no influence on the final result.  One should check whether this is the case.  In general, the plasmon frequencies of bulk solids are of the order of 0.5 Hartree.

#wtr2 0 # 時間反転対称性無しにAdler-Wiser expressionを用いる

 
  下記はAlの例ですが、これ以外にも多くのステップが必要です。
case.files 
--------------------------------------------------
  case.in
  case.out
  casei
  caseo
  caset
  ../../Psps_for_tests/13al.981214.fhi
-------------------------------------------------- 

 

case.in
--------------------------------------------------
# Create the KSS file
kssform 1 # ディフォルトは1
nbandkss 30 # the KSS file でのバンドの数。GW計算で用いられる。
nband 6 # バンド数の設定
prtwf 0 # 波動関数のアウトプットは無し
# definition of occupation numbers
occopt 3 # フェルミディラック関数を用いる
tsmear 0.05 # フェルミ端のブロードニング(Hartree単位)
  # Definition of the unit cell
acell 3*7.652 # 7.652 x 7.652 x 7.652のユニットセル
rprim # FCC primitive vectors
0.0 0.5 0.5
0.5 0.0 0.5
0.5 0.5 0.0
# Definition of the atom types
ntypat 1 # 1つの原子種のみ用いる
znucl 13 # 原子番号13、つまりAlを"1"に設定
# Definition of the atoms
natom 1 # 単位胞内で設定する原子の数
typat 1 # "1"( つまりAl )を単位胞内で用いる
xred 0.0 0.0 0.0 # "1"( つまりAl )の座標を設定
# Definition of the planewave basis set
ecut 8 # 平面波展開のカットオフエネルギー(Hartree単位)
# Definition of the k-point grid
ngkpt 4 4 4 # セル内を4 x 4 x 4で分割する
# 64 k point
nshiftk 1 # k点のグリッドをシフトさせる数
shiftk 0.0 0.0 0.0 # k点のシフト。
istwfk 8*1 #
#Definition of the SCF procedure
nstep 50 # 最大イタレーション
toldfe 1.0d-8 # 収束判定条件(total energy)
prtvol 5 # 結果を出力するボリュームを制御する
enunit 1 # eV単位の固有エネルギーとなるように設定
--------------------------------------------------

 

Q. DFT+Uでの入力ファイルを教えてください。

A. チュートリアルには下記のようにあります。
  擬ポテンシャルは paw が必要です。(ldaの記述があるものも必要か調査中)
  case.files
  --------------------------------------------------
  case.in
  case.out
  casei
  caseo
  casex
  ../../Psps_for_tests/Ni.atompaw.lda.paw
  ../../Psps_for_tests/08o-lda.atompaw 
  --------------------------------------------------

  case.in
  --------------------------------------------------
  #Spin
  nsppol 1 # an antiferromagnetic system の場合
  nspden 2 # an antiferromagnetic system の場合
  nspinor 1 # an antiferromagnetic system の場合
  spinat 0 0 1 # 各原子の初期のスピン
  0 0 -1
  0 0 0
  0 0 0
  #Parameters
  nstep 50 # 最大イタレーション
  ecut 15 # 平面波展開のカットオフエネルギー
  pawecutdg 30 # ecut の2倍以上の値を設定する
  iscf 17
  toldfe 1.0d-5 # 収束判定条件(total energy) 
  nband 40  #考慮する状態(バンド)数
  occopt 1
  #Structural parameters
  natom 4 # 原子数
  ntypat 2 # 原子種の数
  typat 1 1 2 2 # Ni Ni O O
  znucl 28 8 # 各原子種の原子番号
  xred 0 0 0 # 各原子の相対座標
  0.0 0.0 0.5
  0.5 0.5 0.25
  0.5 0.5 0.75
  acell 3*7.92 # セルの長さの設定
  rprim 0.0 1/2 1/2
  1/2 0.0 1/2
  1.0 1.0 0.0
  # Kpoint Grid
  ngkpt 2 2 2 # セル内を2 x 2 x 2で分割する
  chksymbreak 0 # The k point grid is not symmetric, but the calculations being for the ground-state, this is not a problem.
  # LDA+U
  usepawu 1 # FLL法だと1, AMF法だと2
  lpawu 2 -1 # znucl での順に対応させて入力。-1: U無し、2:d軌道にU, 3: f軌道にUを考慮
  upawu 8.0 0.0 eV
  jpawu 0.8 0.0 eV  # upawu の10%の値を入力
--------------------------------------------------

Q. DFT+Uで最初の数回まで電子の状態を固定しておく方法を教えてください。
A. チュートリアルを参考にすると、上記のDFT+Uに対応するものでは、下記を追加します(確認中)。ここでは、NiOの構造での例を示します。Niは 3d8 4s2 を取り、upは全ての軌道が電子で埋まり、downは3つまで軌道が電子で埋まります。埋まり方は、m=-2 の軌道が0.9 というように、少数点で指定することが可能です。d軌道の場合、文献[1-6]を参考にして、m=-2(xy), m=-1(yz), m=0(3z^2-r^2), m=1(xz), m=2(x^2-y^2) のどの軌道に電子を入れたいかを考慮して下さい。
--------------------------------------------------
#Density matrix
usedmatpu 5 # dmatpawu で設定した値を保持しておく cycle 数。
# 上の設定では、SCF計算 5回後に最適な値に変えるようにする。

dmatpawu # d軌道では、縦横ともm=-2, m=-1, m=0, m=1, m=2の順に並ぶ行列。
# f軌道では、縦横ともm=-3, m=-2, m=-1, m=0, m=1, m=2, m=3 の順に並ぶ行列。
#Occupation matrix for spin 1 and atom 1
1.00000 0.00000 0.00000 0.00000 0.00000
0.00000 1.00000 0.00000 0.00000 0.00000
0.00000 0.00000 1.00000 0.00000 0.00000
0.00000 0.00000 0.00000 1.00000 0.00000
0.00000 0.00000 0.00000 0.00000 1.00000
#Occupation matrix for spin 1 and atom 2
0.90000 0.00000 0.00000 0.00000 0.00000
0.00000 0.90000 0.00000 0.00000 0.00000
0.00000 0.00000 0.15000 0.00000 0.00000
0.00000 0.00000 0.00000 0.90000 0.00000
0.00000 0.00000 0.00000 0.00000 0.15000
# add to conserve old < 6.7.2 behavior for calculating forces at each SCF step
optforces 1
--------------------------------------------------
[1] http://ja.wikipedia.org/wiki/D%E8%BB%8C%E9%81%93
[2] http://www.ml.seikei.ac.jp/tsubomura/education/muki2/muki2_7.pdf
[3] http://www.sss.fukushima-u.ac.jp/~daio/table_4.pdf
[4] http://www.px.tsukuba.ac.jp/Archive/060510YMoritomo2Dslide.pdf
[5] http://www.chem-station.com/yukitopics/complex.htm
[6] http://www.materials.sci.osaka-cu.ac.jp/materials2002/Lec_others/cft.html

Q. DFT+UでのUの決定方法を教えてください。(調査中)
A. チュートリアルには下記のようにあります。case1.fies で計算して得た case1o を用いて case2.files で U を計算させます。チュートリアルにはないですが、ixc は指定しておいて下さい。

case1.files
--------------------------------------------------
case1.in
case1.out
case1i
case1o
case1x
../../Psps_for_tests/26fe.p
--------------------------------------------------

case1.in
--------------------------------------------------
#########################################################
# Automatic test for ABINIT: #
# Prelimirary step for test v5#39 (macro_uj) #
# and v5#40 (testirdden) #
# #
# Fe bcc 2 atomic supercell - ferromag.- PAW DJA 2010 & MT 2009 #
#########################################################
#Unit cell
acell 3*5.42
chkprim 0 # 0: do not check if uc primitive
rprim 1.00 0.00 0.00
0.00 1.00 0.00
0.00 0.00 1.00

#Spin polarization
nsppol 2 #1 unpolarized / 2 polarized
spinat 0 0 2.843062
0 0 2.843062

#Definition of the atom types
ntypat 1
znucl 26

#Definition of the atoms
natom 2
typat 2*1 # atomic types
xred
0.0 0.0 0.0
0.5 0.5 0.5
ecut 8 # Energy cutoff
pawecutdg 20 # pawecutdg > 2*ecut
nband 25 # Fe_2 minband=17

#Definition of the SCF procedure
nstep 15 # max number SCF cycles
tolvrs 10d-12

#Definition of the k-point grid
kptopt 1 # 1: automatic generation of k points
ngkpt 3 3 3 # n x n x n
nshiftk 1
shiftk 0.5 0.5 0.5

#Smearing
occopt 4
tsmear 0.05 eV

#DFT+U
usepawu 1 # 1 at lim dble cnt / 2 rnd m fld dle cnt
lpawu 2 # ang moments corrrected
# znucl での順に対応させて入力。-1: U無し、2:d軌道にU, 3: f軌道にUを考慮

#Save disk space & Miscelaneous
prteig 0
prtden 1 # This is the default value
optforces 2
--------------------------------------------------

case2.files
--------------------------------------------------
case2.in
case2.out
case1o
case2o
case2x
../../Psps_for_tests/26fe.paw
--------------------------------------------------

case2.in
--------------------------------------------------
#########################################################
## Automatic test for ABINIT: ##
## determine U from change of occupation on atoms upon potential ##
## shift on atom 1 ##
## Fe bcc structure - ferromagnetic PAW DJA 2010 ##
#########################################################
# 2 atomic supercell
acell 3*5.42
chkprim 0 # 0: do not check if uc primitive
rprim 1.00 0.00 0.00
0.00 1.00 0.00
0.00 0.00 1.00
nsppol 2

#Definition of the atom types
ntypat 1
znucl 26

#Definition of the atoms
natom 2
typat 2*1 # atomic types
xred
0.0 0.0 0.0
0.5 0.5 0.5
ecut 8 # Energy cutoff
pawecutdg 40 # pawecutdg > 2*ecut
nband 25 # Fe_2 minband=17

#Definition of the k-point grid
kptopt 1 # 1: automatic generation of k points
ngkpt 3 3 3 # n x n x n
nshiftk 1
shiftk 0.5 0.5 0.5

#Smearing
occopt 4
tsmear 0.05 eV

#DFT+U
usepawu 1 # 1 at lim dble cnt / 2 rnd m fld dle cnt
lpawu 2 # ang moments corrrected
nsym 1 # P1 structure
pawujat 1 # default, the atom on which U is determined
pawujv 0.1 eV # default, size of the potential shift
macro_uj 1 # activate determination of U
pawujrad 2.66866 # optional, radius ASA-sphere to which U should be extrapolated

#Only to accelerate test
irdwfk 1 # default for macro_uj = 1
# nline 2
# nnsclo 2
tolvrs 10d-9 # default for macro_uj = 1

#Save disk space
prteig 0
prtwf 0
prtden 0
--------------------------------------------------

Q. phononでのbandやdosの計算のさせ方を教えて下さい。(調査中)
A. tutorial の rf1 と rf2 を参照して下さい。如何に手順を示します。
1. abinit < trf2_1.files > trf2_1.log
2. mrgddb < trf2_3.in
3. anaddb < trf2_4.files > trf2_4.log ※ IFCの結果が欲しいときのみ?
4. anaddb < trf2_5.files > trf2_5.log ※ phonon band の結果が欲しいときのみ。
5. trf2_5.out_B2EPS.freq をプロットソフトなどでフォノンのバンドを図示する。本当ならば、そのままtutorialの手順に従うか、trf2_5.out のデータを処理するプログラムを作って図示するなどした方が良い。
6. trf2_7.in に prtdos 1 を追加する。可能ならば、ng2qpt 40 40 40 の方が良いだろう。
7. anaddb < trf2_7.files > trf2_7.log ※ phonon dos の結果が欲しいときのみ。
8. PHDOS が出力されるので図示すれば良い。

◇ trf2_1.in の書き換え
#Common input variables 以下の部分を、これまでSCF計算させてきたように、計算したい系のものに書き換える。

◇ trf2_3.in の書き換え
1行目:出力の名前 (name output)
2行目:ファイルに記述しておきたいメモ (description)
3行目:DDBファイルの数 (number of DDB files)
4行目以降:DDBファイルの名称 (file name list)
※ 1行目の出力の名前は特に書き換える必要はないだろう。
※ 3行目を8として、4行目をtrf2_1o_DS3_DDBからにしているのは、trf2_1.inにてqpt3からqpt10までの結果を出力させているため。

◇ trf2_4.files の書き換え
3行目:trf2_3.inの1行目で書いた名称を記述する。

◇ trf2_4.in の書き換え
・ brav は計算する系のものを指定する。S.C.はsimple cubic, F.C.はface center, B.C. は body center, Hexはhexagonal crystal stractureに対応する。
※ brav はtrf2_5.inやtrf2_7.inにも存在するので、計算する系の指定に変える。

◇ rfatop: For the calculation of a full dynamical matrix, use rfatpol(1)=1 and rfatpol(2)=natom, together with rfdir 1 1 1 .
http://forum.abinit.org/viewtopic.php?f=8&t=1673
http://www.powershow.com/view/f0f8f-NjNkY/Abinit_Workshop_powerpoint_ppt_presentation

◇ パラメーター
dieflag :
elaflag :
elphflag : 1 => anaddb performs an analysis of the electron-phonon coupling
ifcflag : 1 => calculate and use the interatomic force constants
instrflag : 1 => Print out both force-response and displacement-response internal-strain tensor.
nlflag : 1 => the electrooptic tensor, Raman susceptibilities and non-linear optical susceptibilities are calculated; 2 => only the non-linear optical susceptibilities and first-order changes of the dielectric tensor induced by an atomic displacement are calculated;
piezoflag :
polflag : 1 => ANADDB computes the polarization in cartesian coordinates.
thmflag : 1 => the code will compute, using the histogram method.

◇ Q-point grid
brav : ブラべー格子(1-S.C., 2-F.C., 3-B.C., 4-Hex.)
nqgpt : q点でのグリッド点の数。The Monkhorst-Pack grid linear dimensions, for the DDB (coarse grid)
nqshift : number of q-points in repeated basic q-cell
q1shift :
  General case :
    nqshift 1
    q1shift  0.5 0.5 0.5
  General case (Gamma point):  
    nqshift 1
    q1shift  0 0 0
  hexagonal lattice :
    nqshift 2
    q1shift  0 0 0
                0 0 0.5
  BCC :
    nqshift 2
    q1shift  0 0 0
                0.6 0.5 0.5
  FCC :
    nqshift 4
    q1shift  0 0 0
                0 0.5 0.5
                0.5 0 0.5
                0.5 0.5 0

◇ Energy conservation and charge nutrality
asr : Acoustic Sum Rule. 1 => imposed asymetrically 2=> symmetric way
 Acoustic Sum Rule を設定することで計算誤差による虚数のフォノンモードの発生を回避する。
chneut :  有効電荷計算での電気的中立性の要求

◇ Others
dipdip : Dipole-dipole interaction treatment
ifcana : 1 => analysis of interatomic force constants, Default: 0 => no analysis of interatomic force constants
ifcout : IFC出力
natifc : IFC分析での原子の数
atifc : IFC分析での原子

◇ band (trf2_5.inで使用)
eivec :
  0: ディフォルトで、フォノンの固有ベクトルを書き出さない
  1 または 2: フォノンの固有ベクトルを書き出す
  4 : band2epsとして出力ファイルを生成する
nph1l : number of phonons in list 1
qph1l : Reduced coordinates and normalization factor for phonon dispersion
nph2l : number of directions in list 2
qph2l :

◇ prameters(trf2_7.inで使用)
thmflag : Thermodynamical properties flag
nq2qpt : sample the BZ up to ngqpt2
ngrids : number of grids of increasing size
q2shit :
nchan : # of channels for the DOS with channel width 1 cm-1
nwchan : # of different channel widths from this integer down to 1 cm-1
thmtol : Tolerance on thermodynamical function fluctuations
ntemper : Number of temperatures
temperinc : Increment of temperature in K for temperature dependency
tempermin : Minimal temperature in Kelvin
------------------------------------------------------------------------------
■ Phonon Calculation data (ABINIT code)

F. M. Gashimazade et al., Physics of the Solid state, 56 (2014) 761-764.
GeSe: LDA, Hartwigsen-goedecker-Hutter norm-conserving pseudopotentials, 80 Ry, 4x4x4 k point and shift, 10–8 Ry/Bohr

P. Norouzzadeh et al., Journal of Alloys and Compounds 587 (2014) 474–480.
Ba8Si46 and Ba8Al16Si30 : GGA-PBE, Troullier–Martins pseudopotentials,  1 meV/atom, 6x6x6, 60 Ry, 5 x10-5 Hartree/Bohr and 5x10-7 Hartree/Bohr3

B. Zhou et al., J. Phys. D: Appl. Phys. 47 (2014) 115502 (9pp)
HfO2: GGA-PBE, Hartwigsen–Goedecker–Hutter (HGH) method (pseudopotentials),  4x4x4 Monk, 60 Ha, Broyden–Fletcher–Goldfarb–Shanno minimization (BFGS) modified ( 0.0001 Ha/atom)

N. V. Petrova and I. N. Yakovkin, Phys. Status Solidi B 250 (2013) 2141–2144.
GaAS blende:
SCF: LDA, HGH pseudopotentials, 6x6x6 k (0.02 Angstrom accuracy), 20 Ha, 0.001 Ha convergence of total energy,
phonon band: 8x8x8 k, phonon frequencies at gamma: 12x12x12
We believe therefore that the achieved convergence of the frequencies at G was 0.05 cm1 for TO and 0.5 cm1 for LO modes.

P. Norouzzadeh et al., J. Phys.: Condens. Matter 25 (2013) 475502 (9pp)
Si46-VIII:
SCF: GGA-PBE, Troullier–Martins method (norm-conserving potentials), 6x6x6 k, 60 Ry,  meV/atom, Methfessel–Paxton smearing 0.01 Ry
Broyden–Fletcher–Goldfarb–Shanno-based method, force: 5x10-5 Hartree/bohr, stress: 5 x10-7 Hartree/bohr3
Phonon density: 8x8x8 k, interatomic force constants (Fourier interpolation with specific treatment of the long-range dipole–dipole interaction)

E. Borissenko et al., J. Phys.: Condens. Matter 25 (2013) 102201 (7pp)
LDA, optimized pseudopotentials (http://www.sas.upenn.edu/rappegroup/research/psp.html), 6x6x6k, 50Ha
Norm-conserving pseudopotentials (Troullier-Martines(TM), FHI96PP, Hartwigsen–Goedecker–Hutter (HGH))

ATOMPAW: http://www.abinit.org.
OPIUM: http://opium.sourceforge.net.
------------------------------------------------------------------------------
http://ftp.abinit.org/ws07/Liege_Mazevet.pdf
http://ftp.abinit.org/ws11/mazevet.pdf
http://nano-bio.ehu.es/files/verstraete_queretaro.pdf

------------------------------------------------------------------------------
並列化(業者様向け) <gfortranでのコンパイル>
  (OSが64 bitのものを用意できなかったので、Get ABINIT for All platformsにした。インストールと性能を考えれば、現状では、4coreで、OSはLinuxで64bitのPCを用意するのが良いだろう。そうすれば、Get ABINIT for Linuxをダウンロードすればよい)
  下記を実行前に、左の欄にandLinuxにあるsudo apt-get install を全て入れておく。
  tar zxvf abinit-6.8.1.tar.gz
  cd abinit-6.8.1
  ./configure FC=mpif90 --enable-mpi
  make multi
    ( make multi multi_procs=2, 4coreの場合 mke mj4 でもよい)
  cd tests
  make help
  make tests_min
  cd ..
  sudo make install
参考文献:http://nitrogen14.blog51.fc2.com/blog-entry-38.html 
http://nitrogen14.blog51.fc2.com/blog-entry-39.html
http://www.abinit.org/documentation/build-system/mpi-support

並列化1(学生様向け)(調査中)<Intel Compiler + MPICH でのコンパイル>
  tar zxvf abinit-6.8.1.tar.gz
  cd abinit-6.8.1
  ./configure FC=/usr/local/mpich/bin/mpif90 --enable-mpi --with-linalg-libs="-lmkl_blas95 -lmkl_lapack95 -lmkl_intel -lmkl_intel_thread -lmkl_core -lifcore -lguide -lpthread -lsvml" --with-dft-flavor="none" --with-trio-flavor="none"
  make multi multi_procs=2
  ( 4coreの場合 mke mj4 でもよい)
  cd tests
  make help
  make tests_min
  cd ..
  sudo make install
参考文献:http://nitrogen14.blog51.fc2.com/blog-entry-38.html
http://nitrogen14.blog51.fc2.com/blog-entry-39.html
http://www.abinit.org/documentation/build-system/mpi-support
※ --with-dft-flavor="none" --with-trio-flavor="none" を入れる必要がない方法も模索中。
※ mpirun -np 2 abinit <input.files> output.log 

並列化2(学生様向け)(調査中)<Intel Compiler + MPICH でのコンパイル>
  tar zxvf abinit-6.8.1.tar.gz
  cd abinit-6.8.1
  ./configure FC=/usr/local/mpich/bin/mpif90 --enable-mpi --with-linalg-libs="-lmkl_blas95 -lmkl_blacs -lmkl_lapack95 -lmkl_scalapack_core -lmkl_intel -lmkl_intel_thread -lmkl_core -lifcore -lguide -lpthread -lsvml"  --with-dft-flavor="none"  --with-trio-flavor="none" 
  make multi multi_procs=2
  ( 4coreの場合 mke mj4 でもよい)
  cd tests
  make help
  make tests_min
  cd ..
  sudo make install
参考文献:http://nitrogen14.blog51.fc2.com/blog-entry-38.html
http://nitrogen14.blog51.fc2.com/blog-entry-39.html
http://www.abinit.org/documentation/build-system/mpi-support
http://www.abinit.org/documentation/build-system/mpi-support
※ --with-dft-flavor="none" --with-trio-flavor="none" を入れる必要がない方法も模索中。
------------------------------------------------------------------------------
ABINIT GUI 
  1) cd abinit-6.8.1
  2) cd gui/precompiled
  3) java -jar AbinitGUI.jar
------------------------------------------------------------------------------
cif 形式のファイルから abinit 用の入力ファイルを作る方法
  左欄の「入力ファイルの変換」を参照して下さい。
------------------------------------------------------------------------------
Abinit Band Structure maker (バンド図の描写)
1) cd /home/*/abinit-6.8.1/util/users
2) python AbinitBandStructureMaker.py case.out
3) python AbinitBandStructureMaker.py case.out.dbs
4) xmgrace case.out.dbs.agr
※ manual : /home/*/abinit-6.8.1/doc/users
igor 用などにするには、プログラムを自作するしかない。
------------------------------------------------------------------------------
電子密度分布の描写
1) case.in に prtden 1 を記入し、SCF計算する
2) cut3d を実行する
3) DENの記述がある最後に出力されたファイルを指定
4) 1 を選択
5) XCrysDenを用いる場合、9を選択する
6) 入力ファイルの名前を記述(case.xsf など)
7) n を選択する
8) 0 を選択する
9) XCrysDenからFile → Open Structure → Open XSF
10) tools → Data Grid を選択し、OKを押す
11) isovalue に数値を入力して、Submit を押し、Hideを押せば電子密度分布が表示される。

MEMと比較する場合はVESTAの利用が便利であろう。以下に使用方法を示す。
1) VESTAを起動させて case.xsf を開く。
2) Utilities の2D Data Display を開く。
3) slice... で欲しい断面のデータを指定して、OKを押す。
4) General でのBird's-eye viewとAbsolute valuesにチェックを入れて、 Saturation levels で、Minで0%, Maxで100%を入力。
5) Contours での Draw contour lines にチェックを入れる。そして、interval の値を細かい刻みにする。
※ 慣れてきたら、MEMと同じパラメータを最初から入れて、結果を比較してみよう。
------------------------------------------------------------------------------
弾性定数の求め方
1) 弾性定数はスーパーセルに微小にひずみを与えて得られる応力から計算することが多い。
2) σ = C * ε の行列計算からεを変えてσ(=sigma)を得て、Cを求める。
計算のポイント
A. 構造最適化で計算する
B. k点数と平面波のカットオフに非常に敏感であるため、それらを十分余裕のある大きな値にする。
C. DFTでの計算結果は実験結果と10%程度の誤差がある。
D. 内部構造が複雑な系は細心の注意が必要。
E. 有限圧力下での求め方はさらに難しいらしい。
------------------------------------------------------------------------------
[1] http://hss.iic.hokudai.ac.jp/WS07/pdf/Kohyama.pdf
[2] http://www.nims.go.jp/cmsc/staff/kobayak/SAMP/NewMagb/tsld007.htm
------------------------------------------------------------------------------
For the GS calculations, in the "cg" array containing the wavefunction coefficients, there is for each k-point and each band, a segment cg(1:2,1:npw).
------------------------------------------------------------------------------


QRコード
携帯用QRコード
アクセス数
ページビュー数
[無料でホームページを作成] [通報・削除依頼]