8 #ifndef SPARROW_LOCAL2C2EINTEGRALCALCULATOR_H
9 #define SPARROW_LOCAL2C2EINTEGRALCALCULATOR_H
22 class ChargeSeparationParameter;
23 class KlopmanParameter;
50 template<Utils::DerivativeOrder O>
51 Utils::AutomaticDifferentiation::Value1DType<O>
static getIntegral(
67 template<Utils::DerivativeOrder O>
68 Utils::AutomaticDifferentiation::Value1DType<O>
static getIntegral(
int t1,
int t2,
double R,
80 static std::list<std::pair<double, Multipole>> getMultipoles(GeneralTypes::twoElIntegral_t t,
bool hasD);
89 #endif // SPARROW_LOCAL2C2EINTEGRALCALCULATOR_H
std::list< LocalTerm > LocalTerms
Each charge distribution might be expanded in more than just one multipole (so, more than one LocalTe...
Definition: Local2c2eIntegralCalculator.h:45
std::array< std::array< LocalTerms, 40 >, 40 > LocalTermArray
There are 40 possible charge distributions.
Definition: Local2c2eIntegralCalculator.h:47
This class is the container for the Klopman-Ohno parameters used for the evaluation of the multipoles...
Definition: KlopmanParameter.h:29
static Utils::AutomaticDifferentiation::Value1DType< O > getIntegral(GeneralTypes::twoElIntegral_t t1, GeneralTypes::twoElIntegral_t t2, double R, const ChargeSeparationParameter &D1, const ChargeSeparationParameter &d2, const KlopmanParameter &rho1, const KlopmanParameter &rho2)
Wrapper around the next overload. It enables the reference of the twoElIntegral_t without the need to...
This class is responsible for the calculation of the 2-center-2-electron integrals in the local coord...
Definition: Local2c2eIntegralCalculator.h:31
Charge separation D of semi-empirical models. It describes the separation between two charges of oppo...
Definition: ChargeSeparationParameter.h:29
Struct defining an interaction between two multipoles. It consists of a prefactor, f, the charge distributions and the corresponding multipoles. It thus uniquely defines an interaction.
Definition: Local2c2eIntegralCalculator.h:38