File RepulsionCalculator.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
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.
-
virtual void
addRepulsionDerivatives(AutomaticDifferentiation::DerivativeContainerType<derivativeType::second_atomic> &derivatives) const¶
-
virtual void
addRepulsionDerivatives(AutomaticDifferentiation::DerivativeContainerType<derivativeType::second_full> &derivatives) const¶
Public Functions
-
RepulsionCalculator(const ElementTypeCollection &elements, const PositionCollection &positions)¶
-
virtual
~RepulsionCalculator()¶
-
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.
Protected Attributes
-
const ElementTypeCollection &
elements_¶
-
const PositionCollection &
positions_¶
-
double
repulsionEnergy_¶
-
GradientCollection
repulsionGradients_¶
-
std::map<std::pair<int, int>, AutomaticDifferentiation::Second3D>
repulsionHessian_¶
-
virtual void
-
class
-
namespace