File TwoElectronMatrix.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 -
class
TwoElectronMatrix - #include <TwoElectronMatrix.h>
Class to generate the two-electron matrix G for semi-empirical methods. This class is parallelized with OpenMP.
Public Functions
-
TwoElectronMatrix(const Utils::ElementTypeCollection &elements, const Utils::DensityMatrix &densityMatrix, const OneCenterIntegralContainer &oneCIntegrals, const TwoCenterIntegralContainer &twoCIntegrals, const ElementParameters &elementPar, const Utils::AtomsOrbitalsIndexes &aoIndexes)¶
-
void
initialize()¶
-
void
calculate(bool spinPolarized)¶
-
void
calculateBlocks()¶
-
void
calculateSameAtomBlock(int startIndex, int nAOs, Utils::ElementType el, Eigen::MatrixXd &G, Eigen::MatrixXd &GAlpha, Eigen::MatrixXd &GBeta)¶
-
void
calculateDifferentAtomsBlock(int startA, int startB, int nAOsA, int nAOsB, const multipole::Global2c2eMatrix &m, Eigen::MatrixXd &G, Eigen::MatrixXd &GAlpha, Eigen::MatrixXd &GBeta)¶
-
template<Utils::derivativeType
O>
voidaddDerivatives(Utils::AutomaticDifferentiation::DerivativeContainerType<O> &derivativeContainer) const¶
-
const Eigen::MatrixXd &
operator()() const¶
-
const Eigen::MatrixXd &
getMatrix() const¶
-
const Eigen::MatrixXd &
getAlpha() const¶
-
const Eigen::MatrixXd &
getBeta() const¶
Private Functions
-
template<Utils::derivativeType
O>
voidaddDerivativesForBlock(Utils::AutomaticDifferentiation::DerivativeContainerType<O> &derivativeContainer, int a, int b, int startA, int startB, int nAOsA, int nAOsB, const multipole::Global2c2eMatrix &m) const¶
Private Members
-
bool
spinPolarized_¶
-
const Eigen::MatrixXd &
P¶
-
const Eigen::MatrixXd &
PAlpha_¶
-
const Eigen::MatrixXd &
PBeta_¶
-
const OneCenterIntegralContainer &
oneCenterIntegrals¶
-
const TwoCenterIntegralContainer &
twoCenterIntegrals¶
-
const ElementParameters &
elementParameters¶
-
const Utils::AtomsOrbitalsIndexes &
aoIndexes_¶
-
Eigen::MatrixXd
G_¶
-
Eigen::MatrixXd
GAlpha_¶
-
Eigen::MatrixXd
GBeta_¶
-
const Utils::ElementTypeCollection &
elementTypes_¶
-
int
nAOs_¶
-
int
nAtoms_¶
-
-
class
-
namespace
-
namespace