#include <BaseIF.H>
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 BaseIF * | newImplicitFunction () 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) |
BaseIF::BaseIF | ( | ) | [inline] |
Default constructor.
virtual BaseIF::~BaseIF | ( | ) | [inline, virtual] |
Default destructor.
Return the value of the function at a_point. When delineating a domain, the level set value=0 represents the boundary and value<0 is inside the fluid.
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 >::BrentRootFinder(), IFData< dim >::makeCornerSigns(), IFData< dim >::midPtRootFinder(), and ReferenceHeightIF::value().
virtual bool BaseIF::fastIntersection | ( | const Box & | a_region, | |
const ProblemDomain & | a_domain, | |||
const RealVect & | a_origin, | |||
const Real & | a_dx | |||
) | const [inline, virtual] |
virtual bool BaseIF::fastIntersection | ( | const RealVect & | a_low, | |
const RealVect & | a_high | |||
) | const [inline, virtual] |
Reimplemented in ComplementIF, IntersectionIF, LatheIF, MultiSphereIF, PlaneIF, SphereArrayIF, SphereIF, TiltedCylinderIF, TransformIF, and UnionIF.
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] |
Reimplemented in ComplementIF, IntersectionIF, LatheIF, MultiSphereIF, PlaneIF, SphereArrayIF, SphereIF, TiltedCylinderIF, TransformIF, and UnionIF.
References MayDay::Error(), and GeometryService::Irregular.
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] |
References Box::bigEnd(), Box::smallEnd(), and IntVect::Unit.
Referenced by fastIntersection(), and InsideOutside().