MADNESS  version 0.9
Public Member Functions | Protected Attributes | 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...
 
double mask (double d) const
 Value of characteristic function at normal distance d from the surface. More...
 
double dmask (double d) const
 Derivative of characteristic function with respect to the normal distance. More...
 
double surface (double d) const
 Value of surface function at distance d normal to surface. More...
 
double dsurface (double d) const
 Value of d(surface)/ddistance. More...
 
virtual ~GaussianDomainMask ()
 
- Public Member Functions inherited from madness::DomainMaskInterface
virtual ~DomainMaskInterface ()
 

Protected Attributes

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

Detailed Description

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

Constructor & Destructor Documentation

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

Constructor for the domain mask.

Parameters
[in]epsilonThe effective width of the surface
virtual madness::GaussianDomainMask::~GaussianDomainMask ( )
inlinevirtual

Member Function Documentation

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 epsilon, mpfr::exp(), mpfr::fabs(), madness::constants::pi, and sqrt().

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 epsilon, mpfr::exp(), madness::constants::pi, and sqrt().

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 mpfr::erf(), and sqrt().

Referenced by TipMolecule::operator()().

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 epsilon, mpfr::exp(), madness::constants::pi, and sqrt().

Referenced by TipMolecule::operator()().

Member Data Documentation

const double madness::GaussianDomainMask::epsilon
protected

The width of the transition region.

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


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