10. 入出力ファイル

ここではいくつかの主要な入出力ファイルについて説明します。入力パラメータファイル(F_INP(=nfinp.data))と入出力ファイル設定ファイル(file_names.data 2.2.4 章 )については上に説明しているので省きます。

10.1. 擬ポテンシャルファイル F_POT(入力)

10.1.1. フォーマット

擬ポテンシャルファイルのフォーマットについて説明します。

例として、Si 原子の擬ポテンシャルの最初の部分を以下に示します。

   14   4   3   0   2  : zatom, ival, iloc, itpcc
ldapw91  : name                                                      |
     2.160000    0.860000    1.605400   -0.605400  :   alp,cc
   1501   96.000000   60.000000  :   nmesh,  xh, rmax
VALL
 -0.14250064037552332E+07 -0.14102392478975291E+07 -0.13956251181755565E+07
 -0.13811624288404209E+07 -0.13668496105922471E+07 -0.13526851103651347E+07
 -0.13386673911985729E+07 -0.13247949320589846E+07 -0.13110662276746516E+07
 -0.12974797883723934E+07 -0.12840341399159116E+07 -0.12707278233458301E+07
 -0.12575593948213934E+07 -0.12445274254637859E+07 -0.12316305012010917E+07
 -0.12188672226148657E+07 -0.12062362047882713E+07 -0.11937360771558125E+07
 -0.11813654833546225E+07 -0.11691230810772763E+07 -0.11570075419261454E+07
 -0.11450175512692606E+07 -0.11331518080976552E+07 -0.11214090248841981E+07
 -0.11097879274438950E+07 -0.10982872547956155E+07 -0.10869057590252746E+07
 -0.10756422051504281E+07 -0.10644953709862572E+07 -0.10534640470129563E+07
 -0.10425470362444966E+07 -0.10317431540987322E+07 -0.10210512282688706E+07
 -0.10104700985962711E+07 -0.99999861694454885E+06 -0.98963564707499891E+06
 ...
 ...

擬ポテンシャルを格納したファイルの最初の複数の連続した行には、# で始まるコメント文を記入する ことができます。もしコメント文を書き入れると、PHASE を走らせたときに、標準出力 (output000)に、そのコメント文が出力されます。

プログラム PHASE に擬ポテンシャルデータを読み込ませるには、その最初の4行 (コメント文がある場合には、コメント文以降の4行目まで)に、 以下のパラメーターの値が指定されている必要があります。

1行目 natomn, ival, iloc, itpcc, igncpp

これらの変数は、それぞれ、原子番号\(Z\)、価電子の数\(Z_{v}\)、 局在軌道の方位量子数\(l_{\text{loc}}\) に1を加えた値、 コアチャージ補正の有(=1)無(=0)、 擬ポテンシャルデータの形式GNCPP1(=1)、GNCPP2(=2)の指定に使われます。

2行目 xctype

交換相関相互エネルギーの型を指定します。 選択できるのは、LDAPW91、GGAPBE の何れかです。

3行目 alp1, alp2, cc1, cc2

これらのパラメーターを\(\alpha_{1},\alpha_{2},c_{1},c_{2}\)と書くと、PHASE の中では、コア部分の擬ポテンシャルを

\[V_{\text{core}} = - \frac{Z_{v}}{r}\{ c_{1}\text{erf}(\sqrt{\alpha_{1}}r) + c_{2}\text{erf}(\sqrt{\alpha_{2}}r)\}\]

という式で近似して計算します。 ただし、\(\mathrm{erf}( \cdot )\) はガウスの誤差関数です。 また、2つの係数 \(c_{1}\)\(c_{2}\) の間には \(c_{1} + c_{2} = 1\) の関係があります。

4行目 nmesh, xh, rmax

動径方向のメッシュを

\[r_{i} = r_{\max}{\exp\ }((i - N_{\text{mesh}})/x_{h})\mspace{6mu}(i = 1,\cdots,N_{\text{mesh}})\]

の式にしたがって生成します。ただし、\(N_{\text{mesh}}\) は動径方向のメッシュの数を表します。

価電子4個を持つ原子番号14の Si 原子の、LDAPW91法による擬ポテンシャルであることが、これらの行から分かります。

5行目(コメント文がある場合には6行目)に書かれている VALL というのは、 PHASE のプログラム内で擬ポテンシャルのチェック用に使われる記号です。

