MADNESS 0.10.1
Public Member Functions | Protected Attributes | List of all members
madness::guessfactory::PolynomialFunctor Class Reference

Project a general 3D polynomial to the MRA Grid. More...

#include <GuessFactory.h>

Inheritance diagram for madness::guessfactory::PolynomialFunctor:
Inheritance graph
[legend]
Collaboration diagram for madness::guessfactory::PolynomialFunctor:
Collaboration graph
[legend]

Public Member Functions

 PolynomialFunctor (const int &axis)
 simple xyz moments constructor
 
 PolynomialFunctor (const std::string input, const double &damp_width, const Tensor< double > &c)
 
 PolynomialFunctor (const std::string input, const double &damp_width=0.0, const coord_3d &c=coord_3d())
 
std::string axis_to_string (const int &axis) const
 convert a given axis to the appropriate input string
 
double compute_value (const coord_3d &r) const
 create the value of the polynomial according to the data in the data_ structure
 
std::vector< std::vector< double > > give_data ()
 
double operator() (const coord_3d &rr) const
 construction by coordinates
 
std::vector< std::vector< double > > read_string (const std::string string) const
 
void test ()
 
- 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)
 
virtual bool provides_coeff () const
 does this functor directly provide sum coefficients? or only function values?
 
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?
 
void set_length_scale (double lo)
 adapt the special level to resolve the smallest length scale
 
virtual Level special_level ()
 Override this change level refinement for special points (default is 6)
 
virtual std::vector< Vector< double, NDIM > > special_points () const
 Override this to return list of special points to be refined more deeply.
 
virtual bool supports_vectorized () const
 Does the interface support a vectorized operator()?
 
virtual coeffT values (const keyT &key, const Tensor< double > &tensor) const
 

Protected Attributes

coord_3d center =coord_3d()
 
GaussFunctor dampf
 damping function
 
const std::vector< std::vector< double > > data_
 
const std::string input_string_
 

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

Project a general 3D polynomial to the MRA Grid.

Constructor & Destructor Documentation

◆ PolynomialFunctor() [1/3]

madness::guessfactory::PolynomialFunctor::PolynomialFunctor ( const int &  axis)
inline

simple xyz moments constructor

◆ PolynomialFunctor() [2/3]

madness::guessfactory::PolynomialFunctor::PolynomialFunctor ( const std::string  input,
const double &  damp_width = 0.0,
const coord_3d c = coord_3d() 
)
inline

◆ PolynomialFunctor() [3/3]

madness::guessfactory::PolynomialFunctor::PolynomialFunctor ( const std::string  input,
const double &  damp_width,
const Tensor< double > &  c 
)
inline

Member Function Documentation

◆ axis_to_string()

std::string madness::guessfactory::PolynomialFunctor::axis_to_string ( const int &  axis) const
inline

convert a given axis to the appropriate input string

References axis, and MADNESS_EXCEPTION.

◆ compute_value()

double madness::guessfactory::PolynomialFunctor::compute_value ( const coord_3d r) const

create the value of the polynomial according to the data in the data_ structure

References data_, MADNESS_EXCEPTION, and pow().

Referenced by operator()().

◆ give_data()

std::vector< std::vector< double > > madness::guessfactory::PolynomialFunctor::give_data ( )
inline

References data_.

◆ operator()()

double madness::guessfactory::PolynomialFunctor::operator() ( const coord_3d rr) const

construction by coordinates

References center, compute_value(), and dampf.

◆ read_string()

std::vector< std::vector< double > > madness::guessfactory::PolynomialFunctor::read_string ( const std::string  string) const

◆ test()

void madness::guessfactory::PolynomialFunctor::test ( )

References data_, and input_string_.

Member Data Documentation

◆ center

coord_3d madness::guessfactory::PolynomialFunctor::center =coord_3d()
protected

Referenced by operator()().

◆ dampf

GaussFunctor madness::guessfactory::PolynomialFunctor::dampf
protected

damping function

Referenced by operator()().

◆ data_

const std::vector<std::vector<double> > madness::guessfactory::PolynomialFunctor::data_
protected

The data for the construction of the polynomial chain every entry of data_ is vector containing the threee exponents and the coefficient of a monomial dx^ay^bz^c , data_[i] = (a,b,c,d)

Referenced by compute_value(), madness::guessfactory::PolynomialTrigonometricsFunctor::compute_value(), give_data(), and test().

◆ input_string_

const std::string madness::guessfactory::PolynomialFunctor::input_string_
protected

Referenced by test().


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