20 #ifndef JDFTX_ELECTRONIC_EXCORR_H 21 #define JDFTX_ELECTRONIC_EXCORR_H 23 #include <electronic/common.h> 69 IncludeTXC(
bool T=
false,
bool X=
true,
bool C=
true) : T(T), X(X), C(C) {}
75 ExCorr(ExCorrType exCorrType=ExCorrGGA_PBE, KineticType kineticType=KineticNone);
77 string getName()
const;
95 double exxFactor()
const;
96 double exxRange()
const;
97 bool needsKEdensity()
const;
98 bool hasEnergy()
const;
110 virtual bool ignore_nCore()
const=0;
112 virtual void dump()
const=0;
116 std::shared_ptr<OrbitalDep> orbitalDep;
120 ExCorrType exCorrType;
121 KineticType kineticType;
123 friend struct CommandElecExCorr;
124 friend struct CommandFluidExCorr;
128 std::shared_ptr<struct FunctionalList> functionals;
130 int xcExchange, xcCorr, xcExcorr, xcKinetic;
134 #endif // JDFTX_ELECTRONIC_EXCORR_H std::vector< ScalarField > ScalarFieldArray
dynamic size collection of real space scalar fields
Definition: ScalarFieldArray.h:32
bool C
correlation
Definition: ExCorr.h:67
IncludeTXC(bool T=false, bool X=true, bool C=true)
defaults to exchange-correlation without kinetic
Definition: ExCorr.h:69
Which components to include in the results of ExCorr::operator()
Definition: ExCorr.h:64
bool T
kinetic
Definition: ExCorr.h:65
bool X
exchange
Definition: ExCorr.h:66
Definition: Everything.h:41
classes ScalarFieldArray, ScalarFieldTildeArray and just enough operators to enable CG w...
std::shared_ptr< ScalarFieldData > ScalarField
A smart reference-counting pointer to ScalarFieldData.
Definition: ScalarField.h:41
Abstract base class (interface specification) for orbital-dependent potential functionals.
Definition: ExCorr.h:107