Scine::Sparrow  5.0.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::TwoElectronMatrix Class Reference

Class to generate the two-electron matrix G for semi-empirical methods. This class is parallelized with OpenMP. More...

#include <TwoElectronMatrix.h>

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

Public Member Functions

 TwoElectronMatrix (const Utils::ElementTypeCollection &elements, const Utils::DensityMatrix &densityMatrix, const OneCenterIntegralContainer &oneCIntegrals, const TwoCenterIntegralContainer &twoCIntegrals, const ElementParameters &elementPar, const Utils::AtomsOrbitalsIndexes &aoIndexes)
 
void initialize ()
 
void calculate (bool spinPolarized)
 
void calculateBlocks ()
 
void calculateSameAtomBlock (int startIndex, int nAOs, Utils::ElementType el, Eigen::MatrixXd &G, Eigen::MatrixXd &GAlpha, Eigen::MatrixXd &GBeta)
 
void calculateDifferentAtomsBlock (int startA, int startB, int nAOsA, int nAOsB, const multipole::Global2c2eMatrix &m, Eigen::MatrixXd &G, Eigen::MatrixXd &GAlpha, Eigen::MatrixXd &GBeta)
 
template<Utils::Derivative O>
void addDerivatives (Utils::AutomaticDifferentiation::DerivativeContainerType< O > &derivativeContainer) const
 
const Eigen::MatrixXd & operator() () const
 
const Eigen::MatrixXd & getMatrix () const
 
const Eigen::MatrixXd & getAlpha () const
 
const Eigen::MatrixXd & getBeta () const
 
const OneCenterIntegralContainergetOneCenterIntegrals () const
 Getter for the 1 center 2 electrons integral matrix.
 
const TwoCenterIntegralContainergetTwoCenterIntegrals () const
 Getter for the 2 center 2 electron integral matrix.
 
template<Utils::Derivative O>
void addDerivatives (DerivativeContainerType< O > &derivativeContainer) const
 
template<Utils::Derivative O>
void addDerivativesForBlock (DerivativeContainerType< O > &derivativeContainer, int a, int b, int startA, int startB, int nAOsA, int nAOsB, const multipole::Global2c2eMatrix &m) const
 

Detailed Description

Class to generate the two-electron matrix G for semi-empirical methods. This class is parallelized with OpenMP.


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