EpetraExt  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Attributes | List of all members
EpetraExt::BlockMultiVector Class Reference

#include <EpetraExt_BlockMultiVector.h>

Inheritance diagram for EpetraExt::BlockMultiVector:
Inheritance graph
[legend]

Public Member Functions

int ExtractBlockValues (Epetra_MultiVector &BaseVec, long long BlockRow) const
 Extract a single block from a Block Vector: block row is global, not a stencil value. More...
 
int LoadBlockValues (const Epetra_MultiVector &BaseVec, long long BlockRow)
 Load a single block into a Block Vector: block row is global, not a stencil value. More...
 
Teuchos::RCP< const
Epetra_MultiVector
GetBlock (long long BlockRow) const
 Return Epetra_MultiVector for given block row. More...
 
Teuchos::RCP< Epetra_MultiVectorGetBlock (long long BlockRow)
 Return Epetra_MultiVector for given block row. More...
 
const Epetra_BlockMapGetBaseMap () const
 Return base map. More...
 
- Public Member Functions inherited from Epetra_DistObject
virtual void Print (std::ostream &os) const
 
- Public Member Functions inherited from Epetra_BLAS
 Epetra_BLAS (void)
 
 Epetra_BLAS (const Epetra_BLAS &BLAS)
 
virtual ~Epetra_BLAS (void)
 
float ASUM (const int N, const float *X, const int INCX=1) const
 
double ASUM (const int N, const double *X, const int INCX=1) const
 
float DOT (const int N, const float *X, const float *Y, const int INCX=1, const int INCY=1) const
 
double DOT (const int N, const double *X, const double *Y, const int INCX=1, const int INCY=1) const
 
float NRM2 (const int N, const float *X, const int INCX=1) const
 
double NRM2 (const int N, const double *X, const int INCX=1) const
 
void SCAL (const int N, const float ALPHA, float *X, const int INCX=1) const
 
void SCAL (const int N, const double ALPHA, double *X, const int INCX=1) const
 
void COPY (const int N, const float *X, float *Y, const int INCX=1, const int INCY=1) const
 
void COPY (const int N, const double *X, double *Y, const int INCX=1, const int INCY=1) const
 
int IAMAX (const int N, const float *X, const int INCX=1) const
 
int IAMAX (const int N, const double *X, const int INCX=1) const
 
void AXPY (const int N, const float ALPHA, const float *X, float *Y, const int INCX=1, const int INCY=1) const
 
void AXPY (const int N, const double ALPHA, const double *X, double *Y, const int INCX=1, const int INCY=1) const
 
void GEMV (const char TRANS, const int M, const int N, const float ALPHA, const float *A, const int LDA, const float *X, const float BETA, float *Y, const int INCX=1, const int INCY=1) const
 
void GEMV (const char TRANS, const int M, const int N, const double ALPHA, const double *A, const int LDA, const double *X, const double BETA, double *Y, const int INCX=1, const int INCY=1) const
 
void GEMM (const char TRANSA, const char TRANSB, const int M, const int N, const int K, const float ALPHA, const float *A, const int LDA, const float *B, const int LDB, const float BETA, float *C, const int LDC) const
 
void GEMM (const char TRANSA, const char TRANSB, const int M, const int N, const int K, const double ALPHA, const double *A, const int LDA, const double *B, const int LDB, const double BETA, double *C, const int LDC) const
 
void SYMM (const char SIDE, const char UPLO, const int M, const int N, const float ALPHA, const float *A, const int LDA, const float *B, const int LDB, const float BETA, float *C, const int LDC) const
 
void SYMM (const char SIDE, const char UPLO, const int M, const int N, const double ALPHA, const double *A, const int LDA, const double *B, const int LDB, const double BETA, double *C, const int LDC) const
 
void TRMM (const char SIDE, const char UPLO, const char TRANSA, const char DIAG, const int M, const int N, const float ALPHA, const float *A, const int LDA, float *B, const int LDB) const
 
void TRMM (const char SIDE, const char UPLO, const char TRANSA, const char DIAG, const int M, const int N, const double ALPHA, const double *A, const int LDA, double *B, const int LDB) const
 
void SYRK (const char UPLO, const char TRANS, const int N, const int K, const float ALPHA, const float *A, const int LDA, const float BETA, float *C, const int LDC) const
 
void SYRK (const char UPLO, const char TRANS, const int N, const int K, const double ALPHA, const double *A, const int LDA, const double BETA, double *C, const int LDC) const
 

Protected Attributes

Epetra_BlockMap BaseMap_
 
