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のマニュアルにあるスタンダードモードの入力ファイル形式を参照してください。