Chombo + EB + MF  3.2
Public Member Functions | Protected Attributes | Private Member Functions | List of all members
SmoothUnion Class Reference

#include <SmoothUnion.H>

Inheritance diagram for SmoothUnion:
Inheritance graph
[legend]

Public Member Functions

 SmoothUnion (const Vector< BaseIF *> &a_impFuncs, const Real &a_delta)
 
virtual ~SmoothUnion ()
 Destructor. More...
 
virtual Real value (const RealVect &a_point) const
 
virtual Real derivative (const IntVect &a_deriv, const RealVect &a_point) const
 return the partial derivative at the point More...
 
virtual BaseIFnewImplicitFunction () const
 
virtual Real smoothMin (const IntVect &a_deriv, const RealVect &a_point, const int &a_closestIF, const int &a_nextClosestIF) const
 
void findClosest (int &a_closestIF, int &a_nextClosestIF, int &a_numWithinDelta, const RealVect &a_point) const
 
- Public Member Functions inherited from BaseIF
 BaseIF ()
 Default constructor. More...
 
virtual ~BaseIF ()
 Default destructor. More...
 
virtual IndMomSpaceDim getExactVolumeMoments (const VolIndex &a_vof, const Real &a_dx) const
 return int x^p dV for the vof More...
 
virtual IndMomSpaceDim getExactEBMoments (const VolIndex &a_vof, const Real &a_dx) const
 return int_eb x^p dA for the eb More...
 
virtual IndMomSpaceDim getExactEBNormalMoments (const VolIndex &a_vof, const Real &a_dx, const int &a_ni) const
 return int_eb x^p n_i dA for the eb More...
 
virtual IndMomSpaceDim getExactEBNormalPartialDerivs (const VolIndex &a_vof, const Real &a_dx, const int &a_ni) const
 
virtual IndMomSDMinOne getExactFaceMoments (const FaceIndex &a_face, const Real &a_dx) const
 return int x^p dA for the face More...
 
virtual Real value (const IndexTM< int, GLOBALDIM > &a_partialDerivative, const IndexTM< Real, GLOBALDIM > &a_point) const
 
virtual Real value (const IntVect &a_deriv, const RealVect &a_point) const
 
virtual bool fastIntersection (const Box &a_region, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx) const
 
virtual bool fastIntersection (const RealVect &a_low, const RealVect &a_high) const
 
virtual GeometryService::InOut InsideOutside (const Box &a_region, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx) const
 
virtual GeometryService::InOut InsideOutside (const RealVect &a_low, const RealVect &a_high) const
 
virtual Real value (const IndexTM< Real, GLOBALDIM > &a_point) const
 
virtual Real derivative (const IndexTM< int, GLOBALDIM > &a_deriv, const IndexTM< Real, GLOBALDIM > &a_point) const
 
virtual void print (ostream &out) const
 
virtual void makeGrids (const ProblemDomain &a_domain, DisjointBoxLayout &a_grids, const int &a_maxGridSize, const int &a_maxIrregGridSize)
 
virtual void boxLayoutChanged (const DisjointBoxLayout &a_newBoxLayout, const RealVect &a_dx)
 

Protected Attributes

int m_numFuncs
 
Vector< BaseIF * > m_impFuncs
 
Real m_delta
 

Private Member Functions

 SmoothUnion ()
 
 SmoothUnion (const SmoothUnion &a_inputIF)
 
void operator= (const SmoothUnion &a_inputIF)
 

Additional Inherited Members

- Static Public Member Functions inherited from BaseIF
static void corners (const Box &a_region, const RealVect &a_origin, const Real &a_dx, RealVect &a_lo, RealVect &a_hi)
 

Detailed Description

This implicit function is the maximum of two (of more) implicit functions with which it is constructed. This results in an implicit function whose interior is the intersection of the interiors of the given implicit functions. For the maximum, it uses the smooth absolute value Ae(a,b) |a-b| min(a,b) = 0.5*(a+b - | a-b |)

Constructor & Destructor Documentation

◆ SmoothUnion() [1/3]

SmoothUnion::SmoothUnion ( const Vector< BaseIF *> &  a_impFuncs,
const Real a_delta 
)

Constructor specifying any number of implicit functions as inputs.

◆ ~SmoothUnion()

virtual SmoothUnion::~SmoothUnion ( )
virtual

Destructor.

◆ SmoothUnion() [2/3]

SmoothUnion::SmoothUnion ( )
inlineprivate

References MayDay::Abort().

◆ SmoothUnion() [3/3]

SmoothUnion::SmoothUnion ( const SmoothUnion a_inputIF)
inlineprivate

References MayDay::Abort().

Member Function Documentation

◆ value()

virtual Real SmoothUnion::value ( const RealVect a_point) const
virtual

Return the value of the function at a_point.

Implements BaseIF.

◆ derivative()

virtual Real SmoothUnion::derivative ( const IntVect a_deriv,
const RealVect a_point 
) const
virtual

return the partial derivative at the point

Reimplemented from BaseIF.

◆ newImplicitFunction()

virtual BaseIF* SmoothUnion::newImplicitFunction ( ) const
virtual

Return a newly allocated derived class. The responsibility for deleting the memory is left to the calling function.

Implements BaseIF.

◆ smoothMin()

virtual Real SmoothUnion::smoothMin ( const IntVect a_deriv,
const RealVect a_point,
const int &  a_closestIF,
const int &  a_nextClosestIF 
) const
virtual

◆ findClosest()

void SmoothUnion::findClosest ( int &  a_closestIF,
int &  a_nextClosestIF,
int &  a_numWithinDelta,
const RealVect a_point 
) const

◆ operator=()

void SmoothUnion::operator= ( const SmoothUnion a_inputIF)
inlineprivate

References MayDay::Abort().

Member Data Documentation

◆ m_numFuncs

int SmoothUnion::m_numFuncs
protected

◆ m_impFuncs

Vector<BaseIF*> SmoothUnion::m_impFuncs
protected

◆ m_delta

Real SmoothUnion::m_delta
protected

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