|
bool | isMine (int q) const |
| check if state index is local
|
|
int | whose (int q) const |
| find out which process this state index belongs to
|
|
int | qStartOther (int iProc) const |
| find out qStart for another process
|
|
int | qStopOther (int iProc) const |
| find out qStop for another process
|
|
bool | isNoncollinear () const |
|
int | spinorLength () const |
|
void | setup (const Everything &e, std::vector< diagMatrix > &F, Energies &ener) |
| setup bands and initial fillings
|
|
void | printFillings (FILE *fp) const |
|
void | printFermi (const char *suffix, const double *muOverride=0) const |
|
void | mixFillings (std::vector< diagMatrix > &F, Energies &ener) |
| Fermi fillings with mixing / mu control.
|
|
void | updateFillingsEnergies (const std::vector< diagMatrix > &F, Energies &) const |
| Calculate fermi fillings Legendre multipliers (TS/muN)
|
|
double | muEff (double mu, double Bz, int q) const |
|
double | fermi (double mu, double eps) const |
| fermi function
|
|
double | fermiPrime (double mu, double eps) const |
| derivative of fermi function
|
|
diagMatrix | fermi (double mu, const diagMatrix &eps) const |
| elementwise fermi function
|
|
diagMatrix | fermiPrime (double mu, const diagMatrix &eps) const |
| elementwise fermi function derivative
|
|
matrix | fermiGrad (double mu, const diagMatrix &eps, const matrix &gradF) const |
| Propagate matrix gradient w.r.t F to gradient w.r.t. eps (in the basis where fillings are diagonal)
|
|
double | nElectronsFermi (double mu, const std::vector< diagMatrix > &eps, double &Bz) const |
|
double | findMu (const std::vector< diagMatrix > &eps, double nElectrons, double &Bz) const |
|
void | kpointsPrint (FILE *fp, bool printSpin=false) const |
| Output k-points, weights and optionally spins.
|
|
void | kpointPrint (FILE *fp, int q, bool printSpin=false) const |
| Output k-points, weights and optionally spins.
|
|
int | findHOMO (int q) const |
|
void | read (std::vector< diagMatrix > &, const char *fname, int nRowsOverride=0) const |
| Returns the band index of the Highest Occupied Kohn-Sham Orbital.
|
|
void | read (std::vector< matrix > &, const char *fname, int nRowsOverride=0, int nColsOverride=0) const |
|
void | write (const std::vector< diagMatrix > &, const char *fname, int nRowsOverride=0) const |
|
void | write (const std::vector< matrix > &, const char *fname, int nRowsOverride=0, int nColsOverride=0) const |
|
void | appendWrite (const std::vector< diagMatrix > &, const char *fname, int nRowsOverride=0) const |
|
|
int | nBands |
|
int | nStates |
| Number of bands and total number of states.
|
|
int | nDensities |
|
int | spinWeight |
|
int | qWeightSum |
| number of density components, spin weight factor (= max occupation per state) and sum of k-point weights
|
|
int | qStart |
|
int | qStop |
| Range of states handled by current process (= 0 and nStates for non-MPI jobs)
|
|
SpinType | spinType |
| tells us what sort of spins we are using if any
|
|
double | nElectrons |
| the number of electrons = Sum w Tr[F]
|
|
std::vector< QuantumNumber > | qnums |
| k-points, spins and weights for each state
|
|
enum ElecInfo::FillingsUpdate | fillingsUpdate |
|
double | kT |
| Temperature for Fermi distribution of fillings.
|
|
double | mu |
| If NaN, fix nElectrons, otherwise fix/target chemical potential to this.
|
|
int | mixInterval |
| we recalc. fillings every so many iterations
|
|
bool | subspaceRotation |
| whether subspace variables are required (either rotation or aux hamiltonian)
|
|
bool | hasU |
|
std::vector< std::tuple< int, int, double > > | customFillings |
| Flag to check whether the calculation has a DFT+U self-interaction correction.
|
|
string | initialFillingsFilename |
| filename for initial fillings (zero-length if none)
|
|