mcpele  1.0.0
The Monte Carlo Python Energy Landscape Explorer
 All Classes Namespaces Functions Variables Typedefs
Public Member Functions
pele::BasePotential Class Reference

#include <base_potential.h>

Inheritance diagram for pele::BasePotential:
pele::AtomListPotential< harmonic_interaction, cartesian_distance< 3 > > pele::AtomListPotential< lj_interaction_cut_smooth, cartesian_distance< 3 > > pele::AtomListPotential< lj_interaction_cut_smooth, periodic_distance< 3 > > pele::AtomListPotential< WCA_interaction, cartesian_distance< 3 > > pele::FrozenPotentialWrapper< HS_WCA< ndim > > pele::FrozenPotentialWrapper< HS_WCACellLists< ndim > > pele::FrozenPotentialWrapper< HS_WCAPeriodic< ndim > > pele::FrozenPotentialWrapper< HS_WCAPeriodicCellLists< ndim > > pele::FrozenPotentialWrapper< LJ > pele::PairIteratorPotential< InversePower_interaction, cartesian_distance< ndim >, CellIter< cartesian_distance< ndim > > > pele::PairIteratorPotential< InversePower_interaction, periodic_distance< ndim >, CellIter< periodic_distance< ndim > > > pele::PairIteratorPotential< lj_interaction_cut_smooth, periodic_distance< ndim >, CellIter< periodic_distance< ndim > > > pele::PairIteratorPotential< pairwise_interaction, distance_policy, CellIter< distance_policy > > pele::PairIteratorPotential< sf_HS_WCA_interaction, cartesian_distance< ndim >, CellIter< cartesian_distance< ndim > > > pele::PairIteratorPotential< sf_HS_WCA_interaction, periodic_distance< ndim >, CellIter< periodic_distance< ndim > > > pele::AtomListPotential< pairwise_interaction, distance_policy > pele::BaseHarmonic pele::CombinedPotential pele::FrozenPotentialWrapper< PotentialType > pele::LowestEigPotential pele::PairIteratorPotential< pairwise_interaction, distance_policy, pair_iterator > pele::PythonPotential pele::RBPotentialWrapper pele::SimplePairwiseNeighborList< pairwise_interaction, distance_policy > pele::SimplePairwisePotential< pairwise_interaction, distance_policy > pele::SimplePairwiseNeighborList< harmonic_interaction > pele::SimplePairwiseNeighborList< lj_interaction > pele::SimplePairwiseNeighborList< sf_HS_WCA_interaction > pele::SimplePairwiseNeighborList< WCA_interaction > pele::SimplePairwisePotential< InverseHalfIntPower_interaction< POW2 >, cartesian_distance< ndim > > pele::SimplePairwisePotential< InverseHalfIntPower_interaction< POW2 >, periodic_distance< ndim > > pele::SimplePairwisePotential< InverseIntPower_interaction< POW >, cartesian_distance< ndim > > pele::SimplePairwisePotential< InverseIntPower_interaction< POW >, periodic_distance< ndim > > pele::SimplePairwisePotential< InversePower_interaction, cartesian_distance< ndim > > pele::SimplePairwisePotential< InversePower_interaction, periodic_distance< ndim > > pele::SimplePairwisePotential< lj_interaction > pele::SimplePairwisePotential< lj_interaction, periodic_distance< 3 > > pele::SimplePairwisePotential< lj_interaction_cut_smooth > pele::SimplePairwisePotential< lj_interaction_cut_smooth, periodic_distance< 3 > > pele::SimplePairwisePotential< morse_interaction > pele::SimplePairwisePotential< sf_HS_WCA_interaction, cartesian_distance< ndim > > pele::SimplePairwisePotential< sf_HS_WCA_interaction, periodic_distance< ndim > > pele::SimplePairwisePotential< WCA_interaction, cartesian_distance< 2 > > pele::SimplePairwisePotential< WCA_interaction, cartesian_distance< 3 > > pele::SimplePairwisePotential< WCA_interaction, periodic_distance< 2 > > pele::SimplePairwisePotential< WCA_interaction, periodic_distance< 3 > >

List of all members.

Public Member Functions

