|
IBAMR
IBAMR version 0.19.
|
Class LSetData is a specialization of the templated class SAMRAI::pdat::IndexData that provides access to Lagrangian objects that are embedded in the a Cartesian grid patch. More...
#include <ibtk/LSetDataIterator.h>

Public Types | |
| using | CellIterator = SAMRAI::pdat::CellIterator< NDIM > |
| using | SetIterator = SAMRAI::pdat::IndexIterator< NDIM, LSet< T >, SAMRAI::pdat::CellGeometry< NDIM > > |
| using | DataIterator = IBTK::LSetDataIterator< T > |
| typedef IndexIterator< DIM, LSet< T >, SAMRAI::pdat::CellGeometry< NDIM > > | Iterator |
| typedef ConstIndexIterator< DIM, LSet< T >, SAMRAI::pdat::CellGeometry< NDIM > > | ConstIterator |
Public Member Functions | |
| 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 |
| virtual void | copy (const hier::PatchData< DIM > &src) |
| virtual void | copy (const hier::PatchData< DIM > &src, const hier::BoxOverlap< DIM > &overlap) |
| virtual void | copy2 (hier::PatchData< DIM > &dst) const |
| virtual void | copy2 (hier::PatchData< DIM > &dst, const hier::BoxOverlap< DIM > &overlap) const |
| virtual bool | canEstimateStreamSizeFromBox () const |
| virtual bool | canEstimateStreamSizeFromBox () const =0 |
| virtual int | getDataStreamSize (const hier::BoxOverlap< DIM > &overlap) const |
| virtual void | packStream (tbox::AbstractStream &stream, const hier::BoxOverlap< DIM > &overlap) const |
| virtual void | unpackStream (tbox::AbstractStream &stream, const hier::BoxOverlap< DIM > &overlap) |
| void | appendItem (const hier::Index< DIM > &index, const LSet< T > &item) |
| void | appendItemPointer (const hier::Index< DIM > &index, LSet< T > *item) |
| void | addItem (const hier::Index< DIM > &index, const LSet< T > &item) |
| void | addItemPointer (const hier::Index< DIM > &index, LSet< T > *item) |
| void | replaceAddItem (const hier::Index< DIM > &index, const LSet< T > &item) |
| void | replaceAddItemPointer (const hier::Index< DIM > &index, LSet< T > *item) |
| void | replaceAppendItem (const hier::Index< DIM > &index, const LSet< T > &item) |
| void | replaceAppendItemPointer (const hier::Index< DIM > &index, LSet< T > *item) |
| void | removeItem (const hier::Index< DIM > &index) |
| int | getNumberOfItems () const |
| void | removeInsideBox (const hier::Box< DIM > &box) |
| void | removeOutsideBox (const hier::Box< DIM > &box) |
| void | removeGhostItems () |
| void | removeAllItems () |
| bool | isElement (const hier::Index< DIM > &index) const |
| LSet< T > * | getItem (const hier::Index< DIM > &index) const |
| virtual void | getSpecializedFromDatabase (tbox::Pointer< tbox::Database > database) |
| virtual void | putSpecializedToDatabase (tbox::Pointer< tbox::Database > database) |
| 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 | getFromDatabase (tbox::Pointer< tbox::Database > database) |
| virtual void | putToDatabase (tbox::Pointer< tbox::Database > database) |
Protected Member Functions | |
| void | setGhostBox (const Box< DIM > &ghost_box) |
Private Member Functions | |
| LSetData ()=delete | |
| Default constructor. More... | |
| LSetData (const LSetData< T > &from)=delete | |
| Copy constructor. More... | |
| LSetData & | operator= (const LSetData< T > &that)=delete |
| Assignment operator. More... | |
| void | removeItem (const int offset) |
| bool | isElement (int offset) const |
| void | addItemToList (const hier::Index< DIM > &index, const int offset, LSet< T > &item) |
| void | appendItemToList (const hier::Index< DIM > &index, const int offset, LSet< T > &item) |
| void | removeNodeFromList (IndexDataNode< DIM, LSet< T >, SAMRAI::pdat::CellGeometry< NDIM > > *node) |
Private Attributes | |
| std::vector< IndexDataNode< DIM, LSet< T >, SAMRAI::pdat::CellGeometry< NDIM > > * > | d_data |
| IndexDataNode< DIM, LSet< T >, SAMRAI::pdat::CellGeometry< NDIM > > * | d_list_head |
| IndexDataNode< DIM, LSet< T >, SAMRAI::pdat::CellGeometry< NDIM > > * | d_list_tail |
| int | d_number_items |
| Box< DIM > | d_box |
| Box< DIM > | d_ghost_box |
| IntVector< DIM > | d_ghosts |
| double | d_timestamp |
| using IBTK::LSetData< T >::CellIterator = SAMRAI::pdat::CellIterator<NDIM> |
This iterator iterates over the elements of a cell centered box geometry.
| using IBTK::LSetData< T >::SetIterator = SAMRAI::pdat::IndexIterator<NDIM, LSet<T>, SAMRAI::pdat::CellGeometry<NDIM> > |
This iterator iterates over the LSet elements within the IndexData patch data object.
| using IBTK::LSetData< T >::DataIterator = IBTK::LSetDataIterator<T> |
This iterator iterates over the Lagrangian elements located within a cell centered box geometry.
|
inherited |
Define the iterator.
|
inherited |
| IBTK::LSetData< T >::LSetData | ( | SAMRAI::hier::Box< NDIM > | box, |
| SAMRAI::hier::IntVector< NDIM > | ghosts | ||
| ) |
The constructor for an SAMRAI::pdat::IndexData<NDIM> object. The box describes the interior of the index space and the ghosts vector describes the ghost nodes in each coordinate direction.
|
virtualdefault |
The virtual destructor for an LSetData object.
|
privatedelete |
|
privatedelete |
| from | The value to copy to this object. |
|
inline |
Return an iterator to the first Lagrangian data object in the specified region of index space.
|
inline |
Return an iterator pointing to the end of the collection of Lagrangian data objects associated with the patch data object.
|
privatedelete |
| that | The value to assign to this object. |
|
virtualinherited |
A fast copy between the source and destination. All data is copied from the source into the destination where there is overlap in the index space.
Implements SAMRAI::hier::PatchData< DIM >.
|
virtualinherited |
Copy data from the source into the destination using the designated overlap descriptor. The overlap description should have been computed previously from computeIntersection().
Implements SAMRAI::hier::PatchData< DIM >.
|
virtualinherited |
A fast copy between the source and destination. Data is copied from the source into the destination where there is overlap in the underlying index space. The copy is performed on the interior plus the ghost cell width (for both the source and destination). If this copy does not understand how to copy data from the destination, then it may throw an exception (aka dump core in a failed assertion).
Implements SAMRAI::hier::PatchData< DIM >.
|
virtualinherited |
Copy data from the source into the destination using the designated overlap descriptor. The overlap description will have been computed using the appropriate box geometry objects If this member function cannot complete the copy from the destination, then it may throw an exception (aka dump core in a failed assertion).
Implements SAMRAI::hier::PatchData< DIM >.
|
virtualinherited |
Determines whether the hier::PatchData subclass can estinate the necessary stream size using only index space information.
|
pure virtualinherited |
Determines whether the patch data subclass can estimate the necessary stream size using only index space information. The return value will most likely be true for data types that are fixed size (such as doubles) but will be false for complex data types that allocate their own storage (such as lists of particles). This routine is used to estimate whether a processor can estimate space for incoming messages or whether it needs to receive a message size from the sending processor.
Implemented in SAMRAI::pdat::OuteredgeData< DIM, TYPE >, SAMRAI::pdat::OuternodeData< DIM, TYPE >, SAMRAI::pdat::OutersideData< DIM, TYPE >, SAMRAI::pdat::OuterfaceData< DIM, TYPE >, SAMRAI::pdat::SideData< DIM, TYPE >, SAMRAI::pdat::FaceData< DIM, TYPE >, SAMRAI::pdat::EdgeData< DIM, TYPE >, SAMRAI::pdat::NodeData< DIM, TYPE >, SAMRAI::pdat::CellData< DIM, TYPE >, and SAMRAI::pdat::IndexData< DIM, TYPE, BOX_GEOMETRY >.
|
virtualinherited |
Calculate the number of bytes needed to stream the data lying in the specified box domain.
Implements SAMRAI::hier::PatchData< DIM >.
|
virtualinherited |
Pack data lying on the specified index set into the output stream.
Implements SAMRAI::hier::PatchData< DIM >.
|
virtualinherited |
Unpack data from the message stream into the specified index set.
Implements SAMRAI::hier::PatchData< DIM >.
|
inherited |
Add a new item to the tail of the irregular index set.
|
inherited |
Add a pointer to a new item to the tail of the irregular index set. IndexData will delete the item when it is no longer needed by IndexData. Due to this behavior item must be dynamically created (e.g. new) so that it may be deleted.
NOTE: This is an optimization to avoid an extra constructor call. It should be used with caution, the caller MUST NOT delete the referenced item. Think of this as giving up control of the item to IndexData.
|
inherited |
Add a new item to the head of the irregular index set
|
inherited |
Add a pointer to a new item to the head of the irregular index set. IndexData will delete the item when it is no longer needed by IndexData. Due to this behavior item must be dynamically created (e.g. new) so that it may be deleted.
NOTE: This is an optimization to avoid an extra constructor call. It should be used with caution, the caller MUST NOT delete the referenced item. Think of this as giving up control of the item to IndexData.
|
inherited |
Remove (deallocate) the item in the irregular index set located at the specified hier::Index and replace it with a new item.
This preserves the iteration order of the orginal insertions.
If an item does not already exist at index this is equivelent to addItem.
|
inherited |
Remove (deallocate) the item in the irregular index set located at the specified hier::Index and replace it with a new item.
This preserves the iteration order of the original insertions.
If an item does not already exist at index this is equivelent to addItemPointer.
See addItemPointer for additional comments on pointer semantics.
|
inherited |
Remove (deallocate) the item in the irregular index set located at the specified hier::Index and replace it with a new item.
This preserves the iteration order of the orginal insertions.
If an item does not already exist at index this is equivelent to appendItem.
|
inherited |
Remove (deallocate) the item in the irregular index set located at the specified hier::Index and replace it with a new item.
This preserves the iteration order of the original insertions.
If an item does not already exist at index this is equivelent to appendItemPointer.
See addItemPointer for additional comments on pointer semantics.
|
inherited |
Remove (deallocate) the item in the irregular index set located at the specified hier::Index.
|
privateinherited |
Remove (deallocate) the item in the irregular index set located at the offset.
NOTE: This is for optimization to avoid computing offset repeatedly.
|
inherited |
Return the number of data items (i.e. the number of indices) in
the index data list.
|
inherited |
Remove (deallocate) any items in the irregular index set located in the index space of the hier::Box.
|
inherited |
Remove (deallocate) any items in the irregular index set located outside of the index space of the hier::Box.
|
inherited |
Remove (deallocate) the items in the irregular index set located in the ghost region of the patch.
|
inherited |
Remove (deallocate) all items in the irregular index set.
|
inherited |
Returns true if there is an element of the irregular index set at the specified hier::Index.
|
privateinherited |
Returns true if element exists at offset
|
inherited |
Given an index, return a pointer to the item located at that index. If there is no item at the index, null is returned.
|
virtualinherited |
Check to make sure that the class version number is the same as the restart file version number.
Assertions: database must be a non-null pointer.
Implements SAMRAI::hier::PatchData< DIM >.
|
virtualinherited |
Write out the class version number to the database.
Assertions: database must be a non-null pointer.
Implements SAMRAI::hier::PatchData< DIM >.
|
privateinherited |
Internal routine to append item to the linked list representation.
NOTE: Offset is not strictly necessary but was include to avoid computing it repeatedly.
|
privateinherited |
|
privateinherited |
Remove the specified node from the linked list.
|
inherited |
Return the box over which this patch data object is defined. All objects in the same patch are defined over the same box, although the patch data objects may interpret how to allocate storage for that box in different ways.
|
inherited |
Return the ghost cell box. The ghost cell box is defined to be the interior box grown by the ghost cell width.
|
inherited |
Get the ghost cell width associated with this patch data object.
|
inherited |
Set the simulation time stamp for the patch data type. The simulation time is initialized to zero when the patch data type is created.
|
inherited |
Get the simulation time stamp for the patch data type.
|
virtualinherited |
Checks that class version and restart file version are equal. If so, reads in the data members common to all patch data types from database. This method then calls the getSpecializedFromDatabase() method to retrieve the data special to the concrete patch data type.
|
virtualinherited |
Writes out the class version number to the database. Then, writes the data members common to all patch data types from database. After the common data is written to the database, the putSpecializedToDatabase() method is invoked.
|
protectedinherited |
This protected method is used by concrete patch data subclasses to set the ghost box over which the patch data will be allocated. Note that this allows the ghost box to be inconsistant with its standard interpretation as the patch domain box grown by the ghost cell width (as set in the constructor).
This function is included to treat some special cases for concrete patch data types and should be used with caution.
|
privateinherited |
|
privateinherited |
|
privateinherited |
|
privateinherited |
|
privateinherited |
|
privateinherited |
|
privateinherited |
|
privateinherited |
1.8.17