Finite Element Domain Decomposition Library
FEDDLib
Loading...
Searching...
No Matches
FEDD::BlockMultiVector< SC, LO, GO, NO > Class Template Reference

Public Types

typedef BlockMultiVector< SC, LO, GO, NO > BlockMultiVector_Type
 
typedef Teuchos::RCP< BlockMultiVector_TypeBlockMultiVectorPtr_Type
 
typedef Teuchos::RCP< const BlockMultiVector_TypeBlockMultiVectorConstPtr_Type
 
typedef MultiVector< SC, LO, GO, NO > MultiVector_Type
 
typedef Teuchos::RCP< MultiVector_TypeMultiVectorPtr_Type
 
typedef Teuchos::RCP< const MultiVector_TypeMultiVectorConstPtr_Type
 
typedef MultiVector_Type::Map_Type Map_Type
 
typedef MultiVector_Type::MapPtr_Type MapPtr_Type
 
typedef MultiVector_Type::MapConstPtr_Type MapConstPtr_Type
 
typedef MultiVector_Type::Comm_Type Comm_Type
 
typedef MultiVector_Type::CommConstPtr_Type CommConstPtr_Type
 
typedef BlockMap< LO, GO, NO > BlockMap_Type
 
typedef Teuchos::RCP< BlockMap_TypeBlockMapPtr_Type
 
typedef Teuchos::RCP< const BlockMap_TypeBlockMapConstPtr_Type
 

Public Member Functions

 BlockMultiVector (UN size)
 
 BlockMultiVector (BlockMultiVectorPtr_Type bMVIn)
 
 BlockMultiVector (std::vector< MapConstPtr_Type > &maps, int numMV=1)
 
 BlockMultiVector (BlockMapConstPtr_Type blockMap, int numMV=1)
 
BlockMultiVector_Typeoperator= (const BlockMultiVector_Type &rhs)
 
MultiVectorPtr_Type operator[] (int i) const
 
void resize (UN size)
 
void buildFromMaps (std::vector< MapConstPtr_Type > &maps, int numMV)
 
void buildFromBlockMap (BlockMapConstPtr_Type blockMap, int numMV)
 
void merge ()
 
void mergeBlock (UN block)
 
void split ()
 
void splitBlock (UN block)
 
void determineLocalOffsets ()
 
void determineGlobalOffsets ()
 
void setMergedVector (MultiVectorPtr_Type &mv)
 
int size () const
 
UN getNumVectors () const
 
void addBlock (const MultiVectorPtr_Type &multiVector, int i)
 
MultiVectorConstPtr_Type getBlock (int i) const
 
MultiVectorPtr_Type getBlockNonConst (int i)
 
Teuchos::RCP< Thyra::MultiVectorBase< SC > > getThyraMultiVector ()
 
Teuchos::RCP< const Thyra::MultiVectorBase< SC > > getThyraMultiVectorConst ()
 
Teuchos::RCP< Thyra::ProductMultiVectorBase< SC > > getProdThyraMultiVector ()
 
Teuchos::RCP< const Thyra::ProductMultiVectorBase< SC > > getThyraProdMultiVectorConst () const
 
void fromThyraMultiVector (Teuchos::RCP< Thyra::MultiVectorBase< SC > > thyraMV)
 
void fromThyraProdMultiVector (Teuchos::RCP< Thyra::ProductMultiVectorBase< SC > > thyraMV)
 
void norm2 (const Teuchos::ArrayView< typename Teuchos::ScalarTraits< SC >::magnitudeType > &norms) const
 
void normInf (const Teuchos::ArrayView< typename Teuchos::ScalarTraits< SC >::magnitudeType > &norms) const
 
void dot (BlockMultiVectorConstPtr_Type a, const Teuchos::ArrayView< typename Teuchos::ScalarTraits< SC >::magnitudeType > &dots)
 
void update (const SC &alpha, const BlockMultiVector_Type &A, const SC &beta)
 
void update (const SC &alpha, const BlockMultiVector_Type &A, const SC &beta, const BlockMultiVector_Type &B, const SC &gamma)
 
BlockMultiVectorPtr_Type sumColumns () const
 
void multiply (Teuchos::ETransp transA, Teuchos::ETransp transB, const SC &alpha, BlockMultiVectorConstPtr_Type &A, BlockMultiVectorConstPtr_Type &B, const SC &beta)
 
void putScalar (const SC &alpha)
 
void scale (const SC &alpha)
 
void writeMM (std::string fN="blockMV") const
 
void print (Teuchos::EVerbosityLevel verbLevel=Teuchos::VERB_EXTREME)
 
BlockMapConstPtr_Type getMap () const
 
MultiVectorConstPtr_Type getMergedVector ()
 

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