File AM1RepulsionEnergy.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 -
namespace
Sparrow -
namespace
nddo -
class
AM1RepulsionEnergy: public RepulsionCalculator - #include <AM1RepulsionEnergy.h>
This class sums up the core-core repulsion energies and the corresponding derivatives with respect to the nuclear cartesian coordinate between all pairs of cores.
It inherits from Utils::RepulsionCalculator in order for it to work with the LCAO/ScfMethod polymorphic system.
Public Types
-
using
PairRepulsionType= std::unique_ptr<AM1PairwiseRepulsion>¶
-
using
Container= std::vector<std::vector<PairRepulsionType>>¶
Public Functions
-
AM1RepulsionEnergy(const Utils::ElementTypeCollection &elements, const Utils::PositionCollection &positions, const ElementParameters &elementParameters) Constructor.
-
~AM1RepulsionEnergy() Overrides virtual base class desctructor with default implementation.
-
void
initialize() Initializes the core-core repulsion pairs.
-
void
calculateRepulsion(Utils::derivOrder order) Starts the calculation of the core-core repulsion up to the.
- Parameters
order: derivative order.
-
double
getRepulsionEnergy() const Sums up all the single core-core contributions to return the overall core-core repulsion energy.
-
void
addRepulsionDerivatives(Utils::AutomaticDifferentiation::DerivativeContainerType<Utils::derivativeType::first> &derivatives) const Functions calculating the core-core derivative contributions up to the corresponding derivative order.
-
void
addRepulsionDerivatives(Utils::AutomaticDifferentiation::DerivativeContainerType<Utils::derivativeType::second_atomic> &derivatives) const¶
-
void
addRepulsionDerivatives(Utils::AutomaticDifferentiation::DerivativeContainerType<Utils::derivativeType::second_full> &derivatives) const¶
Private Functions
-
template<Utils::derivativeType
O>
voidaddRepulsionDerivativesImpl(Utils::AutomaticDifferentiation::DerivativeContainerType<O> &derivatives) const¶
-
void
calculatePairRepulsion(int i, int j, Utils::derivOrder order)¶
-
void
initializePair(int i, int j)¶
-
using
-
class
-
namespace
-
namespace