chombo-discharge
Public Member Functions | Protected Attributes | List of all members
EBGeometryIF< T > Class Template Reference

Shallow binding of EBGeometry signed distance functions to Chombo. More...

#include <CD_EBGeometryIF.H>

Inheritance diagram for EBGeometryIF< T >:
Inheritance graph
[legend]
Collaboration diagram for EBGeometryIF< T >:
Collaboration graph
[legend]

Public Member Functions

 EBGeometryIF ()
 Constructor. Sets shape to nullptr.
 
 EBGeometryIF (const std::shared_ptr< EBGeometry::ImplicitFunction< T >> &a_sdf, const bool a_flipInside, const Real a_zCoord=0.0)
 Full constructor. More...
 
 EBGeometryIF (const EBGeometryIF &a_inputIF)
 Copy constructor. More...
 
virtual ~EBGeometryIF ()
 Destructor. Does nothing.
 
virtual Real value (const RealVect &a_point) const override
 Value function. Returns distance to object. More...
 
virtual BaseIF * newImplicitFunction () const override
 IF factory method.
 

Protected Attributes

std::shared_ptr< const EBGeometry::ImplicitFunction< T > > m_sdf
 Signed distance function.
 
bool m_flipInside
 Hook for making outside -> inside.
 
Real m_zCoord
 z-coordinate through which the object is sliced.
 

Detailed Description

template<typename T = Real>
class EBGeometryIF< T >

Shallow binding of EBGeometry signed distance functions to Chombo.

Since EBGeometry is inherently 3D and chombo-discharge is both 2D and 3D, the object will be sliced through a specified z-coordinate doing 2D simulations.

Note
T is the precision used in EBGeometry.

Constructor & Destructor Documentation

◆ EBGeometryIF() [1/2]

template<typename T >
EBGeometryIF< T >::EBGeometryIF ( const std::shared_ptr< EBGeometry::ImplicitFunction< T >> &  a_sdf,
const bool  a_flipInside,
const Real  a_zCoord = 0.0 
)

Full constructor.

Parameters
[in]a_impFuncEBGeometry implicit function
[in]a_flipInsideHook for making inside -> outside.
[in]a_zCoordz-coordinate through which the object is sliced.

◆ EBGeometryIF() [2/2]

template<typename T >
EBGeometryIF< T >::EBGeometryIF ( const EBGeometryIF< T > &  a_inputIF)

Copy constructor.

Parameters
[in]a_inputIFOther implicit function.

Member Function Documentation

◆ value()

template<typename T >
Real EBGeometryIF< T >::value ( const RealVect &  a_point) const
overridevirtual

Value function. Returns distance to object.

Parameters
[in]a_pointPhysical position.

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