pele
Python energy landscape explorer
 All Classes Namespaces Functions Variables Typedefs
Public Member Functions | Public Attributes
pele::sf_HS_WCA_interaction Struct Reference

#include <hs_wca.h>

List of all members.

Public Member Functions

 sf_HS_WCA_interaction (const double eps, const double alpha, const Array< double > radii, const double delta=1e-10)
double energy (const double r2, const size_t atomi, const size_t atomj) const
double energy_gradient (const double r2, double *const gij, const size_t atomi, const size_t atomj) const
double energy_gradient_hessian (const double r2, double *const gij, double *const hij, const size_t atomi, const size_t atomj) const
void evaluate_pair_potential (const double rmin, const double rmax, const size_t nr_points, const size_t atomi, const size_t atomj, std::vector< double > &x, std::vector< double > &y) const

Public Attributes

const double m_eps
const double m_alpha
const Array< double > m_radii
const double m_delta
const double m_prfac

Detailed Description

This a WCA-like potential, which mostly avoids square roots and extrapolates linearly "into the hard core". That should be useful to minimize HS-WCA-like systems. The pair potential is: V_{sfHS-WCA}(r^2) = 0 { if } r r_S V_{sfHS-WCA}(r^2) = V_{fHS-WCA}(r^2) { if } r_ < r < r_S V_{sfHS-WCA}(r^2) = E_ - ({r^2} - r_)G_ { if } r r_ Here: E_ = V_{fHS-WCA}(r_) G_ = {grad}[V_{fHS-WCA}](r_) And: r_H : sum of hard radii r_S = (1 + ) * r_H r_ = r_H + The choice of the delta parameter below is somewhat arbitrary and could probably be optimised. Computing the gradient GX at the point where we go from fWCA to linear is somewhat confusing because the graident is originally computed as grad / (-r).

Definition at line 38 of file hs_wca.h.


Constructor & Destructor Documentation

pele::sf_HS_WCA_interaction::sf_HS_WCA_interaction ( const double  eps,
const double  alpha,
const Array< double >  radii,
const double  delta = 1e-10 
) [inline]

Definition at line 44 of file hs_wca.h.


Member Function Documentation

double pele::sf_HS_WCA_interaction::energy ( const double  r2,
const size_t  atomi,
const size_t  atomj 
) const [inline]

Definition at line 51 of file hs_wca.h.

double pele::sf_HS_WCA_interaction::energy_gradient ( const double  r2,
double *const  gij,
const size_t  atomi,
const size_t  atomj 
) const [inline]

Definition at line 88 of file hs_wca.h.

double pele::sf_HS_WCA_interaction::energy_gradient_hessian ( const double  r2,
double *const  gij,
double *const  hij,
const size_t  atomi,
const size_t  atomj 
) const [inline]

Definition at line 128 of file hs_wca.h.

void pele::sf_HS_WCA_interaction::evaluate_pair_potential ( const double  rmin,
const double  rmax,
const size_t  nr_points,
const size_t  atomi,
const size_t  atomj,
std::vector< double > &  x,
std::vector< double > &  y 
) const [inline]

This can be used to plot the potential, as evaluated numerically.

Definition at line 174 of file hs_wca.h.


Member Data Documentation

Definition at line 40 of file hs_wca.h.

Definition at line 42 of file hs_wca.h.

Definition at line 39 of file hs_wca.h.

Definition at line 43 of file hs_wca.h.

Definition at line 41 of file hs_wca.h.


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