virtual ~BasePotential ()
virtual double get_energy (Array< double > x)
virtual double add_energy_gradient (Array< double > x, Array< double > grad)
virtual double get_energy_gradient (Array< double > x, Array< double > grad)
virtual double add_energy_gradient_hessian (Array< double > x, Array< double > grad, Array< double > hess)
virtual double get_energy_gradient_hessian (Array< double > x, Array< double > grad, Array< double > hess)
virtual void numerical_gradient (Array< double > x, Array< double > grad, double eps=1e-6)
virtual void get_hessian (Array< double > x, Array< double > hess)
virtual void numerical_hessian (Array< double > x, Array< double > hess, double eps=1e-6)

Detailed Description

Definition at line 15 of file base_potential.h.


Constructor & Destructor Documentation

virtual pele::BasePotential::~BasePotential ( ) [inline, virtual]

Definition at line 17 of file base_potential.h.


Member Function Documentation

virtual double pele::BasePotential::add_energy_gradient ( Array< double >  x,
Array< double >  grad 
) [inline, virtual]

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

Reimplemented in pele::AtomListPotential< pairwise_interaction, distance_policy >, pele::AtomListPotential< WCA_interaction, cartesian_distance< 3 > >, pele::AtomListPotential< harmonic_interaction, cartesian_distance< 3 > >, pele::AtomListPotential< lj_interaction_cut_smooth, periodic_distance< 3 > >, pele::AtomListPotential< lj_interaction_cut_smooth, cartesian_distance< 3 > >, pele::SimplePairwiseNeighborList< pairwise_interaction, distance_policy >, pele::SimplePairwiseNeighborList< lj_interaction >, pele::SimplePairwiseNeighborList< WCA_interaction >, pele::SimplePairwiseNeighborList< sf_HS_WCA_interaction >, pele::SimplePairwiseNeighborList< harmonic_interaction >, pele::SimplePairwisePotential< pairwise_interaction, distance_policy >, pele::SimplePairwisePotential< InversePower_interaction, cartesian_distance< ndim > >, pele::SimplePairwisePotential< sf_HS_WCA_interaction, cartesian_distance< ndim > >, pele::SimplePairwisePotential< lj_interaction >, pele::SimplePairwisePotential< WCA_interaction, cartesian_distance< 2 > >, pele::SimplePairwisePotential< sf_HS_WCA_interaction, periodic_distance< ndim > >, pele::SimplePairwisePotential< WCA_interaction, cartesian_distance< 3 > >, pele::SimplePairwisePotential< lj_interaction, periodic_distance< 3 > >, pele::SimplePairwisePotential< lj_interaction_cut_smooth >, pele::SimplePairwisePotential< lj_interaction_cut_smooth, periodic_distance< 3 > >, pele::SimplePairwisePotential< morse_interaction >, pele::SimplePairwisePotential< InversePower_interaction, periodic_distance< ndim > >, pele::SimplePairwisePotential< InverseIntPower_interaction< POW >, cartesian_distance< ndim > >, pele::SimplePairwisePotential< WCA_interaction, periodic_distance< 2 > >, pele::SimplePairwisePotential< WCA_interaction, periodic_distance< 3 > >, pele::SimplePairwisePotential< InverseHalfIntPower_interaction< POW2 >, periodic_distance< ndim > >, pele::SimplePairwisePotential< InverseHalfIntPower_interaction< POW2 >, cartesian_distance< ndim > >, and pele::SimplePairwisePotential< InverseIntPower_interaction< POW >, periodic_distance< ndim > >.

Definition at line 31 of file base_potential.h.

virtual double pele::BasePotential::add_energy_gradient_hessian ( Array< double >  x,
Array< double >  grad,
Array< double >  hess 
) [inline, virtual]

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

