Template Class AtomListPotential#

Inheritance Relationships#

Base Type#

Class Documentation#

template<typename pairwise_interaction, typename distance_policy>
class AtomListPotential : public pele::PairwisePotentialInterface#

Public Functions

inline virtual double get_energy(Array<double> const &x)#

Return the energy of configuration x.

This is the only function which must be overloaded

inline virtual double add_energy_gradient(
Array<double> const &x,
Array<double> &grad
)#

compute the energy and gradient, but don’t initialize the gradient to zero

inline virtual double add_energy_gradient_hessian(
Array<double> const &x,
Array<double> &grad,
Array<double> &hess
)#

compute the energy, gradient, and Hessian, but don’t initialize the gradient or hessian to zero

Protected Functions

inline AtomListPotential(
std::shared_ptr<pairwise_interaction> interaction,
std::shared_ptr<distance_policy> dist,
Array<size_t> &atoms1,
Array<size_t> &atoms2,
const Array<double> radii
)#
inline AtomListPotential(
std::shared_ptr<pairwise_interaction> interaction,
std::shared_ptr<distance_policy> dist,
Array<size_t> &atoms1,
Array<size_t> &atoms2
)#
inline AtomListPotential(
std::shared_ptr<pairwise_interaction> interaction,
std::shared_ptr<distance_policy> dist,
Array<size_t> &atoms1
)#