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 |
Mesh specific implementation to calculate the levelset function.
Definition at line 47 of file levelSetKernel.hpp.
|
virtual |
Destructor of LevelSetKernel
Definition at line 70 of file levelSetKernel.cpp.
bitpit::LevelSetKernel::LevelSetKernel | ( | ) |
Default constructor.
Definition at line 40 of file levelSetKernel.cpp.
bitpit::LevelSetKernel::LevelSetKernel | ( | VolumeKernel * | patch, |
LevelSetFillIn | expectedFillIn ) |
Constructor
[in] | patch | underlying mesh |
[in] | expectedFillIn | expected kernel fill-in |
Definition at line 55 of file levelSetKernel.cpp.
|
pure virtual |
Implemented in bitpit::LevelSetCartesianKernel, bitpit::LevelSetOctreeKernel, and bitpit::LevelSetUnstructuredKernel.
|
pure virtual |
Implemented in bitpit::LevelSetCartesianKernel, bitpit::LevelSetOctreeKernel, and bitpit::LevelSetUnstructuredKernel.
|
pure virtual |
Implemented in bitpit::LevelSetCartesianKernel, bitpit::LevelSetOctreeKernel, and bitpit::LevelSetUnstructuredKernel.
std::unique_ptr< DataCommunicator > bitpit::LevelSetKernel::createDataCommunicator | ( | ) | const |
Create a data communicator for exchanging data among partitions.
Definition at line 274 of file levelSetKernel.cpp.
MPI_Comm bitpit::LevelSetKernel::getCommunicator | ( | ) | const |
Returns the MPI communicator stored within LevelSetKernel
Definition at line 253 of file levelSetKernel.cpp.
double bitpit::LevelSetKernel::getDistanceTolerance | ( | ) | const |
Get the tolerance for distance checks.
Definition at line 102 of file levelSetKernel.cpp.
LevelSetFillIn bitpit::LevelSetKernel::getExpectedFillIn | ( | ) | const |
Get the expected kernel fill-in.
Definition at line 92 of file levelSetKernel.cpp.
|
virtual |
Returns pointer to underlying mesh.
Implemented in bitpit::LevelSetCartesianKernel, bitpit::LevelSetOctreeKernel, and bitpit::LevelSetUnstructuredKernel.
Definition at line 83 of file levelSetKernel.cpp.
|
virtual |
Checks if a plane intersects the cell
[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 |
Definition at line 164 of file levelSetKernel.cpp.
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
[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 |
Definition at line 192 of file levelSetKernel.cpp.
bool bitpit::LevelSetKernel::isCommunicatorSet | ( | ) | const |
Checks if the communicator to be used for parallel communications has already been set.
Definition at line 264 of file levelSetKernel.cpp.
bool bitpit::LevelSetKernel::isPointInCell | ( | long | id, |
const std::array< double, 3 > & | pointCoords ) const |
Check if a point lies within the cell
[in] | id | is the cell index |
[in] | pointCoords | are the point coordinates |
Definition at line 180 of file levelSetKernel.cpp.
|
virtual |
Updates the kernel after an adaption.
[in] | adaptionData | are the information about the adaption |
Implemented in bitpit::LevelSetCachedKernel.
Definition at line 113 of file levelSetKernel.cpp.
|
protected |
MPI communicator
Definition at line 60 of file levelSetKernel.hpp.
|
protected |
Expected kernel fit-in
Definition at line 58 of file levelSetKernel.hpp.
|
protected |
Pointer to underlying mesh
Definition at line 57 of file levelSetKernel.hpp.