第一原理パッケージ VASP のINCARファイルでよく用いられるタグのテンプレート化

お疲れさまです. 橋本です.

VASPとは, 第一原理からの電子構造計算や量子力学的分子動力学などの原子スケールの材料モデリングのためのコンピュータープログラムです.The Vienna Ab initio Simulation Package(VASP)の訳.

VASPの入力ファイルには「INCAR」「POSCAR」「POTCAR」「KPOINTS（オプション）」の4つがございます.それぞれ

+ 「POTCAR」:各原子における電子の位置座標が記述
+ 「POSCAR」:格子の形及び原子配置を記述
+ 「INCAR」：計算の条件を決める
+ 「KPOINTS（オプション）」：逆格子空間のメッシュ情報
※KPOINTSファイルの内容である逆格子空間のメッシュ情報の一部は, vasp5.2以降INCARファイルタグによって決めることもできる.

の役割があり, 特にINCARは計算の条件として大切な役割を担っております.
INCARファイルは"タグ"と呼ばれるもので,その計算条件を決めておるのですが, どうも, まとまった情報がありません. そこで, テンプレートを投下する事で, 必要な時, 必要な情報を得やすいようにしてみました.

以下が作成したテンプレートです.

```
#ファイルの出力など
    SYSTEM  =   Name    #名前
    NWRITE  =   2       #OUTCARへの出力の量(0:最初と最後だけ(計算が長いとき),2:イオンステップごと)
    ISTART  =   0       #ジョブ 0:新規 1:一定のエネルギーカットオフで再開(セル形状変化) 2:一定の基底関数系で再開
#    ICHARG  =   2       #初期電荷 0:波動関数から 1:CHGCARから 2:初期原子位置から +10で非自己無矛盾
    ISPIN   =   2       #スピンの考慮 する:2 しない:1(def)
    NCORE   =   2       #並列計算数. sqrt(Core) GPUVASPは1にすること def:1
#    NSIM    =   140     #一度に計算するバンド数(def:4) GPUVASPで使用 限界まで多くする
#    LELF    =   TRUE    #電子局在関数ファイルELFCARの出力
#    LVTOT   =   TRUE    #総ローカルポテンシャルLOCPOTを書き出す(def:False)
#    LVHAR   =   TRUE    #交換交換を除いたローカルポテンシャルをLOCPOTに書き込む(def:FALSE)
#    LPARD   =   TRUE    #部分電荷密度をPARCHGに出力する

# Electronic Relaxation
    #---必須---
    PREC    =   Accurate    #精度 Low|Medium|High|Normal|Accurate| ENCUTを自動設定
    EDIFF   =   1E-5        #SCFの収束条件eV def:1E-4
    LREAL   =   Auto        #射影演算子の最適化 FALSE:逆空間(小さい系) Auto:実空間で自動最適化(大きい系 GPUVASP)
    ALGO    =   Fast        #電子最小化アルゴリズム Normal(def) | VeryFast | Fast | GPUVASPは必須
    #---オプション---
#    NGX=16; NGY=16; NGZ=16      #計算メッシュ 実空間(PRECで切れないときに使用)
#    NGXF=64; NGYF=64; NGZF=64   #計算メッシュ フーリエ空間(PRECで切れないときに使用)
#    NBANDS  =   32              #計算メッシュ バンド幅(PRECで切れないときに使用)
#    ENCUT   =   300             #eV 平面波のエネルギ(PRECで切れないときに使用def:POTCARの大きいENMAXを使用)
#    KSPACING=   0.5             #A^-1 K-pointメッシュ(KPOINTSファイルを作成していないとき)def:0.5
#    WEIMIN  =   0               #空とみなすバンドの最大のウェイト。ALGO=VeryFastでエラーが出たら0にするとよい
#    ISYM    =   0               #対称性の考慮[しない:0,する:1or2,2の方が効率的 def:2]
#    LORBIT  =   11              #PDOSを計算したいとき使用(計算し,ISTART=1,ISYM=0,LORBIT=11で再計算)
#    EMIN = -10.0;EMAX = 17.0;NEDOS = 1001 #DOSのエネルギー刻み幅を変えたいときに使用(開始,終点eV,刻み数)
#    LSORBIT =   TRUE            #スピン軌道相互作用を考慮するか(def:FALSE)
#    MAGMOM  =   2.0 -2.0 2.0    #各原子の初期磁気モーメントを指定(def:CHGCARから)読み取れない時使用
#    SAXIS   =   1 0 0           #非共線スピンの量子化軸を指定(def:001)
#    LORBMOM =   TRUE            #軌道モーメントをOUTCARに書き出す
#    ISMEAR  =   0               #軌道の部分占有率の決め方 0:Gaussian N:Methfessel(def:1) -5:テトラヘドロン
#    SIGMA   =   0.01            #eV ISMEAR塗りつぶし幅の設定 金属:ISMEAR=1or2 半導体・絶縁体:ISMEAR=0
#----注意-------------------------
#セルが大きすぎる場合や半導体、絶縁体にはISMEAR>0を使用しない。ISMEAR=0 SIGMA=0.03-0.05で計算
#金属の緩和には、ISMEAR=1,2を使用し、outcarのエントロピー項が原子当たり1meV未満になるようにSIGMA値(0.2くらい)を決める。
#ALGO=VeryFastは現実的。計算がうまくいかない時は手動でメッシュを切ったり、バンド幅を増やすとよい
#またアルゴリズムで問題が発生した時NSIMを減らすとよい
#----収束しない場合の有効措置-------
#    IMIX    =   1               #電荷密度の混合タイプを指定 1:カーカー 2:チェビシェフ 4:ブロイデン(def)
#    AMIX    =   0.2             #IMIXの比例定数(def:0.4)
#    BMIX    =   0.0001          #IMIXのカットオフ波ベクトル(def:1)
#    AMIX_MAG=   0.8             #磁化密度に対してIMIXの比例定数(def:1.6)
#    BMIX_MAG=   0.0001          #磁化密度に対してIMIXのカットオフ波ベクトル(def:1)
#    AMIN    =   0.4             #IMIX=4のとき最小となる選択候補(def:0.1)
#    NELM    =   200             #電子移動回数 どうしても収束しない時に(def 60)
#----注意-------------------------
#outcarのeigenvalues of (default mixing * dielectric matrix)の平均固有値が1でガンマ値スペクトルが最小のときOK
#平均固有値1ではないとき、AMIXを固定し、BMIXを上げ下げする必要がある(金属のとき3とかになることも)
#しかし、最適なAMIXはシステムに大きく依存し、金属の場合、このパラメータは通常、AMIX= 0.02など、かなり小さくなる
#IMIXについて、1:計算値と計算前の電荷密度の差、2:電荷密度の2階微分を1として採用、3:計算したBMIXとAMINの小さい方をとる
#大きなAMIX、小さなBMIXがヒルベルト空間を変更しやすい。変化させすぎに注意
#----おまけ。基本使わないもの-------
#    VOSKOWN =   0               #Vosko-Wilk-Nusair補間 磁性計算精度向上(する:1,しない:0)PBEとかには関係ない.
#    LHFCALC =   TRUE            #Hartree-Fock/DFT混成汎関数型の計算を実行(def:FALSE)
#    IALGO   =   48              #電子最小化アルゴリズムを細かく指定できる


#構造最適化(SF計算)のパラメータ
    #---必須-----
#    ISIF    =   3       #下の表を参照
#    IBRION  =   1       # 収束アルゴリズムionic relax: 0-分子動力学(MD) 1-ニュートン法 2-共役勾配 3-最急降下法
#    NSW     =   800     # number of steps for IOM 構造緩和のとき200くらい
#    EDIFFG  =   1E-03   # stoppping-criterion for IOM (EDIFF/10) 負のときFORCEを収束条件とする
#    NBLOCK = 1; KBLOCK = 5  # ペア相関関数とDOSをKBLOCK*NBLOCKステップごとに計算(なしの場合,最後だけ計算)
# |------+-------+------------+--------+------------+-------------|
# | ISIF | cal   | cal        | change | change     |             |
# |      | force | stress ten | ions   | cell shape | cell volume |
# |------+-------+------------+--------+------------+-------------|
# |    0 | yes   | no         | yes    | no         | no          |
# |    1 | yes   | trace only | yes    | no         | no          |
# |    2 | yes   | yes        | yes    | no         | no          |
# |    3 | yes   | yes        | yes    | yes        | yes         |
# |    4 | yes   | yes        | yes    | yes        | no          |
# |    5 | yes   | yes        | no     | yes        | no          |
# |    6 | yes   | yes        | no     | yes        | yes         |
# |    7 | yes   | yes        | no     | no         | yes         |
# |------+-------+------------+--------+------------+-------------|
# |Phonon計算のときIBRION=7or8(対称性) vasp4.6では5or6を使う
    #------オプション-------
#    POTIM   =   0.1     #最小化アルゴリズムのステップ幅のスケーリング定数(def:0.5)
#    LEPSILON =  TRUE    #静的誘電体マトリックス,イオンクランプ圧電テンソル,およびBorn実効電荷の算出
#    ADDGRID =   TRUE    #追加グリッド phonon計算のときつかう
    #==Molecular dynamics計算(温度依存)IBRION=0,NWRITE=0を使用==
#    TEBEG = 2000.0; TEEND=2000.0 #初期,最終温度(K)
#    SMASS   =   3.00    # Nose mass-parameter (am) 0.4程度？
#    MDALGO  =   2       # Nose-Hoover thermostatを指定
    #==NEB計算=イメージ数+始点,終点のディレクトリを00から生成=======
#    IMAGES  =  3        #イメージ数(中間構造の数)
#    SPRING  = -5        #ばね定数
#----NEB計算時にはPOSCARに始点と終点の構造を並べて書くこと
```
必要な部分だけコピーして使用しても大丈夫ですが, 正しく入力できておりますので, 日本語が使用できる環境ならコピペで活用可能だと思います.
またアップデートを随時投入して参ります.