Reimplemented in pele::AtomListPotential< pairwise_interaction, distance_policy >, pele::AtomListPotential< WCA_interaction, cartesian_distance< 3 > >, pele::AtomListPotential< harmonic_interaction, cartesian_distance< 3 > >, pele::AtomListPotential< lj_interaction_cut_smooth, periodic_distance< 3 > >, pele::AtomListPotential< lj_interaction_cut_smooth, cartesian_distance< 3 > >, pele::SimplePairwisePotential< pairwise_interaction, distance_policy >, pele::SimplePairwisePotential< InversePower_interaction, cartesian_distance< ndim > >, pele::SimplePairwisePotential< sf_HS_WCA_interaction, cartesian_distance< ndim > >, pele::SimplePairwisePotential< lj_interaction >, pele::SimplePairwisePotential< WCA_interaction, cartesian_distance< 2 > >, pele::SimplePairwisePotential< sf_HS_WCA_interaction, periodic_distance< ndim > >, pele::SimplePairwisePotential< WCA_interaction, cartesian_distance< 3 > >, pele::SimplePairwisePotential< lj_interaction, periodic_distance< 3 > >, pele::SimplePairwisePotential< lj_interaction_cut_smooth >, pele::SimplePairwisePotential< lj_interaction_cut_smooth, periodic_distance< 3 > >, pele::SimplePairwisePotential< morse_interaction >, pele::SimplePairwisePotential< InversePower_interaction, periodic_distance< ndim > >, pele::SimplePairwisePotential< InverseIntPower_interaction< POW >, cartesian_distance< ndim > >, pele::SimplePairwisePotential< WCA_interaction, periodic_distance< 2 > >, pele::SimplePairwisePotential< WCA_interaction, periodic_distance< 3 > >, pele::SimplePairwisePotential< InverseHalfIntPower_interaction< POW2 >, periodic_distance< ndim > >, pele::SimplePairwisePotential< InverseHalfIntPower_interaction< POW2 >, cartesian_distance< ndim > >, and pele::SimplePairwisePotential< InverseIntPower_interaction< POW >, periodic_distance< ndim > >.

Definition at line 52 of file base_potential.h.

virtual double pele::BasePotential::get_energy ( Array< double >  x) [inline, virtual]

Return the energy of configuration x. This is the only function which must be overloaded

Reimplemented in pele::RBPotentialWrapper, pele::FrozenPotentialWrapper< PotentialType >, pele::FrozenPotentialWrapper< LJ >, pele::FrozenPotentialWrapper< HS_WCAPeriodicCellLists< ndim > >, pele::FrozenPotentialWrapper< HS_WCAPeriodic< ndim > >, pele::FrozenPotentialWrapper< HS_WCACellLists< ndim > >, pele::FrozenPotentialWrapper< HS_WCA< ndim > >, pele::LowestEigPotential, pele::PythonPotential, pele::AtomListPotential< pairwise_interaction, distance_policy >, pele::AtomListPotential< WCA_interaction, cartesian_distance< 3 > >, pele::AtomListPotential< harmonic_interaction, cartesian_distance< 3 > >, pele::AtomListPotential< lj_interaction_cut_smooth, periodic_distance< 3 > >, pele::AtomListPotential< lj_interaction_cut_smooth, cartesian_distance< 3 > >, pele::PairIteratorPotential< pairwise_interaction, distance_policy, pair_iterator >, pele::SimplePairwiseNeighborList< pairwise_interaction, distance_policy >, pele::PairIteratorPotential< pairwise_interaction, distance_policy, CellIter< distance_policy > >, pele::PairIteratorPotential< InversePower_interaction, cartesian_distance< ndim >, CellIter< cartesian_distance< ndim > > >, pele::PairIteratorPotential< lj_interaction_cut_smooth, periodic_distance< ndim >, CellIter< periodic_distance< ndim > > >, pele::PairIteratorPotential< sf_HS_WCA_interaction, periodic_distance< ndim >, CellIter< periodic_distance< ndim > > >, pele::PairIteratorPotential< sf_HS_WCA_interaction, cartesian_distance< ndim >, CellIter< cartesian_distance< ndim > > >, pele::PairIteratorPotential< InversePower_interaction, periodic_distance< ndim >, CellIter< periodic_distance< ndim > > >, pele::SimplePairwiseNeighborList< lj_interaction >, pele::SimplePairwiseNeighborList< WCA_interaction >, pele::SimplePairwiseNeighborList< sf_HS_WCA_interaction >, pele::SimplePairwiseNeighborList< harmonic_interaction >, pele::SimplePairwisePotential< pairwise_interaction, distance_policy >, pele::SimplePairwisePotential< InversePower_interaction, cartesian_distance< ndim > >, pele::SimplePairwisePotential< sf_HS_WCA_interaction, cartesian_distance< ndim > >, pele::SimplePairwisePotential< lj_interaction >, pele::SimplePairwisePotential< WCA_interaction, cartesian_distance< 2 > >, pele::SimplePairwisePotential< sf_HS_WCA_interaction, periodic_distance< ndim > >, pele::SimplePairwisePotential< WCA_interaction, cartesian_distance< 3 > >, pele::SimplePairwisePotential< lj_interaction, periodic_distance< 3 > >, pele::SimplePairwisePotential< lj_interaction_cut_smooth >, pele::SimplePairwisePotential< lj_interaction_cut_smooth, periodic_distance< 3 > >, pele::SimplePairwisePotential< morse_interaction >, pele::SimplePairwisePotential< InversePower_interaction, periodic_distance< ndim > >, pele::SimplePairwisePotential< InverseIntPower_interaction< POW >, cartesian_distance< ndim > >, pele::SimplePairwisePotential< WCA_interaction, periodic_distance< 2 > >, pele::SimplePairwisePotential< WCA_interaction, periodic_distance< 3 > >, pele::SimplePairwisePotential< InverseHalfIntPower_interaction< POW2 >, periodic_distance< ndim > >, pele::SimplePairwisePotential< InverseHalfIntPower_interaction< POW2 >, cartesian_distance< ndim > >, pele::SimplePairwisePotential< InverseIntPower_interaction< POW >, periodic_distance< ndim > >, pele::CombinedPotential, and pele::BaseHarmonic.

