7.1. StdFaceを用いた相互作用ファイルの作成¶
7.1.1. StdFaceライブラリのコンパイル¶
H-waveで使用する相互作用定義ファイルは、StdFaceライブラリを使用することで簡単に作成することができます。 以下ではStdFaceライブラリを使用した入力ファイルの作成を行う方法を記載します。
H-waveに対応した StdFace ライブラリは以下から取得できます。
$ git clone https://github.com/issp-center-dev/StdFace.git
ダウンロード終了後、以下のコマンドでコンパイルを行います。
$ cd StdFace
$ mkdir build && cd build
$ cmake -DHWAVE=ON ..
$ make
コンパイルに成功すると、 src
ディレクトリに実行ファイル hwave_dry.out
ができます。
7.1.2. StdFaceライブラリの使用¶
hwave_dry.out
の入力ファイルはサンプルディレクトリ内の stan.in
ファイルにそれぞれ置いてあります。
ファイルの内容は以下のとおりです。
model = "Hubbard"
lattice = "square"
W = 4
L = 4
t = 1.0
t' = 0.5
U = 4.0
V = 1.0
Ncond = 16
eps = 12
calcmode = "uhfk"
exportall = 0
model
は対象となる模型を指定するキーワードです。現状では電子数を固定したHubbard模型Hubbard
のみに対応しています。lattice
は結晶構造を指定するキーワードです。 ここでは正方格子square
を選択しています。W
,L
は格子のサイズです。t
はホッピング、V
は隣接サイトクーロン相互作用のパラメータです。calcmode
は出力形式を指定します。"uhfk"
または"rpa"
を指定した場合はWannier90(-like)形式の入力ファイルを生成します。"uhfr"
を指定した場合はH-waveの実空間UHFプログラムUHFr向けの入力ファイルを出力します。 デフォルトはcalcmode = "uhfk"
です。exportall = 0
はWannier90(-like)形式の出力をコンパクトにするオプションです。
入力ファイルの詳細については、UHFr用入力ファイル , UHFk用入力ファイル , RPA用入力ファイル のセクションを参照してください。
上記のファイルを入力ファイルとして、 hwave_dry.out
を以下のコマンドで実行します。
$ cd path_to_Hwave/docs/tutorial/Hubbard/RPA
$ ln -s path_to_Stdface/build/src/hwave_dry.out .
$ ./hwave_dry.out stan.in
実行終了後、実行ディレクトリに幾何情報ファイル geom.dat
、相互作用定義ファイル transfer.dat
, coulombinter.dat
が生成されます。
StdFaceライブラリで指定できる格子や相互作用の種類については、 HΦもしくはmVMCのマニュアルにあるスタンダードモードの入力ファイル形式を参照してください。