その次の行からが擬ポテンシャルの実際のデータです。 このデータの最初のブロックは、遮蔽された全電子ポテンシャル (screened All Electron potential、\(V_{\text{scr}}^{\text{AE}}(r)\)) に関するもので、そのデータ形式は,

do ir = 1, nmesh

\(V_{\text{scr}}^{\text{AE}}(ir)\)

end do

という形になっています。

第2のブロックは、遮蔽された局所ポテンシャル (screened local potential、 \(V_{scr,l_{\text{loc}}}^{\text{PP}}(r,l)\)) に関するものです。 \(V_{\text{scr}}^{\text{AE}}(r)\)同様、そのデータ形式は,

 do ir = 1, nmesh

\(V_{scr,l_{\text{loc}}}^{\text{PP}}(ir,iloc)\)

 end do

となります。

第3のブロックは、価電子の電荷密度 (valence charge density、 \(n_{v}(r)\)) に,球面の面積 \(4\pi r^{2}\) をかけたものです。 これを \(\rho_{v}(r)\) とすると (\(\rho_{v}(r) = 4\pi r^{2}n_{v}(r)\))、そのデータは,

do ir = 1, nmesh

\(\rho_{v}(r)\)

end do

と書かれています。

これらの3ブロックの記述が終った後に、軌道別に擬波動関数と擬ポテンシャルの データが出力されます。 その形式は、ノルム保存の場合とウルトラソフトの場合で全く異なります。

詳しくは,CIAO のユーザーマニュアルをご参照ください。

10.1.2. 推奨擬ポテンシャルファイル

現バージョンの擬ポテンシャルファイルセットはphase_pp_2014です。元素によっては複数の擬ポテンシャルファイルが存在しますが、推奨擬ポテンシャルファイルは下記の通りです。バージョン2020.01以降、擬ポテンシャルファイルの指定がない場合はこの推奨擬ポテンシャルファイルが採用されます。

GGA-PBE

