pele
Python energy landscape explorer
 All Classes Namespaces Functions Variables Typedefs
Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
pele::SimplePairwiseNeighborList< pairwise_interaction, distance_policy > Class Template Reference

#include <simple_pairwise_ilist.h>

Inheritance diagram for pele::SimplePairwiseNeighborList< pairwise_interaction, distance_policy >:
pele::BasePotential

List of all members.

Public Member Functions

virtual ~SimplePairwiseNeighborList ()
virtual double get_energy (Array< double > x)
virtual double get_energy_gradient (Array< double > x, Array< double > grad)
virtual double add_energy_gradient (Array< double > x, Array< double > grad)

Protected Member Functions

 SimplePairwiseNeighborList (std::shared_ptr< pairwise_interaction > interaction, Array< size_t > const &neighbor_list, std::shared_ptr< distance_policy > dist=NULL)

Protected Attributes

std::shared_ptr
< pairwise_interaction > 
_interaction
std::shared_ptr< distance_policy > _dist
std::vector< size_t > const _neighbor_list

Static Protected Attributes

static const size_t _ndim = distance_policy::_ndim

Detailed Description

template<typename pairwise_interaction, typename distance_policy = cartesian_distance<3>>
class pele::SimplePairwiseNeighborList< pairwise_interaction, distance_policy >

This class loops though atom pairs, computes the distances and gets the value of the energy and gradient from the class pairwise_interaction. pairwise_interaction is a passed parameter and defines the actual potential function.

Definition at line 21 of file simple_pairwise_ilist.h.


Constructor & Destructor Documentation

template<typename pairwise_interaction, typename distance_policy = cartesian_distance<3>>
pele::SimplePairwiseNeighborList< pairwise_interaction, distance_policy >::SimplePairwiseNeighborList ( std::shared_ptr< pairwise_interaction >  interaction,
Array< size_t > const &  neighbor_list,
std::shared_ptr< distance_policy >  dist = NULL 
) [inline, protected]

Definition at line 29 of file simple_pairwise_ilist.h.

template<typename pairwise_interaction, typename distance_policy = cartesian_distance<3>>
virtual pele::SimplePairwiseNeighborList< pairwise_interaction, distance_policy >::~SimplePairwiseNeighborList ( ) [inline, virtual]

Definition at line 39 of file simple_pairwise_ilist.h.


Member Function Documentation

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

Definition at line 59 of file simple_pairwise_ilist.h.

template<typename pairwise_interaction , typename distance_policy >
double pele::SimplePairwiseNeighborList< pairwise_interaction, distance_policy >::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 104 of file simple_pairwise_ilist.h.

template<typename pairwise_interaction, typename distance_policy = cartesian_distance<3>>
virtual double pele::SimplePairwiseNeighborList< pairwise_interaction, distance_policy >::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 42 of file simple_pairwise_ilist.h.


Member Data Documentation

template<typename pairwise_interaction, typename distance_policy = cartesian_distance<3>>
std::shared_ptr<distance_policy> pele::SimplePairwiseNeighborList< pairwise_interaction, distance_policy >::_dist [protected]

Definition at line 25 of file simple_pairwise_ilist.h.

template<typename pairwise_interaction, typename distance_policy = cartesian_distance<3>>
std::shared_ptr<pairwise_interaction> pele::SimplePairwiseNeighborList< pairwise_interaction, distance_policy >::_interaction [protected]

Definition at line 24 of file simple_pairwise_ilist.h.

template<typename pairwise_interaction, typename distance_policy = cartesian_distance<3>>
const size_t pele::SimplePairwiseNeighborList< pairwise_interaction, distance_policy >::_ndim = distance_policy::_ndim [static, protected]

Definition at line 27 of file simple_pairwise_ilist.h.

template<typename pairwise_interaction, typename distance_policy = cartesian_distance<3>>
std::vector<size_t> const pele::SimplePairwiseNeighborList< pairwise_interaction, distance_policy >::_neighbor_list [protected]

Definition at line 26 of file simple_pairwise_ilist.h.


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