long long Offset_
 
 BlockMultiVector (const Epetra_BlockMap &BaseMap, const Epetra_BlockMap &GlobalMap, int NumVectors)
 BlockMultiVector constuctor with one block row per processor. More...
 
 BlockMultiVector (Epetra_DataAccess CV, const Epetra_BlockMap &BaseMap, const Epetra_MultiVector &BlockVec)
 
 BlockMultiVector (const BlockMultiVector &MV)
 Copy constructor. More...
 
virtual ~BlockMultiVector ()
 Destructor. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Epetra_DistObject
virtual int CheckSizes (const Epetra_SrcDistObject &Source)=0
 
virtual int CopyAndPermute (const Epetra_SrcDistObject &Source, int NumSameIDs, int NumPermuteIDs, int *PermuteToLIDs, int *PermuteFromLIDs, const Epetra_OffsetIndex *Indexor, Epetra_CombineMode CombineMode=Zero)=0
 
virtual int PackAndPrepare (const Epetra_SrcDistObject &Source, int NumExportIDs, int *ExportLIDs, int &LenExports, char *&Exports, int &SizeOfPacket, int *Sizes, bool &VarSizes, Epetra_Distributor &Distor)=0
 
virtual int UnpackAndCombine (const Epetra_SrcDistObject &Source, int NumImportIDs, int *ImportLIDs, int LenImports, char *Imports, int &SizeOfPacket, Epetra_Distributor &Distor, Epetra_CombineMode CombineMode, const Epetra_OffsetIndex *Indexor)=0
 

Detailed Description

Definition at line 59 of file EpetraExt_BlockMultiVector.h.

Constructor & Destructor Documentation

EpetraExt::BlockMultiVector::BlockMultiVector ( const Epetra_BlockMap BaseMap,
const Epetra_BlockMap GlobalMap,
int  NumVectors 
)

BlockMultiVector constuctor with one block row per processor.

Creates a BlockMultiVector object and allocates storage.  
Parameters
InBaseMap - Map determining local structure, can be distrib. over subset of proc.'s
InGlobalMap - Full map describing the overall global structure, generally generated by the construction of a BlockCrsMatrix object
InNumVectors - Number of vectors in object

Definition at line 52 of file EpetraExt_BlockMultiVector.cpp.

EpetraExt::BlockMultiVector::BlockMultiVector ( Epetra_DataAccess  CV,
const Epetra_BlockMap BaseMap,
const Epetra_MultiVector BlockVec 
)
 Creates a BlockMultiVector object from an existing Epetra_MultiVector.  
Parameters
InEpetra_DataAccess - Enumerated type set to Copy or View.
InBaseMap - Map determining local structure, can be distrib. over subset of proc.'s
InBlockVec - Source Epetra multi vector whose map must be the full map for the block multi vector

Definition at line 64 of file EpetraExt_BlockMultiVector.cpp.

EpetraExt::BlockMultiVector::BlockMultiVector ( const BlockMultiVector MV)

Copy constructor.

Definition at line 76 of file EpetraExt_BlockMultiVector.cpp.

EpetraExt::BlockMultiVector::~BlockMultiVector ( )
virtual

Destructor.

Definition at line 84 of file EpetraExt_BlockMultiVector.cpp.

Member Function Documentation

int EpetraExt::BlockMultiVector::ExtractBlockValues ( Epetra_MultiVector BaseVec,
long long  BlockRow 
) const

Extract a single block from a Block Vector: block row is global, not a stencil value.

Definition at line 89 of file EpetraExt_BlockMultiVector.cpp.

int EpetraExt::BlockMultiVector::LoadBlockValues ( const Epetra_MultiVector BaseVec,
long long  BlockRow 
)

Load a single block into a Block Vector: block row is global, not a stencil value.

Definition at line 111 of file EpetraExt_BlockMultiVector.cpp.

Teuchos::RCP< const Epetra_MultiVector > EpetraExt::BlockMultiVector::GetBlock ( long long  BlockRow) const

Return Epetra_MultiVector for given block row.

Definition at line 134 of file EpetraExt_BlockMultiVector.cpp.

Teuchos::RCP< Epetra_MultiVector > EpetraExt::BlockMultiVector::GetBlock ( long long  BlockRow)

Return Epetra_MultiVector for given block row.

Definition at line 151 of file EpetraExt_BlockMultiVector.cpp.

const Epetra_BlockMap & EpetraExt::BlockMultiVector::GetBaseMap ( ) const

Return base map.

Definition at line 168 of file EpetraExt_BlockMultiVector.cpp.

Member Data Documentation

Epetra_BlockMap EpetraExt::BlockMultiVector::BaseMap_
protected

Definition at line 112 of file EpetraExt_BlockMultiVector.h.

long long EpetraExt::BlockMultiVector::Offset_
protected

Definition at line 114 of file EpetraExt_BlockMultiVector.h.


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