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

#include <HelixIF.H>

Inheritance diagram for HelixIF:
Inheritance graph

Public Member Functions

 HelixIF (const BaseIF &a_impFunc, const Real &a_rate, const bool &a_inside, const bool &a_vertical=true)
 HelixIF (const HelixIF &a_inputIF)
 Copy constructor. More...
virtual ~HelixIF ()
 Destructor. More...
virtual Real value (const RealVect &a_point) const
virtual BaseIFnewImplicitFunction () const
virtual void boxLayoutChanged (const DisjointBoxLayout &a_newBoxLayout, const RealVect &a_dx)
- Public Member Functions inherited from BaseIF
 BaseIF ()
 Default constructor. More...
virtual ~BaseIF ()
 Default destructor. More...
virtual Real value (const IndexTM< int, GLOBALDIM > &a_partialDerivative, const IndexTM< Real, GLOBALDIM > &a_point) const
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 void print (ostream &out) const

Protected Attributes

Real m_rate
bool m_inside
bool m_vertical
Real m_minz
Real m_maxz

Private Member Functions

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

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 implicit function takes one implicit function and move it along a helix in 3D. In 2D the implicit function is simply returned.

In 3D, if a_vertical is false, the given function is restricted to the x-y plane (z = 0), and this restricted function is rotated around the z-axis at the specified rate as z changes.

In 3D, if a_vertical is true, the given function is restricted to the x-y plane (z = 0), but this x-y cross section is oriented vertically and swept in a helix at the specified rate.

In 2D, the given function is simply returned.

Constructor & Destructor Documentation

◆ HelixIF() [1/3]

HelixIF::HelixIF ( const BaseIF a_impFunc,
const Real a_rate,
const bool &  a_inside,
const bool &  a_vertical = true 

Constructor specifying one implicit function to be rotated, the rotation rate, and whether the domain is on the inside (a_inside), i.e. where the function is negative.

◆ HelixIF() [2/3]

HelixIF::HelixIF ( const HelixIF a_inputIF)

Copy constructor.

◆ ~HelixIF()

virtual HelixIF::~HelixIF ( )


◆ HelixIF() [3/3]

HelixIF::HelixIF ( )

References MayDay::Abort().

Member Function Documentation

◆ value()

virtual Real HelixIF::value ( const RealVect a_point) const

Return the value of the function at a_point.

Implements BaseIF.

◆ newImplicitFunction()

virtual BaseIF* HelixIF::newImplicitFunction ( ) const

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

Implements BaseIF.

◆ boxLayoutChanged()

virtual void HelixIF::boxLayoutChanged ( const DisjointBoxLayout a_newBoxLayout,
const RealVect a_dx 

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

Reimplemented from BaseIF.

References BaseIF::boxLayoutChanged(), and m_impFunc.

◆ operator=()

void HelixIF::operator= ( const HelixIF a_inputIF)

References MayDay::Abort().

Member Data Documentation

◆ m_impFunc

BaseIF* HelixIF::m_impFunc

Referenced by boxLayoutChanged().

◆ m_rate

Real HelixIF::m_rate

◆ m_inside

bool HelixIF::m_inside

◆ m_vertical

bool HelixIF::m_vertical

◆ m_minz

Real HelixIF::m_minz

◆ m_maxz

Real HelixIF::m_maxz

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