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