File ElectronicContributionCalculator.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
This header file contains functions that allow for common notation for common things that can be done at a different degree of derivatives.
This header contains alias definitions defining which classes to use for the different degrees of derivatives.
-
namespace
Utils
-
class
ElectronicContributionCalculator
- #include <ElectronicContributionCalculator.h>
Interface for the computation of the Fock matrix. TODO: Separate for non-SCF and SCF specializations?
Public Functions
-
virtual
~ElectronicContributionCalculator
()¶
-
virtual void
initialize
() = 0 Reinitialize after a change in the elements.
-
virtual void
calculateDensityIndependentPart
(Utils::derivOrder order) = 0 This function will be called only once per single-point calculation.
-
virtual void
calculateDensityDependentPart
(Utils::derivOrder order) = 0 This function will be called once per SCF iteration.
-
virtual void
finalize
(Utils::derivOrder order) = 0 This function will be called after the last iteration has run.
-
virtual SpinAdaptedMatrix
getMatrix
() const = 0¶
-
virtual double
calculateElectronicEnergy
() const = 0¶
-
virtual void
addDerivatives
(Utils::AutomaticDifferentiation::DerivativeContainerType<Utils::derivativeType::first> &derivatives) const = 0¶
-
virtual void
addDerivatives
(Utils::AutomaticDifferentiation::DerivativeContainerType<Utils::derivativeType::second_atomic> &derivatives) const = 0¶
-
virtual void
addDerivatives
(Utils::AutomaticDifferentiation::DerivativeContainerType<Utils::derivativeType::second_full> &derivatives) const = 0¶
-
virtual
-
class
-
namespace