Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
bitpit::LevelSetKernel Interface Referenceabstract

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

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

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< DataCommunicatorcreateDataCommunicator () const
 
MPI_Comm getCommunicator () const
 
double getDistanceTolerance () const
 
LevelSetFillIn getExpectedFillIn () const
 
virtual VolumeKernelgetMesh () 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
 
VolumeKernelm_mesh
 

Detailed Description

Mesh specific implementation to calculate the levelset function.

Definition at line 47 of file levelSetKernel.hpp.

Constructor & Destructor Documentation

◆ ~LevelSetKernel()

bitpit::LevelSetKernel::~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]patchunderlying mesh
[in]expectedFillInexpected kernel fill-in

Definition at line 55 of file levelSetKernel.cpp.

Member Function Documentation

◆ computeCellBoundingRadius()

virtual double bitpit::LevelSetKernel::computeCellBoundingRadius ( long ) const
pure virtual

◆ computeCellCentroid()

virtual std::array< double, 3 > bitpit::LevelSetKernel::computeCellCentroid ( long ) const
pure virtual

◆ computeCellTangentRadius()

virtual double bitpit::LevelSetKernel::computeCellTangentRadius ( long ) const
pure virtual

◆ 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()

VolumeKernel * bitpit::LevelSetKernel::getMesh ( ) const
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()

bool bitpit::LevelSetKernel::intersectCellPlane ( long id,
const std::array< double, 3 > & root,
const std::array< double, 3 > & normal,
double tolerance )
virtual

Checks if a plane intersects the cell

Parameters
[in]idis the index of cell
[in]rootis a point on the plane
[in]normalis the normal of the plane
[in]toleranceis 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]idis the id of the cell
[in]boxMinis the lower left point of the boungind box
[in]boxMaxis 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]idis the cell index
[in]pointCoordsare the point coordinates
Returns
true if point is inside, false otherwise

Definition at line 180 of file levelSetKernel.cpp.

◆ update()

bool bitpit::LevelSetKernel::update ( const std::vector< adaption::Info > & adaptionData)
virtual

Updates the kernel after an adaption.

Parameters
[in]adaptionDataare 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

MPI_Comm bitpit::LevelSetKernel::m_communicator
protected

MPI communicator

Definition at line 60 of file levelSetKernel.hpp.

◆ m_expectedFillIn

LevelSetFillIn bitpit::LevelSetKernel::m_expectedFillIn
protected

Expected kernel fit-in

Definition at line 58 of file levelSetKernel.hpp.

◆ m_mesh

VolumeKernel* bitpit::LevelSetKernel::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:
--- layout: doxygen_footer ---