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 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 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::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 130 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 167 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 186 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 205 of file EpetraExt_BlockCrsMatrix.cpp.

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

Definition at line 228 of file EpetraExt_BlockCrsMatrix.cpp.


Member Data Documentation

Epetra_CrsGraph EpetraExt::BlockCrsMatrix::BaseGraph_ [protected]

Definition at line 112 of file EpetraExt_BlockCrsMatrix.h.

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

Definition at line 114 of file EpetraExt_BlockCrsMatrix.h.

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

Definition at line 116 of file EpetraExt_BlockCrsMatrix.h.

int EpetraExt::BlockCrsMatrix::Offset_ [protected]

Definition at line 118 of file EpetraExt_BlockCrsMatrix.h.


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