|
MADNESS 0.10.1
|
Provides the Li-Lowengrub-Ratz-Voight (LLRV) domain mask characteristic functions. More...
#include <sdf_domainmask.h>


Public Member Functions | |
| LLRVDomainMask (double epsilon) | |
| Constructor for the domain mask. | |
| virtual | ~LLRVDomainMask () |
| double | dmask (double d) const |
| Derivative of characteristic function with respect to the normal distance. | |
| double | dsurface (double d) const |
| Value of d(surface)/ddistance. | |
| double | mask (double d) const |
| Value of characteristic function at normal distance d from the surface. | |
| double | surface (double d) const |
| Value of surface function at distance d normal to surface. | |
Public Member Functions inherited from madness::DomainMaskInterface | |
| virtual | ~DomainMaskInterface () |
Protected Attributes | |
| const double | epsilon |
| The width of the transition region. | |
Private Member Functions | |
| LLRVDomainMask () | |
| Forbidden. | |
Provides the Li-Lowengrub-Ratz-Voight (LLRV) domain mask characteristic functions.
See X. Li, J. Lowengrub, A. Rätz, and A. Voight, `‘Solving PDEs in Complex Geometries: A Diffuse Domain Approach,’' Commun. Math. Sci., 7, p81-107, 2009.
Given a signed distance, this class implements in the domain mask and surface functions from the above reference. For the domain mask,
![\[ \varphi(d) = \frac{1}{2}\left( 1 - \tanh\left(
\frac{3d}{\varepsilon} \right) \right) \]](form_400.png)
where 
![\[ B(\varphi) = \frac{36}{\varepsilon} \varphi^2 (1-\varphi)^2. \]](form_402.png)
The constant 
![\[ \int_{-\infty}^\infty B(s) \, ds = 1 \]](form_404.png)
This class assumes the domain mask is uniformly 0 or 1 outside signed distances 

![\[ \int_{-\epsilon/2}^{\epsilon/2} B(s) \, ds \doteq 0.987 \]](form_407.png)
and
![\[ \int_{-\epsilon}^{\epsilon} B(s) \, ds \doteq 0.999963 \]](form_408.png)
|
inlineprivate |
Forbidden.
|
inline |
Constructor for the domain mask.
| [in] | epsilon | The effective width of the surface |
|
inlinevirtual |
|
inlinevirtual |
Derivative of characteristic function with respect to the normal distance.
| [in] | d | The signed distance |
Implements madness::DomainMaskInterface.
Referenced by dsurface().
|
inlinevirtual |
Value of d(surface)/ddistance.
| [in] | d | The signed distance |
Implements madness::DomainMaskInterface.
|
inlinevirtual |
Value of characteristic function at normal distance d from the surface.
| [in] | d | The signed distance. Negative is inside,'' positive isoutside.'' |
Implements madness::DomainMaskInterface.
|
inlinevirtual |
Value of surface function at distance d normal to surface.
| [in] | d | The signed distance |
Implements madness::DomainMaskInterface.
|
protected |
The width of the transition region.
Referenced by dmask(), dsurface(), mask(), and surface().