Epetra_FEVbrMatrix Class Reference

Epetra Finite-Element VbrMatrix. More...

#include <Epetra_FEVbrMatrix.h>

Inheritance diagram for Epetra_FEVbrMatrix:

Inheritance graph
[legend]
List of all members.

Constructors/Destructor

 Epetra_FEVbrMatrix (Epetra_DataAccess CV, const Epetra_BlockMap &RowMap, int *NumBlockEntriesPerRow, bool ignoreNonLocalEntries=false)
 Epetra_FEVbrMatrix constuctor with variable number of indices per row.
 Epetra_FEVbrMatrix (Epetra_DataAccess CV, const Epetra_BlockMap &RowMap, int NumBlockEntriesPerRow, bool ignoreNonLocalEntries=false)
 Epetra_FEVbrMatrix constuctor with fixed number of indices per row.
 Epetra_FEVbrMatrix (Epetra_DataAccess CV, const Epetra_BlockMap &RowMap, const Epetra_BlockMap &ColMap, int *NumBlockEntriesPerRow, bool ignoreNonLocalEntries=false)
 Epetra_FEVbrMatrix constuctor with variable number of indices per row.
 Epetra_FEVbrMatrix (Epetra_DataAccess CV, const Epetra_BlockMap &RowMap, const Epetra_BlockMap &ColMap, int NumBlockEntriesPerRow, bool ignoreNonLocalEntries=false)
 Epetra_FEVbrMatrix constuctor with fixed number of indices per row.
 Epetra_FEVbrMatrix (Epetra_DataAccess CV, const Epetra_CrsGraph &Graph, bool ignoreNonLocalEntries=false)
 Constructor with pre-constructed Graph.
 Epetra_FEVbrMatrix (const Epetra_FEVbrMatrix &src)
 Copy Constructor.
virtual ~Epetra_FEVbrMatrix ()
 Epetra_VbrMatrix Destructor.

Insertion/Replace/SumInto methods

Epetra_FEVbrMatrixoperator= (const Epetra_FEVbrMatrix &src)
int PutScalar (double ScalarConstant)
 Initialize all values in graph of the matrix with constant value.
int BeginInsertGlobalValues (int BlockRow, int NumBlockEntries, int *BlockIndices)
 Initiate insertion of a list of elements in a given global row of the matrix, values are inserted via SubmitEntry().
int BeginReplaceGlobalValues (int BlockRow, int NumBlockEntries, int *BlockIndices)
 Initiate replacement of current values with this list of entries for a given global row of the matrix, values are replaced via SubmitEntry().
int BeginSumIntoGlobalValues (int BlockRow, int NumBlockEntries, int *BlockIndices)
 Initiate summing into current values with this list of entries for a given global row of the matrix, values are replaced via SubmitEntry().
int SubmitBlockEntry (double *Values, int LDA, int NumRows, int NumCols)
 Submit a block entry to the indicated block row and column specified in the Begin routine.
int EndSubmitEntries ()
 Completes processing of all data passed in for the current block row.
int GlobalAssemble (bool callFillComplete=true)
int SetupForNonlocalSubmits (int BlockRow, int NumBlockEntries, int *BlockIndices, bool IndicesAreLocal, Epetra_CombineMode SubmitMode)
int InputNonlocalBlockEntry (double *Values, int LDA, int NumRows, int NumCols)
int InsertNonlocalRow (int row, int offset, int numCols)
void destroyNonlocalData ()
bool ignoreNonLocalEntries_
int numNonlocalBlockRows_
int * nonlocalBlockRows_
int * nonlocalBlockRowLengths_
int * nonlocalBlockRowAllocLengths_
int ** nonlocalBlockCols_
Epetra_SerialDenseMatrix *** nonlocalCoefs_
int curRowOffset_
int curColOffset_
int curNumCols_
int * curCols_
int curMode_

Detailed Description

Epetra Finite-Element VbrMatrix.

This class provides the ability to input finite-element style sub-matrix data, including sub-matrices with non-local rows (which could correspond to shared finite-element nodes for example). This class inherits Epetra_VbrMatrix, and so all Epetra_VbrMatrix functionality is also available.

Definition at line 45 of file Epetra_FEVbrMatrix.h.


Constructor & Destructor Documentation

Epetra_FEVbrMatrix::Epetra_FEVbrMatrix ( Epetra_DataAccess  CV,
const Epetra_BlockMap RowMap,
int *  NumBlockEntriesPerRow,
bool  ignoreNonLocalEntries = false 
)

Epetra_FEVbrMatrix constuctor with variable number of indices per row.

Creates a Epetra_FEVbrMatrix object and allocates storage.

Parameters:
In CV - A Epetra_DataAccess enumerated type set to Copy or View.
In RowMap - A Epetra_BlockMap listing the block rows that this processor will contribute to.
In NumBlockEntriesPerRow - An integer array of length NumRows such that NumBlockEntriesPerRow[i] indicates the (approximate) number of Block entries in the ith row.

