MADNESS  0.10.1
Public Types | Public Member Functions | Public Attributes | List of all members
Gaussian< T, NDIM > Class Template Reference
Inheritance diagram for Gaussian< T, NDIM >:
Inheritance graph
[legend]
Collaboration diagram for Gaussian< T, NDIM >:
Collaboration graph
[legend]

Public Types

typedef Vector< double, NDIMcoordT
 
typedef Vector< double, NDIMcoordT
 
typedef Vector< double, NDIMcoordT
 
typedef Vector< double, NDIMcoordT
 
typedef Vector< double, NDIMcoordT
 
typedef Vector< double, NDIMcoordT
 
- Public Types inherited from madness::FunctionFunctorInterface< double, 3 >
typedef GenTensor< double > coeffT
 
typedef Key< NDIMkeyT
 
typedef double value_type
 
- Public Types inherited from madness::FunctionFunctorInterface< T, NDIM >
typedef GenTensor< TcoeffT
 
typedef Key< NDIMkeyT
 
typedef T value_type
 

Public Member Functions

 Gaussian (const coord_3d &center, double exponent, double coefficient)
 
 Gaussian (const coord_3d &center, double exponent, double coefficient)
 
 Gaussian (const coordT &center, double exponent, T coefficient)
 
 Gaussian (const coordT &center, double exponent, T coefficient)
 
 Gaussian (const coordT &center, double exponent, T coefficient)
 
 Gaussian (const coordT &center, double exponent, T coefficient)
 
 Gaussian (const coordT &center, double exponent, T coefficient)
 
 Gaussian (const coordT &center, double exponent, T coefficient)
 
double operator() (const coord_3d &x) const
 
double operator() (const coord_3d &x) const
 
T operator() (const coordT &x) const
 You should implement this to return f(x) More...
 
T operator() (const coordT &x) const
 You should implement this to return f(x) More...
 
T operator() (const coordT &x) const
 You should implement this to return f(x) More...
 
T operator() (const coordT &x) const
 You should implement this to return f(x) More...
 
T operator() (const coordT &x) const
 You should implement this to return f(x) More...
 
T operator() (const coordT &x) const
 You should implement this to return f(x) More...
 
std::vector< coord_3dspecial_points () const
 Override this to return list of special points to be refined more deeply. More...
 
std::vector< coordTspecial_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 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
 
- Public Member Functions inherited from madness::FunctionFunctorInterface< T, NDIM >
 FunctionFunctorInterface ()
 
virtual ~FunctionFunctorInterface ()
 
virtual coeffT coeff (const keyT &) const
 
virtual void operator() (const Vector< double *, 1 > &xvals, T *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 2 > &xvals, T *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 3 > &xvals, T *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 4 > &xvals, T *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 5 > &xvals, T *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 6 > &xvals, T *fvals, int npts) const
 
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
 

Public Attributes

const coord_3d center
 
const coordT center
 
const double coefficient
 
const T coefficient
 
const double exponent
 
std::vector< coord_3dspecialpt
 
- Public Attributes inherited from madness::FunctionFunctorInterface< double, 3 >
Level special_level_
 
- Public Attributes inherited from madness::FunctionFunctorInterface< T, NDIM >
Level special_level_
 

Member Typedef Documentation

◆ coordT [1/6]

template<typename T , std::size_t NDIM>
typedef Vector<double,NDIM> Gaussian< T, NDIM >::coordT

◆ coordT [2/6]

template<typename T , std::size_t NDIM>
typedef Vector<double,NDIM> Gaussian< T, NDIM >::coordT

◆ coordT [3/6]

template<typename T , std::size_t NDIM>
typedef Vector<double,NDIM> Gaussian< T, NDIM >::coordT

◆ coordT [4/6]

template<typename T , std::size_t NDIM>
typedef Vector<double,NDIM> Gaussian< T, NDIM >::coordT

◆ coordT [5/6]

template<typename T , std::size_t NDIM>
typedef Vector<double,NDIM> Gaussian< T, NDIM >::coordT

◆ coordT [6/6]

template<typename T , std::size_t NDIM>
typedef Vector<double,NDIM> Gaussian< T, NDIM >::coordT

Constructor & Destructor Documentation

◆ Gaussian() [1/8]

template<typename T , std::size_t NDIM>
Gaussian< T, NDIM >::Gaussian ( const coord_3d center,
double  exponent,
double  coefficient 
)
inline

◆ Gaussian() [2/8]

template<typename T , std::size_t NDIM>
Gaussian< T, NDIM >::Gaussian ( const coord_3d center,
double  exponent,
double  coefficient 
)
inline

◆ Gaussian() [3/8]

