LinProbMgr_EpetraBasic Class Reference

Inheritance diagram for LinProbMgr_EpetraBasic:

Inheritance graph
List of all members.

Public Member Functions

void setRowDistribution (const std::vector< int > &ownedGlobalRows)
void setMatrixGraph (fei::SharedPtr< fei::SparseRowGraph > matrixGraph)
void setMatrixValues (double scalar)
void setVectorValues (double scalar, bool soln_vector)
int getLocalNumRows ()
int getRowLength (int row)
int copyOutMatrixRow (int row, int len, double *coefs, int *indices)
int insertMatrixValues (int numRows, const int *rows, int numCols, const int *cols, const double *const *values, bool sum_into)
int insertVectorValues (int numValues, const int *globalIndices, const double *values, bool sum_into, bool soln_vector, int vectorIndex=0)
int copyOutVectorValues (int numValues, const int *globalIndices, double *values, bool soln_vector, int vectorIndex=0)
double * getLocalVectorValuesPtr (bool soln_vector, int vectorIndex=0)
int globalAssemble ()
fei::SharedPtr< Epetra_CrsMatrixget_A_matrix ()
fei::SharedPtr< Epetra_MultiVectorget_rhs_vector ()
fei::SharedPtr< Epetra_MultiVectorget_solution_vector ()

Detailed Description

Definition at line 19 of file fei_LinProbMgr_EpetraBasic.hpp.

Member Function Documentation

void LinProbMgr_EpetraBasic::setRowDistribution ( const std::vector< int > &  ownedGlobalRows  )  [virtual]

Set the linear-system's global row distribution.

ownedGlobalRows List of row-numbers to be owned by local processor.

Implements fei::LinearProblemManager.

void LinProbMgr_EpetraBasic::setMatrixGraph ( fei::SharedPtr< fei::SparseRowGraph matrixGraph  )  [virtual]

Set the matrix-graph structure. This is the nonzero structure for locally-owned matrix rows.

Implements fei::LinearProblemManager.

void LinProbMgr_EpetraBasic::setMatrixValues ( double  scalar  )  [virtual]

Set a specified scalar value throughout the matrix.

Implements fei::LinearProblemManager.

void LinProbMgr_EpetraBasic::setVectorValues ( double  scalar,
bool  soln_vector 
) [virtual]

Set a specified scalar value throughout the vector.

scalar Value to be used.
soln_vector If true, scalar should be set in solution vector, otherwise set rhs vector.

Implements fei::LinearProblemManager.

int LinProbMgr_EpetraBasic::getLocalNumRows (  )  [virtual]

Query the number of local rows. This is expected to be the number of point-entry rows on the local processor.

Implements fei::LinearProblemManager.

int LinProbMgr_EpetraBasic::getRowLength ( int  row  )  [virtual]

Given a locally-owned global row number, query the length (number of nonzeros) of that row.

Implements fei::LinearProblemManager.

int LinProbMgr_EpetraBasic::copyOutMatrixRow ( int  row,
int  len,
double *  coefs,
int *  indices 
) [virtual]

Given a locally-owned global row number, pass out a copy of the contents of that row.

row Global row number
len Length of the user-allocated arrays coefs and indices.
coefs User-allocated array which will hold matrix coefficients on output.
indices User-allocated array which will hold column-indices on output.
error-code 0 if successful. Non-zero return-value may indicate that the specified row is not locally owned.

Implements fei::LinearProblemManager.

int LinProbMgr_EpetraBasic::insertMatrixValues ( int  numRows,
const int *  rows,
int  numCols,
const int *  cols,
const double *const *  values,
bool  sum_into 
) [virtual]

Put a C-style table (array of pointers) of coefficient data into the matrix. This is a rectangular array of coefficients for rows/columns defined by the 'rows' and 'cols' lists. If the sum_into argument is true, values should be added to any that already exist at the specified locations. Otherwise (if sum_into is false) incoming values should overwrite already-existing values.

Implements fei::LinearProblemManager.

int LinProbMgr_EpetraBasic::insertVectorValues ( int  numValues,
const int *  globalIndices,
const double *  values,
bool  sum_into,
bool  soln_vector,
int  vectorIndex = 0 
) [virtual]

Put coefficient data into a vector at the specified global indices. If any specified indices are out of range (negative or too large), the corresponding positions in the values array will not be referenced and a positive warning code will be returned.

numValues Number of coefficient values being input.
globalIndices List of global-indices specifying the locations in the vector for incoming values to be placed.
sum_into If true, incoming values should be added to values that may already be in the specified locations. If sum_into is false, then incoming values should overwrite existing values.
soln_vector If true, incoming values should be placed in the solution vector. Otherwise, they should be placed in the rhs vector.
vectorIndex If the linear system has multiple rhs/soln vectors, then this parameter specifies which vector the incoming values should be put into.

Implements fei::LinearProblemManager.

int LinProbMgr_EpetraBasic::copyOutVectorValues ( int  numValues,
const int *  globalIndices,
double *  values,
bool  soln_vector,
int  vectorIndex = 0 
) [virtual]

Copy values for the specified vector indices into the caller-allocated 'values' array.

Implements fei::LinearProblemManager.

double* LinProbMgr_EpetraBasic::getLocalVectorValuesPtr ( bool  soln_vector,
int  vectorIndex = 0 
) [virtual]

Dangerous, high-performance vector access. Return a pointer to local vector values. Implementations that can't support this may return NULL, in which case the caller will revert to using the copyOutVectorValues method.

Implements fei::LinearProblemManager.

int LinProbMgr_EpetraBasic::globalAssemble (  )  [virtual]

Perform any necessary internal communications/synchronizations or other operations appropriate at the end of data input. For some implementations this may be a no-op. (Trilinos/Epetra implementations would call 'FillComplete' on the matrix at this point.)

Implements fei::LinearProblemManager.

fei::SharedPtr<Epetra_CrsMatrix> LinProbMgr_EpetraBasic::get_A_matrix (  ) 

Return the Epetra matrix.

fei::SharedPtr<Epetra_MultiVector> LinProbMgr_EpetraBasic::get_rhs_vector (  ) 

Return the rhs Epetra vector.

fei::SharedPtr<Epetra_MultiVector> LinProbMgr_EpetraBasic::get_solution_vector (  ) 

Return the solution Epetra vector.

The documentation for this class was generated from the following file:
Generated on Mon Jul 12 09:31:28 2010 for FEI by  doxygen 1.4.7