Scine::Sparrow  5.1.0
Library for fast and agile quantum chemical calculations with semiempirical methods.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Scine::Sparrow::nddo::AM1RepulsionEnergy Class Reference

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. More...

#include <AM1RepulsionEnergy.h>

Inheritance diagram for Scine::Sparrow::nddo::AM1RepulsionEnergy:
Inheritance graph
Collaboration diagram for Scine::Sparrow::nddo::AM1RepulsionEnergy:
Collaboration graph

Public Types

using PairRepulsionType = std::unique_ptr< AM1PairwiseRepulsion >
 
using Container = std::vector< std::vector< PairRepulsionType >>
 

Public Member Functions

 AM1RepulsionEnergy (const Utils::ElementTypeCollection &elements, const Utils::PositionCollection &positions, const ElementParameters &elementParameters)
 Constructor.
 
 ~AM1RepulsionEnergy () override
 Overrides virtual base class desctructor with default implementation.
 
void initialize () override
 Initializes the core-core repulsion pairs.
 
void calculateRepulsion (Utils::DerivativeOrder order) override
 Starts the calculation of the core-core repulsion up to the. More...
 
double getRepulsionEnergy () const override
 Sums up all the single core-core contributions to return the overall core-core repulsion energy.
 
void addRepulsionDerivatives (Utils::AutomaticDifferentiation::DerivativeContainerType< Utils::Derivative::First > &derivatives) const override
 Functions calculating the core-core derivative contributions up to the corresponding derivative order.
 
void addRepulsionDerivatives (Utils::AutomaticDifferentiation::DerivativeContainerType< Utils::Derivative::SecondAtomic > &derivatives) const override
 
void addRepulsionDerivatives (Utils::AutomaticDifferentiation::DerivativeContainerType< Utils::Derivative::SecondFull > &derivatives) const override
 
template<Utils::Derivative O>
void addRepulsionDerivativesImpl (DerivativeContainerType< O > &derivatives) const
 
- Public Member Functions inherited from Scine::Utils::RepulsionCalculator
virtual void calculateRepulsion (DerivativeOrder order)
 
virtual void addRepulsionDerivatives (AutomaticDifferentiation::DerivativeContainerType< Derivative::First > &derivatives) const
 
virtual void addRepulsionDerivatives (AutomaticDifferentiation::DerivativeContainerType< Derivative::SecondAtomic > &derivatives) const
 
virtual void addRepulsionDerivatives (AutomaticDifferentiation::DerivativeContainerType< Derivative::SecondFull > &derivatives) const
 

Additional Inherited Members

- Protected Member Functions inherited from Scine::Utils::RepulsionCalculator
AutomaticDifferentiation::Value1DType
< order > 
calculatePairwiseCoreRepulsion (double distance, double repulsionConstant)
 

Detailed Description

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.

Member Function Documentation

void Scine::Sparrow::nddo::AM1RepulsionEnergy::calculateRepulsion ( Utils::DerivativeOrder  order)
override

Starts the calculation of the core-core repulsion up to the.

Parameters
orderderivative order.

The documentation for this class was generated from the following files: