File FockMatrix.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
nddo
-
class
FockMatrix
: public ElectronicContributionCalculator Public Functions
-
FockMatrix
(const Utils::ElementTypeCollection &elements, const Utils::PositionCollection &positions, const Utils::DensityMatrix &densityMatrix, const OneCenterIntegralContainer &oneCIntegrals, const ElementParameters &elementPar, const Utils::AtomsOrbitalsIndexes &aoIndexes, const Utils::OverlapCalculator &overlapCalculator, const bool &unrestrictedCalculationRunning)¶
-
void
initialize
()¶
-
void
calculateDensityIndependentPart
(Utils::derivOrder order)¶
-
void
calculateDensityDependentPart
(Utils::derivOrder order)¶
-
void
finalize
(Utils::derivOrder order)¶
-
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¶
-
const OneElectronMatrix &
getOneElectronMatrix
() const¶
-
const TwoElectronMatrix &
getTwoElectronMatrix
() const¶
-
const std::vector<std::shared_ptr<Utils::AdditiveElectronicContribution>> &
getDensityDependentContributions
() const¶
-
const std::vector<std::shared_ptr<Utils::AdditiveElectronicContribution>> &
getDensityIndependentContributions
() const¶
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.
-
void
clearElectronicContributions
()¶
Private Functions
-
template<Utils::derivativeType
O
>
voidaddDerivativesImpl
(Utils::AutomaticDifferentiation::DerivativeContainerType<O> &derivatives) const¶
Private Members
-
TwoCenterIntegralContainer
twoCenterIntegrals_
¶
-
const Utils::OverlapCalculator &
overlapCalculator_
¶
-
const bool &
unrestrictedCalculationRunning_
¶
-
std::unique_ptr<Utils::ElectronicEnergyCalculator>
electronicEnergyCalculator_
¶
-
std::vector<std::shared_ptr<Utils::AdditiveElectronicContribution>>
densityDependentContributions_
¶
-
std::vector<std::shared_ptr<Utils::AdditiveElectronicContribution>>
densityIndependentContributions_
¶
-
-
class
-
namespace
-
namespace