MADNESS 0.10.1
ConstantSphere Class Reference

The constant on a sphere problem. More...

#include <test_problems.h>

Inheritance diagram for ConstantSphere:
Collaboration diagram for ConstantSphere:

Public Member Functions

 ConstantSphere (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 > &, 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 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 > &, 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 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 &, const Tensor< double > &) const

Protected Member Functions

bool isHomogeneous () const

Protected Attributes

double radius
Protected Attributes inherited from EmbeddedDirichlet
DomainMaskInterface * dmi
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< NDIM > keyT
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 constant on a sphere problem.

Constructor & Destructor Documentation

◆ ConstantSphere()

Member Function Documentation

◆ check_pts()

virtual std::vector< Vector< double, 3 > > ConstantSphere::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 ConstantSphere::DirichletCond ( const Vector< double, 3 > & x) const
inlinevirtual

Implements EmbeddedDirichlet.

◆ ExactSol()

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

Implements EmbeddedDirichlet.

References radius.

◆ Inhomogeneity()

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

Implements EmbeddedDirichlet.

◆ isHomogeneous()

bool ConstantSphere::isHomogeneous ( ) const
inlineprotectedvirtual

Implements EmbeddedDirichlet.

◆ SurfaceIntegral()

double ConstantSphere::SurfaceIntegral ( ) const
inlinevirtual

The surface area of the domain.

Implements EmbeddedDirichlet.

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

◆ VolumeIntegral()

double ConstantSphere::VolumeIntegral ( ) const
inlinevirtual

The volume of the domain.

Implements EmbeddedDirichlet.

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

Member Data Documentation

◆ radius

double ConstantSphere::radius
protected

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