8 #ifndef SPARROW_DFTB_ZEROORDERFOCK_H
9 #define SPARROW_DFTB_ZEROORDERFOCK_H
17 class SingleParticleEnergies;
18 class AdditiveElectronicContribution;
24 class ZeroOrderMatricesCalculator;
33 const Eigen::MatrixXd& energyWeightedDensityMatrix,
const int& nElectrons);
35 void initialize()
override;
36 void calculateDensityIndependentPart(Utils::DerivativeOrder order)
override;
37 void calculateDensityDependentPart(Utils::DerivativeOrder order)
override;
38 void finalize(Utils::DerivativeOrder )
override {
41 double calculateElectronicEnergy()
const override;
42 void addDerivatives(Utils::AutomaticDifferentiation::DerivativeContainerType<Utils::Derivative::First>& derivatives)
const override;
43 void addDerivatives(Utils::AutomaticDifferentiation::DerivativeContainerType<Utils::Derivative::SecondAtomic>& derivatives)
const override;
44 void addDerivatives(Utils::AutomaticDifferentiation::DerivativeContainerType<Utils::Derivative::SecondFull>& derivatives)
const override;
60 const Eigen::MatrixXd& energyWeightedDensityMatrix_;
61 const int& nElectrons_;
62 std::vector<std::shared_ptr<Utils::AdditiveElectronicContribution>> densityIndependentContributions_;
69 #endif // SPARROW_DFTB_ZEROORDERFOCK_H
void addDensityDependentElectronicContribution(std::shared_ptr< Utils::AdditiveElectronicContribution > contribution) final
Definition: ZeroOrderFock.cpp:104
Definition: ZeroOrderFock.h:29
This class calculates the matrices resulting from the zeroth order expansion of the DFT energy for th...
Definition: ZeroOrderMatricesCalculator.h:32
void addDensityIndependentElectronicContribution(std::shared_ptr< Utils::AdditiveElectronicContribution > contribution) final
Definition: ZeroOrderFock.cpp:108