File PM6RepulsionEnergy.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
PM6RepulsionEnergy: public RepulsionCalculator - #include <PM6RepulsionEnergy.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
pairRepulsion_t= std::unique_ptr<PM6PairwiseRepulsion>¶
-
using
Container= std::vector<std::vector<pairRepulsion_t>>¶
Public Functions
-
PM6RepulsionEnergy(const Utils::ElementTypeCollection &elements, const Utils::PositionCollection &positions, const ElementParameters &elementParameters, const ElementPairParameters &pairParameters) Constructor.
-
~PM6RepulsionEnergy() 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)¶
Private Members
-
const ElementParameters &
elementParameters_¶
-
const ElementPairParameters &
pairParameters_¶
-
int
nAtoms_¶
-
const Utils::ElementTypeCollection &
elementTypes_¶
-
const Utils::PositionCollection &
positions_¶
-
using
-
class
-
namespace
-
namespace