Definition at line 23 of file base_potential.h.

virtual double pele::BasePotential::get_energy_gradient ( Array< double >  x,
Array< double >  grad 
) [inline, virtual]

compute the energy and gradient.

If not overloaded it will compute the numerical gradient

Reimplemented in pele::RBPotentialWrapper, pele::FrozenPotentialWrapper< PotentialType >, pele::FrozenPotentialWrapper< LJ >, pele::FrozenPotentialWrapper< HS_WCAPeriodicCellLists< ndim > >, pele::FrozenPotentialWrapper< HS_WCAPeriodic< ndim > >, pele::FrozenPotentialWrapper< HS_WCACellLists< ndim > >, pele::FrozenPotentialWrapper< HS_WCA< ndim > >, pele::LowestEigPotential, pele::PythonPotential, pele::PairIteratorPotential< pairwise_interaction, distance_policy, pair_iterator >, pele::PairIteratorPotential< pairwise_interaction, distance_policy, CellIter< distance_policy > >, pele::PairIteratorPotential< InversePower_interaction, cartesian_distance< ndim >, CellIter< cartesian_distance< ndim > > >, pele::PairIteratorPotential< lj_interaction_cut_smooth, periodic_distance< ndim >, CellIter< periodic_distance< ndim > > >, pele::PairIteratorPotential< sf_HS_WCA_interaction, periodic_distance< ndim >, CellIter< periodic_distance< ndim > > >, pele::PairIteratorPotential< sf_HS_WCA_interaction, cartesian_distance< ndim >, CellIter< cartesian_distance< ndim > > >, pele::PairIteratorPotential< InversePower_interaction, periodic_distance< ndim >, CellIter< periodic_distance< ndim > > >, pele::CombinedPotential, pele::SimplePairwiseNeighborList< pairwise_interaction, distance_policy >, pele::SimplePairwiseNeighborList< lj_interaction >, pele::SimplePairwiseNeighborList< WCA_interaction >, pele::SimplePairwiseNeighborList< sf_HS_WCA_interaction >, pele::SimplePairwiseNeighborList< harmonic_interaction >, pele::SimplePairwisePotential< pairwise_interaction, distance_policy >, pele::SimplePairwisePotential< InversePower_interaction, cartesian_distance< ndim > >, pele::SimplePairwisePotential< sf_HS_WCA_interaction, cartesian_distance< ndim > >, pele::SimplePairwisePotential< lj_interaction >, pele::SimplePairwisePotential< WCA_interaction, cartesian_distance< 2 > >, pele::SimplePairwisePotential< sf_HS_WCA_interaction, periodic_distance< ndim > >, pele::SimplePairwisePotential< WCA_interaction, cartesian_distance< 3 > >, pele::SimplePairwisePotential< lj_interaction, periodic_distance< 3 > >, pele::SimplePairwisePotential< lj_interaction_cut_smooth >, pele::SimplePairwisePotential< lj_interaction_cut_smooth, periodic_distance< 3 > >, pele::SimplePairwisePotential< morse_interaction >, pele::SimplePairwisePotential< InversePower_interaction, periodic_distance< ndim > >, pele::SimplePairwisePotential< InverseIntPower_interaction< POW >, cartesian_distance< ndim > >, pele::SimplePairwisePotential< WCA_interaction, periodic_distance< 2 > >, pele::SimplePairwisePotential< WCA_interaction, periodic_distance< 3 > >, pele::SimplePairwisePotential< InverseHalfIntPower_interaction< POW2 >, periodic_distance< ndim > >, pele::SimplePairwisePotential< InverseHalfIntPower_interaction< POW2 >, cartesian_distance< ndim > >, pele::SimplePairwisePotential< InverseIntPower_interaction< POW >, periodic_distance< ndim > >, and pele::BaseHarmonic.

