MADNESS  version 0.9
Public Member Functions | List of all members

The interface for masking functions defined by signed distance functions. More...

#include <sdf_domainmask.h>

Inheritance diagram for madness::DomainMaskInterface:
Inheritance graph
[legend]

Public Member Functions

virtual double mask (double d) const =0
 Returns the characteristic mask function. More...
 
virtual double dmask (double d) const =0
 Returns the derivative of the characteristic mask function with respect to the distance (from the surface) More...
 
virtual double surface (double d) const =0
 Returns the value of the normalized surface layer function. More...
 
virtual double dsurface (double d) const =0
 Returns the derivative of the normalized surface layer function. More...
 
virtual ~DomainMaskInterface ()
 

Detailed Description

The interface for masking functions defined by signed distance functions.

This interface was initially conceived for using shapes in MADNESS to specify internal boundary conditions. The signed distance function defines the shape, and this mask allows calculations of volumes, surfaces, etc.

Constructor & Destructor Documentation

virtual madness::DomainMaskInterface::~DomainMaskInterface ( )
inlinevirtual

Member Function Documentation

virtual double madness::DomainMaskInterface::dmask ( double  d) const
pure virtual

Returns the derivative of the characteristic mask function with respect to the distance (from the surface)

Parameters
[in]dThe signed normal distance from the surface
Returns
Derivative of the characteristic mask function

Implemented in madness::GaussianDomainMask, and madness::LLRVDomainMask.

virtual double madness::DomainMaskInterface::dsurface ( double  d) const
pure virtual

Returns the derivative of the normalized surface layer function.

Parameters
[in]dThe signed normal distance from the surface
Returns
Derivative of the normalized surface layer function

Implemented in madness::GaussianDomainMask, and madness::LLRVDomainMask.

virtual double madness::DomainMaskInterface::mask ( double  d) const
pure virtual

Returns the characteristic mask function.

  • 1 in interior
  • 0 in exterior
  • 1/2 on boundary
Parameters
[in]dThe signed distance from the surface
Returns
The mask or characteristic function

Implemented in madness::GaussianDomainMask, and madness::LLRVDomainMask.

virtual double madness::DomainMaskInterface::surface ( double  d) const
pure virtual

Returns the value of the normalized surface layer function.

Normalized means the volume integral of this function should converge to the surface area in the limit of a either an infinitely thin surface or zero curvature. The function thus acts as a ``delta function'' located at the boundary.

Parameters
[in]dThe signed normal distance from the surface
Returns
Normalized surface layer function

Implemented in madness::GaussianDomainMask, and madness::LLRVDomainMask.


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