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.
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 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 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 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 BlockReplaceGlobalValues (const int BaseRow, int NumIndices, double *Values, const int *Indices, const int Row, const int Col)
void BlockExtractGlobalRowView (const int BaseRow, int &NumEntries, double *&Values, const int Row, const int Col)
void ExtractBlock (Epetra_CrsMatrix &BaseMatrix, const int Row, const int Col)

Protected Attributes

Epetra_CrsGraph BaseGraph_
std::vector< std::vector< int > > RowStencil_
std::vector< int > RowIndices_
int ROffset_
int 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< 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 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 BlockCrsMatrix &Matrix)
 Copy constructor.
virtual ~BlockCrsMatrix ()
 Destructor.

Detailed Description

Definition at line 59 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< 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 Epetra_CrsGraph LocalBlockGraph,
const Epetra_Comm GlobalComm 
)

Version taking a local block graph.

Definition at line 81 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 BlockCrsMatrix Matrix)

Copy constructor.

Definition at line 111 of file EpetraExt_BlockCrsMatrix.cpp.

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

Destructor.

Definition at line 122 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 100 of file EpetraExt_BlockCrsMatrix.h.

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

RowIndex.

Definition at line 103 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 127 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 162 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 199 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 236 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 255 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 274 of file EpetraExt_BlockCrsMatrix.cpp.

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

Definition at line 297 of file EpetraExt_BlockCrsMatrix.cpp.


Member Data Documentation

Definition at line 130 of file EpetraExt_BlockCrsMatrix.h.

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

Definition at line 132 of file EpetraExt_BlockCrsMatrix.h.

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

Definition at line 134 of file EpetraExt_BlockCrsMatrix.h.

Definition at line 136 of file EpetraExt_BlockCrsMatrix.h.

Definition at line 137 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