Quickstart¶
This guide walks you through building StdFace and running your first input file generation.
Prerequisites¶
CMake 2.8.12 or later
C99-compatible compiler (GCC, Clang, etc.)
Standard math library (libm)
Building StdFace¶
StdFace uses CMake to build variant executables for different target solvers. You must enable at least one solver mode during configuration.
Clone or download the StdFace source code.
Create a build directory and configure:
mkdir build && cd build cmake .. -DHPHI=ON
This builds
hphi_dry.outfor the HPhi solver.Compile:
make
The executable is created in the build directory.
Available Build Options¶
Select which solver(s) to build by enabling CMake options:
Option |
Executable |
Target Solver |
|---|---|---|
|
|
UHF (Unrestricted Hartree-Fock) |
|
|
mVMC (Variational Monte Carlo) |
|
|
HPhi (Exact Diagonalization) |
|
|
H-wave |
You can enable multiple solvers in one build:
cmake .. -DHPHI=ON -DMVMC=ON -DUHF=ON -DHWAVE=ON
make
Running StdFace¶
Command Pattern¶
./<solver>_dry.out <input_file>
For example, with HPhi:
./hphi_dry.out stan.in
To display version information:
./hphi_dry.out -v
Input File¶
StdFace reads a single input file containing model and lattice parameters in
key = value format. The file name is arbitrary (commonly stan.in).
Sample input file (from samples/hubbard/default_model/stan.in):
model = "Hubbard"
lattice = square
W=2
L=2
method = "CG"
2Sz = 0
nelec = 4
exct = 1
t=1
U=1
Keys used in the sample:
model: Physical model typelattice: Lattice geometryW,L: Lattice dimensionsmethod: Solver method (solver-specific)2Sz: Total spin (2 * Sz)nelec: Number of electronsexct: Number of excited states (solver-specific)t: Hopping parameterU: On-site Coulomb interaction
Output Files¶
StdFace generates input files for the target solver in the current working directory. The specific output file names and formats depend on the solver mode and are unspecified in the current code documentation. Consult the generated files after running StdFace.
Your First Run¶
Create an input file named
stan.inwith the following content (fromsamples/hubbard/default_model/stan.in):model = "Hubbard" lattice = square W=2 L=2 method = "CG" 2Sz = 0 nelec = 4 exct = 1 t=1 U=1
Run StdFace:
./hphi_dry.out stan.inCheck the generated output files in the current directory.
Troubleshooting¶
Build Errors¶
No solver enabled
If you run cmake .. without enabling any solver option, no executable will
be built. Make sure to specify at least one solver:
cmake .. -DHPHI=ON
CMake version too old
StdFace requires CMake 2.8.12 or later. Check your version:
cmake --version
Runtime Errors¶
ERROR ! <parameter> is NOT specified !
A parameter expected by StdFace is missing from your input file. Add the parameter indicated in the error message to your input file.
Check ! <parameter> is SPECIFIED but will NOT be USED.
A parameter was specified that does not apply to the current model/lattice combination. Remove or comment out the unused parameter.
File not found
Ensure the input file path is correct and the file exists:
ls -la stan.in
./hphi_dry.out stan.in
Next Steps¶
See Examples for complete working examples
See Input / Output Reference for detailed parameter reference