EpetraExt Development
Public Member Functions | Protected Attributes
EpetraExt::BlockCrsMatrix Class Reference

#include <EpetraExt_BlockCrsMatrix.h>

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

List of all members.

Public Member Functions

const std::vector< int > & Stencil (int i=0)
 Local Stencil Info.
int RowIndex (int i=0)
 RowIndex.
const std::vector< long long > & Stencil64 (int i=0)
 Local Stencil Info.
long long RowIndex64 (int i=0)
 RowIndex.
void LoadBlock (const Epetra_RowMatrix &BaseMatrix, const int Row, const int Col)
 Routine for loading a base matrices values into the large Block Matrix The Row and Col arguments are indices into RowStencil.
void LoadBlock (const Epetra_RowMatrix &BaseMatrix, const long long Row, const long long Col)
void SumIntoBlock (double alpha, const Epetra_RowMatrix &BaseMatrix, const int Row, const int Col)
 Routine for summing base matrices values into the large Block Matrix The Row and Col arguments are indices into RowStencil.
void SumIntoBlock (double alpha, const Epetra_RowMatrix &BaseMatrix, const long long Row, const long long Col)
void SumIntoGlobalBlock (double alpha, const Epetra_RowMatrix &BaseMatrix, const int Row, const int Col)
 Routine for summing base matrices values into the large Block Matrix The Row and Col arguments are global indices.
void SumIntoGlobalBlock (double alpha, const Epetra_RowMatrix &BaseMatrix, const long long Row, const long long Col)
void BlockSumIntoGlobalValues (const int BaseRow, int NumIndices, double *Values, const int *Indices, const int Row, const int Col)
 Sum Entries into Block matrix using base-matrix numbering plus block Row and Col The Row and Col arguments are indices into RowStencil.
void BlockSumIntoGlobalValues (const long long BaseRow, int NumIndices, double *Values, const long long *Indices, const long long Row, const long long Col)
void BlockReplaceGlobalValues (const int BaseRow, int NumIndices, double *Values, const int *Indices, const int Row, const int Col)
void BlockReplaceGlobalValues (const long long BaseRow, int NumIndices, double *Values, const long long *Indices, const long long Row, const long long Col)
void BlockExtractGlobalRowView (const int BaseRow, int &NumEntries, double *&Values, const int Row, const int Col)
void BlockExtractGlobalRowView (const long long BaseRow, int &NumEntries, double *&Values, const long long Row, const long long Col)
void ExtractBlock (Epetra_CrsMatrix &BaseMatrix, const int Row, const int Col)
void ExtractBlock (Epetra_CrsMatrix &BaseMatrix, const long long Row, const long long Col)

Protected Attributes

Epetra_CrsGraph BaseGraph_
std::vector< std::vector< int > > RowStencil_int_
std::vector< int > RowIndices_int_
std::vector< std::vector< long
long > > 
RowStencil_LL_
std::vector< long long > RowIndices_LL_
long long ROffset_
long long COffset_
 BlockCrsMatrix (const Epetra_CrsGraph &BaseGraph, const std::vector< int > &RowStencil, int RowIndex, const Epetra_Comm &GlobalComm)
 BlockCrsMatrix constuctor with one block row per processor.
 BlockCrsMatrix (const Epetra_CrsGraph &BaseGraph, const std::vector< long long > &RowStencil, long long RowIndex, const Epetra_Comm &GlobalComm)
 BlockCrsMatrix (const Epetra_CrsGraph &BaseGraph, const std::vector< std::vector< int > > &RowStencil, const std::vector< int > &RowIndices, const Epetra_Comm &GlobalComm)
 BlockCrsMatrix constuctor with multiple block rows per processor.
 BlockCrsMatrix (const Epetra_CrsGraph &BaseGraph, const std::vector< std::vector< long long > > &RowStencil, const std::vector< long long > &RowIndices, const Epetra_Comm &GlobalComm)
 BlockCrsMatrix (const Epetra_CrsGraph &BaseGraph, const Epetra_CrsGraph &LocalBlockGraph, const Epetra_Comm &GlobalComm)
 Version taking a local block graph.
 BlockCrsMatrix (const Epetra_RowMatrix &BaseMatrix, const std::vector< std::vector< int > > &RowStencil, const std::vector< int > &RowIndices, const Epetra_Comm &GlobalComm)
 BlockCrsMatrix (const Epetra_RowMatrix &BaseMatrix, const std::vector< std::vector< long long > > &RowStencil, const std::vector< long long > &RowIndices, const Epetra_Comm &GlobalComm)
 BlockCrsMatrix (const BlockCrsMatrix &Matrix)
 Copy constructor.
virtual ~BlockCrsMatrix ()
 Destructor.

Detailed Description

