MADNESS  0.10.1
Public Member Functions | Protected Attributes | Private Member Functions | List of all members
madness::GaussianDomainMask Class Reference

Use a Gaussian for the surface function and the corresponding erf for the domain mask. More...

#include <sdf_domainmask.h>

Inheritance diagram for madness::GaussianDomainMask:
Inheritance graph
[legend]
Collaboration diagram for madness::GaussianDomainMask:
Collaboration graph
[legend]

Public Member Functions

 GaussianDomainMask (double epsilon)
 Constructor for the domain mask. More...
 
virtual ~GaussianDomainMask ()
 
double dmask (double d) const
 Derivative of characteristic function with respect to the normal distance. More...
 
double dsurface (double d) const
 Value of d(surface)/ddistance. More...
 
double mask (double d) const
 Value of characteristic function at normal distance d from the surface. More...
 
double surface (double d) const
 Value of surface function at distance d normal to surface. More...
 
- Public Member Functions inherited from madness::DomainMaskInterface
virtual ~DomainMaskInterface ()
 

Protected Attributes

const double epsilon
 The width of the transition region. More...
 

Private Member Functions

 GaussianDomainMask ()
 Forbidden. More...
 

Detailed Description

Use a Gaussian for the surface function and the corresponding erf for the domain mask.

Constructor & Destructor Documentation

◆ GaussianDomainMask() [1/2]

madness::GaussianDomainMask::GaussianDomainMask ( )
inlineprivate

Forbidden.

◆ GaussianDomainMask() [2/2]

madness::GaussianDomainMask::GaussianDomainMask ( double  epsilon)
inline

Constructor for the domain mask.

Parameters
[in]epsilonThe effective width of the surface

◆ ~GaussianDomainMask()

virtual madness::GaussianDomainMask::~GaussianDomainMask ( )
inlinevirtual

Member Function Documentation

◆ dmask()

double madness::GaussianDomainMask::dmask ( double  d) const
inlinevirtual

Derivative of characteristic function with respect to the normal distance.

Parameters
[in]dThe signed distance
Returns
The derivative

Implements madness::DomainMaskInterface.

References d(), epsilon, and madness::constants::pi.

◆ dsurface()

double madness::GaussianDomainMask::dsurface ( double  d) const
inlinevirtual

Value of d(surface)/ddistance.

Parameters
[in]dThe signed distance
Returns
The derivative of the surface function

Implements madness::DomainMaskInterface.

References d(), epsilon, and madness::constants::pi.

◆ mask()

double madness::GaussianDomainMask::mask ( double  d) const
inlinevirtual

Value of characteristic function at normal distance d from the surface.

Parameters
[in]dThe signed distance. Negative is inside,'' positive isoutside.''
Returns
The domain mask

Implements madness::DomainMaskInterface.

References d(), and epsilon.

◆ surface()

double madness::GaussianDomainMask::surface ( double  d) const
inlinevirtual

Value of surface function at distance d normal to surface.

Parameters
[in]dThe signed distance
Returns
The value of the surface function

Implements madness::DomainMaskInterface.

References d(), epsilon, and madness::constants::pi.

Member Data Documentation

◆ epsilon

const double madness::GaussianDomainMask::epsilon
protected

The width of the transition region.

Referenced by dmask(), dsurface(), mask(), and surface().


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