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

A Cartesian array of spheres. More...

#include <CD_SphereArray.H>

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

Public Member Functions

 SphereArray ()=delete
 Disallowed (for now)
 
 SphereArray (const Real a_radius, const RealVect a_loCenter, const RealVect a_sphereGap, const IntVect a_numSpheres, const bool a_useFast, const bool a_flipInside, const Real a_zCoord=0.0)
 SphereArray full constructor. Constructs an array of spheres. More...
 
 SphereArray (const SphereArray &a_inputIF)
 Copy constructor. Sends the pointers to the object.
 
virtual ~SphereArray ()
 Destructor (does nothing)
 
virtual Real value (const RealVect &a_point) const override
 Value function. More...
 
virtual BaseIF * newImplicitFunction () const override
 Factory method – calls the copy constructor.
 

Protected Attributes

bool m_useFast
 Switch for using fast or slow union.
 
bool m_flipInside
 Make inside to outside.
 
std::shared_ptr< EBGeometry::ImplicitFunction< Real > > m_slowUnion
 Standard union ala Chombo.
 
std::shared_ptr< EBGeometry::ImplicitFunction< Real > > m_fastUnion
 Union that uses bounding volume hierarchy acceleration.
 

Static Protected Attributes

static constexpr size_t K = 4
 Tree degree for BVH accelerator.
 

Detailed Description

A Cartesian array of spheres.

Constructor & Destructor Documentation

◆ SphereArray()

SphereArray::SphereArray ( const Real  a_radius,
const RealVect  a_loCenter,
const RealVect  a_sphereGap,
const IntVect  a_numSpheres,
const bool  a_useFast,
const bool  a_flipInside,
const Real  a_zCoord = 0.0 
)

SphereArray full constructor. Constructs an array of spheres.

Parameters
[in]a_radiusSphere radius
[in]a_lowerLeftLower-left sphere center
[in]a_sphereGapDistance between spheres
[in]a_numSpheresNumber of spheres in each coordinate direction
[in]a_useFastUse fast union or not
[in]a_flipInsideMake outside to inside
[in]a_zCoordIf 2D, this sets the z-coordinate

Member Function Documentation

◆ value()

Real SphereArray::value ( const RealVect &  a_point) const
overridevirtual

Value function.

Parameters
[in]a_pointCoordinate

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