template<typename T , std::size_t NDIM>
Gaussian< T, NDIM >::Gaussian ( const coordT center,
double  exponent,
T  coefficient 
)
inline

◆ Gaussian() [4/8]

template<typename T , std::size_t NDIM>
Gaussian< T, NDIM >::Gaussian ( const coordT center,
double  exponent,
T  coefficient 
)
inline

◆ Gaussian() [5/8]

template<typename T , std::size_t NDIM>
Gaussian< T, NDIM >::Gaussian ( const coordT center,
double  exponent,
T  coefficient 
)
inline

◆ Gaussian() [6/8]

template<typename T , std::size_t NDIM>
Gaussian< T, NDIM >::Gaussian ( const coordT center,
double  exponent,
T  coefficient 
)
inline

◆ Gaussian() [7/8]

template<typename T , std::size_t NDIM>
Gaussian< T, NDIM >::Gaussian ( const coordT center,
double  exponent,
T  coefficient 
)
inline

◆ Gaussian() [8/8]

template<typename T , std::size_t NDIM>
Gaussian< T, NDIM >::Gaussian ( const coordT center,
double  exponent,
T  coefficient 
)
inline

Member Function Documentation

◆ operator()() [1/8]

template<typename T , std::size_t NDIM>
double Gaussian< T, NDIM >::operator() ( const coord_3d x) const
inline

References madness::sum().

◆ operator()() [2/8]

template<typename T , std::size_t NDIM>
double Gaussian< T, NDIM >::operator() ( const coord_3d x) const
inline

References madness::sum().

◆ operator()() [3/8]

template<typename T , std::size_t NDIM>
T Gaussian< T, NDIM >::operator() ( const coordT x) const
inlinevirtual

You should implement this to return f(x)

Implements madness::FunctionFunctorInterface< T, NDIM >.

References NDIM, and madness::sum().

◆ operator()() [4/8]

template<typename T , std::size_t NDIM>
T Gaussian< T, NDIM >::operator() ( const coordT x) const
inlinevirtual

You should implement this to return f(x)

Implements madness::FunctionFunctorInterface< T, NDIM >.

References NDIM, and madness::sum().

◆ operator()() [5/8]

template<typename T , std::size_t NDIM>
T Gaussian< T, NDIM >::operator() ( const coordT x) const
inlinevirtual

You should implement this to return f(x)

Implements madness::FunctionFunctorInterface< T, NDIM >.

References NDIM, and madness::sum().

◆ operator()() [6/8]

template<typename T , std::size_t NDIM>
T Gaussian< T, NDIM >::operator() ( const coordT x) const
inlinevirtual

You should implement this to return f(x)

Implements madness::FunctionFunctorInterface< T, NDIM >.

References NDIM, and madness::sum().

◆ operator()() [7/8]

template<typename T , std::size_t NDIM>
T Gaussian< T, NDIM >::operator() ( const coordT x) const
inlinevirtual

You should implement this to return f(x)

Implements madness::FunctionFunctorInterface< T, NDIM >.

References NDIM, and madness::sum().

◆ operator()() [8/8]

template<typename T , std::size_t NDIM>
T Gaussian< T, NDIM >::operator() ( const coordT x) const
inlinevirtual

You should implement this to return f(x)

Implements madness::FunctionFunctorInterface< T, NDIM >.

References NDIM, and madness::sum().

◆ special_points() [1/2]

template<typename T , std::size_t NDIM>
std::vector<coord_3d> Gaussian< T, NDIM >::special_points ( ) const
inlinevirtual

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

Reimplemented from madness::FunctionFunctorInterface< T, NDIM >.

◆ special_points() [2/2]

template<typename T , std::size_t NDIM>
std::vector<coordT> Gaussian< T, NDIM >::special_points ( ) const
inlinevirtual

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

Reimplemented from madness::FunctionFunctorInterface< T, NDIM >.

Member Data Documentation

◆ center [1/2]

template<typename T , std::size_t NDIM>
const coordT Gaussian< T, NDIM >::center

◆ center [2/2]

template<typename T , std::size_t NDIM>
const coordT Gaussian< T, NDIM >::center

◆ coefficient [1/2]

template<typename T , std::size_t NDIM>
const T Gaussian< T, NDIM >::coefficient

◆ coefficient [2/2]

template<typename T , std::size_t NDIM>
const T Gaussian< T, NDIM >::coefficient

◆ exponent

template<typename T , std::size_t NDIM>
const double Gaussian< T, NDIM >::exponent

◆ specialpt

template<typename T , std::size_t NDIM>
std::vector< coord_3d > Gaussian< T, NDIM >::specialpt

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