3.2.1. 環境設定ファイル¶
このファイルでは、TOML形式でH-waveに関する環境を設定します。 本ファイルは以下の3つのセクションから構成されます。
mode
セクション: 計算モードに関する設定を指定するセクション。log
セクション: 標準出力に関する設定を指定するセクション。file
セクション: 入出力ファイルのパスなどを設定するセクションで、input
,output
のサブセクションから構成される。
以下、ファイル例を記載します。
[log]
print_level = 1
print_step = 10
[mode]
mode = "UHFk"
[mode.param]
# 2Sz = 0
Ncond = 16
IterationMax = 1000
EPS = 8
Mix = 0.5
RndSeed = 123456789
# ene_cutoff = 1.0e+2
T = 0.0
CellShape = [ 4, 4, 1 ]
SubShape = [ 2, 2, 1 ]
[file]
[file.input]
path_to_input = ""
# initial = "green_init.dat.npz"
[file.input.interaction]
path_to_input = "./"
Geometry = "geom.dat"
Transfer = "transfer.dat"
CoulombInter = "coulombinter.dat"
[file.output]
path_to_output = "output"
energy = "energy.dat"
eigen = "eigen"
green = "green"
ファイル形式¶
TOML形式
パラメータ¶
mode
セクション¶
mode
形式 : string型
説明 : 計算モードを指定します。実波数空間UHFを利用する場合には、
UHFk
(波数空間版)を記載します。flag_fock
形式 : bool型 (デフォルトは
true
)説明 :
true
の場合にはFock項を考慮し、false
の場合にはHartree項のみ取り扱います。enable_spin_orbital
形式 : bool型 (デフォルトは false)
説明 : スピン軌道相互作用を有効にします。Transfer項の軌道のインデックスはスピン自由度を含む形に解釈されます。インデックスの対応は、軌道 \(\alpha\) とスピン \(s\) に対して \(\alpha + N_\text{orb} \cdot s\) となります。
mode.param
セクション¶
mode.param
セクションでは計算用のパラメータを指定します。
CellShape
形式 : int array型
説明 : box の形状 Lx, Ly, Lz を指定します。
SubShape
形式 : int array型 (デフォルトは
[
Lx, Ly, Lz]
)説明 : 副格子の形状 Bx, By, Bz を指定します。
T
形式 : float型 (デフォルトは0)
説明 : 温度を指定します。0以上の値を指定してください。
Ncond
形式 : int型
説明 : 伝導電子の数を指定します。1以上の値を指定してください。
filling
形式 : float型
説明 : 伝導電子の状態数に対する占有率を指定します。0以上1以下の値を指定してください。
Ncond
と同時に指定されている場合はエラーで終了します。Ncond_round_mode
形式 : str型 (デフォルトは
"strict"
)説明 :
filling
から計算される伝導電子数を整数値に丸める方法を指定します。以下のいずれかの値をとります。as-is
: 丸めを行いません。(戻り値は float型です)round-up
: 小数点以下を切り上げます。round-down
: 小数点以下を切り捨てます。round-off
: 小数点以下を四捨五入します。round
: 小数点以下をround
関数で丸めます。0.5 は 0 に丸められるので注意。strict
: 整数でない場合はエラーで終了します。exact
: 整数でない場合は warning を表示し、round
で丸めた整数値を返します。
IterationMax
形式 : int型 (デフォルトは20000)
説明 : 反復回数の上限を指定します。0以上の値を指定してください。
EPS
形式 : int型 (デフォルトは6)
説明 : 収束条件を指定します。一つ前のステップのグリーン関数との差のノルムが \(10^{\rm -EPS}\) 以下になった場合に収束したと判定します。 残差は \(R = \sum_{i, j}^{N} \sqrt{ \left| G_{ij}^{\rm new} - G_{ij}^{\rm old} \right|^2} / 2N^2\) で定義されます。 0以上の値を指定してください。
Mix
形式 : float型 (デフォルトは0.5)
説明 : Green関数の更新時に、古い値と新しく得られた値を混ぜる(simple-mixing)割合 \(\alpha\) を指定します。 0以上から1以下の実数で指定してください。1にすると古い値は使われません。 simple-mixingについては アルゴリズムの章 をご覧ください。
RndSeed
形式 : int型 (デフォルトは1234)
説明 : 乱数のシード(種)を指定します。
ene_cutoff
形式 : float型 (デフォルトは100.0)
説明 : Fermi分布関数を計算する際に overflow を避けるためのカットオフを指定します。
strict_hermite
形式 : bool型 (デフォルトは false)
説明 : 相互作用定義ファイルの読み込み時に Hermiticity を厳密にチェックします。true の場合、
hermite_tolerance
以上のズレが見つかったときはエラーで終了します。false の場合は warning を表示して実行を継続します。hermite_tolerance
形式 : float型 (デフォルトは \(10^{-8}\) )
説明 : Hermiticity の許容値 \(|t_{ij} - t_{ji}^*| < \varepsilon\) を指定します。
trustme_interaction_range
形式 : bool型 (デフォルトは false)
説明 : ホッピングや相互作用の距離が
CellShape
の半分以内におさまっているかのチェックを緩和します。 true の場合、warning を表示して実行を継続し、 false の場合、エラー終了します。
log
セクション¶
print_level
形式 : int型 (デフォルトは1)
説明 : 標準出力のレベルを指定します。1にすると詳細な情報が出力されます。
print_step
形式 : int型 (デフォルトは1)
説明 : 反復計算の途中に計算ログを標準出力に書き出す間隔を指定します。1以上の値を指定してください。
print_check
形式 : str型 (デフォルトはNone)
説明 : 反復計算の途中に計算ログをファイルに書き出す場合、出力先ファイル名を指定します。無指定のときは出力しません。
file
セクション¶
input
と output
のサブセクションからなります。
前者は入力ファイルに関する情報(格納場所やファイル名の指定など)、後者は出力ファイルに関する情報(格納場所など)について指定します。
以下、順に説明します。
file.input
セクション¶
path_to_input
形式 : str型 (デフォルトは "")
説明 : 入力ファイルの格納されているディレクトリを指定します。
initial
形式 : str型
説明 : 初期状態の一体グリーン関数データを格納したファイルの名前を指定します。 ファイルは NumPy binary 形式です。
file.output
のgreen
の出力ファイル形式に対応しています。
file.input.interaction
セクション¶
波数空間版UHFで、幾何情報や相互作用のタイプと定義ファイルとの対応付けを行います。
path_to_input
形式 : str型
説明 : 入力ファイルを格納するディレクトリを指定します。
file.input
セクションのpath_to_input
とは独立に指定できます。Geometry
形式 : str型
説明 : 幾何情報のファイル名を指定します。
Transfer
,CoulombIntra
,CoulombInter
,Hund
,Ising
,Exchange
,PairLift
,PairHop
形式 : str型
説明 : 各相互作用の係数ファイル名を指定します。
file.output
セクション¶
path_to_output
形式 : str型 (デフォルトは
"output"
)説明 : 出力ファイルを格納するディレクトリを指定します。
energy
形式 : str型
説明 : エネルギーを出力するファイル名を指定します。このキーワードがない場合には情報は出力されません。
eigen
形式 : str型
説明 : ハミルトニアンの固有値を出力するファイル名を指定します。このキーワードがない場合には情報は出力されません。
green
形式 : str型 (デフォルトは
"green"
)説明 : 一体グリーン関数を出力するファイル名を指定します。空文字列
""
を指定した場合には情報は出力されません。rpa
形式 : str型
説明 : UHF法で近似した相互作用項を含む一体項を出力するファイル名を指定します。出力ファイルは RPAの初期値として
trans_mod
パラメータに指定して利用できます。このキーワードがない場合には情報は出力されません。