Scine::Sparrow
5.1.0
Library for fast and agile quantum chemical calculations with semiempirical methods.
|
#include <ScfFock.h>
Public Member Functions | |
ScfFock (ZeroOrderMatricesCalculator &matricesCalculator, const Utils::ElementTypeCollection &elements, const Utils::PositionCollection &positions, const DFTBCommon::AtomicParameterContainer &atomicPar, const DFTBCommon::DiatomicParameterContainer &diatomicPar, const Utils::DensityMatrix &densityMatrix, const Eigen::MatrixXd &energyWeightedDensityMatrix, std::vector< double > &atomicCharges, const std::vector< double > &coreCharges, const Utils::AtomsOrbitalsIndexes &aoIndexes, const Eigen::MatrixXd &overlapMatrix, const bool &unrestrictedCalculationRunning) | |
void | initialize () override |
void | calculateDensityDependentPart (Utils::DerivativeOrder order) override |
void | calculateDensityIndependentPart (Utils::DerivativeOrder order) override |
Utils::SpinAdaptedMatrix | getMatrix () const override |
void | finalize (Utils::DerivativeOrder order) override |
void | addDensityDependentElectronicContribution (std::shared_ptr< Utils::AdditiveElectronicContribution > contribution) final |
void | addDensityIndependentElectronicContribution (std::shared_ptr< Utils::AdditiveElectronicContribution > contribution) final |
![]() | |
virtual void | addDensityDependentElectronicContribution (std::shared_ptr< AdditiveElectronicContribution > contribution)=0 |
virtual void | addDensityIndependentElectronicContribution (std::shared_ptr< AdditiveElectronicContribution > contribution)=0 |
Protected Member Functions | |
int | getNumberAtoms () const |
void | populationAnalysis () |
void | addDerivatives (Utils::AutomaticDifferentiation::DerivativeContainerType< Utils::Derivative::First > &derivatives) const override |
adds the derivatives for the first, second atomic and second full types. | |
void | addDerivatives (Utils::AutomaticDifferentiation::DerivativeContainerType< Utils::Derivative::SecondAtomic > &derivatives) const override |
void | addDerivatives (Utils::AutomaticDifferentiation::DerivativeContainerType< Utils::Derivative::SecondFull > &derivatives) const override |
Protected Attributes | |
ZeroOrderMatricesCalculator & | zeroOrderMatricesCalculator_ |
const Utils::ElementTypeCollection & | elements_ |
const Utils::PositionCollection & | positions_ |
const DFTBCommon::AtomicParameterContainer & | atomicPar_ |
const DFTBCommon::DiatomicParameterContainer & | diatomicPar_ |
const Utils::DensityMatrix & | densityMatrix_ |
const Eigen::MatrixXd & | energyWeightedDensityMatrix_ |
std::vector< double > & | atomicCharges_ |
const std::vector< double > & | coreCharges_ |
const Utils::AtomsOrbitalsIndexes & | aoIndexes_ |
const Eigen::MatrixXd & | overlapMatrix_ |
const bool & | unrestrictedCalculationRunning_ |
SDFTB | spinDFTB |
Eigen::MatrixXd | HXoverS_ |
Eigen::MatrixXd | H0_ |
Eigen::MatrixXd | correctionToFock |
std::vector< std::shared_ptr < Utils::AdditiveElectronicContribution > > | densityDependentContributions_ |
std::vector< std::shared_ptr < Utils::AdditiveElectronicContribution > > | densityIndependentContributions_ |
Implementation of FockMatrixCalculator for SCF-type DFTB methods.
|
final |
This function adds an additive electronic contribution to the Hamiltonian that will be evaluated each SCF iteration.
|
final |
This function adds an additive electronic contribution to the Hamiltonian that will be evaluated once per single-point calculation.