StdFace_vals.h¶
Purpose¶
Defines the central configuration structure StdIntList that holds all model
and lattice parameters. This structure is the primary data container passed
throughout the StdFace processing pipeline.
Source reference: src/StdFace_vals.h
Public Types¶
struct StdIntList¶
Main configuration structure for lattice models and interactions. Contains approximately 125 fields organized into categories below.
Initialization Fields
int NaN_iSentinel value for unspecified integer parameters. Set in
StdFace_ResetVals().double piMathematical constant pi (3.14159…).
Lattice Parameters
char lattice[256]Name of the lattice type (e.g., “chain”, “square”, “honeycomb”).
double aLattice constant.
double length[3]Anisotropic lattice constants (wlength, llength, hlength).
int WNumber of sites along the 1st axis.
int LNumber of sites along the 2nd axis.
int HeightNumber of sites along the 3rd axis.
double direct[3][3]Unit direct lattice vectors. Set in
StdFace_InitSite().int box[3][3]Super-cell shape. Input parameters a0W, a0L, a0H, etc.
int rbox[3][3]Inverse of box matrix. Set in
StdFace_InitSite().int NCellNumber of unit cells in the super-cell. Set in
StdFace_InitSite().int **CellCell positions in fractional coordinates. Allocated in
StdFace_InitSite().int NsiteUCNumber of sites in the unit cell.
double **tauCell-internal site positions in fractional coordinates.
Model Parameters
char model[256]Name of the model (e.g., “hubbard”, “spin”, “kondo”).
double muChemical potential.
double complex tNearest-neighbor hopping.
double complex tp2nd-nearest hopping.
double complex t0,t0p,t0ppAnisotropic hopping (direction 0).
double complex t1,t1p,t1ppAnisotropic hopping (direction 1).
double complex t2,t2p,t2ppAnisotropic hopping (direction 2).
double complex tpp3rd-nearest hopping.
double UOn-site Coulomb potential.
double V,Vp,VppOff-site Coulomb potential (1st, 2nd, 3rd neighbor).
double V0,V0p,V0ppAnisotropic Coulomb potential (direction 0).
double V1,V1p,V1ppAnisotropic Coulomb potential (direction 1).
double V2,V2p,V2ppAnisotropic Coulomb potential (direction 2).
Exchange Parameters
double JAll,JpAll,JppAllIsotropic diagonal spin coupling (1st, 2nd, 3rd neighbor).
double J0All,J0pAll,J0ppAllAnisotropic diagonal spin coupling (direction 0).
double J1All,J1pAll,J1ppAllAnisotropic diagonal spin coupling (direction 1).
double J2All,J2pAll,J2ppAllAnisotropic diagonal spin coupling (direction 2).
double J[3][3],Jp[3][3],Jpp[3][3]Full 3x3 exchange coupling matrices.
double J0[3][3],J0p[3][3],J0pp[3][3]Anisotropic 3x3 exchange matrices (direction 0).
double J1[3][3],J1p[3][3],J1pp[3][3]Anisotropic 3x3 exchange matrices (direction 1).
double J2[3][3],J2p[3][3],J2pp[3][3]Anisotropic 3x3 exchange matrices (direction 2).
double D[3][3]Single-ion anisotropy. Only D[2][2] is used.
double hLongitudinal magnetic field.
double GammaTransverse magnetic field (x-direction).
double Gamma_yTransverse magnetic field (y-direction).
Boundary Phase
double phase[3]Boundary phase in degrees (phase0, phase1, phase2).
double complex ExpPhase[3]Computed as exp(i * pi * phase / 180).
int AntiPeriod[3]Set to 1 if corresponding phase = 180.
Transfer and Interaction Arrays
int nsiteTotal number of sites.
int *locspinflagLocSpin flags per site. Array of size nsite.
int ntransNumber of transfer (one-body) terms.
int **transindxSite/spin indices for transfer terms. Shape [ntrans][4].
double complex *transCoefficients for transfer terms. Array of size ntrans.
int nintrNumber of interaction (two-body) terms.
int **intrindxSite/spin indices for interaction terms. Shape [nintr][8].
double complex *intrCoefficients for interaction terms. Array of size nintr.
Specialized Interaction Arrays
int NCintra,int **CintraIndx,double *CintraIntra-site Coulomb terms.
int NCinter,int **CinterIndx,double *CinterInter-site Coulomb terms.
int NHund,int **HundIndx,double *HundHund coupling terms.
int NEx,int **ExIndx,double *ExExchange terms.
int NPairLift,int **PLIndx,double *PairLiftPair-lift terms.
int NPairHopp,int **PHIndx,double *PairHoppPair-hopping terms.
Calculation Conditions
int ncondNumber of electrons.
int lGCGrand canonical ensemble switch (1 = enabled).
int S2Total spin 2S of local spins.
char outputmode[256]Output verbosity mode.
char CDataFileHead[256]Header for output files.
int Sz2Total Sz.
Wannier90 Mode Parameters
double cutoff_t,cutoff_u,cutoff_jCutoff values for hopping, Coulomb, and Hund terms.
double cutoff_length_t,cutoff_length_U,cutoff_length_JCutoff lengths for R vectors.
double lambda,lambda_U,lambda_JTuning parameters for U and J.
char double_counting_mode[256]Mode for double counting correction.
double alphaChemical potential correction parameter.
Mode-Specific Fields
Additional fields are defined conditionally based on build mode:
HPhi mode (
_HPhi): Lanczos parameters, spectrum calculation settings, time evolution parametersmVMC mode (
_mVMC): Variational parameters, sublattice settings, orbital indicesUHF mode (
_UHF): Mean-field iteration parameters, sublattice settingsHWAVE mode (
_HWAVE): Similar to UHF plus Wannier90 export settings
Public Macros/Constants¶
None.
Public Functions¶
None defined in this header. Functions that operate on StdIntList are declared
in StdFace_ModelUtil.h.
Ownership and Lifetime Rules¶
The
StdIntListstructure is allocated inStdFace_main()viamalloc().Fields are initialized by
StdFace_ResetVals()(defined inStdFace_main.c).Internal arrays (
trans,intr,Cell, etc.) are allocated byStdFace_MallocInteractions()and lattice constructors.All allocated memory is freed at the end of
StdFace_main().
Error Handling¶
No error handling in this header (structure definition only).
Thread / MPI Safety¶
Unspecified in the current code.
Source Reference¶
Header:
src/StdFace_vals.hInitialization:
StdFace_ResetVals()insrc/StdFace_main.c