Framework for combining a signed distance function (sdf) with a domain mask to produce MADNESS functions.
More...
|
| DomainMaskSDFFunctor (std::shared_ptr< DomainMaskInterface > mask, std::shared_ptr< SignedDFInterface< NDIM > > sdf) |
| Constructor for mask/sdf functor. More...
|
|
| DomainMaskSDFFunctor (std::shared_ptr< DomainMaskInterface > mask, std::shared_ptr< SignedDFInterface< NDIM > > sdf, int _mswitch) |
| Constructor for mask/sdf function specifying the desired function (mask, surface, etc.) More...
|
|
double | operator() (const Vector< double, NDIM > &x) const |
| Uses the functor interface to make a MADNESS function. More...
|
|
void | setMaskFunction (int _mswitch) |
| Toggles which function from DomainMaskInterface to use when making the MADNESS function. More...
|
|
virtual | ~DomainMaskSDFFunctor () |
|
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...
|
|
virtual bool | supports_vectorized () const |
| Does the interface support a vectorized operator()? More...
|
|
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 std::vector< Vector
< double, NDIM > > | special_points () const |
| Override this to return list of special points to be refined more deeply. More...
|
|
virtual Level | special_level () |
| Override this change level refinement for special points (default is 6) More...
|
|
virtual | ~FunctionFunctorInterface () |
|
virtual coeffT | coeff (const keyT &) const |
|
virtual coeffT | values (const keyT &key, const Tensor< double > &tensor) const |
|
virtual bool | provides_coeff () const |
| does this functor directly provide sum coefficients? or only function values? More...
|
|
template<std::size_t NDIM>
class madness::DomainMaskSDFFunctor< NDIM >
Framework for combining a signed distance function (sdf) with a domain mask to produce MADNESS functions.
This interface provides functor functionality to produce MADNESS functions for
- the domain mask (given the sdf)
- the derivative of the domain mask
- the surface (given the sdf)
- the normal derivative of the surface layer
The functor defaults to the domain mask; however, member functions can toggle between the other options.