EpetraExt::BlockCrsMatrix Class Reference

#include <EpetraExt_BlockCrsMatrix.h>

Inheritance diagram for EpetraExt::BlockCrsMatrix:

Inheritance graph
[legend]
List of all members.
 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_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.

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 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 Offset_

Detailed Description

Definition at line 48 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:
In BaseGraph - Graph determining individual block structure, can be distrib. over subset of proc.'s
In RowStencil - Describes the stencil for block row on this processor (i.e. (-1 0 1) centered difference)
In RowIndex - 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:
In BaseGraph - Graph determining individual block structure, can be distrib. over subset of proc.'s
In RowStencil - Describes the stencil for block row on this processor (i.e. (-1 0 1) centered difference)
In RowIndices - Defines the indices used for this block row.

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 80 of file EpetraExt_BlockCrsMatrix.cpp.

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

Destructor.

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

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

RowIndex.

Definition at line 89 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 95 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 130 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 149 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 168 of file EpetraExt_BlockCrsMatrix.cpp.

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

Definition at line 191 of file EpetraExt_BlockCrsMatrix.cpp.


Member Data Documentation

Epetra_CrsGraph EpetraExt::BlockCrsMatrix::BaseGraph_ [protected]

Definition at line 108 of file EpetraExt_BlockCrsMatrix.h.

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

Definition at line 110 of file EpetraExt_BlockCrsMatrix.h.

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

Definition at line 112 of file EpetraExt_BlockCrsMatrix.h.

int EpetraExt::BlockCrsMatrix::Offset_ [protected]

Definition at line 114 of file EpetraExt_BlockCrsMatrix.h.


The documentation for this class was generated from the following files:
Generated on Wed May 12 21:40:41 2010 for EpetraExt by  doxygen 1.4.7