Class Scine::Sparrow::nddo::TwoCenterIntegralContainer

class TwoCenterIntegralContainer

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 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.