MADNESS  0.10.1
Public Member Functions | Private Attributes | List of all members
madness::NuclearCorrelationFactor::U3X_functor Class Reference

compute the derivative of U3 wrt the displacement of atom A, coord axis More...

#include <correlationfactor.h>

Inheritance diagram for madness::NuclearCorrelationFactor::U3X_functor:
Inheritance graph
[legend]
Collaboration diagram for madness::NuclearCorrelationFactor::U3X_functor:
Collaboration graph
[legend]

Public Member Functions

 U3X_functor (const NuclearCorrelationFactor *ncf, const size_t iatom, const int axis)
 
double operator() (const coord_3d &xyz) const
 
std::vector< coord_3dspecial_points () const
 Override this to return list of special points to be refined more deeply. More...
 
- Public Member Functions inherited from madness::FunctionFunctorInterface< double, 3 >
 FunctionFunctorInterface ()
 
virtual ~FunctionFunctorInterface ()
 
virtual coeffT coeff (const keyT &) const
 
virtual void operator() (const Vector< double *, 1 > &xvals, double *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 2 > &xvals, double *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 3 > &xvals, double *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 4 > &xvals, double *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 5 > &xvals, double *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 6 > &xvals, double *fvals, int npts) const
 
virtual double operator() (const Vector< double, NDIM > &x) const=0
 You should implement this to return f(x) More...
 
virtual bool provides_coeff () const
 does this functor directly provide sum coefficients? or only function values? More...
 
virtual bool screened (const Vector< double, NDIM > &c1, const Vector< double, NDIM > &c2) const
 Can we screen this function based on the bounding box information? More...
 
void set_length_scale (double lo)
 adapt the special level to resolve the smallest length scale More...
 
virtual Level special_level ()
 Override this change level refinement for special points (default is 6) More...
 
virtual bool supports_vectorized () const
 Does the interface support a vectorized operator()? More...
 
virtual coeffT values (const keyT &key, const Tensor< double > &tensor) const
 

Private Attributes

const int axis
 
const size_t iatom
 
const NuclearCorrelationFactorncf
 

Additional Inherited Members

- Public Types inherited from madness::FunctionFunctorInterface< double, 3 >
typedef GenTensor< double > coeffT
 
typedef Key< NDIMkeyT
 
typedef double value_type
 
- Public Attributes inherited from madness::FunctionFunctorInterface< double, 3 >
Level special_level_
 

Detailed Description

compute the derivative of U3 wrt the displacement of atom A, coord axis

\[ U_3^{X_A} = -\sum_{B\neq A}\left(\frac{\vec S_A'}{S_A}\right)^X\cdot\left(\frac{\vec S_B'}{S_B}\right) \]

with

\[ \left(\frac{\vec S_A'}{S_A}\right)^X = \frac{\partial \rho}{\partial X}\left(\frac{S''_A}{S_A} -\left(\frac{S'_A}{S_A}\right)^2\right)\vec n_{1A} + \left(\frac{S'_A}{S_A}\right)\frac{\partial \vec n_{1A}}{\partial X} \]

Constructor & Destructor Documentation

◆ U3X_functor()

madness::NuclearCorrelationFactor::U3X_functor::U3X_functor ( const NuclearCorrelationFactor ncf,
const size_t  iatom,
const int  axis 
)
inline

Member Function Documentation

◆ operator()()

double madness::NuclearCorrelationFactor::U3X_functor::operator() ( const coord_3d xyz) const
inline

◆ special_points()

std::vector<coord_3d> madness::NuclearCorrelationFactor::U3X_functor::special_points ( ) const
inlinevirtual

Override this to return list of special points to be refined more deeply.

Reimplemented from madness::FunctionFunctorInterface< double, 3 >.

Member Data Documentation

◆ axis

const int madness::NuclearCorrelationFactor::U3X_functor::axis
private

Referenced by operator()().

◆ iatom

const size_t madness::NuclearCorrelationFactor::U3X_functor::iatom
private

Referenced by operator()().

◆ ncf

const NuclearCorrelationFactor* madness::NuclearCorrelationFactor::U3X_functor::ncf
private

The documentation for this class was generated from the following file: