Implements LevelSetKernel for octree meshes. More...
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 |
VolOctree * | getMesh () 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< DataCommunicator > | createDataCommunicator () 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 | |
CellCacheCollection & | getCellCacheCollection () |
const CellCacheCollection & | getCellCacheCollection () const |
Protected Attributes inherited from bitpit::LevelSetCachedKernel | |
std::unique_ptr< CellCacheCollection > | m_cellCacheCollection |
Protected Attributes inherited from bitpit::LevelSetKernel | |
MPI_Comm | m_communicator |
LevelSetFillIn | m_expectedFillIn |
VolumeKernel * | m_mesh |
Implements LevelSetKernel for octree meshes.
Definition at line 34 of file levelSetOctreeKernel.hpp.
using bitpit::LevelSetOctreeKernel::CellDenseCacheContainer = bitpit::PiercedStorage<value_t, long> |
Definition at line 46 of file levelSetOctreeKernel.hpp.
using bitpit::LevelSetOctreeKernel::CellSparseCacheContainer = std::unordered_map<long, value_t> |
Definition at line 44 of file levelSetOctreeKernel.hpp.
bitpit::LevelSetOctreeKernel::LevelSetOctreeKernel | ( | VolOctree & | patch, |
LevelSetFillIn | fillIn ) |
Constructor
patch | is the underlying mesh |
fillIn | expected kernel fill-in |
Definition at line 44 of file levelSetOctreeKernel.cpp.
|
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.
[in] | id | is the id of cell |
Implements bitpit::LevelSetKernel.
Definition at line 167 of file levelSetOctreeKernel.cpp.
|
overridevirtual |
Computes the centroid of the specfified cell.
[in] | id | is the id of cell |
Implements bitpit::LevelSetKernel.
Definition at line 117 of file levelSetOctreeKernel.cpp.
|
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.
[in] | id | is the id of cell |
Implements bitpit::LevelSetKernel.
Definition at line 149 of file levelSetOctreeKernel.cpp.
|
overridevirtual |
Returns a pointer to VolOctree
Implements bitpit::LevelSetKernel.
Definition at line 77 of file levelSetOctreeKernel.cpp.
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.
[in] | level | is the level of the octant |
Definition at line 105 of file levelSetOctreeKernel.cpp.
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.
[in] | level | is the level of the octant |
Definition at line 90 of file levelSetOctreeKernel.cpp.