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::dftb::ZeroOrderMatricesCalculator Class Reference

This class calculates the matrices resulting from the zeroth order expansion of the DFT energy for the DFTB methods. More...

#include <ZeroOrderMatricesCalculator.h>

Collaboration diagram for Scine::Sparrow::dftb::ZeroOrderMatricesCalculator:
Collaboration graph

Public Member Functions

 ZeroOrderMatricesCalculator (const Utils::ElementTypeCollection &elements, const Utils::PositionCollection &positions, const Utils::AtomsOrbitalsIndexes &aoIndexes, const DFTBCommon::AtomicParameterContainer &atomicPar, const DFTBCommon::DiatomicParameterContainer &diatomicPar, const Utils::DensityMatrix &densityMatrix)
 
void initializeH0S ()
 Initializes the zeroth order corrected Hamiltonian and the overlap matrices. Furthermore, the one-center blocks are already pre-calculated, as they remain constant.
 
void constructH0S (Utils::DerivativeOrder order)
 Calculate the remaining parts of the Hamiltonian and overlap matrices.
 
void initializeFockCalculator ()
 Correspond to functions from ElectronicContributionCalculator Some of these functions do nothing to avoid double initialization (also called for the overlap)
 
void calculateFockMatrix (Utils::DerivativeOrder)
 
void addDerivatives (Utils::AutomaticDifferentiation::DerivativeContainerType< Utils::Derivative::First > &derivatives, const Eigen::MatrixXd &overlapDerivativeMultiplier) const
 
void addDerivatives (Utils::AutomaticDifferentiation::DerivativeContainerType< Utils::Derivative::SecondAtomic > &derivatives, const Eigen::MatrixXd &overlapDerivativeMultiplier) const
 
void addDerivatives (Utils::AutomaticDifferentiation::DerivativeContainerType< Utils::Derivative::SecondFull > &derivatives, const Eigen::MatrixXd &overlapDerivativeMultiplier) const
 
void calculateOverlap (Utils::DerivativeOrder highestRequiredOrder)
 
const
Utils::MatrixWithDerivatives
getOverlap () const
 
const
Utils::MatrixWithDerivatives
getZeroOrderHamiltonian () const
 
void resetOverlap ()
 
template<Utils::Derivative O>
void addDerivativesImpl (DerivativeContainerType< O > &derivatives, const Eigen::MatrixXd &overlapDerivativeMultiplier) const
 

Detailed Description

This class calculates the matrices resulting from the zeroth order expansion of the DFT energy for the DFTB methods.


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