|
| PerturbationSolver (Everything &e) |
|
void | hessian (PerturbationGradient &Av, const PerturbationGradient &v) override |
| Linear operator A applied to the vector v.
|
|
void | precondition (PerturbationGradient &v) override |
| Apply precondioner to vector v. Required for CG algorithm.
|
|
void | Ksqrt (PerturbationGradient &v) override |
| Apply square root of preconditioner to v. Required for MINRES algorithm.
|
|
void | solvePerturbation () |
|
void | calcdGradTau () |
| Get derivative of Grad E w.r.t. external perturbations (local potential, charge density, or atomic position)
|
|
void | getGrad (std::vector< ColumnBundle > *grad, std::vector< ColumnBundle > Y) |
| Get gradient of E w.r.t Y, used for finite difference tests.
|
|
void | computeIncommensurateWfns () |
| Automatically set up and minimize incommensurate wfns, not implemented yet.
|
|
void | getdn (ScalarFieldArray &dn, const std::vector< ColumnBundle > *dC, const std::vector< ColumnBundle > *C=0) |
| Derivative of density w.r.t. wavefunctions.
|
|
void | getdnInc (const std::vector< ColumnBundle > *dC, const std::vector< ColumnBundle > *C, complexScalarFieldArray &dnpq, complexScalarFieldArray &dnmq) |
| Derivative of density w.r.t. wavefunctions, incommensurate case.
|
|
void | getdnatom (ScalarFieldArray &dnatom) |
| Derivative of density w.r.t. atomic positions.
|
|
void | updateExcorrCache () |
| Update cache variables for calculation of LDA and GGA derivatives.
|
|
void | updateHC () |
| Update HC, OC, and density augmentation derivative. Run whever ionic positions change.
|
|
void | updateNonlocalDerivs () |
| Update Vnl derivatives, run when atom perturbation is applied.
|
|
void | applyH (const QuantumNumber &qnum, const diagMatrix &Fq, ColumnBundle &HCq, const ColumnBundle &Cq) |
| Apply Hamiltonian to arbitrary wavefunction, unlike in ElecVars::applyHamiltonian does not have to be eVars.C.
|
|
void | dH_Vscloc (const QuantumNumber &qnum, ColumnBundle &HCq, const ColumnBundle &Cq, const ScalarFieldArray &dVscloc, const std::vector< matrix > *VdagCq=0) |
| Derivative of H operator w.r.t. Vscloc.
|
|
void | dHpsi (const QuantumNumber &qnum, ColumnBundle &HCq, const ColumnBundle &Cq, const ScalarFieldArray &dVscloc, const std::vector< matrix > *VdagCq=0) |
| Derivative of H operator w.r.t. wavefunctions.
|
|
void | dHpsi (const QuantumNumber &qnum, ColumnBundle &HCq, const ColumnBundle &Cq, const complexScalarFieldArray &dVscloc) |
| Derivative of H operator w.r.t. wavefunctions for incommensurate perturbations.
|
|
void | dHtau (const QuantumNumber &qnum, ColumnBundle &HCq, const ColumnBundle &Cq, const ScalarFieldArray &dVscloc) |
| Derivative of H operator w.r.t. external perturbations (local potential, charge density, or atomic position)
|
|
void | dHtau (const QuantumNumber &qnum, ColumnBundle &HCq, const ColumnBundle &Cq, int qsign) |
| Derivative of H operator w.r.t. incommensurate external perturbations (local potential, charge density)
|
|
void | getdVsclocPsi (const ScalarFieldArray dn, ScalarFieldArray &dVscloc) |
| Derivative of Vscloc w.r.t density.
|
|
void | getdVsclocPsi (const complexScalarFieldArray dn, complexScalarFieldArray &dVscloc, vector3<> *q) |
| Derivative of Vscloc w.r.t density, incommensurate.
|
|
void | getdVsclocTau (ScalarFieldArray &dVscloc, ScalarFieldArray *dn=0) |
| Derivative of Vscloc w.r.t external perturbations.
|
|
void | getdVsclocTau (complexScalarFieldArray &dVscloc, int qsign) |
| Derivative of Vscloc w.r.t external perturbations, incommensurate.
|
|
ScalarFieldArray | getdnXC (const ScalarField dnCore) const |
| Derivative of nXC w.r.t core density.
|
|
ScalarField | get_nTot (const ScalarFieldArray n) const |
| Copy of ElecVars::get_nTot for any n.
|
|
complexScalarField | get_nTot (const complexScalarFieldArray n) const |
|