chombo-discharge
Public Member Functions | Protected Attributes | List of all members
ProfileCylinderIF Class Reference

Implicit function which takes the form of a cylinder with a surface profiles (grooves). More...

#include <CD_ProfileCylinderIF.H>

Inheritance diagram for ProfileCylinderIF:
Inheritance graph
[legend]
Collaboration diagram for ProfileCylinderIF:
Collaboration graph
[legend]

Public Member Functions

 ProfileCylinderIF ()=delete
 No weak construction, use the full constructor.
 
 ProfileCylinderIF (const RealVect a_endPoint1, const RealVect a_endPoint2, const Real a_cylinderRadius, const Real a_torusMajorRadius, const Real a_torusMinorRadius, const Real a_ccDistance, const Real a_shift, const Real a_roundingRadius, const int a_numLeft, const int a_numRight, const bool a_fluidInside)
 Full constructor. More...
 
 ProfileCylinderIF (const ProfileCylinderIF &a_inputIF)
 Copy constructor. More...
 
virtual ~ProfileCylinderIF ()
 Destructor (does nothing)
 
virtual Real value (const RealVect &a_pos) const override
 Value function. Returns distance to object. More...
 
virtual BaseIF * newImplicitFunction () const override
 Factory method.
 

Protected Attributes

RefCountedPtr< BaseIF > m_baseIF
 Implicit function. This is an intersection between a cylinder and several torii.
 

Detailed Description

Implicit function which takes the form of a cylinder with a surface profiles (grooves).

The grooves are torii that are cut out of the cylinder. Use the input parameters to adjust the height, distance, and width of the grooves.

Note
This is a 3D object only!

Constructor & Destructor Documentation

◆ ProfileCylinderIF() [1/2]

ProfileCylinderIF::ProfileCylinderIF ( const RealVect  a_endPoint1,
const RealVect  a_endPoint2,
const Real  a_cylinderRadius,
const Real  a_torusMajorRadius,
const Real  a_torusMinorRadius,
const Real  a_ccDistance,
const Real  a_shift,
const Real  a_roundingRadius,
const int  a_numLeft,
const int  a_numRight,
const bool  a_fluidInside 
)

Full constructor.

Parameters
[in]a_endPoint1Endpoint of cylinder
[in]a_endPoint2Other endpoint of cylinder
[in]a_cylinderRadiusCylinder radius
[in]a_torusMajorRadiusMajor radius of torii
[in]a_torusMajorRadiusMinor radius of torii
[in]a_ccDistanceDistance between torii
[in]a_shiftShift groove pattern along the axis (relative to cylinder center)
[in]a_roundingRadiusRounding radius on geometry
[in]a_numLeftNumber of torii to the left of the centerpoint
[in]a_numRightNumber of torii to the right of the centerpoint
[in]a_fluidInsideFluid on inside or not

◆ ProfileCylinderIF() [2/2]

ProfileCylinderIF::ProfileCylinderIF ( const ProfileCylinderIF a_inputIF)

Copy constructor.

Parameters
[in]a_inputIFOther cylinder

Member Function Documentation

◆ value()

Real ProfileCylinderIF::value ( const RealVect &  a_pos) const
overridevirtual

Value function. Returns distance to object.

Parameters
[in]a_posPosition

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