File AtomPairDipole.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
class AtomPairDipole
#include <AtomPairDipole.h>

Class responsible for calculating a block of the dipole matrix.

Public Static Functions

static void fillAtomPairDipoleBlock(Utils::DipoleMatrix &dipoleMatrix, int startOfAtomA, int startOfAtomB, const IntegralMethod &method, const Utils::AtomicGTOs &gtosA, const Utils::AtomicGTOs &gtosB, const Eigen::RowVector3d &Ra, const Eigen::RowVector3d &Rb, const Eigen::RowVector3d &Rab, const Eigen::RowVector3d &dipoleEvaluationCoordinate)

Calculates a block of the dipole matrix between two atoms.

Parameters
  • dipoleMatrix: The dipole matrix given as reference.

  • startOfAtomA: The index corresponding to the first atomic orbital of the atom A.

  • startOfAtomB: The index corresponding to the first atomic orbital of the atom B.

  • method: Decides which method to use for the calculation of the integrals.

  • gtosA: The GTO expansion on the atom A.

  • gtosB: The GTO expansion on the atom B.

  • Ra: Positions of the nucleus A.

  • Rb: Positions of the nucleus B.

  • Rab: Vectorial separation between A and B.

  • dipoleEvaluationCoordinate: Decides where the dipole has to be calculated from.