|
void | sync_atpos () |
| update changes in atpos; call whenever atpos is changed (this will update atpos_gpu and invalidate cached projectors, if any)
|
|
void | setup (const Everything &) |
|
void | print (FILE *fp) const |
|
void | populationAnalysis (const std::vector< matrix > &RhoAll) const |
|
bool | isRelativistic () const |
| whether pseudopotential is relativistic
|
|
PseudopotentialFormat | getPSPFormat () |
| Returns the pseudopotential format.
|
|
std::shared_ptr< ColumnBundle > | getV (const ColumnBundle &Cq, matrix *M=0) const |
|
double | EnlAndGrad (const QuantumNumber &qnum, const diagMatrix &Fq, const matrix &VdagCq, matrix &HVdagCq) const |
|
void | augmentOverlap (const ColumnBundle &Cq, ColumnBundle &OCq, matrix *VdagCq=0) const |
| Accumulate pseudopotential contribution to the overlap in OCq.
|
|
void | augmentDensityInit () |
| Clear internal data and prepare for density augmentation (call before a loop ober augmentDensitySpherical per k-point)
|
|
void | augmentDensitySpherical (const QuantumNumber &qnum, const diagMatrix &Fq, const matrix &VdagCq) |
| Accumulate the pseudopotential dependent contribution to the density in the spherical functions nAug (call once per k-point)
|
|
void | augmentDensityGrid (ScalarFieldArray &n) const |
| Accumulate the spherical augmentation functions nAug to the grid electron density (call only once, after augmentDensitySpherical on all k-points)
|
|
void | augmentDensityGridGrad (const ScalarFieldArray &E_n, std::vector< vector3<> > *forces=0) |
| Gradient propagation corresponding to augmentDensityGrid (stores intermediate spherical function results to E_nAug; call only once)
|
|
void | augmentDensitySphericalGrad (const QuantumNumber &qnum, const diagMatrix &Fq, const matrix &VdagCq, matrix &HVdagCq) const |
| Gradient propagation corresponding to augmentDensitySpherical (uses intermediate spherical function results from E_nAug; call once per k-point after augmentDensityGridGrad)
|
|
size_t | rhoAtom_nMatrices () const |
|
void | rhoAtom_initZero (matrix *rhoAtomPtr) const |
|
void | rhoAtom_calc (const std::vector< diagMatrix > &F, const std::vector< ColumnBundle > &C, matrix *rhoAtomPtr) const |
|
double | rhoAtom_computeU (const matrix *rhoAtomPtr, matrix *U_rhoAtomPtr) const |
|
void | rhoAtom_grad (const ColumnBundle &Cq, const matrix *U_rhoAtomPtr, ColumnBundle &HCq) const |
|
void | rhoAtom_forces (const std::vector< diagMatrix > &F, const std::vector< ColumnBundle > &C, const matrix *U_rhoAtomPtr, std::vector< vector3<> > &forces) const |
|
void | rhoAtom_getV (const ColumnBundle &Cq, const matrix *U_rhoAtomPtr, ColumnBundle &psi, matrix &M) const |
|
void | accumulateAtomicDensity (ScalarFieldTildeArray &nTilde) const |
| Accumulate atomic density from this species.
|
|
void | accumulateAtomicPotential (ScalarFieldTilde &dTilde) const |
| Accumulate electrostatic potential of neutral atoms from this species.
|
|
void | setAtomicOrbitals (ColumnBundle &Y, bool applyO, int colOffset=0) const |
| Calculate atomic orbitals with/without O preapplied (store in Y with an optional column offset)
|
|
void | setAtomicOrbitals (ColumnBundle &Y, bool applyO, unsigned n, int l, int colOffset=0, int atomColStride=0) const |
| If non-zero, atomColStride overrides the number of columns between the same orbital of multiple atoms (default = number of orbitals at current n and l) More...
|
|
int | nAtomicOrbitals () const |
| return number of atomic orbitals in this species (all atoms)
|
|
int | lMaxAtomicOrbitals () const |
| return maximum angular momentum in available atomic orbitals
|
|
int | nAtomicOrbitals (int l) const |
| return number of (pseudo-)principal quantum numbers for atomic orbitals of given l
|
|
int | atomicOrbitalOffset (unsigned iAtom, unsigned n, int l, int m, int s) const |
| s is 0/1 for up/dn spinors in non-relativistic case, s=0/1 is for j=l+/-0.5 and mj=m+/-0.5 in relativistic case More...
|
|
void | updateLocal (ScalarFieldTilde &Vlocps, ScalarFieldTilde &rhoIon, ScalarFieldTilde &nChargeball, ScalarFieldTilde &nCore, ScalarFieldTilde &tauCore) const |
| Add contributions from this species to Vlocps, rhoIon, nChargeball and nCore/tauCore (if any)
|
|
std::vector< vector3<> > | getLocalForces (const ScalarFieldTilde &ccgrad_Vlocps, const ScalarFieldTilde &ccgrad_rhoIon, const ScalarFieldTilde &ccgrad_nChargeball, const ScalarFieldTilde &ccgrad_nCore, const ScalarFieldTilde &ccgrad_tauCore) const |
| Return the local forces (due to Vlocps, rhoIon, nChargeball and nCore/tauCore)
|
|
void | accumNonlocalForces (const ColumnBundle &Cq, const matrix &VdagC, const matrix &E_VdagC, const matrix &grad_CdagOCq, std::vector< vector3<> > &forces) const |
| Propagate gradient with respect to atomic projections (in E_VdagC, along with additional overlap contributions from grad_CdagOC) to forces:
|
|
|
double | Z |
| Valence charge of the species (prefactor to 1/r in long-range part of pseudopotential)
|
|
int | atomicNumber |
| Atomic number of the species (0 if unavailable)
|
|
string | name |
| Identifier.
|
|
string | potfilename |
|
string | pulayfilename |
|
bool | fromWildcard |
| whether this pseudopotential was automatically added using a wildcard (for command printing purposes only)
|
|
std::vector< vector3<> > | atpos |
| array of atomic positions of this species
|
|
std::vector< vector3<> > | velocities |
| array of atomic velocities (null unless running MD) in lattice coordinates
|
|
vector3 * | atposGpu |
| copy of atomic positions on the gpu
|
|
vector3 * | atposPref |
| points to atposGpu in GPU mode and atpos otherwise
|
|
double | dE_dnG |
| Derivative of [total energy per atom] w.r.t [nPlanewaves per unit volume] (for Pulay corrections)
|
|
double | mass |
| ionic mass (currently unused)
|
|
double | coreRadius |
| maximum pseudopotential core radius (used for core overlap checks during ionic/lattice relaxation)
|
|
double | ZfullCore |
| number of electrons in full-core correction (atomicNumber - Z - integral(nCore))
|
|
std::vector< Constraint > | constraints |
| List of all constraints on ions of this species.
|
|
std::vector< vector3<> > | initialMagneticMoments |
| Initial magnetic moments of each atom (used only for LCAO and symmetries) (x and y magnetizations only used in noncollinear calculations)
|
|
double | initialOxidationState |
| Initial oxidation state of this species (only affects LCAO)
|
|