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

creates a plane-wave: sin (or cos) with argument (npi/L*x) More...

#include <GuessFactory.h>

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

Public Types

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

Public Member Functions

 PlaneWaveFunctor (std::vector< double > vn, std::vector< bool > vc, const coord_3d &c)
 
std::string name (const bool &compact=false) const
 
double operator() (const coord_1d &x, const int &dim) const
 in case this is needed at some point
 
double operator() (const coord_3d &r) const
 for explicit construction of this plane-wave function
 
double operator() (const double &x, const int &dim) const
 operator for the 1D plane waves
 
- 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
 

Public Attributes

const std::vector< bool > cosinus
 
const Tensor< double > L
 
const std::vector< double > n
 
const coord_3d origin
 
- Public Attributes inherited from madness::FunctionFunctorInterface< double, 3 >
Level special_level_
 

Detailed Description

creates a plane-wave: sin (or cos) with argument (npi/L*x)

Member Typedef Documentation

◆ resultT

Constructor & Destructor Documentation

◆ PlaneWaveFunctor()

madness::guessfactory::PlaneWaveFunctor::PlaneWaveFunctor ( std::vector< double >  vn,
std::vector< bool >  vc,
const coord_3d c 
)
inline

Member Function Documentation

◆ name()

std::string madness::guessfactory::PlaneWaveFunctor::name ( const bool &  compact = false) const

References cosinus, L, and n.

◆ operator()() [1/3]

double madness::guessfactory::PlaneWaveFunctor::operator() ( const coord_1d x,
const int &  dim 
) const
inline

in case this is needed at some point

◆ operator()() [2/3]

double madness::guessfactory::PlaneWaveFunctor::operator() ( const coord_3d r) const

for explicit construction of this plane-wave function

◆ operator()() [3/3]

double madness::guessfactory::PlaneWaveFunctor::operator() ( const double &  x,
const int &  dim 
) const

operator for the 1D plane waves

References cosinus, L, and n.

Member Data Documentation

◆ cosinus

const std::vector<bool> madness::guessfactory::PlaneWaveFunctor::cosinus

Referenced by name(), and operator()().

◆ L

const Tensor<double> madness::guessfactory::PlaneWaveFunctor::L

Referenced by name(), and operator()().

◆ n

const std::vector<double> madness::guessfactory::PlaneWaveFunctor::n

Referenced by name(), and operator()().

◆ origin

const coord_3d madness::guessfactory::PlaneWaveFunctor::origin

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