Class Scine::Sparrow::GTODipoleMatrixBlock

class GTODipoleMatrixBlock

Class responsible for calculating a block of the dipole matrix in GTO ao basis.

The basis must be one of the STO-nG type.

Public Functions

GTODipoleMatrixBlock()

Constructor.

It initializes the angular momenta and the orbital AO indices.

void setIntegralMethod(IntegralMethod method)

Sets the integral method to either Obara-Saika or analytical.

void initialize(const Eigen::RowVector3d &Ra, const Eigen::RowVector3d &Rb, const Eigen::RowVector3d &dipoleEvaluationCoordinate, double expA, double expB, const Utils::GTOExpansion &gtoA, const Utils::GTOExpansion &gtoB)

Initializes the data structures used throughout the calculation.

std::array<Eigen::MatrixXd, 3> createSTOBlock(const Utils::GTOExpansion &gtoA, const Utils::GTOExpansion &gtoB, const Eigen::RowVector3d &Ra, const Eigen::RowVector3d &Rb, const Eigen::Vector3d &Rab, const Eigen::Vector3d &dipoleEvaluationCoordinate)

Calculates a block of the dipole matrix.