Scine::Sparrow  5.1.0
Library for fast and agile quantum chemical calculations with semiempirical methods.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Scine::Sparrow::nddo::OneElectronMatrix Class Reference

This class generates the one-electron matrix H for semi-empirical methods. More...

#include <OneElectronMatrix.h>

Collaboration diagram for Scine::Sparrow::nddo::OneElectronMatrix:
Collaboration graph

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
 

Detailed Description

This class generates the one-electron matrix H for semi-empirical methods.

Member Function Documentation

template<Utils::Derivative O>
void Scine::Sparrow::nddo::OneElectronMatrix::addDerivatives ( Utils::AutomaticDifferentiation::DerivativeContainerType< O > &  derivativeContainer,
const Utils::MatrixWithDerivatives S 
) const

Calculates the derivative contribution up to the order.

Template Parameters
O.

The documentation for this class was generated from the following files: