SmoothUnion Class Reference

#include <SmoothUnion.H>

Inheritance diagram for SmoothUnion:

Inheritance graph

List of all members.

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 |)

Public Member Functions

 SmoothUnion (const Vector< BaseIF * > &a_impFuncs, const Real &a_delta)
virtual ~SmoothUnion ()
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
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

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)

Constructor & Destructor Documentation

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

Constructor specifying any number of implicit functions as inputs.

virtual SmoothUnion::~SmoothUnion (  )  [virtual]


SmoothUnion::SmoothUnion (  )  [inline, private]

References MayDay::Abort().

SmoothUnion::SmoothUnion ( const SmoothUnion a_inputIF  )  [inline, private]

References MayDay::Abort().

Member Function Documentation

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

Return the value of the function at a_point.

Implements BaseIF.

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

return the partial derivative at the point

Reimplemented from BaseIF.

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.

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

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

void SmoothUnion::operator= ( const SmoothUnion a_inputIF  )  [inline, private]

References MayDay::Abort().

Member Data Documentation

int SmoothUnion::m_numFuncs [protected]

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

Generated on Sat May 27 03:27:26 2017 for Chombo + EB + MF by  doxygen 1.5.5