H_ggapbe_paw_nc_01.pp, He_ggapbe_paw_us_01.pp, Li_ggapbe_paw_nc_01.pp,
Be_ggapbe_paw_nc_01.pp, B_ggapbe_paw_us_01.pp, C_ggapbe_paw_us_01.pp,
N_ggapbe_paw_us_01.pp, O_ggapbe_paw_us_02.pp, F_ggapbe_paw_us_01.pp,
Ne_ggapbe_paw_us_01.pp, Na_ggapbe_paw_nc_01.pp, Mg_ggapbe_paw_nc_01.pp,
Al_ggapbe_paw_nc_01.pp, Si_ggapbe_paw_nc_01.pp, P_ggapbe_paw_us_01.pp,
S_ggapbe_paw_us_01.pp, Cl_ggapbe_paw_us_01.pp, Al_ggapbe_paw_nc_01.pp,
K_ggapbe_paw_us_01.pp, Ca_ggapbe_paw_us_01.pp, Sc_ggapbe_paw_us_02.pp,
Ti_ggapbe_paw_us_02.pp, V_ggapbe_paw_us_02.pp, Cr_ggapbe_paw_us_02.pp,
Mn_ggapbe_paw_us_02.pp, Fe_ggapbe_paw_us_02.pp, Co_ggapbe_paw_us_01.pp,
Ni_ggapbe_paw_us_01.pp, Cu_ggapbe_paw_us_02.pp, Zn_ggapbe_paw_us_01.pp,
Ga_ggapbe_paw_us_01.pp, Ge_ggapbe_paw_nc_01.pp, As_ggapbe_paw_nc_01.pp,
Se_ggapbe_paw_nc_01.pp, Br_ggapbe_paw_nc_01.pp, Kr_ggapbe_paw_nc_01.pp,
Rb_ggapbe_paw_us_01.pp, Sr_ggapbe_paw_us_01.pp, Y_ggapbe_paw_us_02.pp,
Zr_ggapbe_paw_us_02.pp, Nb_ggapbe_paw_us_02.pp, Mo_ggapbe_paw_us_02.pp,
Tc_ggapbe_paw_us_02.pp, Ru_ggapbe_paw_us_01.pp, Rh_ggapbe_paw_us_01.pp,
Pd_ggapbe_paw_us_01.pp, Ag_ggapbe_paw_us_01.pp, Cd_ggapbe_paw_us_01.pp,
In_ggapbe_paw_us_02.pp, Sn_ggapbe_paw_us_02.pp, Sb_ggapbe_paw_us_02.pp,
Te_ggapbe_paw_us_02.pp, I_ggapbe_paw_us_02.pp, Xe_ggapbe_paw_us_01.pp,
Cs_ggapbe_paw_us_01.pp, Ba_ggapbe_paw_us_01.pp, La_ggapbe_paw_us_02.pp,
Ce_ggapbe_paw_us_02.pp, Pr_ggapbe_paw_us_01.pp, Nd_ggapbe_paw_us_01.pp,
Pm_ggapbe_paw_us_01.pp, Sm_ggapbe_paw_us_01.pp, Eu_ggapbe_paw_us_01.pp,
Gd_ggapbe_paw_us_01.pp, Tb_ggapbe_paw_us_01.pp, Dy_ggapbe_paw_us_01.pp,
Ho_ggapbe_paw_us_01.pp, Er_ggapbe_paw_us_01.pp, Tm_ggapbe_paw_us_01.pp,
Yb_ggapbe_paw_us_01.pp, Lu_ggapbe_paw_us_01.pp, Hf_ggapbe_paw_us_03.pp,
Ta_ggapbe_paw_us_03.pp, W_ggapbe_paw_us_01.pp, Re_ggapbe_paw_us_01.pp,
Os_ggapbe_paw_us_01.pp, Ir_ggapbe_paw_us_01.pp, Pt_ggapbe_paw_us_01.pp,
Au_ggapbe_paw_us_01.pp, Hg_ggapbe_paw_us_01.pp, Tl_ggapbe_paw_us_01.pp,
Pb_ggapbe_paw_us_01.pp, Bi_ggapbe_paw_us_02.pp, Po_ggapbe_paw_us_02.pp,
At_ggapbe_paw_us_02.pp, Rn_ggapbe_paw_us_02.pp, Fr_ggapbe_paw_us_01.pp,
Ra_ggapbe_paw_us_01.pp, Ac_ggapbe_paw_us_01.pp, Th_ggapbe_paw_us_01.pp,
Pa_ggapbe_paw_us_01.pp, U_ggapbe_paw_us_01.pp, Np_ggapbe_paw_us_01.pp,
Pu_ggapbe_paw_us_01.pp, Am_ggapbe_paw_us_01.pp, Cm_ggapbe_paw_us_01.pp,
Bk_ggapbe_paw_us_01.pp, Cf_ggapbe_paw_us_01.pp, Es_ggapbe_paw_us_01.pp,
Fm_ggapbe_paw_us_01.pp, Md_ggapbe_paw_us_01.pp, No_ggapbe_paw_us_01.pp,
Lr_ggapbe_paw_us_01.pp, Rf_ggapbe_paw_us_01.pp, Db_ggapbe_paw_us_01.pp,
Sg_ggapbe_paw_us_01.pp, Bh_ggapbe_paw_us_01.pp, Hs_ggapbe_paw_us_01.pp,
Mt_ggapbe_paw_us_01.pp, Ds_ggapbe_paw_us_01.pp, Rg_ggapbe_paw_us_01.pp,

LDA-PW91

Ge_ldapw91_paw_nc_01.pp

10.2. サンプリングk点ファイル F_KPOINT (=kpoint.data)(入力)

主として, ekcalやphaseによる(電荷密度分布(F_CHGT)を固定した)バンド構造計算を行う際に利用するファイルで(通常のSCF計算にも使えます)、 計算すべき\(k\)点の情報が記述してあります。 入力パラメータファイルにおいて、\(k\)点サンプリングの方法として“file”を指定した場合、必須のファイルとなります。 このファイルはバンド計算のためには通常、band_kpoint.plスクリプト( 9.7 章 )を使って作成します。 直接エディターなどで作成する機会は多くないと思われますが、以下参考のため記述します.

F_KPOINTファイルは、典型的には次のようになります。

