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

#include <HelicoilIF.H>

Inheritance diagram for HelicoilIF:
Inheritance graph
[legend]

Public Member Functions

 HelicoilIF (const Real &a_helixR, const Real &a_helixPitch, const Real &a_circleR, const bool &a_inside)
 
 HelicoilIF (const HelicoilIF &a_inputIF)
 Copy constructor. More...
 
virtual ~HelicoilIF ()
 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_helixR
 
Real m_helixPitch
 
Real m_circleR
 
bool m_inside
 
Real m_ellipseR
 
bool m_vertical
 
BaseIFm_helixIF
 

Private Member Functions

 HelicoilIF ()
 
void operator= (const HelicoilIF &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

In 3D this is an approximation of a circle swept around a helix which is always in the plane normal to the tangent of the helix. If the slope of the helix is less than 1.0, this is achieved by sweeping an ellipse oriented vertically along a helix. If the slope is greater than or equal to 1.0, this is achieved by sweeping an ellipse oriented horizontally along a helix. The eccentricity of the ellipse is adjusted based on the slope.

In 2D this is an ellipse offset from the origin.

Constructor & Destructor Documentation

◆ HelicoilIF() [1/3]

HelicoilIF::HelicoilIF ( const Real a_helixR,
const Real a_helixPitch,
const Real a_circleR,
const bool &  a_inside 
)

Constructor specifying the helix radius, pitch, radius of the swept circle, and whether the domain is on the inside (a_inside), i.e. where the function is negative.

◆ HelicoilIF() [2/3]

HelicoilIF::HelicoilIF ( const HelicoilIF a_inputIF)

Copy constructor.

◆ ~HelicoilIF()

virtual HelicoilIF::~HelicoilIF ( )
virtual

Destructor.

◆ HelicoilIF() [3/3]

HelicoilIF::HelicoilIF ( )
inlineprivate

References MayDay::Abort().

Member Function Documentation

◆ value()

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

Return the value of the function at a_point.

Implements BaseIF.

◆ newImplicitFunction()

virtual BaseIF* HelicoilIF::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 HelicoilIF::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_helixIF.

◆ operator=()

void HelicoilIF::operator= ( const HelicoilIF a_inputIF)
inlineprivate

References MayDay::Abort().

Member Data Documentation

◆ m_helixR

Real HelicoilIF::m_helixR
protected

◆ m_helixPitch

Real HelicoilIF::m_helixPitch
protected

◆ m_circleR

Real HelicoilIF::m_circleR
protected

◆ m_inside

bool HelicoilIF::m_inside
protected

◆ m_ellipseR

Real HelicoilIF::m_ellipseR
protected

◆ m_vertical

bool HelicoilIF::m_vertical
protected

◆ m_helixIF

BaseIF* HelicoilIF::m_helixIF
protected

Referenced by boxLayoutChanged().


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