18 #ifndef BLOCKEPETRA_MULTIVECTOR_HPP_ 19 #define BLOCKEPETRA_MULTIVECTOR_HPP_ 21 #include <Epetra_MultiVector.h> 22 #include <lifev/core/linear_algebra/BlockEpetra_Map.hpp> This class handles block access to parallel monolithic Vectors with an underling block structure...
Epetra_MultiVector vector_Type
BlockEpetra_Map M_blockMap
BlockEpetra_MultiVector * createBlockView(const BlockEpetra_MultiVector::vector_Type &source, const BlockEpetra_Map &map)
Generate a BlockEpetra_MultiVector from a Epetra_MultiVector and a BlockEpetra_Map.
Epetra_MultiVector & block(UInt iblock)
Return a Epetra_MultiVector (view) object for block iblock.
BlockEpetra_MultiVector(const BlockEpetra_Map &map, int numVectors, bool zeroOut=true)
Generate a BlockEpetra_MultiVector from a BlockEpetra_Map.
const BlockEpetra_Map & blockEpetraMap() const
retrieve the BlockEpetra_Map
BlockEpetra_MultiVector * stride(const BlockEpetra_MultiVector::vector_Type &v1, const BlockEpetra_MultiVector::vector_Type &v2, const BlockEpetra_MultiVector::vector_Type &v3, const BlockEpetra_MultiVector::vector_Type &v4)
Generate a BlockEpetra_MultiVector from three Epetra_MultiVectors.
void updateInverseJacobian(const UInt &iQuadPt)
BlockEpetra_MultiVector(const BlockEpetra_MultiVector &Source)
Copy Constructor.
BlockEpetra_MultiVector(Epetra_DataAccess CV, const vector_Type &source, const BlockEpetra_Map &map)
Overlay a block structure to a source.
A derived class from Epetra_MultiVector specialized to handle parallel block structured Vectors...
BlockEpetra_MultiVector * stride(const BlockEpetra_MultiVector::vector_Type &v1, const BlockEpetra_MultiVector::vector_Type &v2)
Generate a BlockEpetra_MultiVector from two Epetra_MultiVectors.
boost::shared_ptr< vector_Type > vectorPtr_Type
const Epetra_MultiVector & block(UInt iblock) const
const version
std::vector< vectorPtr_Type > vectorPtrContainer_Type
vectorPtrContainer_Type M_blocks
BlockEpetra_MultiVector * stride(const BlockEpetra_MultiVector::vector_Type &v1, const BlockEpetra_MultiVector::vector_Type &v2, const BlockEpetra_MultiVector::vector_Type &v3)
Generate a BlockEpetra_MultiVector from three Epetra_MultiVectors.
std::vector< UInt > M_myLocalOffsets
uint32_type UInt
generic unsigned integer (used mainly for addressing)
BlockEpetra_MultiVector * stride(std::vector< const BlockEpetra_MultiVector::vector_Type *> vectors)
Generate a BlockEpetra_MultiVector from a list of Epetra_MultiVector.