8 #ifndef SPARROW_MNDOREPULSIONENERGY_H
9 #define SPARROW_MNDOREPULSIONENERGY_H
23 class ElementParameters;
32 using pairRepulsion_t = std::unique_ptr<MNDOPairwiseRepulsion>;
33 using Container = std::vector<std::vector<pairRepulsion_t>>;
48 void addRepulsionDerivatives(Utils::AutomaticDifferentiation::DerivativeContainerType<Utils::Derivative::First>& derivatives)
const override;
50 Utils::AutomaticDifferentiation::DerivativeContainerType<Utils::Derivative::SecondAtomic>& derivatives)
const override;
52 Utils::AutomaticDifferentiation::DerivativeContainerType<Utils::Derivative::SecondFull>& derivatives)
const override;
55 template<Utils::Derivative O>
56 void addRepulsionDerivativesImpl(Utils::AutomaticDifferentiation::DerivativeContainerType<O>& derivatives)
const;
58 void calculatePairRepulsion(
int i,
int j, Utils::DerivativeOrder order);
59 void initializePair(
int i,
int j);
71 #endif // SPARROW_REPULSIONENERGY_H
Definition: ElementParameters.h:26
void calculateRepulsion(Utils::DerivativeOrder order) override
Starts the calculation of the core-core repulsion up to the.
Definition: MNDORepulsionEnergy.cpp:50
This class sums up the core-core repulsion energies and the corresponding derivatives with respect to...
Definition: MNDORepulsionEnergy.h:30
void addRepulsionDerivatives(Utils::AutomaticDifferentiation::DerivativeContainerType< Utils::Derivative::First > &derivatives) const override
Functions calculating the core-core derivative contributions up to the corresponding derivative order...
MNDORepulsionEnergy(const Utils::ElementTypeCollection &elements, const Utils::PositionCollection &positions, const ElementParameters &elementParameters)
Constructor.
Definition: MNDORepulsionEnergy.cpp:19
~MNDORepulsionEnergy() override
Overrides virtual base class desctructor with default implementation.
void initialize() override
Initializes the core-core repulsion pairs.
Definition: MNDORepulsionEnergy.cpp:26
double getRepulsionEnergy() const override
Sums up all the single core-core contributions to return the overall core-core repulsion energy...
Definition: MNDORepulsionEnergy.cpp:67