0 0 0 0 0 0 : dummy line (6 integers) 5.50 20.00 2 2 2 : GMAX, GMAXP, NTYP, NATM, NATM2 1 0 : space group number, bravis lattice type 6.00 4.00 4.00 90.00 90.00 90.00 : a, b, c, alpha, beta, gamma 1 1 1 1 1 1 : knx, kny, knz, k-point shift 1 0 : NCORD, NINV 0.0000 0.0000 0.0000 1 1 1 : cps, iwei, imdtyp, ityp 2.2000 0.0000 0.0000 1 1 2 : cps, iwei, imdtyp, ityp 6 0.1500 51577.50 3 1 0.d0 : IATOMN, ALFA, AMION, ILOC, IVAN, ZETA1 8 0.1500 51577.50 3 1 0.d0 : IATOMN, ALFA, AMION, ILOC, IVAN, ZETA1 0 0 0 0 0 : ICOND, INIPOS, INIVEL, ININOSE, INIACC 0 1 : IPRE, IPRI 200 200 0 57200.00 0 : NMD1, NMD2, iter_last, CPUMAX, ifstop 3 1 : way_mix, mix_what 0 8 0.8 : starting mixing, kbxmix,alpha 0.60 0.50 0.60 0.70 1.00 : DTIM1, DTIM2, DTIM3, DTIM4, dtim_last 30.00 2 1 0.10D-08 1.d-06 : DTIO, IMDALG, IEXPL, EDELTA 0.0010 0.10D+02 0 : WIDTH, FORCCR, ISTRESS ggapbe 1 : XCTYPE, nspin 1.00 3 : destm, n_stm 102 : NBZTYP 0 0 0 : NKX, NKY, NKZ (dummy) 0 0 0 : NKX2, NKY2, NKZ2 (dummy) 8 : NEG (# of bands) 1 : NEXTST (1: G-space, 0: R-space) 0 : 0; random numbers, 1; matrix diagon 2 : imsd (2: Davidson, 1: RMM) 0 : eval. eko diff.: .0 = no ,1 = yes 0 : npdosao 0 0.0 : SM_dopping
0 0 0 0 0 0 : dummy line (6 integers)
歴史的経緯でそのままになっている。過去のバージョンでは1カラム目の変数が1の場合は※基本並進ベクトルをカーテシアン座標で与え、0の場合はa, b, c, alpha, beta, gammaで与えていたようである。
※バージョン539tでは活きているようです。
※現状STATEではおそらく無視されている。repeat.fではxyzのファイルを作る際に参照されている。STATEプログラムの改修者へ:この項目を入力から削除すると面倒なことになるので当面このパラメータを削除しないように。
5.50 20.00 2 2 2 : GMAX, GMAXP, NTYP, NATM, NATM2
GMAX=5.00 GMAXP=15.0 の条件で計算を行う場合は、一般的にpbe3 pbe1sのpseudo potentialのセットを用いるとよい
GMAX=5.50-6.0 GMAXP=20.0 の条件で計算を行う場合はpbe1のpseudo potentialセットを用いるとよい
※これは一般的なルールなのでエネルギーと力のカットオフエネルギーについての収束性は必ずチェックすべきである。
1 0 : space group number, bravais lattice type
# | bravais lattice type |
0 | simple |
1 | body-centered |
2 | face-centered |
3 | a-face-centered |
4 | b-face-centered |
5 | c-face-centered |
6 | rhombohedral |
6.00 4.00 4.00 90.00 90.00 90.00 : a, b, c, alpha, beta, gamma
これらの代わりに以下のように"Cartesian"と記述するとそれ以下の行で格子ベクトルを直接カーテシアン座標で指定することができる。
Cartesian 6.00 0.00 0.00 0.00 4.00 0.00 0.00 0.00 4.00
1 1 1 1 1 1 : knx, kny, knz, k-point shift
Brillouine zone積分で用いるk点のメッシュ(knx, kny, knz)を最初の3カラムで、k点のオフセットを次の3カラムで指定する。 4-6カラムでのk点のオフセットの指定方法は、ガンマ点を含む場合には1を、ガンマ点を含まない場合(Monkhorst-Pack)は2を指定する。 六方晶の場合にはk点はオフセットしない方が良いようである。
1 0 : NCORD, NINV
0.0000 0.0000 0.0000 1 1 1 : cps, iwei, imdtyp, ityp 2.2000 0.0000 0.0000 1 1 2 : cps, iwei, imdtyp, ityp
6 0.1500 51577.50 3 1 0.d0 : IATOMN, ALFA, AMION, ILOC, IVAN, ZETA1 8 0.1500 51577.50 3 1 0.d0 : IATOMN, ALFA, AMION, ILOC, IVAN, ZETA1
0 0 0 0 0 : ICOND, INIPOS, INIVEL, ININOSE, INIACC
ICOND | |
0 | 初期波動関数は乱数から発生させる。scratchからSCF計算を開始する時に使用する。 |
1 | 初期波動関数と電荷密度は前の計算のものを使用する。SCF計算を継続する際に使用する。zaj.dataとpotential.dataが必要 |
2 | 初期波動関数は乱数から、電荷密度は前の計算のものを使用するが、電荷密度(ポテンシャル)はfixしたまま計算を行う。potential.dataが必要 |
3 | 初期波動関数とポテンシャルは古いものから出発するが、電荷密度(ポテンシャル)はfixしたまま計算を行う. ポテンシャルをfixした計算(ICOND=2)を継続する際に用いる。potential.dataとzaj.dataが必要。 |
4 | 電荷密度をfixしたままSCF計算を行う。ICOND=2と同じ。 |
9, 11 | 実空間での電荷密度を出力. (9は全電荷密度、11はsoft partのみ)詳細 |
10 | STM |
12 | DOS_CAL 電子状態を読み込んで修正計算せずにDOSを計算する |
14, 24 | Partial density of state (PDOS)の計算(24はK点分解で出力) |
15 | WFN_FFT 実空間での波動関数の出力 |
115 | WFN_FFT_BAND 実空間での波動関数の出力 (バンド計算 (ICOND=22)で得られた波動関数の出力) |
17, 117 | Crystal Orbital Overlap Population (COOP Analysis)(117はK点分解で出力,16は実験的旧バージョン?) |
18 | CHG_DIFF_ANA 電荷密度差の表示(全系と、それを2つに分割した系の和との差、3系準備して入力) |
20 | INITIAL_MG 詳細不明 |
22, 23 | BAND STRUCTURE バンド計算用(23は継続計算)。nfkpt.dataから読み込んだk点上でポテンシャル固定のnon-SCF計算 |
33, 133 (13) | Layer-resolved PDOS XY面に平行な面でSuperCellをスライスした断片各々のDOS(133はK点分解で出力、13は旧バージョン(使用しない))範囲の指定にはnfaldos.dataという名前のファイルを用意する。下記AOLDOSの後ろに記述する。 |
40 | 規約ブリルアンゾーン内で波動関数(zag.data)と電荷密度(potential.data)をGWST用に書き換える(STATE 5.3.8b用) |
41 | 41: nfkpt.dataで指定した経路上で波動関数と電荷密度をGWST用に書き換える(STATE 5.3.8b用) |
INIPOS | 原子位置 |
0 | 原子位置を入力ファイルから読み込む |
1 | restart.dataから原子座標を読み込んでMDまたは構造最適化を継続する |
2 | GEOMETRYから原子座標を読み込んで計算を継続する(restart.dataが必要)。restart.dataはバイナリーのデータで扱いにくいが、GEOMETRYはascii形式であるので、比較的扱いやすい。計算を現在のgeometryと異なるものから始めるときに使用すると便利である。 |
計算の継続する例 (1): SCF計算の継続
1 0 0 0 0 : ICOND,INIPOS,INIVEL,ININOS, INIACC
1 1 0 0 0 : ICOND,INIPOS,INIVEL,ININOS, INIACC
1 2 0 0 0 : ICOND,INIPOS,INIVEL,ININOS, INIACC
0 1 0 0 0 : ICOND,INIPOS,INIVEL,ININOS, INIACC
1 1 1 0 0 : ICOND,INIPOS,INIVEL,ININOS, INIACC
0 1 : IPRE, IPRI
200 200 0 57200.00 0 : NMD1, NMD2, iter_last, CPUMAX, ifstop
3 1 : way_mix, mix_what
way_mix | ミキシングの方法 |
1 | simple mixing |
2 | Broyden |
3 | Broyden2 |
4 | DFP |
5 | Pulay |
6 | Blugel |
mix_what | ミキシングの対象 |
1 | 電荷密度 |
2 | ポテンシャル |
0 8 0.8 : starting mixing, kbxmix,alpha
0.60 0.50 0.60 0.70 1.00 : DTIM1, DTIM2, DTIM3, DTIM4, dtim_last
30.00 2 1 0.10D-08 1.d-06 : DTIO,IMDALG,IEXPL,EDELTA
IMDALG | 構造最適化の方法 |
1 | Newtonian dynamics |
2 | Quenched molecular dynamics |
3 | Vibrational mode analysis(nfvibrate.dataというファイルが必要)Vibratinal 詳細はこちら |
4 | GDIIS |
5 | TS search by GDIIS |
6 | NEB Nudged Elastic Band method |
7 | CINEB Climbing Image NEB method |
0 | Newtonian dynamics |
-1 | 有限温度のNewtonian dynamics(MVELSC=0:Microcanonical(No control) =2:Velocity scaling =10:Nose-Hoover, (other methods:: 1:simulated annealing, 3:rolling average, 4:gaussian thermostat, 11:GGMT)) |
-2 | Langevin MD |
0.0010 0.10D+02 0 : WIDTH, FORCCR, ISTRESS
ggapbe 1 : XCTYPE, nspin
1.00 3 : destm, n_stm
102 : NBZTYP
0 0 0 : NKX, NKY, NKZ (dummy) 0 0 0 : NKX2, NKY2, NKZ2 (dummy)
8 : NEG (# of bands)
STATEの計算では、常に非占有状態を含めて計算を行う必要がある。非磁性のSiならば、例えば4 (電子数/2)+4などとするのが良いだろう。
1 : NEXTST (1: G-space, 0: R-space)
0 : 0; random numbers, 1; matrix diagon
2 : imsd (2: Davidson, 1: RMM)
大規模な計算をするときにはRMM-DIISとReal space projectionの組み合わせ(NEXTST=0、IMSD=1)が推奨されますが、初期波動関数は乱数から発生させるものではなく、Davidsonである程度収束させたものを使うのが良いでしょう。そうしなければ最安定な電子状態に収束しない可能性がある。
0 : eval. eko diff.: .0 = no ,1 = yes
前回のiterationにおける擬固有値との比較を行うかどうかを指定。ほぼダミー変数
0 : npdosao
0でない場合にPDOSの計算を行う。但しnpdosaoは原子の数より小さくなければならない。具体的な計算方法は、柳澤氏による以下の文書を参照のこと。
0 0.0 : SM_dopping
現在使用している人はいないため十分テストされていません。
AOLDOS。Layer-resolved DOSの計算の指定は、ここ野で説明ではなく次項を参照。
(以下、pdos用のオプション。仮にnpdosao = 5とし、通し番号が1,3,4,9,10の原子の軌道に投影したDOSを計算、原子の種類は2種類。ただし、lda+uでない場合)
5 : npdosao 1 (以下、npdosao個の原子の通し番号) 3 4 9 10 -15.00 5.00 0.20 501 :EPDOS(1), EPDOS(2), EPDOS(3), NPDOSE 2.2 0.3 :rad, width for ityp 1 1.0 0.3 :rad, width for ityp 2 0.2 12 :DR, NR ... &OTHERS GAUSSDOS &END
&OTHERS GAUSSDOS &END
xy面に平行な面でスライスしてできた領域内に含まれる電子のDOSを算出する。 いったん電子状態を求めてzaj.data,potential.dataを出力した後に、ICOND=33として実行する。下記のようなnfaldos.dataというファイルを用意する。フェルミエネルギーはHartree単位で与える(直前のSCF計算の最後に得られるFermiEnergyをnfoutから読み取って書く)、Layerの境界はBohr単位のz座標である。Layerの数より一つ大きい数のz座標を与える。DOS計算のためのエネルギー範囲と分割数、ぼかし幅(Gaussian broadening factor)を与える。
&ALDOS PRINT_WEIGHT FERMI_LEVEL -0.14395389 NUMBER_OF_LAYER 7 LAYER -7.7938 -5.3974 -2.9894 -0.5968 1.41385 3.832933 6.64160692845 10.60270297025 EMIN -15.D0 EMAX 5.D0 EWIDTH 0.2D0 NPDOSE 401 &END