8 #ifndef SPARROW_PM6REPULSIONENERGY_H
9 #define SPARROW_PM6REPULSIONENERGY_H
25 class ElementParameters;
26 class ElementPairParameters;
35 using pairRepulsion_t = std::unique_ptr<PM6PairwiseRepulsion>;
36 using Container = std::vector<std::vector<pairRepulsion_t>>;
52 void addRepulsionDerivatives(Utils::AutomaticDifferentiation::DerivativeContainerType<Utils::Derivative::First>& derivatives)
const override;
54 Utils::AutomaticDifferentiation::DerivativeContainerType<Utils::Derivative::SecondAtomic>& derivatives)
const override;
56 Utils::AutomaticDifferentiation::DerivativeContainerType<Utils::Derivative::SecondFull>& derivatives)
const override;
59 template<Utils::Derivative O>
60 void addRepulsionDerivativesImpl(Utils::AutomaticDifferentiation::DerivativeContainerType<O>& derivatives)
const;
62 void calculatePairRepulsion(
int i,
int j, Utils::DerivativeOrder order);
63 void initializePair(
int i,
int j);
75 #endif // SPARROW_REPULSIONENERGY_H
void calculateRepulsion(Utils::DerivativeOrder order) override
Starts the calculation of the core-core repulsion up to the.
Definition: PM6RepulsionEnergy.cpp:52
Definition: ElementParameters.h:26
Definition: ElementPairParameters.h:29
void initialize() override
Initializes the core-core repulsion pairs.
Definition: PM6RepulsionEnergy.cpp:27
This class sums up the core-core repulsion energies and the corresponding derivatives with respect to...
Definition: PM6RepulsionEnergy.h:33
double getRepulsionEnergy() const override
Sums up all the single core-core contributions to return the overall core-core repulsion energy...
Definition: PM6RepulsionEnergy.cpp:69
~PM6RepulsionEnergy() override
Overrides virtual base class desctructor with default implementation.
void addRepulsionDerivatives(Utils::AutomaticDifferentiation::DerivativeContainerType< Utils::Derivative::First > &derivatives) const override
Functions calculating the core-core derivative contributions up to the corresponding derivative order...
PM6RepulsionEnergy(const Utils::ElementTypeCollection &elements, const Utils::PositionCollection &positions, const ElementParameters &elementParameters, const ElementPairParameters &pairParameters)
Constructor.
Definition: PM6RepulsionEnergy.cpp:20