Definition at line 60 of file EpetraExt_BlockCrsMatrix.h.


Constructor & Destructor Documentation

EpetraExt::BlockCrsMatrix::BlockCrsMatrix ( const Epetra_CrsGraph BaseGraph,
const std::vector< int > &  RowStencil,
int  RowIndex,
const Epetra_Comm GlobalComm 
)

BlockCrsMatrix constuctor with one block row per processor.

Creates a BlockCrsMatrix object and allocates storage.

Parameters:
InBaseGraph - Graph determining individual block structure, can be distrib. over subset of proc.'s
InRowStencil - Describes the stencil for block row on this processor (i.e. (-1 0 1) centered difference)
InRowIndex - Defines the index used for this block row.
EpetraExt::BlockCrsMatrix::BlockCrsMatrix ( const Epetra_CrsGraph BaseGraph,
const std::vector< long long > &  RowStencil,
long long  RowIndex,
const Epetra_Comm GlobalComm 
)
EpetraExt::BlockCrsMatrix::BlockCrsMatrix ( const Epetra_CrsGraph BaseGraph,
const std::vector< std::vector< int > > &  RowStencil,
const std::vector< int > &  RowIndices,
const Epetra_Comm GlobalComm 
)

BlockCrsMatrix constuctor with multiple block rows per processor.

Creates a BlockCrsMatrix object and allocates storage.

Parameters:
InBaseGraph - Graph determining individual block structure, can be distrib. over subset of proc.'s
InRowStencil - Describes the stencil for block row on this processor (i.e. (-1 0 1) centered difference)
InRowIndices - Defines the indices used for this block row.
EpetraExt::BlockCrsMatrix::BlockCrsMatrix ( const Epetra_CrsGraph BaseGraph,
const std::vector< std::vector< long long > > &  RowStencil,
const std::vector< long long > &  RowIndices,
const Epetra_Comm GlobalComm 
)
EpetraExt::BlockCrsMatrix::BlockCrsMatrix ( const Epetra_CrsGraph BaseGraph,
const Epetra_CrsGraph LocalBlockGraph,
const Epetra_Comm GlobalComm 
)

Version taking a local block graph.

Definition at line 116 of file EpetraExt_BlockCrsMatrix.cpp.

EpetraExt::BlockCrsMatrix::BlockCrsMatrix ( const Epetra_RowMatrix BaseMatrix,
const std::vector< std::vector< int > > &  RowStencil,
const std::vector< int > &  RowIndices,
const Epetra_Comm GlobalComm 
)
EpetraExt::BlockCrsMatrix::BlockCrsMatrix ( const Epetra_RowMatrix BaseMatrix,
const std::vector< std::vector< long long > > &  RowStencil,
const std::vector< long long > &  RowIndices,
const Epetra_Comm GlobalComm 
)
EpetraExt::BlockCrsMatrix::BlockCrsMatrix ( const BlockCrsMatrix Matrix)

Copy constructor.

Definition at line 180 of file EpetraExt_BlockCrsMatrix.cpp.

EpetraExt::BlockCrsMatrix::~BlockCrsMatrix ( ) [virtual]

Destructor.

Definition at line 197 of file EpetraExt_BlockCrsMatrix.cpp.


Member Function Documentation

const std::vector<int>& EpetraExt::BlockCrsMatrix::Stencil ( int  i = 0) [inline]

Local Stencil Info.

Definition at line 117 of file EpetraExt_BlockCrsMatrix.h.

int EpetraExt::BlockCrsMatrix::RowIndex ( int  i = 0) [inline]

RowIndex.

Definition at line 125 of file EpetraExt_BlockCrsMatrix.h.

const std::vector<long long>& EpetraExt::BlockCrsMatrix::Stencil64 ( int  i = 0) [inline]

Local Stencil Info.

Definition at line 135 of file EpetraExt_BlockCrsMatrix.h.

long long EpetraExt::BlockCrsMatrix::RowIndex64 ( int  i = 0) [inline]

RowIndex.

Definition at line 143 of file EpetraExt_BlockCrsMatrix.h.

void EpetraExt::BlockCrsMatrix::LoadBlock ( const Epetra_RowMatrix BaseMatrix,
const int  Row,
const int  Col 
)

Routine for loading a base matrices values into the large Block Matrix The Row and Col arguments are indices into RowStencil.

Definition at line 241 of file EpetraExt_BlockCrsMatrix.cpp.

void EpetraExt::BlockCrsMatrix::LoadBlock ( const Epetra_RowMatrix BaseMatrix,
const long long  Row,
const long long  Col 
)

Definition at line 251 of file EpetraExt_BlockCrsMatrix.cpp.

void EpetraExt::BlockCrsMatrix::SumIntoBlock ( double  alpha,
const Epetra_RowMatrix BaseMatrix,
const int  Row,
const int  Col 
)

