Scine::Sparrow
5.1.0
Library for fast and agile quantum chemical calculations with semiempirical methods.
|
This class generates the one-electron matrix H for semi-empirical methods. More...
#include <OneElectronMatrix.h>
Public Member Functions | |
OneElectronMatrix (const Utils::ElementTypeCollection &elements, const Utils::PositionCollection &positions, const Eigen::MatrixXd &densityMatrix, const TwoCenterIntegralContainer &twoCIntegrals, const ElementParameters &elementPar, const Utils::AtomsOrbitalsIndexes &aoIndexes) | |
Constructor. | |
void | initialize () |
Initializes one-electron matrix H and the used data structures. | |
void | calculate (const Utils::MatrixWithDerivatives &S) |
Fills the one-electron matrix H by reading and calculating the required integrals. | |
void | calculateSameAtomBlocks () |
Calculates all the blocks on the same atoms. | |
void | calculateSameAtomBlock (int a, int startIndex, int nAOs) |
Calculates a specific block on an atom. | |
void | calculateDifferentAtomsBlocks (const Utils::MatrixWithDerivatives &S) |
Calculates all the blocks on different atom pairs. | |
void | calculateDifferentAtomsBlock (int startRow, int startCol, const AtomicParameters &pA, const AtomicParameters &pB, const Utils::MatrixWithDerivatives &S) |
Calculates a block between a specific atom pair. | |
template<Utils::Derivative O> | |
void | addDerivatives (Utils::AutomaticDifferentiation::DerivativeContainerType< O > &derivativeContainer, const Utils::MatrixWithDerivatives &S) const |
Calculates the derivative contribution up to the order. More... | |
const Eigen::MatrixXd & | operator() () const |
Getter for the one-electron matrix H. | |
const Eigen::MatrixXd & | getMatrix () const |
template<Utils::Derivative O> | |
void | addDerivatives (DerivativeContainerType< O > &derivativeContainer, const Utils::MatrixWithDerivatives &S) const |
template<Utils::Derivative O> | |
void | addDerivativesContribution1 (DerivativeContainerType< O > &derivativeContainer, int a, int startIndex, int nAOs) const |
template<Utils::Derivative O> | |
void | addDerivativesContribution2 (DerivativeContainerType< O > &derivativeContainer, int a, int b, int indexA, int indexB, int nAOsA, int nAOsB, const Utils::MatrixWithDerivatives &S) const |
This class generates the one-electron matrix H for semi-empirical methods.
void Scine::Sparrow::nddo::OneElectronMatrix::addDerivatives | ( | Utils::AutomaticDifferentiation::DerivativeContainerType< O > & | derivativeContainer, |
const Utils::MatrixWithDerivatives & | S | ||
) | const |
Calculates the derivative contribution up to the order.
O. |