141 141         (a)
0 50 50 100 1   (b)
0 49 49 100 1
0 48 48 100 1
0 47 47 100 1
0 46 46 100 1
0 45 45 100 1
0 44 44 100 1
0 43 43 100 1
   ......
   ......
   ......
  1. 始めの数は\(k\)点の個数で、2番目の数は状態密度を求めるときの\(k\)点ごとの重み(\(w_k\))の総和\(W\)です。この例の場合、\(k\)点の個数141個で、重みの総和\(W\)も141となります。

  2. 5つの整数が並んでいますが、最初の4 つは、それぞれ\(k\)点を次式のように定義した場合の\(n_{1},n_{2},n_{3},n_{d}\)になります(ここで\(\overrightarrow{b_{1}},\overrightarrow{b_{2}},\overrightarrow{b_{3}}\)は逆格子ベクトルです)。5 番目の数は、状態密度を求めるときのk点ごとの重み(\(w_k\))になります。この\(w_k\)の総和が(a)の\(W\)と一致するようにする必要があります。ekcalやphaseによる固定電荷計算によりバンド構造を計算する場合には全て1を割り当てます。

    \[\overrightarrow{k} = \frac{n_{1}}{n_{d}}\overrightarrow{b_{1}} + \frac{n_{1}}{n_{d}}\overrightarrow{b_{2}} + \frac{n_{3}}{n_{d}}\overrightarrow{b_{3}}\]

(b)の型の行が141個連続します。

F_KPOINT (=kpoint.data)を使って状態密度を計算する際には(また通常のSCF計算でも)、各\(k\)点における固有状態の寄与が(\(w_k/W\))で与えられます。

10.3. 状態密度ファイル F_DOS(=dos.data)(出力)

F_DOS識別子によって指定されるファイルには、状態密度の計算結果が記入されます。既定のファイル名はdos.dataです。

10.3.1. 全状態密度

ファイルフォーマットとしては、まず、スピンを考慮していない計算では全状態密度のデータが次のように記述されます。

  No.   E(hr.)        dos(hr.)         E(eV)          dos(eV)              sum
    6  -0.20528      0.0000000000    -11.949000      0.0000000000        0.0000000000
   16  -0.20491      0.0000000000    -11.939000      0.0000000000        0.0000000000
   26  -0.20455      0.0000000000    -11.929000      0.0000000000        0.0000000000
   ...
   ...
   ...
END

ここで No.の列は状態に割り振られた番号、 E(hr.)はハートリー単位のエネルギー、 dos(hr.)はハートリー単位でエネルギーを表した場合の状態密度、 E(eV)は電子ボルト単位でのエネルギー、 dos(eV)は電子ボルト単位でエネルギーを表した場合の状態密度、 sumは積算状態密度にそれぞれ対応します。他方、スピンを考慮した計算の場合以下のようになります。

No.  E(hr.)    dos_up(hr.)       dos_down(hr.)      E(eV)         dos_up(eV)        dos_down(eV)      sum_up   sum_down sum_total
  1  -1.5451      0.0000000000      0.0000000000       -45.4403      0.0000000000      0.0000000000    0.0000    0.0000    0.0000
 11  -1.5441      0.0000000000      0.0000000000       -45.4131      0.0000000000      0.0000000000    0.0000    0.0000    0.0000
 21  -1.5431      0.0000000000      0.0000000000       -45.3859      0.0000000000      0.0000000000    0.0000    0.0000    0.0000
 31  -1.5421      0.0000000000      0.0000000000       -45.3587      0.0000000000      0.0000000000    0.0000    0.0000    0.0000
 41  -1.5411      0.0000000000      0.0000000000       -45.3315      0.0000000000      0.0000000000    0.0000    0.0000    0.0000
 51  -1.5401      0.0000000000      0.0000000000       -45.3043      0.0000000000      0.0000000000    0.0000    0.0000    0.0000

dos_up, dos_downはそれぞれアップスピンとダウンスピンの状態密度、 sum_upとsum_downはそれぞれアップスピンとダウンスピンの 積算状態密度に相当します。sum_totalはsum_upとsum_downの和です。

原子分割局所状態密度、層分割局所状態密度を計算した場合、 さらにこの後にどのような状態密度かを表す識別用の行の後に対応するデータが記述されます。 なお、 スピンを考慮した計算としない計算の違いは全状態密度の場合と同様なので以後省略します.

10.3.2. 原子分割状態密度

原子分割状態密度の場合、次のような記述が得られます。

ALDOS     num_atom =       1
  No.   E(hr.)        dos(hr.)         E(eV)          dos(eV)              sum
    6  -0.84950      0.0000000000    -26.189850      0.0000000000        0.0000000000
   16  -0.84850      0.0000000002    -26.162639      0.0000000000        0.0000000000
                                 ...
                                 ...
