mcpele  1.0.0
The Monte Carlo Python Energy Landscape Explorer
 All Classes Namespaces Functions Variables Typedefs
Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
pele::PairIteratorPotential< pairwise_interaction, distance_policy, pair_iterator > Class Template Reference

#include <cell_list_potential.h>

Inheritance diagram for pele::PairIteratorPotential< pairwise_interaction, distance_policy, pair_iterator >:
pele::BasePotential

List of all members.

Public Member Functions

virtual ~PairIteratorPotential ()
 PairIteratorPotential (std::shared_ptr< pairwise_interaction > interaction, std::shared_ptr< distance_policy > dist, std::shared_ptr< pair_iterator > pair_iter)
virtual double get_energy (Array< double > xa)
virtual double get_energy_gradient (Array< double > xa, Array< double > grad)
virtual double get_energy_gradient_hessian (Array< double > xa, Array< double > grad, Array< double > hess)

Protected Member Functions

void refresh_iterator (Array< double > x)

Protected Attributes

std::shared_ptr
< pairwise_interaction > 
m_interaction
std::shared_ptr< distance_policy > m_dist
std::shared_ptr< pair_iterator > m_pair_iter

Static Protected Attributes

static const size_t m_ndim = distance_policy::_ndim

Detailed Description

template<typename pairwise_interaction, typename distance_policy, typename pair_iterator>
class pele::PairIteratorPotential< pairwise_interaction, distance_policy, pair_iterator >

Potential to iterate over the list of atom pairs generated with the cell list implementation in neighbor_iterator.h. This should also do the cell list construction and refresh, such that the interface is the same for the user as with SimplePairwise.

Definition at line 24 of file cell_list_potential.h.


Constructor & Destructor Documentation

template<typename pairwise_interaction, typename distance_policy, typename pair_iterator>
virtual pele::PairIteratorPotential< pairwise_interaction, distance_policy, pair_iterator >::~PairIteratorPotential ( ) [inline, virtual]

Definition at line 31 of file cell_list_potential.h.

template<typename pairwise_interaction, typename distance_policy, typename pair_iterator>
pele::PairIteratorPotential< pairwise_interaction, distance_policy, pair_iterator >::PairIteratorPotential ( std::shared_ptr< pairwise_interaction >  interaction,
std::shared_ptr< distance_policy >  dist,
std::shared_ptr< pair_iterator >  pair_iter 
) [inline]

Definition at line 32 of file cell_list_potential.h.


Member Function Documentation

template<typename pairwise_interaction, typename distance_policy, typename pair_iterator>
virtual double pele::PairIteratorPotential< pairwise_interaction, distance_policy, pair_iterator >::get_energy ( Array< double >  x) [inline, virtual]

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

Reimplemented from pele::BasePotential.

Definition at line 40 of file cell_list_potential.h.

template<typename pairwise_interaction, typename distance_policy, typename pair_iterator>
virtual double pele::PairIteratorPotential< pairwise_interaction, distance_policy, pair_iterator >::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 from pele::BasePotential.

Definition at line 61 of file cell_list_potential.h.

template<typename pairwise_interaction, typename distance_policy, typename pair_iterator>
virtual double pele::PairIteratorPotential< pairwise_interaction, distance_policy, pair_iterator >::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 from pele::BasePotential.

Definition at line 93 of file cell_list_potential.h.

template<typename pairwise_interaction, typename distance_policy, typename pair_iterator>
void pele::PairIteratorPotential< pairwise_interaction, distance_policy, pair_iterator >::refresh_iterator ( Array< double >  x) [inline, protected]

Definition at line 159 of file cell_list_potential.h.


Member Data Documentation

template<typename pairwise_interaction, typename distance_policy, typename pair_iterator>
std::shared_ptr<distance_policy> pele::PairIteratorPotential< pairwise_interaction, distance_policy, pair_iterator >::m_dist [protected]

Definition at line 28 of file cell_list_potential.h.

template<typename pairwise_interaction, typename distance_policy, typename pair_iterator>
std::shared_ptr<pairwise_interaction> pele::PairIteratorPotential< pairwise_interaction, distance_policy, pair_iterator >::m_interaction [protected]

Definition at line 27 of file cell_list_potential.h.

template<typename pairwise_interaction, typename distance_policy, typename pair_iterator>
const size_t pele::PairIteratorPotential< pairwise_interaction, distance_policy, pair_iterator >::m_ndim = distance_policy::_ndim [static, protected]

Definition at line 26 of file cell_list_potential.h.

template<typename pairwise_interaction, typename distance_policy, typename pair_iterator>
std::shared_ptr<pair_iterator > pele::PairIteratorPotential< pairwise_interaction, distance_policy, pair_iterator >::m_pair_iter [protected]

Definition at line 29 of file cell_list_potential.h.


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