Chombo + EB  3.0
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ReferenceHeightIF Class Reference

#include <ReferenceHeightIF.H>

Inheritance diagram for ReferenceHeightIF:
Inheritance graph
[legend]

Public Member Functions

 ReferenceHeightIF (const BaseIF &a_implicitFunction, const Real &a_referenceHeight, const IndexTM< Real, GLOBALDIM > &a_origin)
 
 ReferenceHeightIF (const BaseIF &a_implicitFunction, const PolynomialIF &a_referenceSurface, const Real &a_referenceHeight, const IndexTM< Real, GLOBALDIM > &a_origin)
 
virtual ~ReferenceHeightIF ()
 Destructor cleans up the member implicit function. More...
 
Real value (const IndexTM< int, GLOBALDIM > &a_partialDerivative, const IndexTM< Real, GLOBALDIM > &a_point) const
 
virtual Real value (const RealVect &a_point) const
 
virtual Real value (const IndexTM< Real, GLOBALDIM > &a_point) const
 
virtual ReferenceHeightIFnewImplicitFunction () const
 
virtual void print (ostream &a_out) const
 
Real getReferenceHeight () const
 
IndexTM< Real, GLOBALDIMgetOrigin () const
 
void getReferenceSurfacePolynomial (Vector< PolyTerm > &a_polynomial, bool &a_inside) const
 
Real evaluateReferenceSurfacePolynomial (const RealVect &a_point) const
 
virtual void boxLayoutChanged (const DisjointBoxLayout &a_newBoxLayout, const RealVect &a_dx)
 
BaseIFgetPointer2IF () const
 
ReferenceHeightIFnewChangedIF (const BaseIF *a_newIF) const
 
bool hasReferenceSurface () const
 
- Public Member Functions inherited from BaseIF
 BaseIF ()
 Default constructor. More...
 
virtual ~BaseIF ()
 Default destructor. More...
 
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
 

Private Member Functions

 ReferenceHeightIF ()
 

Private Attributes

BaseIFm_implicitFunction
 
PolynomialIFm_referenceSurface
 
Real m_referenceHeight
 
IndexTM< Real, GLOBALDIMm_origin
 

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 adapter wraps any BaseIF subclass and gives it the the concept of a reference height. The adapter passes through all function calls to the adapted object, except value(RealVect).. The reference height is used to evaluate the value function when SpaceDim=GLOBALDIM-1,

Constructor & Destructor Documentation

◆ ReferenceHeightIF() [1/3]

ReferenceHeightIF::ReferenceHeightIF ( const BaseIF a_implicitFunction,
const Real a_referenceHeight,
const IndexTM< Real, GLOBALDIM > &  a_origin 
)
inline

Construct the ReferenceHeightIF using another IF plus a reference height. The delegate IF will be copied.

◆ ReferenceHeightIF() [2/3]

ReferenceHeightIF::ReferenceHeightIF ( const BaseIF a_implicitFunction,
const PolynomialIF a_referenceSurface,
const Real a_referenceHeight,
const IndexTM< Real, GLOBALDIM > &  a_origin 
)
inline

◆ ~ReferenceHeightIF()

virtual ReferenceHeightIF::~ReferenceHeightIF ( )
inlinevirtual

Destructor cleans up the member implicit function.

References m_implicitFunction.

◆ ReferenceHeightIF() [3/3]

ReferenceHeightIF::ReferenceHeightIF ( )
inlineprivate

Member Function Documentation

◆ value() [1/3]

Real ReferenceHeightIF::value ( const IndexTM< int, GLOBALDIM > &  a_partialDerivative,
const IndexTM< Real, GLOBALDIM > &  a_point 
) const
inlinevirtual

Reimplemented from BaseIF.

References m_implicitFunction, m_referenceSurface, BaseIF::value(), and PolynomialIF::value().

Referenced by value().

◆ value() [2/3]

virtual Real ReferenceHeightIF::value ( const RealVect a_point) const
inlinevirtual

Return the value of the function at a_point. value(RealVect) to value(IndexTM). However, in the case where GLOBALDIM == 3 and SpaceDim == 2 the missing dimension is filled in with the reference height. Subclasses need not implement this function, but if

Implements BaseIF.

References MayDay::Abort(), GLOBALDIM, m_origin, m_referenceHeight, m_referenceSurface, SpaceDim, value(), and PolynomialIF::value().

◆ value() [3/3]

virtual Real ReferenceHeightIF::value ( const IndexTM< Real, GLOBALDIM > &  a_point) const
inlinevirtual

Return the value of the function at a_point (of type INdexTM).

Reimplemented from BaseIF.

References m_implicitFunction, and BaseIF::value().

◆ newImplicitFunction()

virtual ReferenceHeightIF* ReferenceHeightIF::newImplicitFunction ( ) const
inlinevirtual

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

Implements BaseIF.

References m_implicitFunction, m_origin, m_referenceHeight, m_referenceSurface, and ReferenceHeightIF().

◆ print()

virtual void ReferenceHeightIF::print ( ostream &  a_out) const
inlinevirtual

Reimplemented from BaseIF.

References m_implicitFunction, and BaseIF::print().

◆ getReferenceHeight()

Real ReferenceHeightIF::getReferenceHeight ( ) const
inline

Return the reference height for this IF

References m_referenceHeight.

◆ getOrigin()

IndexTM<Real,GLOBALDIM> ReferenceHeightIF::getOrigin ( ) const
inline

Return the physical origin of the domain

References m_origin.

◆ getReferenceSurfacePolynomial()

void ReferenceHeightIF::getReferenceSurfacePolynomial ( Vector< PolyTerm > &  a_polynomial,
bool &  a_inside 
) const
inline

Return the reference surface for this IF

References PolynomialIF::GetParams(), and m_referenceSurface.

◆ evaluateReferenceSurfacePolynomial()

Real ReferenceHeightIF::evaluateReferenceSurfacePolynomial ( const RealVect a_point) const
inline

Evaluate the reference surface at a point

References m_referenceSurface, and PolynomialIF::value().

◆ boxLayoutChanged()

virtual void ReferenceHeightIF::boxLayoutChanged ( const DisjointBoxLayout a_newBoxLayout,
const RealVect a_dx 
)
inlinevirtual

Pass this call onto the IFs contained in this IF class.

Reimplemented from BaseIF.

References BaseIF::boxLayoutChanged(), m_implicitFunction, and m_referenceSurface.

◆ getPointer2IF()

BaseIF* ReferenceHeightIF::getPointer2IF ( ) const
inline

return the pointer to the implicit function m_implicitFunction

References m_implicitFunction.

◆ newChangedIF()

ReferenceHeightIF* ReferenceHeightIF::newChangedIF ( const BaseIF a_newIF) const
inline

◆ hasReferenceSurface()

bool ReferenceHeightIF::hasReferenceSurface ( ) const
inline

References m_referenceSurface.

Member Data Documentation

◆ m_implicitFunction

BaseIF* ReferenceHeightIF::m_implicitFunction
private

◆ m_referenceSurface

PolynomialIF* ReferenceHeightIF::m_referenceSurface
private

◆ m_referenceHeight

Real ReferenceHeightIF::m_referenceHeight
private

◆ m_origin

IndexTM<Real,GLOBALDIM> ReferenceHeightIF::m_origin
private

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