MADNESS 0.10.1
Gaussian< T, NDIM > Class Template Reference
Inheritance diagram for Gaussian< T, NDIM >:
Collaboration diagram for Gaussian< T, NDIM >:

Public Types

typedef Vector< double, NDIM > coordT
typedef Vector< double, NDIM > coordT
typedef Vector< double, NDIM > coordT
typedef Vector< double, NDIM > coordT
typedef Vector< double, NDIM > coordT
typedef Vector< double, NDIM > coordT
typedef Vector< double, NDIM > coordT
Public Types inherited from madness::FunctionFunctorInterface< double, 3 >
typedef GenTensor< double > coeffT
typedef Key< NDIM > keyT
typedef double value_type
Public Types inherited from madness::FunctionFunctorInterface< T, NDIM >
typedef GenTensor< T > coeffT
typedef Key< NDIM > keyT
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 coord_3d &center, double exponent, double coefficient)
 Gaussian (const coordT &c, double e, T coeff)
 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
double operator() (const coord_3d &x) const
T operator() (const coordT &x) const
 You should implement this to return f(x).
T operator() (const coordT &x) const
 You should implement this to return f(x).
T operator() (const coordT &x) const
 You should implement this to return f(x).
T operator() (const coordT &x) const
 You should implement this to return f(x).
T operator() (const coordT &x) const
 You should implement this to return f(x).
T operator() (const coordT &x) const
 You should implement this to return f(x).
T operator() (const coordT &x) const
 You should implement this to return f(x).
std::vector< coord_3d > special_points () const
 Override this to return list of special points to be refined more deeply.
std::vector< coord_3d > special_points () const
 Override this to return list of special points to be refined more deeply.
std::vector< coordT > 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 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
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 > &, T *, int) const
virtual void operator() (const Vector< double *, 2 > &, T *, int) const
virtual void operator() (const Vector< double *, 3 > &, T *, int) const
virtual void operator() (const Vector< double *, 4 > &, T *, int) const
virtual void operator() (const Vector< double *, 5 > &, T *, int) const
virtual void operator() (const Vector< double *, 6 > &, T *, int) const
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

Public Attributes

const coord_3d center
coordT center
const coordT center
const double coefficient
T coefficient
const T coefficient
const double exponent
double exponent
std::vector< coord_3d > specialpt
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/7]

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

◆ coordT [2/7]

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

◆ coordT [3/7]

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

◆ coordT [4/7]

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

◆ coordT [5/7]

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

◆ coordT [6/7]

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

◆ coordT [7/7]

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

Constructor & Destructor Documentation

◆ Gaussian() [1/10]

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

References center, coefficient, exponent, and specialpt.

◆ Gaussian() [2/10]

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

References center, coefficient, exponent, and specialpt.

◆ Gaussian() [3/10]

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

References center, coefficient, exponent, and specialpt.

◆ Gaussian() [4/10]

template<typename T, std::size_t NDIM>
Gaussian< T, NDIM >::Gaussian ( const coordT & c,
double e,
T coeff )
inline

◆ Gaussian() [5/10]

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

References center, coefficient, and exponent.

◆ Gaussian() [6/10]

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

References center, coefficient, and exponent.

◆ Gaussian() [7/10]

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

References center, coefficient, and exponent.

◆ Gaussian() [8/10]

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

◆ Gaussian() [9/10]

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

References center, coefficient, and exponent.

◆ Gaussian() [10/10]

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

Member Function Documentation

◆ operator()() [1/10]

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

◆ operator()() [2/10]

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

◆ operator()() [3/10]

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

◆ operator()() [4/10]

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< double, 3 >.

References center, coefficient, d, exponent, NDIM, and madness::r2().

◆ operator()() [5/10]

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< double, 3 >.

References center, coefficient, exponent, NDIM, and madness::sum().

◆ operator()() [6/10]

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< double, 3 >.

References center, coefficient, exponent, NDIM, and madness::sum().

◆ operator()() [7/10]

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< double, 3 >.

References center, coefficient, exponent, NDIM, and madness::sum().

◆ operator()() [8/10]

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< double, 3 >.

References center, coefficient, exponent, NDIM, and madness::sum().

◆ operator()() [9/10]

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< double, 3 >.

References center, coefficient, exponent, NDIM, and madness::sum().

◆ operator()() [10/10]

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< double, 3 >.

References center, coefficient, exponent, NDIM, and madness::sum().

◆ special_points() [1/3]

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< double, 3 >.

References specialpt.

◆ special_points() [2/3]

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< double, 3 >.

References specialpt.

◆ special_points() [3/3]

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< double, 3 >.

References center.

Member Data Documentation

◆ center [1/3]

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

◆ center [2/3]

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

◆ center [3/3]

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

◆ coefficient [1/3]

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

◆ coefficient [2/3]

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

◆ coefficient [3/3]

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

◆ exponent [1/2]

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

◆ exponent [2/2]

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

◆ specialpt

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

Referenced by Gaussian(), and special_points().


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