3.1. Quick guide to Standard mode¶
3.1.1. Heisenberg model¶
This tutorial should be performed in
samples/old/CG/Heisenberg/
The input file is provided as follows:
samples/old/CG/Heisenberg/stan.in
In this case, we treat the two-dimensional antiferromagnetic Heisenberg model that has a nearest neighbor spin coupling.
where we use the periodic boundary condition \(({\bf S}_{15}={\bf S}_{51}= {\bf S}_{11})\).
The input file is as follows:
model = "Spin"
method = "CG"
lattice = "square"
W = 4
L = 4
J = 1.0
2Sz = 0
In this tutorial, J and the number of sites are set to 1 (arbitrary unit) and 16, respectively.
Log output¶
Log messages are outputted to the standard output. Log files for the calculation procedure are created in the "output" directory which is automatically created. In this example, the following files are outputted.
CHECK_InterAll.dat Time_CG_EigenVector.dat zvo_Lanczos_Step.dat
CHECK_Memory.dat WarningOnTransfer.dat zvo_sz_TimeKeeper.dat
CHECK_Sdim.dat zvo_TimeKeeper.dat
The details of the outputted files are shown in CHECK_Chemi.dat etc. We execute
$ Path/HPhi -s stan.in
and obtain the following standard outputs (the compilation mode is MPI parallel/hybrid parallel)
,ammmmmmmmmmmmmmb,, Welcome to the
,@@` dm mb ===m
,@@` d@@@@@@@@@@@@@@@@b Pm, @@ @@ @@
d@ d@@@ @@@ @@@@@@ @@@@b ~@a @@ @@ @@@@@@@@
d@ @@@@ ^^^ @@@@ m m @@@ @, @@ @@ @@@ @@ @@@
@ @@@@_@@@_@@@@mm mm@@@ @| @@mmmmmmmmmm@@ @@ @@ @@
P@ 9@@@@@@@@@@@@@@@@@P @~ @@@@@@@@@@@@@@ @@ @@ @@
@@ ~~9@@@@@@PPP~ @P @@ @@ @@@ @@ @@@
~@@b @@@@@@@ ,@@~ @@ @@ @@@@@@@@
~@@@m,,@@@@@@@@@ ,m@~` @@ @@ @@
~~9@@@@@@@@@ ~
9@P~~~9@P Version 2.0.3
##### Parallelization Info. #####
OpenMP threads : 1
MPI PEs : 1
###### Standard Intarface Mode STARTS ######
Open Standard-Mode Inputfile stan.in
KEYWORD : model | VALUE : Spin
KEYWORD : method | VALUE : CG
KEYWORD : lattice | VALUE : square
KEYWORD : w | VALUE : 4
KEYWORD : l | VALUE : 4
KEYWORD : j | VALUE : 1.0
KEYWORD : 2sz | VALUE : 0
####### Parameter Summary #######
@ Lattice Size & Shape
a = 1.00000 ###### DEFAULT VALUE IS USED ######
Wlength = 1.00000 ###### DEFAULT VALUE IS USED ######
Llength = 1.00000 ###### DEFAULT VALUE IS USED ######
Wx = 1.00000 ###### DEFAULT VALUE IS USED ######
Wy = 0.00000 ###### DEFAULT VALUE IS USED ######
Lx = 0.00000 ###### DEFAULT VALUE IS USED ######
Ly = 1.00000 ###### DEFAULT VALUE IS USED ######
phase0 = 0.00000 ###### DEFAULT VALUE IS USED ######
phase1 = 0.00000 ###### DEFAULT VALUE IS USED ######
@ Super-Lattice setting
L = 4
W = 4
Height = 1 ###### DEFAULT VALUE IS USED ######
Number of Cell = 16
@ Hamiltonian
h = 0.00000 ###### DEFAULT VALUE IS USED ######
Gamma = 0.00000 ###### DEFAULT VALUE IS USED ######
2S = 1 ###### DEFAULT VALUE IS USED ######
D = 0.00000 ###### DEFAULT VALUE IS USED ######
J0x = 1.00000
J0y = 1.00000
J0z = 1.00000
J1x = 1.00000
J1y = 1.00000
J1z = 1.00000
@ Numerical conditions
LargeValue = 4.50000 ###### DEFAULT VALUE IS USED ######
###### Print Expert input files ######
locspn.def is written.
coulombinter.def is written.
hund.def is written.
exchange.def is written.
CDataFileHead = zvo ###### DEFAULT VALUE IS USED ######
Lanczos_max = 2000 ###### DEFAULT VALUE IS USED ######
initial_iv = -1 ###### DEFAULT VALUE IS USED ######
exct = 1 ###### DEFAULT VALUE IS USED ######
LanczosEps = 14 ###### DEFAULT VALUE IS USED ######
LanczosTarget = 2 ###### DEFAULT VALUE IS USED ######
NumAve = 5 ###### DEFAULT VALUE IS USED ######
ExpecInterval = 20 ###### DEFAULT VALUE IS USED ######
NOmega = 200 ###### DEFAULT VALUE IS USED ######
OmegaMax = 72.00000 ###### DEFAULT VALUE IS USED ######
OmegaMin = -72.00000 ###### DEFAULT VALUE IS USED ######
OmegaIm = 0.04000 ###### DEFAULT VALUE IS USED ######
2Sz = 0
modpara.def is written.
@ Spectrum
SpectrumQW = 0.00000 ###### DEFAULT VALUE IS USED ######
SpectrumQL = 0.00000 ###### DEFAULT VALUE IS USED ######
SpectrumQH = 0.00000 ###### DEFAULT VALUE IS USED ######
SpectrumType = szsz ###### DEFAULT VALUE IS USED ######
pair.def is written.
@ CalcMod
Restart = none ###### DEFAULT VALUE IS USED ######
InitialVecType = c ###### DEFAULT VALUE IS USED ######
EigenVecIO = none ###### DEFAULT VALUE IS USED ######
CalcSpec = none ###### DEFAULT VALUE IS USED ######
calcmod.def is written.
ioutputmode = 1 ###### DEFAULT VALUE IS USED ######
greenone.def is written.
greentwo.def is written.
namelist.def is written.
###### Input files are generated. ######
Read File 'namelist.def'.
Read File 'calcmod.def' for CalcMod.
Read File 'modpara.def' for ModPara.
Read File 'locspn.def' for LocSpin.
Read File 'coulombinter.def' for CoulombInter.
Read File 'hund.def' for Hund.
Read File 'exchange.def' for Exchange.
Read File 'greenone.def' for OneBodyG.
Read File 'greentwo.def' for TwoBodyG.
Read File 'pair.def' for PairExcitation.
###### Definition files are correct. ######
Read File 'locspn.def'.
Read File 'coulombinter.def'.
Read File 'hund.def'.
Read File 'exchange.def'.
Read File 'greenone.def'.
Read File 'greentwo.def'.
Read File 'pair.def'.
###### Indices and Parameters of Definition files(*.def) are complete. ######
MAX DIMENSION idim_max=12870
APPROXIMATE REQUIRED MEMORY max_mem=0.001647 GB
###### MPI site separation summary ######
INTRA process site
Site Bit
0 2
1 2
2 2
3 2
4 2
5 2
6 2
7 2
8 2
9 2
10 2
11 2
12 2
13 2
14 2
15 2
INTER process site
Site Bit
Process element info
Process Dimension Nup Ndown Nelec Total2Sz State
0 12870 8 8 8 0
Total dimension : 12870
###### LARGE ALLOCATE FINISH ! ######
Start: Calculate HilbertNum for fixed Sz.
End : Calculate HilbertNum for fixed Sz.
Start: Calculate diagaonal components of Hamiltonian.
End : Calculate diagaonal components of Hamiltonian.
###### Eigenvalue with LOBPCG #######
initial_mode=1 (random): iv = -1 i_max=12870 k_exct =1
Step Residual-2-norm Threshold Energy
1 2.44343e+00 1.00000e-07 -5.27456e-01
2 2.76604e+00 1.87217e-07 -1.87217e+00
3 2.61923e+00 4.19088e-07 -4.19088e+00
4 2.57106e+00 5.97098e-07 -5.97098e+00
( snip )
40 7.39431e-06 1.12285e-06 -1.12285e+01
41 4.15948e-06 1.12285e-06 -1.12285e+01
42 2.04898e-06 1.12285e-06 -1.12285e+01
43 9.92048e-07 1.12285e-06 -1.12285e+01
###### End : Calculate Lanczos EigenValue. ######
###### End : Calculate Lanczos EigenVec. ######
i= 0 Energy=-11.228483 N= 16.000000 Sz= 0.000000 Doublon= 0.000000
In the beginning of this run,
files describing the details of the considered Hamiltonian
(locspin.def
, trans.def
, exchange.def
, coulombintra.def
, hund.def
, namelist.def
, calcmod.def
, modpara.def
) and files specifying the elements of the correlation functions that will be calculated(greenone.def
, greentwo.def
) are generated.
Outputs for calculation results¶
Locally Optimal Block Conjugate Gradient (LOBCG) method¶
When a calculation by the LOBCG method is finished normally, eigenenergies, one-body Green’s functions, and two-body Green’s functions are calculated and outputted to the files, respectively. In this sample, the following files are outputted.
zvo_energy.dat
zvo_cisajscktalt_eigen_xx.dat zvo_phys_Nup4_Ndown4.dat
where xx is the number of the eigenstate counting from 0.
Lanczos method¶
When a calculation by the Lanczos method is completed normally, eigenenergies, one-body Green’s functions, and two-body Green’s functions are calculated and outputted to the files, respectively. In this sample, the following files are outputted.
zvo_energy.dat zvo_cisajs.dat
zvo_cisajscktalt.dat
For Standard mode, all pairs of \(\langle n_{i\sigma} \rangle\) are calculated as one-body Green’s functions and those of \(\langle n_{i\sigma} n_{j\sigma'} \rangle\) are calculated as two-body Green’s functions on the basis of the definition files, greenone.def
and greentwo.def
. When the accuracy of the Lanczos vectors is sufficient, one-body and two-body Green’s functions are calculated by the eigenvectors obtained by the Lanczos method. When the accuracy of the Lanczos vectors is not sufficient, a message "Accuracy of Lanczos vector is not enough" is outputted to the standard output and the one-body and two-body Green’s functions are calculated by the eigenvectors obtained by CG method. The details of output files are shown in energy.dat , cisajs.dat , cisajscktalt.dat.
TPQ method¶
When method="TPQ"
is selected in an input file, a calculation by the TPQ method is started. After the calculation is completed normally, the following files are outputted, where %% is the number of runs and && is the number of steps for the TPQ method.
Norm_rand%%.dat SS_rand%%.dat
zvo_cisajs_set%%step&&.dat
zvo_cisajscktalt_set%%step&&.dat
In Norm_rand%%.dat, basic information such as the inverse of temperature and the norm of the wave function before normalization is outputted with a TPQ step for each number of runs. In SS_rand%%.dat, physical quantities such as the inverse of temperature, energy, and expected value of the square of the Hamiltonian are outputted with a TPQ step for each number of runs. In zvo_cisajs_set%%step&&.dat and zvo_cisajscktalt_set%%step&&.dat, one-body and two-body Green’s functions are outputted for each number of a TPQ steps and runs. The details of these files are shown in Norm_rand.dat, SS_rand.dat, cisajs.dat, cisajscktalt.dat.
Full diagonalization method¶
When method = "fulldiag"
is selected in an input file, a calculation by the full diagonalization method is started. After the calculation is completed normally, the following files are outputted, where xx is the number of the eigenstate counting from 0.
Eigenvalue.dat zvo_cisajs_eigen_xx.dat
zvo_cisajscktalt_eigen_xx.dat zvo_phys_Nup4_Ndown4.dat
In Eigenvalue.dat, an eigennumber and an eigenvalue are outputted for each line.In zvo_cisajs_eigen_xx.dat and zvo_cisajscktalt_eigen_xx.dat,one-body Green’s functions and two-body Green’s functions are outputted for each eigennumber. In zvo_phys_Nup4_Ndown4.dat, physical quantities, such as the expected values of energy and the doublon are outputted. The details of these files are shown in Eigenvalue.dat - cisajscktalt.dat.
3.1.2. Other tutorials¶
There are many tutorials in samples
. For more details, please see README.md
at each directory or `the manual for HPhi-tutorial<https://issp-center-dev.github.io/HPhi/manual/develop/tutorial/en/html/index.html>`_ .