File TwoCenterIntegralContainer.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
TwoCenterIntegralContainer
- #include <TwoCenterIntegralContainer.h>
This class contains smart pointers to two-center two-electron matrices for different atoms.
This class stores for each atom pair a shared pointer to a Global2c2eMatrix, containing the ERIs between the two centers.
Public Types
-
using
integralMatrix_t
= std::shared_ptr<multipole::Global2c2eMatrix>¶
-
using
Container
= std::vector<std::vector<integralMatrix_t>>¶
Public Functions
-
TwoCenterIntegralContainer
(const Utils::ElementTypeCollection &elements, const Utils::PositionCollection &positions, const ElementParameters &ep) constructor, give a reference to the positions, to the elements and to the element paramters, where the atomic orbital composition is.
- Parameters
elements
: vector specifying the elements of the molecule.positions
: vector of the position in cartesian coordinates of the nuclei.ep
: parameters of the elements. Contain, for istance, the AO composition of each element.
-
void
initialize
() Initializes the Global2c2eMatrix for each atom pair.
Their size depend on the element pair in question.
-
void
update
(Utils::derivOrder order) Updated the Global2c2eMatrix for each atom pair.
- Parameters
order
: specify up to which derivative the integral has to be calculated.
-
void
set
(unsigned int a, unsigned int b, integralMatrix_t mat) sets a Global2c2eMatrix to correspond to a certain atom pair.
- Parameters
a
: index of the first atom.b
: index of the second atom.mat
: std::shared_ptr<multipole::Global2c2eMatrix> containing the ERIs corresponding to the atom pair.
-
integralMatrix_t
get
(unsigned int a, unsigned int b) const Getter for the ERIs corresponding to an atom pair.
- Return
a std::shared_ptr<Global2c2eMatrix> containing the ERIs corresponding to the atom pair.
- Parameters
a
: index of the first atom. Must be smaller than b.b
: index of the second atom. Must be bigger than a.
Private Functions
-
void
initializePair
(unsigned int i, unsigned int j)¶
-
void
updatePair
(unsigned int i, unsigned int j, Utils::derivOrder order)¶
Private Members
-
multipole::Global2c2eTerms
terms_
¶
-
const ElementParameters &
elementParameters_
¶
-
unsigned int
nAtoms_
¶
-
const Utils::ElementTypeCollection &
elementTypes_
¶
-
const Utils::PositionCollection &
positions_
¶
-
using
-
class
-
namespace
-
namespace