MADNESS 0.10.1
MolecularVolumeMask Class Reference

#include <molecularmask.h>

Inheritance diagram for MolecularVolumeMask:
Collaboration diagram for MolecularVolumeMask:

Public Member Functions

 MolecularVolumeMask (double sigma, const std::vector< double > atomic_radii, const std::vector< madness::coord_3d > atomic_coords)
virtual double operator() (const madness::coord_3d &r) const
std::vector< madness::Vector< double, 3 > > special_points () const
 Override this to return list of special points to be refined more deeply.
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 > &, double *, int) const
virtual void operator() (const Vector< double *, 2 > &, double *, int) const
virtual void operator() (const Vector< double *, 3 > &, double *, int) const
virtual void operator() (const Vector< double *, 4 > &, double *, int) const
virtual void operator() (const Vector< double *, 5 > &, double *, int) const
virtual void operator() (const Vector< double *, 6 > &, double *, int) const
virtual double operator() (const Vector< double, NDIM > &x) const=0
 You should implement this to return f(x).
virtual bool provides_coeff () const
 does this functor directly provide sum coefficients? or only function values?
virtual bool screened (const Vector< double, NDIM > &, const Vector< double, NDIM > &) const
 Can we screen this function based on the bounding box information?
void set_length_scale (double lo)
 adapt the special level to resolve the smallest length scale
virtual Level special_level () const
 Override this to change the minimum level of refinement at special points (default is 6).
virtual bool supports_vectorized () const
 Does the interface support a vectorized operator()?
virtual coeffT values (const keyT &, const Tensor< double > &) const

Additional Inherited Members

Public Types inherited from madness::FunctionFunctorInterface< double, 3 >
typedef GenTensor< double > coeffT
typedef Key< NDIM > keyT
typedef double value_type
Public Attributes inherited from madness::FunctionFunctorInterface< double, 3 >
Level special_level_
Private Member Functions inherited from MolecularMaskBase
 MolecularMaskBase (double sigma, const std::vector< double > atomic_radii, const std::vector< madness::coord_3d > atomic_coords)
std::vector< madness::Vector< double, 3 > > special_points () const
double atomic_cmask (const madness::coord_3d &r, unsigned int i) const
double atomic_mask (const madness::coord_3d &r, unsigned int i) const
double cmask (double s) const
double dmask (double s) const
madness::coord_3d grad_atomic_mask (const madness::coord_3d &r, unsigned int i) const
madness::coord_3d grad_sdf (const madness::coord_3d &r, const madness::coord_3d &center) const
madness::coord_3d gradient (const madness::coord_3d &r) const
double mask (double s) const
double sdf (const madness::coord_3d &r, const madness::coord_3d &center, double R) const
Private Attributes inherited from MolecularMaskBase
const std::vector< madness::coord_3d > atomic_coords
const std::vector< double > atomic_radii
const int natom
const double sigma

Constructor & Destructor Documentation

◆ MolecularVolumeMask()

MolecularVolumeMask::MolecularVolumeMask ( double sigma,
const std::vector< double > atomic_radii,
const std::vector< madness::coord_3d > atomic_coords )
inline

Member Function Documentation

◆ operator()()

virtual double MolecularVolumeMask::operator() ( const madness::coord_3d & r) const
inlinevirtual

◆ special_points()

std::vector< madness::Vector< double, 3 > > MolecularVolumeMask::special_points ( ) const
inlinevirtual

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

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

References MolecularMaskBase::special_points().


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