8 #ifndef SPARROW_AM1REPULSIONENERGY_H
9 #define SPARROW_AM1REPULSIONENERGY_H
23 class ElementParameters;
31 using PairRepulsionType = std::unique_ptr<AM1PairwiseRepulsion>;
32 using Container = std::vector<std::vector<PairRepulsionType>>;
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);
70 #endif // REPULSIONENERGY_H
void addRepulsionDerivatives(Utils::AutomaticDifferentiation::DerivativeContainerType< Utils::Derivative::First > &derivatives) const override
Functions calculating the core-core derivative contributions up to the corresponding derivative order...
Definition: ElementParameters.h:26
void initialize() override
Initializes the core-core repulsion pairs.
Definition: AM1RepulsionEnergy.cpp:27
void calculateRepulsion(Utils::DerivativeOrder order) override
Starts the calculation of the core-core repulsion up to the.
Definition: AM1RepulsionEnergy.cpp:51
~AM1RepulsionEnergy() override
Overrides virtual base class desctructor with default implementation.
double getRepulsionEnergy() const override
Sums up all the single core-core contributions to return the overall core-core repulsion energy...
Definition: AM1RepulsionEnergy.cpp:68
This class sums up the core-core repulsion energies and the corresponding derivatives with respect to...
Definition: AM1RepulsionEnergy.h:29
AM1RepulsionEnergy(const Utils::ElementTypeCollection &elements, const Utils::PositionCollection &positions, const ElementParameters &elementParameters)
Constructor.
Definition: AM1RepulsionEnergy.cpp:20