END
ALDOS     num_atom =       2
                                 ...
                                 ...

原子分割状態密度はALDOSという文字列から始まる行以降からEND行まで記述されます。 ALDOSの次に記述されている、num_atoms = 1 などの情報は、 対応する原子のインデックスです。 このインデックスは入力ファイルにて指定した原子の順番と同じとなります。

10.3.3. 層分割局所状態密度

層分割局所状態密度の場合次のような記述が得られます。

LAYERDOS   num_layer =       1
  No.   E(hr.)        dos(hr.)         E(eV)          dos(eV)              sum
    6  -0.84950      0.0000000000    -26.189850      0.0000000000        0.0000000000
   16  -0.84850      0.0000000002    -26.162639      0.0000000000        0.0000000000
                                 ...
                                 ...
END
LAYERDOS     num_layer =       2
                                 ...
                                 ...

基本的には原子分割局所状態密度と同等ですが、 識別子名がLAYERDOSとなっていること、 num_layerで入力ファイルにて指定した層番号が記述されること、 などの違いがあります。

10.4. エネルギー履歴ファイル F_ENF(=nfefn.data)(出力)

F_ENF識別子によって指定されるファイルには、 系の全エネルギーや原子に働く力の最大値、 さらに分子動力学シミュレーションを 行った場合はイオンの運動エネルギーや保存量なども記述されます。 構造緩和を行った場合と分子動力学シミュレーションを行った場合とで 出力内容が異なるので、それぞれについて説明します。

10.4.1. 構造緩和計算

典型的な構造緩和を行った後のF_ENFファイルの例を示します。

iter_ion, iter_total, etotal, forcmx
    1      24     -108.4397629733        0.0086160410
    2      40     -108.4401764388        0.0076051917
    3      56     -108.4405310817        0.0068758156
    4      73     -108.4410640011        0.0065717365
    5      94     -108.4414256084        0.0099533097
    6     113     -108.4414317178        0.0094159378
                 ........
                 ........
                 ........

各列は各々次のような量に対応します。

iter_ion

イオンの更新回数です。

iter_total

SCF ループの更新回数です。

この数字は通算の値が記述されます。

etotal

全エネルギーを、ハートリー単位で出力します。

forcmx

原子に働く力の最大値を原子単位(hartree/bohr)で記述します。 この値が入力ファイルにて与えた構造緩和の収束判定を満たすまで計算は実行されます。

10.4.2. 分子動力学法計算

分子動力学法計算の場合、下記のようになります。

 iter_ion, iter_total, etotal, ekina, econst, forcmx
1      18    -7.8953179624     0.0000000000    -7.8953179624     0.0186964345
2      30    -7.8953851218     0.0000665502    -7.8953185716     0.0183575425
3      43    -7.8955768901     0.0002565396    -7.8953203505     0.0173392067
                     ........
                     ........
                     ........

構造緩和の場合とほぼ同様ですが、新たな列が追加されます。

ekina

系の運動エネルギー

econst

系の保存量、 すなわちエネルギー一定の分子動力学シミュレーションの場合系の全エネルギー、 温度一定の分子動力学シミュレーションの場合系の全エネルギーに熱浴のエネルギーを加えた量です。

10.4.3. 格子最適化計算

格子の最適化を行った場合、下記のようになります。

iter_unitcell, iter_ion, iter_total, etotal, forcmx, stressmx
1 1 25 -181.4043211381 0.0019960638
1 2 33 -181.4043560304 0.0004826299
1 3 40 -181.4043582176 0.0000016495 0.0002327496
2 1 49 -181.4044223602 0.0000572790 0.0002273231
3 1 58 -181.4044833189 0.0001158383 0.0002220365
                       ........
                       ........
                       ........

通常の構造最適化のケースに加え、以下の列が加えられます。

iter_unitcell

格子の更新回数

stressmx

ストレステンソルの最大値

10.5. 原子座標履歴ファイル F_DYNM(=nfdynm.data)(出力)

F_DYNM識別子によって指定されるファイルには、 各原子の座標とそれに働く力が記述されます。 構造緩和や分子動力学シミュレーションを 行った場合はイオンの更新の回数分だけデータが書き込まれます。 典型的なF_DYNMファイルの中身を以下に記述します。なお、 このファイルにおいて利用される単位系はすべて原子単位系です。

