Class FrozenPotentialWrapper#

Inheritance Relationships#

Base Type#

Class Documentation#

class FrozenPotentialWrapper : public pele::BasePotential#

Public Functions

inline FrozenPotentialWrapper(
std::shared_ptr<BasePotential> potential,
Array<double> const reference_coords,
Array<size_t> const frozen_dof
)#
inline ~FrozenPotentialWrapper()#
inline pele::Array<size_t> get_mobile_dof()#
inline pele::Array<size_t> get_frozen_dof()#
inline Array<double> get_reduced_coords(Array<double> const full_coords)#
inline Array<double> get_full_coords(Array<double> const reduced_coords)#
inline virtual double get_energy(Array<double> const &reduced_coords)#

Return the energy of configuration x.

This is the only function which must be overloaded

inline virtual double get_energy_gradient(
Array<double> const &reduced_coords,
Array<double> &reduced_grad
)#

compute the energy and gradient.

If not overloaded it will compute the numerical gradient

inline virtual double get_energy_gradient_hessian(
Array<double> const &reduced_coords,
Array<double> &reduced_grad,
Array<double> &reduced_hess
)#

compute the energy and gradient and Hessian.

If not overloaded it will compute the Hessian numerically and use get_energy_gradient to get the energy and gradient.

Public Members

FrozenCoordsConverter coords_converter#