Class Scine::Utils::RepulsionCalculator

class RepulsionCalculator

Class representing a repulsion calculator between (classical) nuclei.

Unnamed Group

virtual void addRepulsionDerivatives(AutomaticDifferentiation::DerivativeContainerType<derivativeType::first> &derivatives) const

Method to collect the energy derivatives contributions stored in the PairwiseCoreRepulsion classes.

Public Functions

virtual void initialize()

Initializes a vector containing the classes computing the pairwise interactions between cores.

virtual void calculateRepulsion(derivOrder order)

Method to calculate the pairwise core-core repulsion.

This functions dispatches the call to the right PairwiseCoreRepulsion class computing the interaction between two cores up to the derivative order specified.

virtual double getRepulsionEnergy() const

Method to collect the energy contributions stored in the PairwiseCoreRepulsion classes.

Protected Functions

template<derivOrder order>
AutomaticDifferentiation::Value1DType<order> calculatePairwiseCoreRepulsion(double distance, double repulsionConstant)

Use AutomaticDifferentiation to get the right values for the energy derivatives.