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

Class LIndexSetData is a specialization of the templated class LSetData that is intended to be used with Lagrangian data objects that provide Lagrangian and PETSc indexing information. More...

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

Inheritance diagram for IBTK::LIndexSetData< T >:
Inheritance graph
[legend]

Public Member Functions

 LIndexSetData (SAMRAI::hier::Box< NDIM > box, SAMRAI::hier::IntVector< NDIM > ghosts)
 
virtual ~LIndexSetData ()=default
 
void cacheLocalIndices (SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > patch, const SAMRAI::hier::IntVector< NDIM > &periodic_shift)
 Update the cached indexing data.
 
const std::vector< int > & getLagrangianIndices () const
 
const std::vector< int > & getInteriorLagrangianIndices () const
 
const std::vector< int > & getGhostLagrangianIndices () const
 
const std::vector< int > & getGlobalPETScIndices () const
 
const std::vector< int > & getInteriorGlobalPETScIndices () const
 
const std::vector< int > & getGhostGlobalPETScIndices () const
 
const std::vector< int > & getLocalPETScIndices () const
 
const std::vector< int > & getInteriorLocalPETScIndices () const
 
const std::vector< int > & getGhostLocalPETScIndices () const
 
const std::vector< double > & getPeriodicShifts () const
 
const std::vector< double > & getInteriorPeriodicShifts () const
 
const std::vector< double > & getGhostPeriodicShifts () const
 
- Public Member Functions inherited from IBTK::LSetData< T >
DataIterator data_begin (const SAMRAI::hier::Box< NDIM > &box)
 
DataIterator data_end ()
 
 LSetData (SAMRAI::hier::Box< NDIM > box, SAMRAI::hier::IntVector< NDIM > ghosts)
 
virtual ~LSetData ()=default
 
- Public Member Functions inherited from SAMRAI::pdat::IndexData< NDIM, LSet< T >, SAMRAI::pdat::CellGeometry< NDIM > >
 IndexData (const hier::Box< NDIM > &box, const hier::IntVector< NDIM > &ghosts)
 
virtual void copy (const hier::PatchData< NDIM > &src)
 
virtual void copy (const hier::PatchData< NDIM > &src, const hier::BoxOverlap< NDIM > &overlap)
 
virtual void copy2 (hier::PatchData< NDIM > &dst) const
 
virtual void copy2 (hier::PatchData< NDIM > &dst, const hier::BoxOverlap< NDIM > &overlap) const
 
virtual bool canEstimateStreamSizeFromBox () const
 
virtual int getDataStreamSize (const hier::BoxOverlap< NDIM > &overlap) const
 
virtual void packStream (tbox::AbstractStream &stream, const hier::BoxOverlap< NDIM > &overlap) const
 
virtual void unpackStream (tbox::AbstractStream &stream, const hier::BoxOverlap< NDIM > &overlap)
 
void appendItem (const hier::Index< NDIM > &index, const LSet< T > &item)
 
void appendItemPointer (const hier::Index< NDIM > &index, LSet< T > *item)
 
void addItem (const hier::Index< NDIM > &index, const LSet< T > &item)
 
void addItemPointer (const hier::Index< NDIM > &index, LSet< T > *item)
 
void replaceAddItem (const hier::Index< NDIM > &index, const LSet< T > &item)
 
void replaceAddItemPointer (const hier::Index< NDIM > &index, LSet< T > *item)
 
void replaceAppendItem (const hier::Index< NDIM > &index, const LSet< T > &item)
 
void replaceAppendItemPointer (const hier::Index< NDIM > &index, LSet< T > *item)
 
void removeItem (const hier::Index< NDIM > &index)
 
int getNumberOfItems () const
 
void removeInsideBox (const hier::Box< NDIM > &box)
 
void removeOutsideBox (const hier::Box< NDIM > &box)
 
void removeGhostItems ()
 
void removeAllItems ()
 
bool isElement (const hier::Index< NDIM > &index) const
 
LSet< T > * getItem (const hier::Index< NDIM > &index) const
 
virtual void getSpecializedFromDatabase (tbox::Pointer< tbox::Database > database)
 
virtual void putSpecializedToDatabase (tbox::Pointer< tbox::Database > database)
 
- Public Member Functions inherited from SAMRAI::hier::PatchData< DIM >
 PatchData (const Box< DIM > &domain, const IntVector< DIM > &ghosts)
 
const Box< DIM > & getBox () const
 
const Box< DIM > & getGhostBox () const
 
const IntVector< DIM > & getGhostCellWidth () const
 
void setTime (const double timestamp)
 
double getTime () const
 
virtual void copy (const PatchData< DIM > &src)=0
 
virtual void copy2 (PatchData< DIM > &dst) const=0
 
virtual void copy (const PatchData< DIM > &src, const BoxOverlap< DIM > &overlap)=0
 
virtual void copy2 (PatchData< DIM > &dst, const BoxOverlap< DIM > &overlap) const=0
 
virtual int getDataStreamSize (const BoxOverlap< DIM > &overlap) const=0
 
virtual void packStream (tbox::AbstractStream &stream, const BoxOverlap< DIM > &overlap) const =0
 
