| Scine::Sparrow
    5.1.0
    Library for fast and agile quantum chemical calculations with semiempirical methods. | 
This class calculates the matrices resulting from the zeroth order expansion of the DFT energy for the DFTB methods. More...
#include <ZeroOrderMatricesCalculator.h>

| 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 | 
This class calculates the matrices resulting from the zeroth order expansion of the DFT energy for the DFTB methods.