MADNESS 0.10.1
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Y20Sphere Class Reference

The Y_2^0 on a sphere problem. More...

#include <test_problems.h>

Inheritance diagram for Y20Sphere:
Inheritance graph
[legend]
Collaboration diagram for Y20Sphere:
Collaboration graph
[legend]

Public Member Functions

 Y20Sphere (int k, double thresh, double eps, std::string penalty_name, double penalty_prefact, double radius, Mask mask)
 
virtual std::vector< Vector< double, 3 > > check_pts () const
 A list of points where we should compare the computed solution to the exact solution.
 
double DirichletCond (const Vector< double, 3 > &x) const
 
double ExactSol (const Vector< double, 3 > &x) const
 
double Inhomogeneity (const Vector< double, 3 > &x) const
 
double SurfaceIntegral () const
 The surface area of the domain.
 
double VolumeIntegral () const
 The volume of the domain.
 
- Public Member Functions inherited from EmbeddedDirichlet
 EmbeddedDirichlet (double penalty_prefact, std::string penalty_name, double eps, int k, double thresh, Mask mask)
 Sets up the data for the problem-inspecific parts.
 
virtual ~EmbeddedDirichlet ()
 
void load_balance (World &world, const Function< double, 3 > &f) const
 Load balances using the provided Function.
 
double operator() (const Vector< double, 3 > &x) const
 The operator for projecting a MADNESS function.
 
void printout () const
 Do a standard Printout of the problem details.
 
- 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 Member Functions

bool isHomogeneous () const
 

Protected Attributes

double radius
 
- Protected Attributes inherited from EmbeddedDirichlet
DomainMaskInterfacedmi
 
std::string domain_mask_name
 
double eps
 
double penalty_prefact
 
std::string problem_name
 
std::string problem_specific_info
 
SignedDFInterface< 3 > * sdfi
 

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 EmbeddedDirichlet
FunctorOutput fop
 
- Public Attributes inherited from madness::FunctionFunctorInterface< double, 3 >
Level special_level_
 

Detailed Description

The Y_2^0 on a sphere problem.

Constructor & Destructor Documentation

◆ Y20Sphere()

Y20Sphere::Y20Sphere ( int  k,
double  thresh,
double  eps,
std::string  penalty_name,
double  penalty_prefact,
double  radius,
Mask  mask 
)
inline

Member Function Documentation

◆ check_pts()

virtual std::vector< Vector< double, 3 > > Y20Sphere::check_pts ( ) const
inlinevirtual

A list of points where we should compare the computed solution to the exact solution.

Reimplemented from EmbeddedDirichlet.

References radius, and madness::vec().

◆ DirichletCond()

double Y20Sphere::DirichletCond ( const Vector< double, 3 > &  x) const
inlinevirtual

Implements EmbeddedDirichlet.

◆ ExactSol()

double Y20Sphere::ExactSol ( const Vector< double, 3 > &  x) const
inlinevirtual

Implements EmbeddedDirichlet.

References radius.

◆ Inhomogeneity()

double Y20Sphere::Inhomogeneity ( const Vector< double, 3 > &  x) const
inlinevirtual

Implements EmbeddedDirichlet.

◆ isHomogeneous()

bool Y20Sphere::isHomogeneous ( ) const
inlineprotectedvirtual

Implements EmbeddedDirichlet.

◆ SurfaceIntegral()

double Y20Sphere::SurfaceIntegral ( ) const
inlinevirtual

The surface area of the domain.

Implements EmbeddedDirichlet.

References madness::constants::pi, and radius.

◆ VolumeIntegral()

double Y20Sphere::VolumeIntegral ( ) const
inlinevirtual

The volume of the domain.

Implements EmbeddedDirichlet.

References madness::constants::pi, and radius.

Member Data Documentation

◆ radius

double Y20Sphere::radius
protected

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