Mesh specific implementation to calculate the levelset function. More...


Public Member Functions | |
LevelSetKernel () | |
LevelSetKernel (VolumeKernel *mesh, LevelSetFillIn fillIn) | |
virtual | ~LevelSetKernel () |
virtual double | computeCellBoundingRadius (long) const =0 |
virtual std::array< double, 3 > | computeCellCentroid (long) const =0 |
virtual double | computeCellTangentRadius (long) const =0 |
std::unique_ptr< DataCommunicator > | createDataCommunicator () const |
MPI_Comm | getCommunicator () const |
double | getDistanceTolerance () const |
LevelSetFillIn | getExpectedFillIn () const |
virtual VolumeKernel * | getMesh () 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 |
virtual bool | update (const std::vector< adaption::Info > &) |
Protected Attributes | |
MPI_Comm | m_communicator |
LevelSetFillIn | m_expectedFillIn |
VolumeKernel * | m_mesh |
Detailed Description
Mesh specific implementation to calculate the levelset function.
Definition at line 47 of file levelSetKernel.hpp.
Constructor & Destructor Documentation
◆ ~LevelSetKernel()
|
virtual |
Destructor of LevelSetKernel
Definition at line 70 of file levelSetKernel.cpp.
◆ LevelSetKernel() [1/2]
bitpit::LevelSetKernel::LevelSetKernel | ( | ) |
Default constructor.
Definition at line 40 of file levelSetKernel.cpp.
◆ LevelSetKernel() [2/2]
bitpit::LevelSetKernel::LevelSetKernel | ( | VolumeKernel * | patch, |
LevelSetFillIn | expectedFillIn ) |
Constructor
- Parameters
-
[in] patch underlying mesh [in] expectedFillIn expected kernel fill-in
Definition at line 55 of file levelSetKernel.cpp.
Member Function Documentation
◆ computeCellBoundingRadius()
|
pure virtual |
Implemented in bitpit::LevelSetCartesianKernel, bitpit::LevelSetOctreeKernel, and bitpit::LevelSetUnstructuredKernel.
◆ computeCellCentroid()
|
pure virtual |
Implemented in bitpit::LevelSetCartesianKernel, bitpit::LevelSetOctreeKernel, and bitpit::LevelSetUnstructuredKernel.
◆ computeCellTangentRadius()
|
pure virtual |
Implemented in bitpit::LevelSetCartesianKernel, bitpit::LevelSetOctreeKernel, and bitpit::LevelSetUnstructuredKernel.
◆ createDataCommunicator()
std::unique_ptr< DataCommunicator > bitpit::LevelSetKernel::createDataCommunicator | ( | ) | const |
Create a data communicator for exchanging data among partitions.
- Returns
- A data communicator for exchanging data among partitions.
Definition at line 274 of file levelSetKernel.cpp.
◆ getCommunicator()
MPI_Comm bitpit::LevelSetKernel::getCommunicator | ( | ) | const |
Returns the MPI communicator stored within LevelSetKernel
- Returns
- MPI communicator
Definition at line 253 of file levelSetKernel.cpp.
◆ getDistanceTolerance()
double bitpit::LevelSetKernel::getDistanceTolerance | ( | ) | const |
Get the tolerance for distance checks.
- Returns
- The tolerance for distance checks.
Definition at line 102 of file levelSetKernel.cpp.
◆ getExpectedFillIn()
LevelSetFillIn bitpit::LevelSetKernel::getExpectedFillIn | ( | ) | const |
Get the expected kernel fill-in.
- Returns
- The expected kernel fill-in.
Definition at line 92 of file levelSetKernel.cpp.
◆ getMesh()
|
virtual |
Returns pointer to underlying mesh.
- Returns
- pointer to mesh
Implemented in bitpit::LevelSetCartesianKernel, bitpit::LevelSetOctreeKernel, and bitpit::LevelSetUnstructuredKernel.
Definition at line 83 of file levelSetKernel.cpp.
◆ intersectCellPlane()
|
virtual |
Checks if a plane intersects the cell
- Parameters
-
[in] id is the index of cell [in] root is a point on the plane [in] normal is the normal of the plane [in] tolerance is the tolerance used for distance comparisons
- Returns
- true if intersect
Definition at line 164 of file levelSetKernel.cpp.
◆ isCellInsideBoundingBox()
double bitpit::LevelSetKernel::isCellInsideBoundingBox | ( | long | , |
const std::array< double BITPIT_COMMA 3 > & | , | ||
const std::array< double, 3 > & | ) const |
Checks if the specified cell is inside the given bounding box
- Parameters
-
[in] id is the id of the cell [in] boxMin is the lower left point of the boungind box [in] boxMax is the upper right point of the boungind box
- Returns
- True if the specified cell is inside the given bounding box, false otherwise.
Definition at line 192 of file levelSetKernel.cpp.
◆ isCommunicatorSet()
bool bitpit::LevelSetKernel::isCommunicatorSet | ( | ) | const |
Checks if the communicator to be used for parallel communications has already been set.
- Returns
- Returns true if the communicator has been set, false otherwise.
Definition at line 264 of file levelSetKernel.cpp.
◆ isPointInCell()
bool bitpit::LevelSetKernel::isPointInCell | ( | long | id, |
const std::array< double, 3 > & | pointCoords ) const |
Check if a point lies within the cell
- Parameters
-
[in] id is the cell index [in] pointCoords are the point coordinates
- Returns
- true if point is inside, false otherwise
Definition at line 180 of file levelSetKernel.cpp.
◆ update()
|
virtual |
Updates the kernel after an adaption.
- Parameters
-
[in] adaptionData are the information about the adaption
- Returns
- Returns true if the kernel has been updated, false if no update was needed.
Implemented in bitpit::LevelSetCachedKernel.
Definition at line 113 of file levelSetKernel.cpp.
Member Data Documentation
◆ m_communicator
|
protected |
MPI communicator
Definition at line 60 of file levelSetKernel.hpp.
◆ m_expectedFillIn
|
protected |
Expected kernel fit-in
Definition at line 58 of file levelSetKernel.hpp.
◆ m_mesh
|
protected |
Pointer to underlying mesh
Definition at line 57 of file levelSetKernel.hpp.
The documentation for this interface was generated from the following files:
- src/levelset/levelSetKernel.hpp
- src/levelset/levelSetKernel.cpp
