IBAMR  IBAMR version 0.19.
Public Member Functions | Private Attributes | Friends | List of all members
IBTK::MarkerPatch Class Reference

#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 >, std::vector< IBTK::Point >, std::vector< IBTK::Vector > > prune ()
 
std::tuple< int, IBTK::Point, IBTK::Vectoroperator[] (const unsigned int index) const
 
std::size_t size () const
 

Private Attributes

std::vector< intd_indices
 
std::vector< doubled_positions
 
std::vector< doubled_velocities
 
SAMRAI::hier::Box< NDIM > d_patch_box
 
std::vector< SAMRAI::hier::Box< NDIM > > d_nonoverlapping_patch_boxes
 
SAMRAI::hier::Box< NDIM > d_domain_box
 
std::array< double, NDIM > d_x_lo
 
std::array< double, NDIM > d_x_up
 
std::array< double, NDIM > d_dx
 

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

◆ insert()

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

Add a marker point.

◆ contains()

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

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

◆ prune()

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

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

◆ 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.

◆ 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.

Friends And Related Function Documentation

◆ MarkerPatchHierarchy

friend class MarkerPatchHierarchy
friend

Member Data Documentation

◆ d_indices

std::vector<int> IBTK::MarkerPatch::d_indices
private

◆ d_positions

std::vector<double> IBTK::MarkerPatch::d_positions
private

◆ d_velocities

std::vector<double> IBTK::MarkerPatch::d_velocities
private

◆ d_patch_box

SAMRAI::hier::Box<NDIM> IBTK::MarkerPatch::d_patch_box
private

◆ d_nonoverlapping_patch_boxes

std::vector<SAMRAI::hier::Box<NDIM> > IBTK::MarkerPatch::d_nonoverlapping_patch_boxes
private

◆ d_domain_box

SAMRAI::hier::Box<NDIM> IBTK::MarkerPatch::d_domain_box
private

◆ d_x_lo

std::array<double, NDIM> IBTK::MarkerPatch::d_x_lo
private

◆ d_x_up

std::array<double, NDIM> IBTK::MarkerPatch::d_x_up
private

◆ d_dx

std::array<double, NDIM> IBTK::MarkerPatch::d_dx
private

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