計算の流れ¶
本ソフトウェアでは
条件ファイルの読み込み
(オプション)入力ファイルの読み込み (ハミルトニアン, ベクトルなど)
(オプション)リスタート用ファイルの読み込み (係数, 残差ベクトルなど)
ライブラリを利用したループ計算
計算結果ファイル出力(係数, 残差ベクトル, 動的グリーン関数)
の流れで計算を行います (図 1 ). 使用の流れおよび各ファイルの詳細については, 使用の流れ , ファイルフォーマット にそれぞれ記載してあります.
使用の流れ¶
(リスタートではない)通常の計算¶
入力条件ファイルの作成¶
周波数や計算時のループ回数の最大数などを指定するファイルを作成します.
以下に入力ファイルの例を示します.
&filename
inham = ""
invec = ""
/
&ham
nsite = 4
Jx = 1d0
Jy = 1d0
Jz = 1d0
Dz = 0d0
/
&cg
maxloops = 100
convfactor = 6
/
&dyn
calctype = "normal"
nomega = 100
omegamin = (-2d0, 0.1d0)
omegamax = ( 1d0, 0.1d0)
outrestart = .TRUE.
/
ここで
InHam
はMatrixMarket形式に従ったハミルトニアンの要素が記載されたファイル名,
InVec
は励起ベクトルが記載されたファイル名です. また,
OmegaMin
は \(z\) の始点,
OmegaMax
は \(z\) の終点 に対応します.
"(実部,虚部)"の形式で入力してください.
NOmega
は動的グリーン関数を求めるための周波数
(\(n=1\cdots\) NOmega
)を指定するための変数です.
また, MaxLoops
はループの最大数を指定します. 残りの変数の説明や
省略可能な変数など, 入力条件ファイルの詳細はSec.
ファイル名および計算条件指定ファイル を参照してください.
また文字列変数は '
もしくは "
で囲ってください.
(オプション)入力ファイルの作成¶
MatrixMarket形式に従ったハミルトニアンの要素が記載されたファイルと 励起ベクトルを記載したファイルを作成します.
以下に励起ベクトルのファイル例を示します.
256
0.01 0.0
0.05 0.0
0.1 0.0
(continue ...)
計算実行¶
作成した入力ファイル指定ファイルを引数にして計算実行します.
計算の途中経過は標準出力されます. 以下, 実行ファイルを ShiftK.out
,
入力ファイル指定ファイルを namelist.def
としてコマンド例を記載します.
$ ShiftK.out namelist.def
計算結果出力¶
以下のファイルが output
フォルダに出力されます.
TriDiagComp.dat, ResVec.dat, dynamicalG.dat
ここで,
TriDiagComp.dat
はリスタート用の係数およびノルムが格納されているファイル,
ResVec.dat
はリスタート用の残差ベクトルが格納されているファイル,
dynamicalG.dat
は動的グリーン関数の計算結果が格納されているファイルをそれぞれ表します.
各ファイルのフォーマットは
リスタート用ベクトル - 動的グリーン関数ファイル を参照ください.
動的グリーン関数の再計算を行う場合¶
動的グリーン関数を求めた際に出力される TriDiagComp.dat
および ResVec.dat
を用い,
異なる周波数での動的グリーン関数を再計算する場合の流れを示します.
入力条件ファイルの作成¶
namelist.def
内の calctype
パラメーターを "normal"
から "recalc"
に変更のうえ, OmegaMin
等その他のパラメーターをお好きなように変更してください.
InHam
, InVec
およびそれらのファイルの中身は変更しないでください.
計算実行¶
作成した入力ファイル指定ファイルを引数にして計算実行します.
output/
フォルダにある TriDiagComp.dat
および ResVec.dat
が自動的に読み込まれます.
計算の途中経過は標準出力されます.
なお, output/
フォルダ内に dynamicalG.dat
が存在する場合は計算終了時に上書きされます.
以下, 実行ファイルを ShiftK.out
,
入力ファイル指定ファイルを namelist.def
としてコマンド例を記載します.
$ ShiftK.out namelist.def
計算結果出力¶
output/
フォルダ内にある dynamicalG.dat
が
出力(同名のファイルが存在する場合には上書き)されます.
リスタート計算をする場合¶
入力条件ファイルの作成¶
namelist.def
内の calctype
パラメーターを "restart"
に変更してください.
あとは上記の再計算の場合と同様です.
計算実行¶
作成した入力ファイル指定ファイルを引数にして計算実行します.
計算の途中経過は標準出力されます. 以下, 実行ファイルを ShiftK.out
,
入力ファイル指定ファイルを namelist.def
としてコマンド例を記載します.
$ ShiftK.out namelist.def
計算結果出力¶
以下のファイルが output/
フォルダに出力されます.
TriDiagComp.dat, ResVec.dat, dynamicalG.dat
ここで,
TriDiagComp.dat
はリスタート用の係数およびノルムが格納されているファイル,
ResVec.dat
はリスタート用の残差ベクトルが格納されているファイル,
dynamicalG.dat
は動的グリーン関数の計算結果が格納されているファイルをそれぞれ表します.
各ファイルのフォーマットは, リスタート用ベクトル - 動的グリーン関数ファイル を参照ください.