Definition at line 42 of file Epetra_FEVbrMatrix.cpp.

Epetra_FEVbrMatrix::Epetra_FEVbrMatrix ( Epetra_DataAccess  CV,
const Epetra_BlockMap RowMap,
int  NumBlockEntriesPerRow,
bool  ignoreNonLocalEntries = false 
)

Epetra_FEVbrMatrix constuctor with fixed number of indices per row.

Creates a Epetra_FEVbrMatrix object and allocates storage.

Parameters:
In CV - A Epetra_DataAccess enumerated type set to Copy or View.
In RowMap - An Epetra_BlockMap listing the block rows that this processor will contribute to.
In NumBlockEntriesPerRow - An integer that indicates the (approximate) number of Block entries in the each Block row. Note that it is possible to use 0 for this value and let fill occur during the insertion phase.

Definition at line 63 of file Epetra_FEVbrMatrix.cpp.

Epetra_FEVbrMatrix::Epetra_FEVbrMatrix ( Epetra_DataAccess  CV,
const Epetra_BlockMap RowMap,
const Epetra_BlockMap ColMap,
int *  NumBlockEntriesPerRow,
bool  ignoreNonLocalEntries = false 
)

Epetra_FEVbrMatrix constuctor with variable number of indices per row.

Creates a Epetra_FEVbrMatrix object and allocates storage.

Parameters:
In CV - A Epetra_DataAccess enumerated type set to Copy or View.
In RowMap - A Epetra_BlockMap listing the block rows that this processor will contribute to.
In ColMap - A Epetra_BlockMap listing the block columns to be contained on this processor.
In NumBlockEntriesPerRow - An integer array of length NumRows such that NumBlockEntriesPerRow[i] indicates the (approximate) number of Block entries in the ith row.

Definition at line 84 of file Epetra_FEVbrMatrix.cpp.

Epetra_FEVbrMatrix::Epetra_FEVbrMatrix ( Epetra_DataAccess  CV,
const Epetra_BlockMap RowMap,
const Epetra_BlockMap ColMap,
int  NumBlockEntriesPerRow,
bool  ignoreNonLocalEntries = false 
)

Epetra_FEVbrMatrix constuctor with fixed number of indices per row.

Creates a Epetra_FEVbrMatrix object and allocates storage.

Parameters:
In CV - A Epetra_DataAccess enumerated type set to Copy or View.
In RowMap - An Epetra_BlockMap listing the block rows that this processor will contribute to.
In ColMap - An Epetra_BlockMap listing the block columns to be contained on this processor.
In NumBlockEntriesPerRow - An integer that indicates the (approximate) number of Block entries in the each Block row. Note that it is possible to use 0 for this value and let fill occur during the insertion phase.

Definition at line 106 of file Epetra_FEVbrMatrix.cpp.

Epetra_FEVbrMatrix::Epetra_FEVbrMatrix ( Epetra_DataAccess  CV,
const Epetra_CrsGraph Graph,
bool  ignoreNonLocalEntries = false 
)

Constructor with pre-constructed Graph.

Definition at line 128 of file Epetra_FEVbrMatrix.cpp.

Epetra_FEVbrMatrix::Epetra_FEVbrMatrix ( const Epetra_FEVbrMatrix src  ) 

Copy Constructor.

Definition at line 148 of file Epetra_FEVbrMatrix.cpp.

Epetra_FEVbrMatrix::~Epetra_FEVbrMatrix (  )  [virtual]

Epetra_VbrMatrix Destructor.

Definition at line 199 of file Epetra_FEVbrMatrix.cpp.


Member Function Documentation

Epetra_FEVbrMatrix & Epetra_FEVbrMatrix::operator= ( const Epetra_FEVbrMatrix src  ) 

Definition at line 167 of file Epetra_FEVbrMatrix.cpp.

int Epetra_FEVbrMatrix::PutScalar ( double  ScalarConstant  ) 

Initialize all values in graph of the matrix with constant value.

Parameters:
In ScalarConstant - Value to use.
Returns:
Integer error code, set to 0 if successful.

Reimplemented from Epetra_VbrMatrix.

Definition at line 230 of file Epetra_FEVbrMatrix.cpp.

int Epetra_FEVbrMatrix::BeginInsertGlobalValues ( int  BlockRow,
int  NumBlockEntries,
int *  BlockIndices 
)

Initiate insertion of a list of elements in a given global row of the matrix, values are inserted via SubmitEntry().

Parameters:
In BlockRow - Block Row number (in global coordinates) to put elements.
In NumBlockEntries - Number of entries.
In Indices - Global column indices corresponding to values.
Returns:
Integer error code, set to 0 if successful.

Reimplemented from Epetra_VbrMatrix.

Definition at line 488 of file Epetra_FEVbrMatrix.cpp.

int Epetra_FEVbrMatrix::BeginReplaceGlobalValues ( int  BlockRow,
int  NumBlockEntries,
int *  BlockIndices 
)