Routine for summing base matrices values into the large Block Matrix The Row and Col arguments are indices into RowStencil.

Definition at line 302 of file EpetraExt_BlockCrsMatrix.cpp.

void EpetraExt::BlockCrsMatrix::SumIntoBlock ( double  alpha,
const Epetra_RowMatrix BaseMatrix,
const long long  Row,
const long long  Col 
)

Definition at line 312 of file EpetraExt_BlockCrsMatrix.cpp.

void EpetraExt::BlockCrsMatrix::SumIntoGlobalBlock ( double  alpha,
const Epetra_RowMatrix BaseMatrix,
const int  Row,
const int  Col 
)

Routine for summing base matrices values into the large Block Matrix The Row and Col arguments are global indices.

Definition at line 361 of file EpetraExt_BlockCrsMatrix.cpp.

void EpetraExt::BlockCrsMatrix::SumIntoGlobalBlock ( double  alpha,
const Epetra_RowMatrix BaseMatrix,
const long long  Row,
const long long  Col 
)

Definition at line 371 of file EpetraExt_BlockCrsMatrix.cpp.

void EpetraExt::BlockCrsMatrix::BlockSumIntoGlobalValues ( const int  BaseRow,
int  NumIndices,
double *  Values,
const int *  Indices,
const int  Row,
const int  Col 
)

Sum Entries into Block matrix using base-matrix numbering plus block Row and Col The Row and Col arguments are indices into RowStencil.

Definition at line 404 of file EpetraExt_BlockCrsMatrix.cpp.

void EpetraExt::BlockCrsMatrix::BlockSumIntoGlobalValues ( const long long  BaseRow,
int  NumIndices,
double *  Values,
const long long *  Indices,
const long long  Row,
const long long  Col 
)

Definition at line 415 of file EpetraExt_BlockCrsMatrix.cpp.

void EpetraExt::BlockCrsMatrix::BlockReplaceGlobalValues ( const int  BaseRow,
int  NumIndices,
double *  Values,
const int *  Indices,
const int  Row,
const int  Col 
)

Definition at line 448 of file EpetraExt_BlockCrsMatrix.cpp.

void EpetraExt::BlockCrsMatrix::BlockReplaceGlobalValues ( const long long  BaseRow,
int  NumIndices,
double *  Values,
const long long *  Indices,
const long long  Row,
const long long  Col 
)

Definition at line 459 of file EpetraExt_BlockCrsMatrix.cpp.

void EpetraExt::BlockCrsMatrix::BlockExtractGlobalRowView ( const int  BaseRow,
int &  NumEntries,
double *&  Values,
const int  Row,
const int  Col 
)

Definition at line 496 of file EpetraExt_BlockCrsMatrix.cpp.

void EpetraExt::BlockCrsMatrix::BlockExtractGlobalRowView ( const long long  BaseRow,
int &  NumEntries,
double *&  Values,
const long long  Row,
const long long  Col 
)

Definition at line 507 of file EpetraExt_BlockCrsMatrix.cpp.

void EpetraExt::BlockCrsMatrix::ExtractBlock ( Epetra_CrsMatrix BaseMatrix,
const int  Row,
const int  Col 
)

Definition at line 572 of file EpetraExt_BlockCrsMatrix.cpp.

void EpetraExt::BlockCrsMatrix::ExtractBlock ( Epetra_CrsMatrix BaseMatrix,
const long long  Row,
const long long  Col 
)

Definition at line 582 of file EpetraExt_BlockCrsMatrix.cpp.


Member Data Documentation

Definition at line 216 of file EpetraExt_BlockCrsMatrix.h.

std::vector< std::vector<int> > EpetraExt::BlockCrsMatrix::RowStencil_int_ [protected]

Definition at line 219 of file EpetraExt_BlockCrsMatrix.h.

std::vector<int> EpetraExt::BlockCrsMatrix::RowIndices_int_ [protected]

Definition at line 221 of file EpetraExt_BlockCrsMatrix.h.

std::vector< std::vector<long long> > EpetraExt::BlockCrsMatrix::RowStencil_LL_ [protected]

Definition at line 224 of file EpetraExt_BlockCrsMatrix.h.

std::vector<long long> EpetraExt::BlockCrsMatrix::RowIndices_LL_ [protected]

Definition at line 226 of file EpetraExt_BlockCrsMatrix.h.

long long EpetraExt::BlockCrsMatrix::ROffset_ [protected]

Definition at line 229 of file EpetraExt_BlockCrsMatrix.h.

long long EpetraExt::BlockCrsMatrix::COffset_ [protected]

Definition at line 230 of file EpetraExt_BlockCrsMatrix.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines