File PairwiseRepulsion.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 dftb

Functions

template<>
Utils::AutomaticDifferentiation::DerivativeType<Utils::derivativeType::first> getDerivative<Utils::derivativeType::first>() const
template<>
Utils::AutomaticDifferentiation::DerivativeType<Utils::derivativeType::second_atomic> getDerivative<Utils::derivativeType::second_atomic>() const
template<>
Utils::AutomaticDifferentiation::DerivativeType<Utils::derivativeType::second_full> getDerivative<Utils::derivativeType::second_full>() const
class PairwiseRepulsion

Public Functions

PairwiseRepulsion(const RepulsionParameters &repulsionPars)
void calculate(const Eigen::Vector3d &R, Utils::derivOrder order)
double getRepulsionEnergy() const
template<Utils::derivativeType O>
Utils::AutomaticDifferentiation::DerivativeType<O> getDerivative() const

Private Functions

template<Utils::derivOrder O>
Utils::AutomaticDifferentiation::Value1DType<O> calculateRepulsion(double r) const

Private Members

const RepulsionParameters &repulsionPars_
double repulsionEnergy_ = 0
Eigen::RowVector3d repulsionGradient_
Utils::AutomaticDifferentiation::Second3D repulsionHessian_