SmoothIntersection Class Reference

#include <SmoothIntersection.H>

Inheritance diagram for SmoothIntersection:

Inheritance graph
[legend]

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| max(a,b) = 0.5*(a+b + | a-b |)

Public Member Functions

 SmoothIntersection (const Vector< BaseIF * > &a_impFuncs, const Real &a_delta)
virtual ~SmoothIntersection ()
 Destructor.
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 smoothMax (const IntVect &a_deriv, const RealVect &a_point, const int &a_closestIF, const int &a_nextClosestIF) const
 max(a,b) = 0.5*(a+b + | a-b |)
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
IntVect m_ivDebug
Real m_dxDebug
RealVect m_rvDebug

Private Member Functions

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

Constructor & Destructor Documentation

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

Constructor specifying any number of implicit functions as inputs.

virtual SmoothIntersection::~SmoothIntersection (  )  [virtual]

Destructor.

SmoothIntersection::SmoothIntersection (  )  [inline, private]

References MayDay::Abort().

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

References MayDay::Abort().


Member Function Documentation

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

Return the value of the function at a_point.

Implements BaseIF.

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

return the partial derivative at the point

Reimplemented from BaseIF.

virtual BaseIF* SmoothIntersection::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 SmoothIntersection::smoothMax ( const IntVect a_deriv,
const RealVect a_point,
const int &  a_closestIF,
const int &  a_nextClosestIF 
) const [virtual]

max(a,b) = 0.5*(a+b + | a-b |)

loops through all the functions

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

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

References MayDay::Abort().


Member Data Documentation


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

Generated on Fri Apr 5 04:25:18 2019 for Chombo + EB by  doxygen 1.5.5