| 
| 
void  | setup (const Everything &) | 
|   | 
| 
void  | printPositions (FILE *) const  | 
|   | 
| 
bool  | checkPositions () const  | 
|   | check for overlapping atoms, return true if okay 
  | 
|   | 
| 
double  | getZtot () const  | 
|   | get total Z of all species and atoms 
  | 
|   | 
| 
void  | update (Energies &) | 
|   | Update Vlocps, rhoIon, nChargeball, nCore and the energies dependent only on ionic positions. 
  | 
|   | 
| 
double  | ionicEnergyAndGrad (IonicGradient &forces) const  | 
|   | Return the total (free) energy and calculate the ionic gradient (forces) 
  | 
|   | 
| double  | EnlAndGrad (const QuantumNumber &qnum, const diagMatrix &Fq, const std::vector< matrix > &VdagCq, std::vector< matrix > &HVdagCq) const  | 
|   | 
| 
void  | augmentOverlap (const ColumnBundle &Cq, ColumnBundle &OCq, std::vector< matrix > *VdagCq=0) const  | 
|   | Accumulate pseudopotential dependent contribution to the overlap in OCq. 
  | 
|   | 
| 
void  | augmentDensityInit () const  | 
|   | 
| 
void  | augmentDensitySpherical (const QuantumNumber &qnum, const diagMatrix &Fq, const std::vector< matrix > &VdagCq) const  | 
|   | 
| 
void  | augmentDensityGrid (ScalarFieldArray &n) const  | 
|   | 
| 
void  | augmentDensityGridGrad (const ScalarFieldArray &E_n, IonicGradient *forces=0) const  | 
|   | 
| 
void  | augmentDensitySphericalGrad (const QuantumNumber &qnum, const diagMatrix &Fq, const std::vector< matrix > &VdagCq, std::vector< matrix > &HVdagCq) const  | 
|   | 
| 
void  | project (const ColumnBundle &Cq, std::vector< matrix > &VdagCq, matrix *rotExisting=0) const  | 
|   | 
| 
void  | projectGrad (const std::vector< matrix > &HVdagCq, const ColumnBundle &Cq, ColumnBundle &HCq) const  | 
|   | 
| size_t  | rhoAtom_nMatrices () const  | 
|   | Compute U corrections (DFT+U in the simplified rotationally-invariant scheme [Dudarev et al, Phys. Rev. B 57, 1505])  More...
  | 
|   | 
| 
void  | rhoAtom_initZero (std::vector< matrix > &rhoAtom) const  | 
|   | initialize matrices of appropriate size to zero 
  | 
|   | 
| 
void  | rhoAtom_calc (const std::vector< diagMatrix > &F, const std::vector< ColumnBundle > &C, std::vector< matrix > &rhoAtom) const  | 
|   | compute atomic density matrices 
  | 
|   | 
| 
double  | rhoAtom_computeU (const std::vector< matrix > &rhoAtom, std::vector< matrix > &U_rhoAtom) const  | 
|   | compute U energy and gradient w.r.t atomic density matrices 
  | 
|   | 
| 
void  | rhoAtom_grad (const ColumnBundle &Cq, const std::vector< matrix > &U_rhoAtom, ColumnBundle &HCq) const  | 
|   | propagate U_rhoAtom to wavefunction gradient (per k-point to enable band structure) 
  | 
|   | 
| 
void  | rhoAtom_forces (const std::vector< diagMatrix > &F, const std::vector< ColumnBundle > &C, const std::vector< matrix > &U_rhoAtom, IonicGradient &forces) const  | 
|   | propagate U_rhoAtom to forces 
  | 
|   | 
| 
void  | rhoAtom_getV (const ColumnBundle &Cq, const std::vector< matrix > &U_rhoAtom, std::vector< ColumnBundle > &psi, std::vector< matrix > &M) const  | 
|   | get DFT+U Hamiltonian basis (atomic orbitals) and matrices 
  | 
|   | 
| 
ColumnBundle  | rHcommutator (const ColumnBundle &Y, int iDir) const  | 
|   | Apply commutator operator [r_iDir,H] = D_iDir + nonlocal corrections. 
  | 
|   | 
| 
int  | nAtomicOrbitals () const  | 
|   | Get total number of atomic orbitals. 
  | 
|   | 
| 
ColumnBundle  | getAtomicOrbitals (int q, bool applyO, int extraCols=0) const  | 
|   | Get all atomic orbitals of a given state number q, optionally with operator O pre-applied (with room for extra columns if specified) 
  | 
|   |