#
#   a_vector =         9.2863024980        0.0000000000        0.0000000000
#   b_vector =        -4.6431512490        8.0421738710        0.0000000000                (a)
#   c_vector =         0.0000000000        0.0000000000       10.2158587136
#   ntyp =        2 natm =        9                                                        (b)
# (natm->type)     1    1    1    1    1    1    2    2    2                               (c)
# (speciesname)     1 :   O                                                                (d)
# (speciesname)     2 :   Si
#
 cps and forc at (iter_ion, iter_total =     1      24 )                                   (e)
    1    3.161057370    1.169332082    1.214972077   -0.004058   -0.005565   -0.004966     (f)
    2    6.693102525    2.152889944    4.620258315    0.006945   -0.001028   -0.004994
    3    4.075293851    4.719951845    8.025544553   -0.002872    0.006394   -0.004796
    4   -1.482093879    6.872841789    5.595600399   -0.004362    0.005502    0.004993
    5   -0.567857398    3.322222026    9.000886637   -0.002792   -0.006296    0.004965
    6    2.049951276    5.889283925    2.190314161    0.006974    0.000708    0.004795
    7    4.921740324    0.000000000    3.405282833    0.001436    0.000122    0.000068
    8   -2.460870162    4.262352150    6.810569070   -0.000612    0.001305   -0.000066
    9    2.182281087    3.779821719   10.215855308   -0.000660   -0.001143    0.000001
 cps and forc at (iter_ion, iter_total =     2      40 )
    1    3.156999743    1.163767576    1.210005993   -0.002904   -0.005755   -0.003892
    2    6.700048015    2.151861938    4.615264365    0.006567    0.000186   -0.003832
    3    4.072421499    4.726345880    8.020748072   -0.003503    0.005487   -0.003829
    4   -1.486455954    6.878343743    5.600593135   -0.003122    0.005780    0.003831
    5   -0.570648922    3.315925959    9.005851266   -0.003532   -0.005392    0.003892
    6    2.056925355    5.889992076    2.195109289    0.006503   -0.000290    0.003828
    7    4.923176344    0.000121757    3.405351146    0.000397   -0.000013    0.000018
    8   -2.461482612    4.263656762    6.810503226   -0.000210    0.000337   -0.000017
    9    2.181621403    3.778679157   10.215856638   -0.000197   -0.000341    0.000000
                                        ........
                                        ........
                                        ........
                                        ........
                                        ........

セルベクトルが書かれています。a_vector、b_vector、c_vector にそれぞれa 軸、b 軸、c 軸のベクトルが記述されています。

ntyp = の後には使用されている原子種の数が記述されています。この例では2です。また、natm = の後には原子数が書かれています。この例では9 です。

(natm->type) の後には、各原子に対する原子種指定番号が書かれています。この例だと、1 番目から6 番目の原子には1 の原子種指定番号が、7 番目から9 番目の原子には2 の原子種指定番号が割り当てられます。

(speciesname) の後には、原子種指定番号と原子種の対応関係が書かれています。この例では、原子種指定番号1 の原子種はO(酸素)、原子種指定番号2 の原子種はSi(珪素)ということになります。

各ステップでの情報が記述されています。この例では, イオンの更新回数が1 回, SCF の更新回数が24 回となります。

実際の原子の場所とその原子に働いている力が記述されています。1 番目の列は原子のID、2 番目から4 番目の列が原子の場所の x,y,z座標、5 番目から6 番目の列が原子に働く力のx,y,z 座標となります。もし、入力ファイルにおいてprintlevel ブロックのvelocity 変数を2 に設定していた場合、7 番目から9 番目の列に速度が原子単位で出力されます。

10.6. 電荷密度ファイル F_CHR(=nfchr.cube)(出力)

F_CHRファイルには実空間における電荷密度のデータが記述されます。ただし、 ここではPHASEのデフォルトの出力ではなく、 file_typeとしてcubeを指定した場合に得られるGaussian Cube形式のファイルについて説明します。PHASEデフォルトの出力を可視化することはできません. なるべくGaussian Cube形式のファイルをご利用いただくことをお勧めします。

