File ScfFock.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
ScfFock
: public ElectronicContributionCalculator - #include <ScfFock.h>
Implementation of FockMatrixCalculator for SCF-type DFTB methods.
Subclassed by Scine::Sparrow::dftb::SecondOrderFock, Scine::Sparrow::dftb::ThirdOrderFock
Public 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
()¶
-
void
calculateDensityDependentPart
(Utils::derivOrder order)¶
-
void
calculateDensityIndependentPart
(Utils::derivOrder order)¶
-
Utils::SpinAdaptedMatrix
getMatrix
() const¶
-
void
finalize
(Utils::derivOrder order)¶
This function adds an additive electronic contribution to the Hamiltonian that will be evaluated each SCF iteration.
This function adds an additive electronic contribution to the Hamiltonian that will be evaluated once per single-point calculation.
Protected Functions
-
int
getNumberAtoms
() const¶
-
void
populationAnalysis
()¶
-
void
addDerivatives
(Utils::AutomaticDifferentiation::DerivativeContainerType<Utils::derivativeType::first> &derivatives) const adds the derivatives for the first, second atomic and second full types.
-
void
addDerivatives
(Utils::AutomaticDifferentiation::DerivativeContainerType<Utils::derivativeType::second_atomic> &derivatives) const¶
-
void
addDerivatives
(Utils::AutomaticDifferentiation::DerivativeContainerType<Utils::derivativeType::second_full> &derivatives) const¶
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_
¶
-
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_
¶
Private Functions
-
virtual void
completeH
() = 0¶
-
virtual void
constructG
(Utils::derivOrder order) = 0¶
-
-
class
-
namespace
-
namespace