Class RBPotentialWrapper#

Inheritance Relationships#

Base Type#

Class Documentation#

class RBPotentialWrapper : public pele::BasePotential#

potential wrapper for rigid body systems

this converts rigid body coords to atomistic coords and passes the atomistic coords to the potential function. It also converts the atomistic gradient into a gradient in the rigid body coordinate system.

Public Functions

inline RBPotentialWrapper(
std::shared_ptr<BasePotential> potential,
std::shared_ptr<RBTopology> top
)#
inline virtual double get_energy(pele::Array<double> const &rbcoords)#

Return the energy of configuration x.

This is the only function which must be overloaded

inline virtual double get_energy_gradient(
pele::Array<double> const &rbcoords,
pele::Array<double> &rbgrad
)#

compute the energy and gradient.

If not overloaded it will compute the numerical gradient