HPhi++
3.1.0
|
Various utility for constructing models. More...
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <complex>
#include "StdFace_vals.hpp"
#include <cstring>
#include <mpi.h>
#include <iostream>
Go to the source code of this file.
Functions | |
void | StdFace_exit (int errorcode) |
MPI Abortation wrapper. More... | |
void | StdFace_trans (struct StdIntList *StdI, std::complex< double > trans0, int isite, int ispin, int jsite, int jspin) |
Add transfer to the list set StdIntList::trans and StdIntList::transindx and increment StdIntList::ntrans. More... | |
void | StdFace_Hopping (struct StdIntList *StdI, std::complex< double > trans0, int isite, int jsite, double *dR) |
Add Hopping for the both spin. More... | |
void | StdFace_HubbardLocal (struct StdIntList *StdI, double mu0, double h0, double Gamma0, double U0, int isite) |
Add intra-Coulomb, magnetic field, chemical potential for the itenerant electron. More... | |
void | StdFace_MagField (struct StdIntList *StdI, int S2, double h, double Gamma, int isite) |
Add longitudinal and transvars magnetic field to the list. More... | |
void | StdFace_intr (struct StdIntList *StdI, std::complex< double > intr0, int site1, int spin1, int site2, int spin2, int site3, int spin3, int site4, int spin4) |
Add interaction (InterAll) to the list Set StdIntList::intr and StdIntList::intrindx and increase the number of that (StdIntList::nintr). More... | |
void | StdFace_GeneralJ (struct StdIntList *StdI, double J[3][3], int Si2, int Sj2, int isite, int jsite) |
Treat J as a 3*3 matrix [(6S + 1)*(6S' + 1) interactions]. More... | |
void | StdFace_Coulomb (struct StdIntList *StdI, double V, int isite, int jsite) |
Add onsite/offsite Coulomb term to the list StdIntList::Cinter and StdIntList::CinterIndx, and increase the number of them (StdIntList::NCinter). More... | |
void | StdFace_PrintVal_d (const char *valname, double *val, double val0) |
Print a valiable (real) read from the input file if it is not specified in the input file (=NaN), set the default value. More... | |
void | StdFace_PrintVal_dd (char *valname, double *val, double val0, double val1) |
Print a valiable (real) read from the input file if it is not specified in the input file (=NaN), set the default value. More... | |
void | StdFace_PrintVal_c (const char *valname, std::complex< double > *val, std::complex< double > val0) |
Print a valiable (complex) read from the input file if it is not specified in the input file (=NaN), set the default value. More... | |
void | StdFace_PrintVal_i (const char *valname, int *val, int val0) |
Print a valiable (integer) read from the input file if it is not specified in the input file (=2147483647, the upper limt of Int) set the default value. More... | |
void | StdFace_NotUsed_d (const char *valname, double val) |
Stop HPhi if a variable (real) not used is specified in the input file (!=NaN). More... | |
void | StdFace_NotUsed_c (const char *valname, std::complex< double > val) |
Stop HPhi if a variable (complex) not used is specified in the input file (!=NaN). More... | |
void | StdFace_NotUsed_J (const char *valname, double JAll, double J[3][3]) |
Stop HPhi if variables (real) not used is specified in the input file (!=NaN). More... | |
void | StdFace_NotUsed_i (const char *valname, int val) |
Stop HPhi if a variable (integer) not used is specified in the input file (!=2147483647, the upper limt of Int). More... | |
void | StdFace_RequiredVal_i (const char *valname, int val) |
Stop HPhi if a variable (integer) which must be specified is absent in the input file (=2147483647, the upper limt of Int). More... | |
static void | StdFace_FoldSite (struct StdIntList *StdI, int iCellV[3], int nBox[3], int iCellV_fold[3]) |
Move a site into the original supercell if it is outside the original supercell. More... | |
void | StdFace_InitSite (struct StdIntList *StdI, FILE *fp, int dim) |
Initialize the super-cell where simulation is performed. More... | |
void | StdFace_FindSite (struct StdIntList *StdI, int iW, int iL, int iH, int diW, int diL, int diH, int isiteUC, int jsiteUC, int *isite, int *jsite, std::complex< double > *Cphase, double *dR) |
Find the index of transfer and interaction. More... | |
void | StdFace_SetLabel (struct StdIntList *StdI, FILE *fp, int iW, int iL, int diW, int diL, int isiteUC, int jsiteUC, int *isite, int *jsite, int connect, std::complex< double > *Cphase, double *dR) |
Set Label in the gnuplot display (Only used in 2D system) More... | |
void | StdFace_PrintXSF (struct StdIntList *StdI) |
Print lattice.xsf (XCrysDen format) More... | |
void | StdFace_InputSpinNN (double J[3][3], double JAll, double J0[3][3], double J0All, const char *J0name) |
Input nearest-neighbor spin-spin interaction. More... | |
void | StdFace_InputSpin (double Jp[3][3], double JpAll, const char *Jpname) |
Input spin-spin interaction other than nearest-neighbor. More... | |
void | StdFace_InputCoulombV (double V, double *V0, const char *V0name) |
Input off-site Coulomb interaction from the input file, if it is not specified, use the default value (0 or the isotropic Coulomb interaction StdIntList::V). More... | |
void | StdFace_InputHopp (std::complex< double > t, std::complex< double > *t0, const char *t0name) |
Input hopping integral from the input file, if it is not specified, use the default value(0 or the isotropic hopping StdIntList::V). More... | |
void | StdFace_PrintGeometry (struct StdIntList *StdI) |
Print geometry of sites for the pos-process of correlation function. More... | |
void | StdFace_MallocInteractions (struct StdIntList *StdI, int ntransMax, int nintrMax) |
Malloc Arrays for interactions. More... | |
Various utility for constructing models.
Definition in file StdFace_ModelUtil.cpp.
void StdFace_Coulomb | ( | struct StdIntList * | StdI, |
double | V, | ||
int | isite, | ||
int | jsite | ||
) |
Add onsite/offsite Coulomb term to the list StdIntList::Cinter and StdIntList::CinterIndx, and increase the number of them (StdIntList::NCinter).
[in,out] | StdI | |
[in] | V | Coulomb integral U, V, etc. |
[in] | isite | i of n_i |
[in] | jsite | j of n_j |
Definition at line 400 of file StdFace_ModelUtil.cpp.
Referenced by StdFace_Chain(), StdFace_FCOrtho(), StdFace_Honeycomb(), StdFace_Kagome(), StdFace_Ladder(), StdFace_Orthorhombic(), StdFace_Pyrochlore(), StdFace_Tetragonal(), StdFace_Triangular(), and StdFace_Wannier90().
void StdFace_exit | ( | int | errorcode | ) |
MPI Abortation wrapper.
[in] | errorcode |
Definition at line 36 of file StdFace_ModelUtil.cpp.
Referenced by CheckOutputMode(), PrintCalcMod(), PrintExcitation(), StdFace_Chain_Boost(), StdFace_Honeycomb_Boost(), StdFace_InitSite(), StdFace_InputCoulombV(), StdFace_InputHopp(), StdFace_InputSpin(), StdFace_InputSpinNN(), StdFace_Kagome_Boost(), StdFace_Ladder_Boost(), StdFace_main(), StdFace_MallocInteractions(), StdFace_NotUsed_c(), StdFace_NotUsed_d(), StdFace_NotUsed_i(), StdFace_RequiredVal_i(), StdFace_Wannier90(), StoreWithCheckDup_c(), StoreWithCheckDup_d(), StoreWithCheckDup_i(), StoreWithCheckDup_s(), StoreWithCheckDup_sl(), UnsupportedSystem(), and VectorPotential().
void StdFace_FindSite | ( | struct StdIntList * | StdI, |
int | iW, | ||
int | iL, | ||
int | iH, | ||
int | diW, | ||
int | diL, | ||
int | diH, | ||
int | isiteUC, | ||
int | jsiteUC, | ||
int * | isite, | ||
int * | jsite, | ||
std::complex< double > * | Cphase, | ||
double * | dR | ||
) |
Find the index of transfer and interaction.
[in,out] | StdI | |
[in] | iW | position of initial site |
[in] | iL | position of initial site |
[in] | iH | position of initial site |
[in] | diW | Translation from the initial site |
[in] | diL | Translation from the initial site |
[in] | diH | Translation from the initial site |
[in] | isiteUC | Intrinsic site index of initial site |
[in] | jsiteUC | Intrinsic site index of final site |
[out] | isite | initial site |
[out] | jsite | final site |
[out] | Cphase | Boundary phase, if it across boundary |
[out] | dR | R_i - R_j in the fractional coordinate |
Definition at line 827 of file StdFace_ModelUtil.cpp.
References StdFace_FoldSite().
Referenced by PrintUHFinitial(), StdFace_FCOrtho(), StdFace_MallocInteractions(), StdFace_Orthorhombic(), StdFace_Pyrochlore(), StdFace_SetLabel(), and StdFace_Wannier90().
|
static |
Move a site into the original supercell if it is outside the original supercell.
(1) Transform to fractional coordinate (times NCell).
(2) Search which supercell contains this cell.
(3) Fractional coordinate (times NCell) in the original supercell
[in,out] | StdI | |
[in] | iCellV | The fractional coordinate of a site |
[out] | nBox | the index of supercell |
[out] | iCellV_fold | The fractional coordinate of a site which is moved into the original cell |
Definition at line 599 of file StdFace_ModelUtil.cpp.
Referenced by StdFace_FindSite(), StdFace_InitSite(), and StdFace_MallocInteractions().
void StdFace_GeneralJ | ( | struct StdIntList * | StdI, |
double | J[3][3], | ||
int | Si2, | ||
int | Sj2, | ||
int | isite, | ||
int | jsite | ||
) |
Treat J as a 3*3 matrix [(6S + 1)*(6S' + 1) interactions].
If both spins are S=1/2 ...
Set StdIntList::Hund, StdIntList::HundIndx, StdIntList::Cinter, StdIntList::CinterIndx for \(S_{iz} S_{jz}\) term, and increase the number of them (StdIntList::NHund, StdIntList::NCinter). And ...
If there is no off-diagonal term, set StdIntList::Ex, StdIntList::ExIndx, StdIntList::PairLift, StdIntList::PLIndx and increase the number of them (StdIntList::NEx, StdIntList::NPairLift).
If S != 1/2 or there is an off-diagonal interaction, use the InterAll format.
(1)
\[ J_z S_{i z} * S_{j z} = J_z \sum_{\sigma, \sigma' = -S}^S \sigma \sigma' c_{i\sigma}^\dagger c_{i\sigma} c_{j\sigma'}^\dagger c_{j\sigma'} \]
(2)
\[ I S_i^+ S_j^- + I^* S_j^+ S_i^- = \sum_{\sigma, \sigma' = -S}^{S-1} \sqrt{S_i(S_i+1) - \sigma(\sigma+1)}\sqrt{S_j(S_j+1) - \sigma'(\sigma'+1)} (I c_{i\sigma+1}^\dagger c_{i\sigma} c_{j\sigma'}^\dagger c_{j\sigma'+1} + I^* c_{i\sigma}^\dagger c_{i\sigma+1} c_{j\sigma'+1}^\dagger c_{j\sigma'}) \\ I \equiv \frac{J_x + J_y + i(J_{xy} - J_{yx})}{4} \]
(3)
\[ I S_i^+ S_j^+ + I^* S_j^- S_i^- = \sum_{\sigma, \sigma' = -S}^{S-1} \sqrt{S_i(S_i+1) - \sigma(\sigma+1)}\sqrt{S_j(S_j+1) - \sigma'(\sigma'+1)} (I c_{i\sigma+1}^\dagger c_{i\sigma} c_{j\sigma'+1}^\dagger c_{j\sigma'} + I^* c_{i\sigma}^\dagger c_{i\sigma+1} c_{j\sigma'}^\dagger c_{j\sigma'+1}) \\ I \equiv \frac{J_x - J_y - i(J_{xy} + J_{yx})}{4} \]
(4)
\[ I S_i^+ S_{j z} + I^* S_{j z} S_i^-= \sum_{\sigma=-S}^{S-1} \sum_{\sigma' = -S}^{S} \sqrt{S_i(S_i+1) - \sigma(\sigma+1)} (I c_{i\sigma+1}^\dagger c_{i\sigma} c_{j\sigma'}^\dagger c_{j\sigma'} + I^* c_{j\sigma'}^\dagger c_{j\sigma'} c_{i\sigma}^\dagger c_{i\sigma+1}) \\ I \equiv \frac{J_{xz} - i J_{yz}}{2} \]
(5)
\[ I S_{i z} S_j^+ + I^* S_j^- S_{i z} = \sum_{\sigma=-S}^{S} \sum_{\sigma' = -S}^{S-1} \sqrt{S_j(S_j+1) - \sigma'(\sigma'+1)} (I c_{i\sigma}^\dagger c_{i\sigma} c_{j\sigma'+1}^\dagger c_{j\sigma'} + I^* c_{j\sigma'}^\dagger c_{j\sigma'+1} c_{i\sigma}^\dagger c_{i\sigma}) \\ I \equiv \frac{J_{zx} - i J_{zy}}{2} \]
[in,out] | StdI | |
[in] | J | The Spin interaction \(J_x, J_{xy}\), ... |
[in] | Si2 | Spin moment in \(i\) site |
[in] | Sj2 | Spin moment in \(j\) site |
[in] | isite | \(i\) of \(S_i\) |
[in] | jsite | \(j\) of \(S_j\) |
Definition at line 227 of file StdFace_ModelUtil.cpp.
References StdFace_intr().
Referenced by StdFace_Chain(), StdFace_FCOrtho(), StdFace_Honeycomb(), StdFace_Kagome(), StdFace_Ladder(), StdFace_Orthorhombic(), StdFace_Pyrochlore(), StdFace_Tetragonal(), StdFace_Triangular(), and StdFace_Wannier90().
void StdFace_Hopping | ( | struct StdIntList * | StdI, |
std::complex< double > | trans0, | ||
int | isite, | ||
int | jsite, | ||
double * | dR | ||
) |
Add Hopping for the both spin.
Both \(c_{i \sigma}^\dagger c_{j \sigma}\) and \(c_{j \sigma}^\dagger c_{i \sigma}\) for every spin channel ( \(\sigma\)) is specified
[in,out] | StdI | |
[in] | trans0 | Hopping integral \(t\) |
[in] | isite | \(i\) for \(c_{i \sigma}^\dagger\) |
[in] | jsite | \(j\) for \(c_{j \sigma}\) |
[in] | dR | R_i - R_j |
Definition at line 76 of file StdFace_ModelUtil.cpp.
References StdFace_trans().
Referenced by StdFace_Chain(), StdFace_FCOrtho(), StdFace_Honeycomb(), StdFace_Kagome(), StdFace_Ladder(), StdFace_Orthorhombic(), StdFace_Pyrochlore(), StdFace_Tetragonal(), StdFace_Triangular(), and StdFace_Wannier90().
void StdFace_HubbardLocal | ( | struct StdIntList * | StdI, |
double | mu0, | ||
double | h0, | ||
double | Gamma0, | ||
double | U0, | ||
int | isite | ||
) |
Add intra-Coulomb, magnetic field, chemical potential for the itenerant electron.
Set StdIntList::Cintra and StdIntList::CintraIndx with the input argument and increase the number of them (StdIntList::NCintra).
[in,out] | StdI | |
[in] | mu0 | Chemical potential |
[in] | h0 | Longitudinal magnetic feild |
[in] | Gamma0 | Transvers magnetic feild |
[in] | U0 | Intra-site Coulomb potential |
[in] | isite | i for \(c_{i \sigma}^\dagger\) |
Definition at line 129 of file StdFace_ModelUtil.cpp.
References StdFace_trans().
Referenced by StdFace_Chain(), StdFace_FCOrtho(), StdFace_Honeycomb(), StdFace_Kagome(), StdFace_Ladder(), StdFace_Orthorhombic(), StdFace_Pyrochlore(), StdFace_Tetragonal(), StdFace_Triangular(), and StdFace_Wannier90().
void StdFace_InitSite | ( | struct StdIntList * | StdI, |
FILE * | fp, | ||
int | dim | ||
) |
Initialize the super-cell where simulation is performed.
(1) Check Input parameters about the shape of super-cell
(2) Define the phase factor at each boundary. Set anti-period flag (StdIntList::AntiPeriod).
(3) Malloc StdIntList::tau, intrinsic structure of unit-cell
(4) Calculate reciprocal lattice vectors (times StdIntList::NCell, the number of unit-cells) for folding sites. store in StdIntList::rbox.
(5) Find Cells in the super-cell (5-1) Find the lower- and the upper bound for surrowndinf the super-cell
(5-2) Find cells in the super-cell (StdIntList::Cell, the fractional coordinate)
(6) For 2D system, print header of lattice.gp
[in,out] | StdI | |
[in] | fp | File pointer to lattice.gp |
[in] | dim | dimension of system, if = 2, print lattice.gp |
Definition at line 636 of file StdFace_ModelUtil.cpp.
References StdFace_exit(), StdFace_FoldSite(), and StdFace_PrintVal_i().
Referenced by StdFace_Chain(), StdFace_FCOrtho(), StdFace_Honeycomb(), StdFace_Kagome(), StdFace_Ladder(), StdFace_Orthorhombic(), StdFace_Pyrochlore(), StdFace_Tetragonal(), StdFace_Triangular(), and StdFace_Wannier90().
void StdFace_InputCoulombV | ( | double | V, |
double * | V0, | ||
const char * | V0name | ||
) |
Input off-site Coulomb interaction from the input file, if it is not specified, use the default value (0 or the isotropic Coulomb interaction StdIntList::V).
[in] | V | |
[in] | V0 | |
[in] | V0name | E.g. V1 |
Definition at line 1115 of file StdFace_ModelUtil.cpp.
References StdFace_exit().
Referenced by StdFace_Chain(), StdFace_FCOrtho(), StdFace_Honeycomb(), StdFace_Kagome(), StdFace_Ladder(), StdFace_Orthorhombic(), StdFace_Pyrochlore(), StdFace_Tetragonal(), and StdFace_Triangular().
void StdFace_InputHopp | ( | std::complex< double > | t, |
std::complex< double > * | t0, | ||
const char * | t0name | ||
) |
Input hopping integral from the input file, if it is not specified, use the default value(0 or the isotropic hopping StdIntList::V).
[in] | t | |
[in] | t0 | |
[in] | t0name | E.g. t1 |
Definition at line 1140 of file StdFace_ModelUtil.cpp.
References StdFace_exit().
Referenced by StdFace_Chain(), StdFace_FCOrtho(), StdFace_Honeycomb(), StdFace_Kagome(), StdFace_Ladder(), StdFace_Orthorhombic(), StdFace_Pyrochlore(), StdFace_Tetragonal(), and StdFace_Triangular().
void StdFace_InputSpin | ( | double | Jp[3][3], |
double | JpAll, | ||
const char * | Jpname | ||
) |
Input spin-spin interaction other than nearest-neighbor.
[in] | Jp | Fully anisotropic spin interaction |
[in] | JpAll | The isotropic interaction |
Jpname | The name of this spin interaction(e.g.J') |
Definition at line 1067 of file StdFace_ModelUtil.cpp.
References StdFace_exit().
Referenced by StdFace_Chain(), StdFace_FCOrtho(), StdFace_Honeycomb(), StdFace_Kagome(), StdFace_Ladder(), StdFace_Orthorhombic(), StdFace_Pyrochlore(), StdFace_Tetragonal(), and StdFace_Triangular().
void StdFace_InputSpinNN | ( | double | J[3][3], |
double | JAll, | ||
double | J0[3][3], | ||
double | J0All, | ||
const char * | J0name | ||
) |
Input nearest-neighbor spin-spin interaction.
[in] | J | The anisotropic spin interaction |
[in] | JAll | The isotropic interaction |
[in] | J0 | The anisotropic spin interaction |
[in] | J0All | The isotropic interaction |
[in] | J0name | The name of this spin interaction (e.g. J1) |
Definition at line 979 of file StdFace_ModelUtil.cpp.
References StdFace_exit().
Referenced by StdFace_Chain(), StdFace_FCOrtho(), StdFace_Honeycomb(), StdFace_Kagome(), StdFace_Orthorhombic(), StdFace_Pyrochlore(), StdFace_Tetragonal(), and StdFace_Triangular().
void StdFace_intr | ( | struct StdIntList * | StdI, |
std::complex< double > | intr0, | ||
int | site1, | ||
int | spin1, | ||
int | site2, | ||
int | spin2, | ||
int | site3, | ||
int | spin3, | ||
int | site4, | ||
int | spin4 | ||
) |
Add interaction (InterAll) to the list Set StdIntList::intr and StdIntList::intrindx and increase the number of that (StdIntList::nintr).
[in,out] | StdI | |
[in] | intr0 | Interaction \(U, V, J\), etc. |
[in] | site1 | \(i_1\) for \(c_{i_1 \sigma_1}^\dagger\) |
[in] | spin1 | \(sigma1_1\) for \(c_{i_1 \sigma_1}^\dagger\) |
[in] | site2 | \(i_2\) for \(c_{i_2 \sigma_2}\) |
[in] | spin2 | \(sigma1_2\) for \(c_{i_2 \sigma_2}\) |
[in] | site3 | \(i_3\) for \(c_{i_3 \sigma_3}^\dagger\) |
[in] | spin3 | \(sigma1_3\) for \(c_{i_3 \sigma_3}^\dagger\) |
[in] | site4 | \(i_2\) for \(c_{i_2 \sigma_2}\) |
[in] | spin4 | \(sigma1_2\) for \(c_{i_2 \sigma_2}\) |
Definition at line 203 of file StdFace_ModelUtil.cpp.
Referenced by StdFace_GeneralJ().
void StdFace_MagField | ( | struct StdIntList * | StdI, |
int | S2, | ||
double | h, | ||
double | Gamma, | ||
int | isite | ||
) |
Add longitudinal and transvars magnetic field to the list.
Use Bogoliubov representation.
Londitudinal part
\[ \sum_{\sigma = -S}^{S} -h\sigma c_{i \sigma}^\dagger c_{i \sigma} \]
Transvars part
\[ -\Gamma \frac{S_i^+ + S_i^-}{2} = \sum_{\sigma = -S}^{S-1} -\frac{\Gamma}{2} \sqrt{S(S+1) - \sigma(\sigma+1)} (\sigma c_{i \sigma+ 1}^\dagger c_{i \sigma} + \sigma c_{i \sigma}^\dagger c_{i \sigma+1}) \]
[in,out] | StdI | |
[in] | S2 | Spin moment in \(i\) site |
[in] | h | Longitudinal magnetic field \(h\) |
[in] | Gamma | Transvars magnetic field \(h\) |
[in] | isite | \(i\) for \(c_{i \sigma}^\dagger\) |
Definition at line 155 of file StdFace_ModelUtil.cpp.
References StdFace_trans().
Referenced by StdFace_Chain(), StdFace_FCOrtho(), StdFace_Honeycomb(), StdFace_Kagome(), StdFace_Ladder(), StdFace_Orthorhombic(), StdFace_Pyrochlore(), StdFace_Tetragonal(), StdFace_Triangular(), and StdFace_Wannier90().
void StdFace_MallocInteractions | ( | struct StdIntList * | StdI, |
int | ntransMax, | ||
int | nintrMax | ||
) |
Malloc Arrays for interactions.
(1) Transfer StdIntList::trans, StdIntList::transindx
(2) InterAll StdIntList::intr, StdIntList::intrindx
(3) Coulomb intra StdIntList::Cintra, StdIntList::CintraIndx
(4) Coulomb inter StdIntList::Cinter, StdIntList::CinterIndx
(5) Hund StdIntList::Hund, StdIntList::HundIndx
(6) Excahnge StdIntList::Ex, StdIntList::ExIndx
(7) PairLift StdIntList::PairLift, StdIntList::PLIndx
(7) PairHopp StdIntList::PairHopp, StdIntList::PHIndx
[in,out] | StdI | |
[in] | ntransMax | upper limit of the number of transfer |
[in] | nintrMax | upper limit of the number of interaction |
Definition at line 1204 of file StdFace_ModelUtil.cpp.
References StdFace_exit(), StdFace_FindSite(), StdFace_FoldSite(), and StdFace_PrintVal_i().
Referenced by StdFace_Chain(), StdFace_FCOrtho(), StdFace_Honeycomb(), StdFace_Kagome(), StdFace_Ladder(), StdFace_Orthorhombic(), StdFace_Pyrochlore(), StdFace_Tetragonal(), StdFace_Triangular(), and StdFace_Wannier90().
void StdFace_NotUsed_c | ( | const char * | valname, |
std::complex< double > | val | ||
) |
Stop HPhi if a variable (complex) not used is specified in the input file (!=NaN).
[in] | valname | Name of the valiable |
[in] | val |
Definition at line 513 of file StdFace_ModelUtil.cpp.
References StdFace_exit().
Referenced by StdFace_Chain(), StdFace_FCOrtho(), StdFace_Honeycomb(), StdFace_Kagome(), StdFace_Ladder(), StdFace_Orthorhombic(), StdFace_Pyrochlore(), StdFace_Tetragonal(), and StdFace_Triangular().
void StdFace_NotUsed_d | ( | const char * | valname, |
double | val | ||
) |
Stop HPhi if a variable (real) not used is specified in the input file (!=NaN).
[in] | valname | Name of the valiable |
[in] | val |
Definition at line 496 of file StdFace_ModelUtil.cpp.
References StdFace_exit().
Referenced by StdFace_Chain(), StdFace_FCOrtho(), StdFace_Honeycomb(), StdFace_Kagome(), StdFace_Ladder(), StdFace_NotUsed_J(), StdFace_Orthorhombic(), StdFace_Pyrochlore(), StdFace_Tetragonal(), StdFace_Triangular(), and StdFace_Wannier90().
void StdFace_NotUsed_i | ( | const char * | valname, |
int | val | ||
) |
Stop HPhi if a variable (integer) not used is specified in the input file (!=2147483647, the upper limt of Int).
[in] | valname | Name of the valiable |
[in] | val |
Definition at line 562 of file StdFace_ModelUtil.cpp.
References StdFace_exit().
Referenced by CheckModPara(), StdFace_Chain(), StdFace_FCOrtho(), StdFace_Honeycomb(), StdFace_Kagome(), StdFace_Ladder(), StdFace_Orthorhombic(), StdFace_Pyrochlore(), StdFace_Tetragonal(), and StdFace_Triangular().
void StdFace_NotUsed_J | ( | const char * | valname, |
double | JAll, | ||
double | J[3][3] | ||
) |
Stop HPhi if variables (real) not used is specified in the input file (!=NaN).
[in] | valname | Name of the valiable*/, |
[in] | JAll | */, |
[in] | J |
Definition at line 530 of file StdFace_ModelUtil.cpp.
References StdFace_NotUsed_d().
Referenced by StdFace_Chain(), StdFace_FCOrtho(), StdFace_Honeycomb(), StdFace_Kagome(), StdFace_Ladder(), StdFace_Orthorhombic(), StdFace_Pyrochlore(), StdFace_Tetragonal(), and StdFace_Triangular().
void StdFace_PrintGeometry | ( | struct StdIntList * | StdI | ) |
Print geometry of sites for the pos-process of correlation function.
Definition at line 1163 of file StdFace_ModelUtil.cpp.
Referenced by StdFace_Chain(), StdFace_FCOrtho(), StdFace_Honeycomb(), StdFace_Kagome(), StdFace_Ladder(), StdFace_Orthorhombic(), StdFace_Pyrochlore(), StdFace_Tetragonal(), StdFace_Triangular(), and StdFace_Wannier90().
void StdFace_PrintVal_c | ( | const char * | valname, |
std::complex< double > * | val, | ||
std::complex< double > | val0 | ||
) |
Print a valiable (complex) read from the input file if it is not specified in the input file (=NaN), set the default value.
[in] | valname | Name of the valiable |
[in,out] | val | Valiable to be set |
[in] | val0 | The default value |
Definition at line 459 of file StdFace_ModelUtil.cpp.
Referenced by StdFace_Orthorhombic().
void StdFace_PrintVal_d | ( | const char * | valname, |
double * | val, | ||
double | val0 | ||
) |
Print a valiable (real) read from the input file if it is not specified in the input file (=NaN), set the default value.
[in] | valname | Name of the valiable |
[in,out] | val | Valiable to be set |
[in] | val0 | The default value |
Definition at line 418 of file StdFace_ModelUtil.cpp.
Referenced by CheckModPara(), PrintExcitation(), StdFace_Chain(), StdFace_FCOrtho(), StdFace_Honeycomb(), StdFace_Kagome(), StdFace_Ladder(), StdFace_LargeValue(), StdFace_Orthorhombic(), StdFace_Pyrochlore(), StdFace_Tetragonal(), StdFace_Triangular(), StdFace_Wannier90(), and VectorPotential().
void StdFace_PrintVal_dd | ( | char * | valname, |
double * | val, | ||
double | val0, | ||
double | val1 | ||
) |
Print a valiable (real) read from the input file if it is not specified in the input file (=NaN), set the default value.
If the primary default value (val0) is not specified, use secondary default value
[in] | valname | Name of the valiable |
[in,out] | val | Valiable to be set |
[in] | val0 | The primary default value, possible not to be specified |
[in] | val1 | The secondary default value |
Definition at line 436 of file StdFace_ModelUtil.cpp.
void StdFace_PrintVal_i | ( | const char * | valname, |
int * | val, | ||
int | val0 | ||
) |
Print a valiable (integer) read from the input file if it is not specified in the input file (=2147483647, the upper limt of Int) set the default value.
[in] | valname | Name of the valiable |
[in,out] | val | Valiable to be set |
[in] | val0 | The default value |
Definition at line 477 of file StdFace_ModelUtil.cpp.
Referenced by CheckModPara(), StdFace_Chain(), StdFace_FCOrtho(), StdFace_Honeycomb(), StdFace_InitSite(), StdFace_Kagome(), StdFace_Ladder(), StdFace_main(), StdFace_MallocInteractions(), StdFace_Orthorhombic(), StdFace_Pyrochlore(), StdFace_Tetragonal(), StdFace_Triangular(), StdFace_Wannier90(), and VectorPotential().
void StdFace_PrintXSF | ( | struct StdIntList * | StdI | ) |
Print lattice.xsf (XCrysDen format)
Definition at line 944 of file StdFace_ModelUtil.cpp.
Referenced by StdFace_FCOrtho(), StdFace_Orthorhombic(), StdFace_Pyrochlore(), and StdFace_Wannier90().
void StdFace_RequiredVal_i | ( | const char * | valname, |
int | val | ||
) |
Stop HPhi if a variable (integer) which must be specified is absent in the input file (=2147483647, the upper limt of Int).
[in] | valname | Name of the valiable |
[in] | val |
Definition at line 581 of file StdFace_ModelUtil.cpp.
References StdFace_exit().
Referenced by CheckModPara(), StdFace_Chain(), and StdFace_Ladder().
void StdFace_SetLabel | ( | struct StdIntList * | StdI, |
FILE * | fp, | ||
int | iW, | ||
int | iL, | ||
int | diW, | ||
int | diL, | ||
int | isiteUC, | ||
int | jsiteUC, | ||
int * | isite, | ||
int * | jsite, | ||
int | connect, | ||
std::complex< double > * | Cphase, | ||
double * | dR | ||
) |
Set Label in the gnuplot display (Only used in 2D system)
First print the reversed one
Then print the normal one, these are different when they cross boundary.
[in,out] | StdI | |
[in] | fp | File pointer to lattice.gp |
[in] | iW | position of initial site |
[in] | iL | position of initial site |
[in] | diW | Translation from the initial site |
[in] | diL | Translation from the initial site |
[in] | isiteUC | Intrinsic site index of initial site |
[in] | jsiteUC | Intrinsic site index of final site |
[out] | isite | initial site |
[out] | jsite | final site |
[in] | connect | 1 for nearest neighbor, 2 for 2nd nearest |
[out] | Cphase | Boundary phase, if it across boundary |
[out] | dR | R_i - R_j |
Definition at line 881 of file StdFace_ModelUtil.cpp.
References StdFace_FindSite().
Referenced by StdFace_Chain(), StdFace_Honeycomb(), StdFace_Kagome(), StdFace_Ladder(), StdFace_Tetragonal(), and StdFace_Triangular().
void StdFace_trans | ( | struct StdIntList * | StdI, |
std::complex< double > | trans0, | ||
int | isite, | ||
int | ispin, | ||
int | jsite, | ||
int | jspin | ||
) |
Add transfer to the list set StdIntList::trans and StdIntList::transindx and increment StdIntList::ntrans.
[in,out] | StdI | |
[in] | trans0 | Hopping integral \(t, mu\), etc. |
[in] | isite | \(i\) for \(c_{i \sigma}^\dagger\) |
[in] | ispin | \(\sigma\) for \(c_{i \sigma}^\dagger\) |
[in] | jsite | \(j\) for \(c_{j \sigma'}\) |
[in] | jspin | \(\sigma'\) for \(c_{j \sigma'}\) |
Definition at line 56 of file StdFace_ModelUtil.cpp.
Referenced by StdFace_Hopping(), StdFace_HubbardLocal(), and StdFace_MagField().