This is a title line for the bulk Si                                               (a)
SCF Total Density
    8    0.0000    0.0000    0.0000                                                (b)
   20  0.513000  0.000000  0.000000                                                (c)
   20  0.000000  0.513000  0.000000
   20  0.000000  0.000000  0.513000
   14  4.000000  1.282500  1.282500  1.282500                                      (d)
   14  4.000000  8.977500  8.977500  8.977500
   14  4.000000  1.282500  6.412500  6.412500
   14  4.000000  8.977500  3.847500  3.847500
   14  4.000000  6.412500  1.282500  6.412500
   14  4.000000  3.847500  8.977500  3.847500
   14  4.000000  6.412500  6.412500  1.282500
   14  4.000000  3.847500  3.847500  8.977500
 0.87897E-01  0.80457E-01  0.63811E-01  0.47743E-01  0.35993E-01  0.26628E-01      (e)
 0.18342E-01  0.12084E-01  0.83725E-02  0.65941E-02  0.60774E-02  0.65941E-02
 0.83725E-02  0.12084E-01  0.18342E-01  0.26628E-01  0.35993E-01  0.47743E-01
 0.63811E-01  0.80457E-01  0.80457E-01  0.76575E-01  0.63379E-01  0.51118E-01
 0.43367E-01  0.35993E-01  0.26413E-01  0.17302E-01  0.11265E-01  0.80672E-02
 0.65941E-02  0.62411E-02  0.68963E-02  0.88010E-02  0.12493E-01  0.18342E-01
 0.26413E-01  0.37600E-01  0.53180E-01  0.70418E-01  0.63811E-01  0.63379E-01
                                  ........
                                  ........
                                  ........
                                  ........
                                  ........

1行目はタイトルやコメント領域です。この内容は入力パラメータファイル(F_INP)から指定することもできます。

8は原子の個数、“0.0000 0.0000 0.0000”は原点です。原点は、 PHASEでは常に(0,0,0)です。

セルの情報が与えられています。たとえば、“20 0.513000 0.000000 0.000000”とある場合、一つ目の軸(ベクトル)を20分割したベクトルを直交座標系で表すと(0.513,0.00,0.00)であることを意味します。単位はBohr です。

一つ目の数字は原子番号です。今の例では14なので、シリコンであることが分かります。次の4.00000という数字は、価電子数です。 その隣の三つの数字は対応する原子のx,y,z座標です。単位はBohrです。

実際の電荷密度の情報が書き出されています。まずz座標、 次にy座標、最後にx座標が変化するような順で出力されます。

(1,1,1)  (1,1,2)  ......  (1,1,20)  (1,2,1)  (1,2,2)
......  (1,20,20)  (2,1,1)  ......
(20,20,19)  (20,20,20)

10.7. 継続計算用ファイル F_CNTN(=continue.data)(入出力)

このファイルには, 変更する可能性のある継続計算用のデータが記述されています。 たとえば、継続計算を行う際に電子状態の収束判定を変更したい場合や、すでに収束した計算を再度継続して計算したい場合などは このファイルを編集する必要があります。 その内容は、たとえば以下のようになります。

 iteration, iteration_ionic, iteration_electronic
        19         1        19                                                      (a)
 Ionic System  (natm)         2                                                     (b)
  (pos)
  0.1249999999999999D+00  0.1250000000000001D+00  0.1250000000000001D+00            (c)
  0.8749999999999994D+00  0.8749999999999994D+00  0.8749999999999994D+00
  (cps)
  0.1282864712563094D+01  0.1282864712563093D+01  0.1282864712563093D+01            (d)
  0.8980052987941646D+01  0.8980052987941646D+01  0.8980052987941646D+01
  (cpd)
  0.0000000000000000D+00  0.0000000000000000D+00  0.0000000000000000D+00
  0.0000000000000000D+00  0.0000000000000000D+00  0.0000000000000000D+00
  (cpo(  1))
  0.0000000000000000D+00  0.0000000000000000D+00  0.0000000000000000D+00
  0.0000000000000000D+00  0.0000000000000000D+00  0.0000000000000000D+00
  (cpo(  2))
  0.0000000000000000D+00  0.0000000000000000D+00  0.0000000000000000D+00
  0.0000000000000000D+00  0.0000000000000000D+00  0.0000000000000000D+00
  (cpo(  3))
  0.0000000000000000D+00  0.0000000000000000D+00  0.0000000000000000D+00
  0.0000000000000000D+00  0.0000000000000000D+00  0.0000000000000000D+00
 Total Energy
 -0.7851066208137508D+01 -0.7851066208137508D+01                                    (e)
 isolver
        17
