File MNDORepulsionEnergy.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
MNDORepulsionEnergy
: public RepulsionCalculator - #include <MNDORepulsionEnergy.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<MNDOPairwiseRepulsion>¶
-
using
Container
= std::vector<std::vector<pairRepulsion_t>>¶
Public Functions
-
MNDORepulsionEnergy
(const Utils::ElementTypeCollection &elements, const Utils::PositionCollection &positions, const ElementParameters &elementParameters) Constructor.
-
~MNDORepulsionEnergy
() 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_
¶
-
int
nAtoms_
¶
-
const Utils::ElementTypeCollection &
elementTypes_
¶
-
const Utils::PositionCollection &
positions_
¶
-
using
-
class
-
namespace
-
namespace