#include <Tpetra_BlockElementSpace.hpp>
Inheritance diagram for Tpetra::BlockElementSpace< OrdinalType >:


Public Member Functions | |
| BlockElementSpace (ElementSpace< OrdinalType > &ElementSpace, OrdinalType elementSize) | |
| Tpetra::BlockElementSpace constructor with constant element size. | |
| BlockElementSpace (ElementSpace< OrdinalType > &ElementSpace, std::vector< OrdinalType > const &elementSizeList) | |
| Tpetra::BlockElementSpace constructor with arbitrary element sizes. | |
| BlockElementSpace (BlockElementSpace< OrdinalType > const &BlockElementSpace) | |
| Tpetra::BlockElementSpace copy constructor. | |
| ~BlockElementSpace () | |
| Tpetra::BlockElementSpace destructor. | |
| void | getRemoteIDList (OrdinalType numIDs, OrdinalType *GIDList, OrdinalType *imageIDList, OrdinalType *LIDList, OrdinalType *elementSizeList) const |
| Returns the image IDs, corresponding local index values, and element sizes for a given list of global indices. | |
| void | getLocalElementID (OrdinalType pointID, OrdinalType &elementID, OrdinalType &elementOffset) const |
| Returns the local ID of the element that contains the given local Point ID, and the offset of the point in that element. | |
| OrdinalType | getElementSize () const |
| Returns the size of elements in the BlockElementSpace. Throws an exception of +2 if not all elements are the same size. | |
| OrdinalType | getElementSize (OrdinalType LID) const |
| Returns the size of the element whose local ID is passed in. | |
| OrdinalType | getNumGlobalPoints () const |
| Returns the number of global points in the BlockElementSpace; equals the sum of all element sizes across all images. | |
| OrdinalType | getNumMyPoints () const |
| Returns the number of global points on this image; equals the sum of all element sizes on the calling image. | |
| OrdinalType | getMinMyElementSize () const |
| Returns the minimum element size on the calling image. | |
| OrdinalType | getMaxMyElementSize () const |
| Returns the maximum element size on the calling image. | |
| OrdinalType | getMinElementSize () const |
| Returns the minimum element size in the BlockElementSpace. | |
| OrdinalType | getMaxElementSize () const |
| Returns the maximum element size in the BlockElementSpace. | |
| bool | isConstantElementSize () const |
| Returns true if all elements have a constant size, returns false otherwise. | |
| bool | isSameAs (BlockElementSpace< OrdinalType > const &BlockElementSpace) const |
| Returns true if this BlockElementSpace is identical to the one passed in, returns false otherwise. | |
| bool | operator== (BlockElementSpace< OrdinalType > const &BlockElementSpace) const |
| bool | operator!= (BlockElementSpace< OrdinalType > const &BlockElementSpace) const |
| OrdinalType const * | getElementSizeList () const |
| Returns a pointer to array of the sizes of all the elements that belong to the calling image. | |
| void | getElementSizeList (OrdinalType *elementSizeList) const |
| OrdinalType const * | getFirstPointInElementList () const |
| Returns a pointer to the internal array of the mapping between the local elements, and the first local point number in each element. | |
| void | getFirstPointInElementList (OrdinalType *firstPointInElementList) const |
| OrdinalType const * | getPointToElementList () const |
| Returns a pointer to an array that lists the LID of the element that each point belongs to. | |
| void | getPointToElementList (OrdinalType *pointToElementList) const |
| void | print (ostream &os) const |
| Prints the BlockElementSpace object to the output stream. (Used by the overloaded << operator inherited from Object). | |
|
ElementSpace< OrdinalType > const & | elementSpace () const |
| Access function for ElementSpace object. | |
| ElementSpace< OrdinalType > * | generateCompatibleElementSpace () const |
| Generates a compatible ElementSpace. | |
| BlockElementSpace< OrdinalType > & | operator= (BlockElementSpace< OrdinalType > const &Source) |
| Assignment operator. | |
BlockElementSpace objects can have variable element sizes. (If variable element sizes are not needed, an ElementSpace object should probably be used instead.) Some BlockElementSpace methods throw exceptions, and should be enclosed in a try/catch block. All BlockElementSpace objects require an ElementSpace object, which requires a Comm object. Point IDs are always in the range of [0, elementSize).
BlockElementSpace error codes (positive for non-fatal, negative for fatal):
| ElementSpace<OrdinalType>* Tpetra::BlockElementSpace< OrdinalType >::generateCompatibleElementSpace | ( | ) | const [inline] |
Generates a compatible ElementSpace.
A "compatible" ElementSpace is defined as an ElementSpace where there is a one to one correspondence between its elements and the points of this BlockElementSpace. The ElementSpace will be allocated on the heap, and it is the responsibility of the caller to ensure that it is deallocated properly.
| OrdinalType Tpetra::BlockElementSpace< OrdinalType >::getElementSize | ( | OrdinalType | LID | ) | const [inline] |
Returns the size of the element whose local ID is passed in.
Throws an exception of +1 if the local ID is not found on the calling image.
LID -= elementSpace().getIndexBase(); // convert to zero-based counting.
| OrdinalType const* Tpetra::BlockElementSpace< OrdinalType >::getElementSizeList | ( | ) | const [inline] |
Returns a pointer to array of the sizes of all the elements that belong to the calling image.
Each of these methods is implemented twice, one that returns a pointer, and one that copies the array into one passed in by the user.
| void Tpetra::BlockElementSpace< OrdinalType >::getFirstPointInElementList | ( | OrdinalType * | firstPointInElementList | ) | const [inline] |
| void Tpetra::BlockElementSpace< OrdinalType >::getLocalElementID | ( | OrdinalType | pointID, | |
| OrdinalType & | elementID, | |||
| OrdinalType & | elementOffset | |||
| ) | const [inline] |
Returns the local ID of the element that contains the given local Point ID, and the offset of the point in that element.
The local ID and offset are placed in OrdinalType variables passed in by reference by the user.
pointID -= elementSpace().getIndexBase(); // convert from indexBase-based to zero-based counting.
| void Tpetra::BlockElementSpace< OrdinalType >::getPointToElementList | ( | OrdinalType * | pointToElementList | ) | const [inline] |
| void Tpetra::BlockElementSpace< OrdinalType >::getRemoteIDList | ( | OrdinalType | numIDs, | |
| OrdinalType * | GIDList, | |||
| OrdinalType * | imageIDList, | |||
| OrdinalType * | LIDList, | |||
| OrdinalType * | elementSizeList | |||
| ) | const [inline] |
Returns the image IDs, corresponding local index values, and element sizes for a given list of global indices.
Theimage IDs, local index values, and element sizes are placed into arrays passed in by the user. The list of global indices used to create these is also passed in by the user. Exceptions might be thrown.
| bool Tpetra::BlockElementSpace< OrdinalType >::isSameAs | ( | BlockElementSpace< OrdinalType > const & | BlockElementSpace | ) | const [inline] |
Returns true if this BlockElementSpace is identical to the one passed in, returns false otherwise.
Also implemented through the == and != operators.
1.4.7