Initiate replacement of current values with this list of entries for a given global row of the matrix, values are replaced via SubmitEntry().

Parameters:
In Row - Block Row number (in global coordinates) to put elements.
In NumBlockEntries - Number of entries.
In Indices - Global column indices corresponding to values.
Returns:
Integer error code, set to 0 if successful.

Reimplemented from Epetra_VbrMatrix.

Definition at line 505 of file Epetra_FEVbrMatrix.cpp.

int Epetra_FEVbrMatrix::BeginSumIntoGlobalValues ( int  BlockRow,
int  NumBlockEntries,
int *  BlockIndices 
)

Initiate summing into current values with this list of entries for a given global row of the matrix, values are replaced via SubmitEntry().

Parameters:
In Row - Block Row number (in global coordinates) to put elements.
In NumBlockEntries - Number of entries.
In Indices - Global column indices corresponding to values.
Returns:
Integer error code, set to 0 if successful.

Reimplemented from Epetra_VbrMatrix.

Definition at line 522 of file Epetra_FEVbrMatrix.cpp.

int Epetra_FEVbrMatrix::SubmitBlockEntry ( double *  Values,
int  LDA,
int  NumRows,
int  NumCols 
)

Submit a block entry to the indicated block row and column specified in the Begin routine.

Reimplemented from Epetra_VbrMatrix.

Definition at line 600 of file Epetra_FEVbrMatrix.cpp.

int Epetra_FEVbrMatrix::EndSubmitEntries (  ) 

Completes processing of all data passed in for the current block row.

This function completes the processing of all block entries submitted via SubmitBlockEntry(). It also checks to make sure that SubmitBlockEntry was called the correct number of times as specified by the Begin routine that initiated the entry process.

Reimplemented from Epetra_VbrMatrix.

Definition at line 621 of file Epetra_FEVbrMatrix.cpp.

int Epetra_FEVbrMatrix::GlobalAssemble ( bool  callFillComplete = true  ) 

Definition at line 248 of file Epetra_FEVbrMatrix.cpp.

int Epetra_FEVbrMatrix::SetupForNonlocalSubmits ( int  BlockRow,
int  NumBlockEntries,
int *  BlockIndices,
bool  IndicesAreLocal,
Epetra_CombineMode  SubmitMode 
) [private]

Definition at line 539 of file Epetra_FEVbrMatrix.cpp.

int Epetra_FEVbrMatrix::InputNonlocalBlockEntry ( double *  Values,
int  LDA,
int  NumRows,
int  NumCols 
) [private]

Definition at line 382 of file Epetra_FEVbrMatrix.cpp.

int Epetra_FEVbrMatrix::InsertNonlocalRow ( int  row,
int  offset,
int  numCols 
) [private]

Definition at line 430 of file Epetra_FEVbrMatrix.cpp.

void Epetra_FEVbrMatrix::destroyNonlocalData (  )  [private]

Definition at line 205 of file Epetra_FEVbrMatrix.cpp.


Member Data Documentation

bool Epetra_FEVbrMatrix::ignoreNonLocalEntries_ [private]

Definition at line 253 of file Epetra_FEVbrMatrix.h.

int Epetra_FEVbrMatrix::numNonlocalBlockRows_ [private]

Definition at line 255 of file Epetra_FEVbrMatrix.h.

int* Epetra_FEVbrMatrix::nonlocalBlockRows_ [private]

Definition at line 256 of file Epetra_FEVbrMatrix.h.

int* Epetra_FEVbrMatrix::nonlocalBlockRowLengths_ [private]

Definition at line 257 of file Epetra_FEVbrMatrix.h.

int* Epetra_FEVbrMatrix::nonlocalBlockRowAllocLengths_ [private]

Definition at line 258 of file Epetra_FEVbrMatrix.h.

int** Epetra_FEVbrMatrix::nonlocalBlockCols_ [private]

Definition at line 259 of file Epetra_FEVbrMatrix.h.

Epetra_SerialDenseMatrix*** Epetra_FEVbrMatrix::nonlocalCoefs_ [private]

Definition at line 265 of file Epetra_FEVbrMatrix.h.

int Epetra_FEVbrMatrix::curRowOffset_ [private]

Definition at line 269 of file Epetra_FEVbrMatrix.h.

int Epetra_FEVbrMatrix::curColOffset_ [private]

Definition at line 270 of file Epetra_FEVbrMatrix.h.

int Epetra_FEVbrMatrix::curNumCols_ [private]

Definition at line 271 of file Epetra_FEVbrMatrix.h.

int* Epetra_FEVbrMatrix::curCols_ [private]

Definition at line 272 of file Epetra_FEVbrMatrix.h.

int Epetra_FEVbrMatrix::curMode_ [private]

Definition at line 273 of file Epetra_FEVbrMatrix.h.


The documentation for this class was generated from the following files:
Generated on Wed May 12 21:41:08 2010 for Epetra Package Browser (Single Doxygen Collection) by  doxygen 1.4.7