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
[legend]

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

BaseIFm_impFunc
 
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 ( )
virtual

Destructor.

◆ HelixIF() [3/3]

HelixIF::HelixIF ( )
inlineprivate

References MayDay::Abort().

Member Function Documentation

◆ value()

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

Return the value of the function at a_point.

Implements BaseIF.

◆ newImplicitFunction()

virtual BaseIF* HelixIF::newImplicitFunction ( ) const
virtual

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 
)
inlinevirtual

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)
inlineprivate

References MayDay::Abort().

Member Data Documentation

◆ m_impFunc

BaseIF* HelixIF::m_impFunc
protected

Referenced by boxLayoutChanged().

◆ m_rate

Real HelixIF::m_rate
protected

◆ m_inside

bool HelixIF::m_inside
protected

◆ m_vertical

bool HelixIF::m_vertical
protected

◆ m_minz

Real HelixIF::m_minz
protected

◆ m_maxz

Real HelixIF::m_maxz
protected

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