File Local2c2eMatrix.h¶
- Copyright
This code is licensed under the 3-clause BSD license.
Copyright ETH Zurich, Laboratory for Physical Chemistry, Reiher Group.
See LICENSE.txt for details.
-
namespace
Scine -
namespace
Sparrow -
namespace
nddo -
namespace
multipole -
template<Utils::derivOrder
O>
classLocal2c2eMatrix - #include <Local2c2eMatrix.h>
This class creates the local two-center two-electron matrix for an atom pair.
Public Functions
-
Local2c2eMatrix(int l1, int l2, const ChargeSeparationParameter &D1, const ChargeSeparationParameter &D2, const KlopmanParameter &r1, const KlopmanParameter &r2)¶
-
void
setSymmetric(bool sym)¶
-
void
calculate(double R)¶
-
void
calculateSym(double R) Calculates the two-center two-electron matrix for two identical elements.
-
void
calculateAsym(double R) Calculates the two-center two-electron matrix for two different elements.
-
const Utils::AutomaticDifferentiation::Value1DType<O> &
operator()(unsigned int i, unsigned int j) const¶
Private Functions
-
void
buildSSMatrix(double R)¶
-
void
buildSPMatrix(double R)¶
-
void
buildPSMatrix(double R)¶
-
void
buildPPMatrix(double R)¶
-
void
buildSDMatrix(double R)¶
-
void
buildDSMatrix(double R)¶
-
void
buildPDMatrix(double R)¶
-
void
buildDPMatrix(double R)¶
-
void
buildDDMatrix(double R)¶
-
void
buildPPMatrixSym(double R)¶
-
void
buildDDMatrixSym(double R)¶
-
void
buildPSMatrixSym(double R)¶
-
void
buildDSMatrixSym(double R)¶
-
void
buildDPMatrixSym(double R)¶
Private Members
-
const int
l1_¶
-
const int
l2_¶
-
bool
sameElement_¶
-
const ChargeSeparationParameter &
dist1¶
-
const ChargeSeparationParameter &
dist2¶
-
const KlopmanParameter &
rho1¶
-
const KlopmanParameter &
rho2¶
-
Local2c2eIntegralCalculator
calculator_¶
-
Eigen::Matrix<Utils::AutomaticDifferentiation::Value1DType<O>, Eigen::Dynamic, Eigen::Dynamic>
mat¶
-
-
template<Utils::derivOrder
-
namespace
-
namespace
-
namespace