File ZeroOrderFock.h¶
- Copyright
This code is licensed under the 3-clause BSD license.
Copyright ETH Zurich, Laboratory for Physical Chemistry, Reiher Group.
See LICENSE.txt for details.
-
namespace
Scine
-
namespace
Sparrow
-
namespace
dftb
-
class
ZeroOrderFock
: public ElectronicContributionCalculator - #include <ZeroOrderFock.h>
Implementation of FockMatrixCalculator for DFTB0.
Public Functions
-
ZeroOrderFock
(ZeroOrderMatricesCalculator &matricesCalculator, const Utils::SingleParticleEnergies &singleParticleEnergies, const Eigen::MatrixXd &energyWeightedDensityMatrix, const int &nElectrons)¶
-
void
initialize
()¶
-
void
calculateDensityIndependentPart
(Utils::derivOrder order)¶
-
void
calculateDensityDependentPart
(Utils::derivOrder order)¶
-
void
finalize
(Utils::derivOrder)¶
-
Utils::SpinAdaptedMatrix
getMatrix
() const¶
-
double
calculateElectronicEnergy
() const¶
-
void
addDerivatives
(Utils::AutomaticDifferentiation::DerivativeContainerType<Utils::derivativeType::first> &derivatives) const¶
-
void
addDerivatives
(Utils::AutomaticDifferentiation::DerivativeContainerType<Utils::derivativeType::second_atomic> &derivatives) const¶
-
void
addDerivatives
(Utils::AutomaticDifferentiation::DerivativeContainerType<Utils::derivativeType::second_full> &derivatives) const¶
This function adds an additive electronic contribution to the Hamiltonian that will be evaluated each SCF iteration.
At zero order no SCF is done. This just calls the density independent version
This function adds an additive electronic contribution to the Hamiltonian that will be evaluated once per single-point calculation.
Private Members
-
ZeroOrderMatricesCalculator &
matricesCalculator_
¶
-
const Utils::SingleParticleEnergies &
singleParticleEnergies_
¶
-
const Eigen::MatrixXd &
energyWeightedDensityMatrix_
¶
-
const int &
nElectrons_
¶
-
std::vector<std::shared_ptr<Utils::AdditiveElectronicContribution>>
densityIndependentContributions_
¶
-
-
class
-
namespace
-
namespace