convergence
         2                                                                          (f)
edelta_ontheway
  0.1000000000000000D-07                                                            (g)

代表的な項目について説明します。

積算した更新回数、イオンの更新回数、SCF計算の更新回数が出力されます。

原子の数が出力されます。

原子の座標が、セルベクトルに対する値で出力されます。

原子の座標が、直交座標系で、Bohr単位で出力されます。

一つ前のステップと現在のステップの全エネルギーが出力されます。

収束状況が出力されます。

0: 未収束、1: SCFは収束しているがイオンの更新は未収束、2: 収束済み

を意味します。特に2の場合で継続計算を行うと、計算開始と同時にポスト処理に入ります。「一旦は収束したもの、の条件を変更した後に継続計算を行いたい」などの状況においては、この値を0としてください。

SCFの収束判定の値が出力されます。 計算途中にてSCF計算の収束判定を変更する場合、 入力ファイルだけではなくこちらも変更してください。

10.8. 固有値データファイル F_ENERG(=nfenergy.data)(出力ファイル)

ekcalによる固有値計算の結果が書き込まれるファイルです。 典型的な例を以下に記します。

 num_kpoints =    117                                                         (a)
 num_bands   =      8                                                         (b)
 nspin       =      1                                                         (c)
 Valence band max   =   0.233846                                              (d)
 nk_converged =      117                                                      (e)
 ik =    1 (  0.500000  0.500000  0.000000 )
 ik =    2 (  0.487805  0.487805  0.000000 )
 ik =    3 (  0.475610  0.475610  0.000000 )
 ik =    4 (  0.463415  0.463415  0.000000 )
 ik =    5 (  0.451220  0.451220  0.000000 )
 ik =    6 (  0.439024  0.439024  0.000000 )
...
...
...
=== energy_eigen_values ===
 ik =    1 (  0.000000  0.500000  0.500000 )                                  (f)
     -0.0484324576     -0.0484324576      0.1258094928      0.1258094928      (g)
      0.2619554301      0.2619554301      0.6015285208      0.6015285208
=== energy_eigen_values ===
 ik =    2 (  0.000000  0.490000  0.490000 )
     -0.0540717201     -0.0427149632      0.1258687739      0.1258687739
      0.2607026807      0.2633829927      0.6006243932      0.6006243932
                           ......
                           ......
                           ......

\(k\)点の数が書いてあります。この例では117個です。

バンドの数が記述してあります。この例では8です。

スピン自由度が記述してあります。1か2の値をとります。 この例では1であり、スピン分極を考慮しない計算に対応します。

フェルミエネルギーの値が書いてあります。 半導体/絶縁体の場合価電子帯の上端のエネルギーが記述されます。 単位はハートリーです。

計算した\(k\)点が記述されます。

以下、固有値の情報が記述されます。まずこの行で、 どの\(k\)点に対応する固有値データかが分かります。 この例では、1番目の\(k\)で、 その座標は逆格子ベクトルを基底として(0,0.5,0.5)となります。

固有値のデータが、バンドの数だけ出力されます。 単位はハートリーです。

スピンを考慮した計算の場合(上記の(c)が2の場合)もほぼ同様のファイル形式ですが、上記の(e)の隣に“UP”か“DONW”と記述される、という違いがあります。 それぞれ多数派スピンと少数派スピンに対応する固有値が書き出されます。

                           ......
                           ......
                           ......
=== energy_eigen_values ===
 ik =    1 (  0.000000  0.000000  0.000000)    UP
     -0.1998699758      0.0267639589      0.0267639589      0.0267639589
      0.0725171077      0.0725171077      1.0289118953      1.0289118953
      1.0289118953      1.1650173104      1.1650173104      1.1650173104
      1.2129026022      1.2129026022      1.2994754011      1.2994754011
      1.2994754011      1.6365336765      2.2629596795      2.2629596795
=== energy_eigen_values ===
 ik =    2 (  0.000000  0.000000  0.000000)  DOWN
     -0.1960420390      0.1062941746      0.1062941746      0.1062941746
      0.1799862148      0.1799862148      1.0183970612      1.0183970612
      1.0183970612      1.2174266166      1.2174266166      1.2192701193
      1.2192701193      1.2192701193      1.3289165100      1.3289165100
      1.3289165100      1.6910264603      2.2876818717      2.2876818717
                           ......
                           ......
                           ......