virtual void unpackStream (tbox::AbstractStream &stream, const BoxOverlap< DIM > &overlap)=0
 
virtual void getFromDatabase (tbox::Pointer< tbox::Database > database)
 
virtual void putToDatabase (tbox::Pointer< tbox::Database > database)
 

Additional Inherited Members

- Public Types inherited from IBTK::LSetData< T >
using CellIterator = SAMRAI::pdat::CellIterator< NDIM >
 
using SetIterator = SAMRAI::pdat::IndexIterator< NDIM, LSet< T >, SAMRAI::pdat::CellGeometry< NDIM > >
 
using DataIterator = IBTK::LSetDataIterator< T >
 
- Public Types inherited from SAMRAI::pdat::IndexData< NDIM, LSet< T >, SAMRAI::pdat::CellGeometry< NDIM > >
typedef IndexIterator< NDIM, LSet< T >, SAMRAI::pdat::CellGeometry< NDIM > > Iterator
 
typedef ConstIndexIterator< NDIM, LSet< T >, SAMRAI::pdat::CellGeometry< NDIM > > ConstIterator
 
- Protected Member Functions inherited from SAMRAI::hier::PatchData< DIM >
void setGhostBox (const Box< DIM > &ghost_box)
 

Detailed Description

template<class T>
class IBTK::LIndexSetData< T >

Class LIndexSetData is a specialization of the templated class LSetData that is intended to be used with Lagrangian data objects that provide Lagrangian and PETSc indexing information.

See also
LSetData
SAMRAI::pdat::IndexData

Constructor & Destructor Documentation

◆ LIndexSetData()

template<class T >
IBTK::LIndexSetData< T >::LIndexSetData ( SAMRAI::hier::Box< NDIM >  box,
SAMRAI::hier::IntVector< NDIM >  ghosts 
)

The constructor for an LIndexSetData object. The box describes the interior of the index space and the ghosts vector describes the ghost nodes in each coordinate direction.

◆ ~LIndexSetData()

template<class T >
virtual IBTK::LIndexSetData< T >::~LIndexSetData ( )
virtualdefault

The virtual destructor for an LIndexSetData object.

Member Function Documentation

◆ getGhostGlobalPETScIndices()

template<class T >
const std::vector< int > & IBTK::LIndexSetData< T >::getGhostGlobalPETScIndices
inline
Returns
A constant reference to the set of global PETSc data indices that lie in the ghost cell region of the patch data object.

◆ getGhostLagrangianIndices()

template<class T >
const std::vector< int > & IBTK::LIndexSetData< T >::getGhostLagrangianIndices
inline
Returns
A constant reference to the set of Lagrangian data indices that lie in the ghost cell region of the patch data object.

◆ getGhostLocalPETScIndices()

template<class T >
const std::vector< int > & IBTK::LIndexSetData< T >::getGhostLocalPETScIndices
inline
Returns
A constant reference to the set of local PETSc data indices that lie in the ghost cell region of the patch data object.

◆ getGhostPeriodicShifts()

template<class T >
const std::vector< double > & IBTK::LIndexSetData< T >::getGhostPeriodicShifts
Returns
A constant reference to the periodic shifts for the indices that lie in the ghost cell region of the patch data object.

◆ getGlobalPETScIndices()

template<class T >
const std::vector< int > & IBTK::LIndexSetData< T >::getGlobalPETScIndices
inline
Returns
A constant reference to the set of global PETSc data indices that lie in the patch (including the ghost cell region).

◆ getInteriorGlobalPETScIndices()

template<class T >
const std::vector< int > & IBTK::LIndexSetData< T >::getInteriorGlobalPETScIndices
inline
Returns
A constant reference to the set of global PETSc data indices that lie in the patch interior.

◆ getInteriorLagrangianIndices()

template<class T >
const std::vector< int > & IBTK::LIndexSetData< T >::getInteriorLagrangianIndices
inline
Returns
A constant reference to the set of Lagrangian data indices that lie in the patch interior.

◆ getInteriorLocalPETScIndices()

template<class T >
const std::vector< int > & IBTK::LIndexSetData< T >::getInteriorLocalPETScIndices
inline
Returns
A constant reference to the set of local PETSc data indices that lie in the patch interior.

◆ getInteriorPeriodicShifts()

template<class T >
const std::vector< double > & IBTK::LIndexSetData< T >::getInteriorPeriodicShifts
Returns
A constant reference to the periodic shifts for the indices that lie in the patch interior.

◆ getLagrangianIndices()

template<class T >
const std::vector< int > & IBTK::LIndexSetData< T >::getLagrangianIndices
inline
Returns
A constant reference to the set of Lagrangian data indices that lie in the patch (including the ghost cell region).

◆ getLocalPETScIndices()

template<class T >
const std::vector< int > & IBTK::LIndexSetData< T >::getLocalPETScIndices
inline
Returns
A constant reference to the set of local PETSc data indices that lie in the patch (including the ghost cell region).

◆ getPeriodicShifts()

template<class T >
const std::vector< double > & IBTK::LIndexSetData< T >::getPeriodicShifts
Returns
A constant reference to the periodic shifts for the indices that lie in the patch (including the ghost cell region).

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