Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
bitpit::LevelSetOctreeKernel Class Reference

Implements LevelSetKernel for octree meshes. More...

Inheritance diagram for bitpit::LevelSetOctreeKernel:
Inheritance graph
[legend]
Collaboration diagram for bitpit::LevelSetOctreeKernel:
Collaboration graph
[legend]

Public Types

template<typename value_t >
using CellDenseCacheContainer = bitpit::PiercedStorage<value_t, long>
 
template<typename value_t >
using CellSparseCacheContainer = std::unordered_map<long, value_t>
 
- Public Types inherited from bitpit::LevelSetCachedKernel
typedef ElementCacheCollection CellCacheCollection
 

Public Member Functions

 LevelSetOctreeKernel (VolOctree &patch, LevelSetFillIn fillIn)
 
double computeCellBoundingRadius (long) const override
 
std::array< double, 3 > computeCellCentroid (long) const override
 
double computeCellTangentRadius (long) const override
 
VolOctreegetMesh () const override
 
double getOctantBoundingRadius (int level) const
 
double getOctantTangentRadius (int level) const
 
- Public Member Functions inherited from bitpit::LevelSetCachedKernel
 LevelSetCachedKernel (VolumeKernel *, LevelSetFillIn fillIn)
 
void clearCaches (bool release=false)
 
bool update (const std::vector< adaption::Info > &) override
 
- Public Member Functions inherited from bitpit::LevelSetKernel
 LevelSetKernel ()
 
 LevelSetKernel (VolumeKernel *mesh, LevelSetFillIn fillIn)
 
virtual ~LevelSetKernel ()
 
std::unique_ptr< DataCommunicatorcreateDataCommunicator () const
 
MPI_Comm getCommunicator () const
 
double getDistanceTolerance () const
 
LevelSetFillIn getExpectedFillIn () const
 
virtual bool intersectCellPlane (long, const std::array< double, 3 > &, const std::array< double, 3 > &, double)
 
double isCellInsideBoundingBox (long, const std::array< double BITPIT_COMMA 3 > &, const std::array< double, 3 > &) const
 
bool isCommunicatorSet () const
 
bool isPointInCell (long, const std::array< double, 3 > &) const
 

Additional Inherited Members

- Protected Member Functions inherited from bitpit::LevelSetCachedKernel
CellCacheCollectiongetCellCacheCollection ()
 
const CellCacheCollectiongetCellCacheCollection () const
 
- Protected Attributes inherited from bitpit::LevelSetCachedKernel
std::unique_ptr< CellCacheCollectionm_cellCacheCollection
 
- Protected Attributes inherited from bitpit::LevelSetKernel
MPI_Comm m_communicator
 
LevelSetFillIn m_expectedFillIn
 
VolumeKernelm_mesh
 

Detailed Description

Implements LevelSetKernel for octree meshes.

Definition at line 34 of file levelSetOctreeKernel.hpp.

Member Typedef Documentation

◆ CellDenseCacheContainer

template<typename value_t >
using bitpit::LevelSetOctreeKernel::CellDenseCacheContainer = bitpit::PiercedStorage<value_t, long>

Definition at line 46 of file levelSetOctreeKernel.hpp.

◆ CellSparseCacheContainer

template<typename value_t >
using bitpit::LevelSetOctreeKernel::CellSparseCacheContainer = std::unordered_map<long, value_t>

Definition at line 44 of file levelSetOctreeKernel.hpp.

Constructor & Destructor Documentation

◆ LevelSetOctreeKernel()

bitpit::LevelSetOctreeKernel::LevelSetOctreeKernel ( VolOctree & patch,
LevelSetFillIn fillIn )

Constructor

Parameters
patchis the underlying mesh
fillInexpected kernel fill-in

Definition at line 44 of file levelSetOctreeKernel.cpp.

Member Function Documentation

◆ computeCellBoundingRadius()

double bitpit::LevelSetOctreeKernel::computeCellBoundingRadius ( long id) const
overridevirtual

Computes the radius of the bounding sphere associated with the specified cell.

The bounding sphere is the sphere with the minimum radius that contains all the cell vertices and has the center in the cell centroid.

Parameters
[in]idis the id of cell
Returns
The radius of the bounding sphere.

Implements bitpit::LevelSetKernel.

Definition at line 167 of file levelSetOctreeKernel.cpp.

◆ computeCellCentroid()

std::array< double, 3 > bitpit::LevelSetOctreeKernel::computeCellCentroid ( long id) const
overridevirtual

Computes the centroid of the specfified cell.

Parameters
[in]idis the id of cell
Returns
The centroid of the cell.

Implements bitpit::LevelSetKernel.

Definition at line 117 of file levelSetOctreeKernel.cpp.

◆ computeCellTangentRadius()

double bitpit::LevelSetOctreeKernel::computeCellTangentRadius ( long id) const
overridevirtual

Computes the radius of the tangent sphere associated with the specified cell.

The tangent sphere is a sphere having the center in the cell centroid and tangent to the cell.

Parameters
[in]idis the id of cell
Returns
The radius of the tangent sphere.

Implements bitpit::LevelSetKernel.

Definition at line 149 of file levelSetOctreeKernel.cpp.

◆ getMesh()

VolOctree * bitpit::LevelSetOctreeKernel::getMesh ( ) const
overridevirtual

Returns a pointer to VolOctree

Returns
pointer to VolOctree

Implements bitpit::LevelSetKernel.

Definition at line 77 of file levelSetOctreeKernel.cpp.

◆ getOctantBoundingRadius()

double bitpit::LevelSetOctreeKernel::getOctantBoundingRadius ( int level) const

Computes the radius of the bounding sphere associated with the specified level.

The bounding sphere is the sphere with the minimum radius that contains all the level vertices and has the center in the level centroid.

Parameters
[in]levelis the level of the octant
Returns
The radius of the bounding sphere.

Definition at line 105 of file levelSetOctreeKernel.cpp.

◆ getOctantTangentRadius()

double bitpit::LevelSetOctreeKernel::getOctantTangentRadius ( int level) const

Computes the radius of the tangent sphere associated with the specified level.

The tangent sphere is a sphere having the center in the level centroid and tangent to the cell.

Parameters
[in]levelis the level of the octant
Returns
The radius of the tangent sphere.

Definition at line 90 of file levelSetOctreeKernel.cpp.


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