IBAMR
An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method
Public Member Functions | Friends | List of all members
IBTK::MarkerPatch Class Reference

#include </home/runner/work/IBAMR/IBAMR/ibtk/include/ibtk/MarkerPatchHierarchy.h>

Public Member Functions

 MarkerPatch (const SAMRAI::hier::Box< NDIM > &patch_box, const std::vector< SAMRAI::hier::Box< NDIM > > &nonoverlapping_patch_boxes, const SAMRAI::tbox::Pointer< SAMRAI::geom::CartesianGridGeometry< NDIM > > &grid_geom, const SAMRAI::hier::IntVector< NDIM > &ratio)
 
void insert (const int &index, const IBTK::Point &position, const IBTK::Vector &velocity)
 
bool contains (const IBTK::Point &position) const
 
std::tuple< std::vector< int >, EigenAlignedVector< IBTK::Point >, EigenAlignedVector< IBTK::Vector > > prune ()
 
std::tuple< int, IBTK::Point, IBTK::Vector > operator[] (const unsigned int index) const
 
std::size_t size () const
 

Friends

class MarkerPatchHierarchy
 

Detailed Description

Structure containing all relevant data to store markers on a Patch.

Constructor & Destructor Documentation

◆ MarkerPatch()

IBTK::MarkerPatch::MarkerPatch ( const SAMRAI::hier::Box< NDIM > &  patch_box,
const std::vector< SAMRAI::hier::Box< NDIM > > &  nonoverlapping_patch_boxes,
const SAMRAI::tbox::Pointer< SAMRAI::geom::CartesianGridGeometry< NDIM > > &  grid_geom,
const SAMRAI::hier::IntVector< NDIM > &  ratio 
)

Constructor.

Parameters
[in]patch_boxBox, defined over the patch's level's index space, for the present Patch.
[in]nonoverlapping_patch_boxesThe subset of patch_box which is uniquely indexed by this Patch.
[in]grid_geomThe grid geometry.
[in]ratioThe ratio of the Path's level to the coarsest level.

Member Function Documentation

◆ contains()

bool IBTK::MarkerPatch::contains ( const IBTK::Point &  position) const

Return whether or not the point should be uniquely assigned to this Patch.

◆ insert()

void IBTK::MarkerPatch::insert ( const int &  index,
const IBTK::Point &  position,
const IBTK::Vector &  velocity 
)

Add a marker point.

◆ operator[]()

std::tuple< int, IBTK::Point, IBTK::Vector > IBTK::MarkerPatch::operator[] ( const unsigned int  index) const

Return the index-th marker point stored by the present Patch.

◆ prune()

std::tuple< std::vector< int >, EigenAlignedVector< IBTK::Point >, EigenAlignedVector< IBTK::Vector > > IBTK::MarkerPatch::prune ( )

Remove all marker points which do not lie in cells uniquely owned by this patch.

◆ size()

std::size_t IBTK::MarkerPatch::size ( ) const

Return the number of marker points presently stored by this object.

Note
This may contain points outside the cells uniquely owned by this Patch if prune() is not called first.

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