BaseIF Class Reference

#include <BaseIF.H>

Inheritance diagram for BaseIF:

Inheritance graph
[legend]

List of all members.


Detailed Description

This is the base class for an implicit function specification of geometry. All that is needed is a constructor/destructor, a method to give the value of the function at any point in space (in 2D or 3D), and a factory method (these will probably all be very similar).

Public Member Functions

 BaseIF ()
 Default constructor.
virtual ~BaseIF ()
 Default destructor.
virtual Real value (const RealVect &a_point) const =0
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 IndexTM< Real, GLOBALDIM > grad (const IndexTM< Real, GLOBALDIM > &a_point) const
virtual IndexTM< Real, GLOBALDIM > normal (const IndexTM< Real, GLOBALDIM > &a_point) const
virtual Vector< IndexTM< Real,
GLOBALDIM > > 
gradGrad (const IndexTM< Real, GLOBALDIM > &a_point) const
virtual Vector< IndexTM< Real,
GLOBALDIM > > 
gradNormal (const IndexTM< Real, GLOBALDIM > &a_point) const
virtual BaseIFnewImplicitFunction () const =0

Static Public Member Functions

static void corners (const Box &a_region, const RealVect &a_origin, const Real &a_dx, RealVect &a_lo, RealVect &a_hi)

Constructor & Destructor Documentation

BaseIF::BaseIF (  )  [inline]

Default constructor.

virtual BaseIF::~BaseIF (  )  [inline, virtual]

Default destructor.


Member Function Documentation

virtual Real BaseIF::value ( const RealVect a_point  )  const [pure virtual]

virtual bool BaseIF::fastIntersection ( const Box a_region,
const ProblemDomain a_domain,
const RealVect a_origin,
const Real a_dx 
) const [inline, virtual]

References corners().

Referenced by ComplementIF::fastIntersection().

virtual bool BaseIF::fastIntersection ( const RealVect a_low,
const RealVect a_high 
) const [inline, virtual]

virtual GeometryService::InOut BaseIF::InsideOutside ( const Box a_region,
const ProblemDomain a_domain,
const RealVect a_origin,
const Real a_dx 
) const [inline, virtual]

References corners().

virtual GeometryService::InOut BaseIF::InsideOutside ( const RealVect a_low,
const RealVect a_high 
) const [inline, virtual]

virtual Real BaseIF::value ( const IndexTM< Real, GLOBALDIM > &  a_point  )  const [inline, virtual]

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

Reimplemented in ComplementIF, GaussianSphereIF, IntersectionIF, MollifyIF, ReferenceHeightIF, TransformIF, and UnionIF.

References MayDay::Abort(), and LARGEREALVAL.

virtual IndexTM<Real,GLOBALDIM> BaseIF::grad ( const IndexTM< Real, GLOBALDIM > &  a_point  )  const [inline, virtual]

Return the gradient of the function at a_point.

Reimplemented in ComplementIF, GaussianSphereIF, MollifyIF, and ReferenceHeightIF.

References MayDay::Abort().

Referenced by ReferenceHeightIF::grad().

virtual IndexTM<Real,GLOBALDIM> BaseIF::normal ( const IndexTM< Real, GLOBALDIM > &  a_point  )  const [inline, virtual]

Return the normalized gradient of the function at a_point. The gradients and normals are based on value, which yields outward-pointing normals (which is different the computational computation elsewhere in Chombo).

Reimplemented in ComplementIF, IntersectionIF, MollifyIF, ReferenceHeightIF, TransformIF, and UnionIF.

References MayDay::Abort().

Referenced by IFData< dim >::IFData(), ReferenceHeightIF::normal(), and IFData< dim >::setNormal().

virtual Vector<IndexTM <Real,GLOBALDIM> > BaseIF::gradGrad ( const IndexTM< Real, GLOBALDIM > &  a_point  )  const [inline, virtual]

Return the gradient of the gradient at a_point.

Reimplemented in ComplementIF, GaussianSphereIF, MollifyIF, and ReferenceHeightIF.

References MayDay::Abort().

Referenced by ReferenceHeightIF::gradGrad().

virtual Vector<IndexTM <Real,GLOBALDIM> > BaseIF::gradNormal ( const IndexTM< Real, GLOBALDIM > &  a_point  )  const [inline, virtual]

Return the gradient of the normal at a_point.

Reimplemented in ComplementIF, IntersectionIF, MollifyIF, ReferenceHeightIF, TransformIF, and UnionIF.

References MayDay::Abort().

Referenced by ReferenceHeightIF::gradNormal(), and IFData< dim >::IFData().

virtual BaseIF* BaseIF::newImplicitFunction (  )  const [pure virtual]

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

Implemented in ComplementIF, DataFileIF, DEMIF, EllipsoidIF, GaussianIF, GaussianSphereIF, HelicoilIF, HelixIF, IntersectionIF, LatheIF, MollifyIF, MultiSphereIF, PlaneIF, PolarIF, PolynomialIF, ReferenceHeightIF, RhodoneaIF, SphereArrayIF, SphereIF, TiltedCylinderIF, TorusIF, TransformIF, TylerChannelIF, and UnionIF.

Referenced by IFData< dim >::IFData(), and IFData< dim >::operator=().

static void BaseIF::corners ( const Box a_region,
const RealVect a_origin,
const Real a_dx,
RealVect a_lo,
RealVect a_hi 
) [inline, static]


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

Generated on Tue Apr 14 14:22:53 2009 for Chombo + EB by  doxygen 1.5.5