Definition at line 41 of file base_potential.h.

virtual double pele::BasePotential::get_energy_gradient_hessian ( Array< double >  x,
Array< double >  grad,
Array< double >  hess 
) [inline, virtual]

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.

Reimplemented in pele::FrozenPotentialWrapper< PotentialType >, pele::FrozenPotentialWrapper< LJ >, pele::FrozenPotentialWrapper< HS_WCAPeriodicCellLists< ndim > >, pele::FrozenPotentialWrapper< HS_WCAPeriodic< ndim > >, pele::FrozenPotentialWrapper< HS_WCACellLists< ndim > >, pele::FrozenPotentialWrapper< HS_WCA< ndim > >, pele::PairIteratorPotential< pairwise_interaction, distance_policy, pair_iterator >, pele::PairIteratorPotential< pairwise_interaction, distance_policy, CellIter< distance_policy > >, pele::PairIteratorPotential< InversePower_interaction, cartesian_distance< ndim >, CellIter< cartesian_distance< ndim > > >, pele::PairIteratorPotential< lj_interaction_cut_smooth, periodic_distance< ndim >, CellIter< periodic_distance< ndim > > >, pele::PairIteratorPotential< sf_HS_WCA_interaction, periodic_distance< ndim >, CellIter< periodic_distance< ndim > > >, pele::PairIteratorPotential< sf_HS_WCA_interaction, cartesian_distance< ndim >, CellIter< cartesian_distance< ndim > > >, pele::PairIteratorPotential< InversePower_interaction, periodic_distance< ndim >, CellIter< periodic_distance< ndim > > >, pele::CombinedPotential, pele::SimplePairwisePotential< pairwise_interaction, distance_policy >, pele::SimplePairwisePotential< InversePower_interaction, cartesian_distance< ndim > >, pele::SimplePairwisePotential< sf_HS_WCA_interaction, cartesian_distance< ndim > >, pele::SimplePairwisePotential< lj_interaction >, pele::SimplePairwisePotential< WCA_interaction, cartesian_distance< 2 > >, pele::SimplePairwisePotential< sf_HS_WCA_interaction, periodic_distance< ndim > >, pele::SimplePairwisePotential< WCA_interaction, cartesian_distance< 3 > >, pele::SimplePairwisePotential< lj_interaction, periodic_distance< 3 > >, pele::SimplePairwisePotential< lj_interaction_cut_smooth >, pele::SimplePairwisePotential< lj_interaction_cut_smooth, periodic_distance< 3 > >, pele::SimplePairwisePotential< morse_interaction >, pele::SimplePairwisePotential< InversePower_interaction, periodic_distance< ndim > >, pele::SimplePairwisePotential< InverseIntPower_interaction< POW >, cartesian_distance< ndim > >, pele::SimplePairwisePotential< WCA_interaction, periodic_distance< 2 > >, pele::SimplePairwisePotential< WCA_interaction, periodic_distance< 3 > >, pele::SimplePairwisePotential< InverseHalfIntPower_interaction< POW2 >, periodic_distance< ndim > >, pele::SimplePairwisePotential< InverseHalfIntPower_interaction< POW2 >, cartesian_distance< ndim > >, and pele::SimplePairwisePotential< InverseIntPower_interaction< POW >, periodic_distance< ndim > >.

Definition at line 64 of file base_potential.h.

virtual void pele::BasePotential::get_hessian ( Array< double >  x,
Array< double >  hess 
) [inline, virtual]

compute the hessian.

If not overloaded it will call get_energy_gradient_hessian

Definition at line 97 of file base_potential.h.

virtual void pele::BasePotential::numerical_gradient ( Array< double >  x,
Array< double >  grad,
double  eps = 1e-6 
) [inline, virtual]

compute the numerical gradient

Definition at line 75 of file base_potential.h.

virtual void pele::BasePotential::numerical_hessian ( Array< double >  x,
Array< double >  hess,
double  eps = 1e-6 
) [inline, virtual]

compute the numerical gradient

Definition at line 106 of file base_potential.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Functions Variables Typedefs