FEI Package Browser (Single Doxygen Collection) Version of the Day
|
#include <fei_LinProbMgr_EpetraBasic.hpp>
Public Member Functions | |
LinProbMgr_EpetraBasic (MPI_Comm comm) | |
virtual | ~LinProbMgr_EpetraBasic () |
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_CrsMatrix > | get_A_matrix () |
fei::SharedPtr< Epetra_MultiVector > | get_rhs_vector () |
fei::SharedPtr< Epetra_MultiVector > | get_solution_vector () |
![]() | |
virtual | ~LinearProblemManager () |
virtual void | setRowDistribution (const std::vector< int > &ownedGlobalRows)=0 |
virtual void | setMatrixGraph (fei::SharedPtr< fei::SparseRowGraph > matrixGraph)=0 |
virtual void | setMatrixValues (double scalar)=0 |
virtual int | getLocalNumRows ()=0 |
virtual int | getRowLength (int row)=0 |
virtual int | copyOutMatrixRow (int row, int len, double *coefs, int *indices)=0 |
virtual int | insertMatrixValues (int numRows, const int *rows, int numCols, const int *cols, const double *const *values, bool sum_into)=0 |
virtual void | setVectorValues (double scalar, bool soln_vector)=0 |
virtual int | insertVectorValues (int numValues, const int *globalIndices, const double *values, bool sum_into, bool soln_vector, int vectorIndex=0)=0 |
virtual int | copyOutVectorValues (int numValues, const int *globalIndices, double *values, bool soln_vector, int vectorIndex=0)=0 |
virtual double * | getLocalVectorValuesPtr (bool soln_vector, int vectorIndex=0)=0 |
virtual int | globalAssemble ()=0 |
Private Attributes | |
MPI_Comm | comm_ |
std::vector< int > | ownedRows_ |
fei::SharedPtr< Epetra_Comm > | epetra_comm_ |
fei::SharedPtr< Epetra_Map > | epetra_rowmap_ |
fei::SharedPtr< fei::SparseRowGraph > | fei_srgraph_ |
fei::SharedPtr< Epetra_CrsGraph > | crsgraph_ |
fei::SharedPtr< Epetra_CrsMatrix > | A_ |
int | numVectors_ |
fei::SharedPtr< Epetra_MultiVector > | x_ |
fei::SharedPtr< Epetra_MultiVector > | b_ |
Definition at line 54 of file fei_LinProbMgr_EpetraBasic.hpp.
LinProbMgr_EpetraBasic::LinProbMgr_EpetraBasic | ( | MPI_Comm | comm | ) |
|
virtual |
|
virtual |
Set the linear-system's global row distribution.
ownedGlobalRows | List of row-numbers to be owned by local processor. |
Implements fei::LinearProblemManager.
|
virtual |
Set the matrix-graph structure. This is the nonzero structure for locally-owned matrix rows.
Implements fei::LinearProblemManager.
|
virtual |
Set a specified scalar value throughout the matrix.
Implements fei::LinearProblemManager.
|
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.
|
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.
|
virtual |
Given a locally-owned global row number, query the length (number of nonzeros) of that row.
Implements fei::LinearProblemManager.
|
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. |
Implements fei::LinearProblemManager.
|
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.
|
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.
|
virtual |
Copy values for the specified vector indices into the caller-allocated 'values' array.
Implements fei::LinearProblemManager.
|
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.
|
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.
|
private |
Definition at line 186 of file fei_LinProbMgr_EpetraBasic.hpp.
|
private |
Definition at line 187 of file fei_LinProbMgr_EpetraBasic.hpp.
|
private |
Definition at line 188 of file fei_LinProbMgr_EpetraBasic.hpp.
|
private |
Definition at line 189 of file fei_LinProbMgr_EpetraBasic.hpp.
|
private |
Definition at line 190 of file fei_LinProbMgr_EpetraBasic.hpp.
|
private |
Definition at line 191 of file fei_LinProbMgr_EpetraBasic.hpp.
|
private |
Definition at line 192 of file fei_LinProbMgr_EpetraBasic.hpp.
|
private |
Definition at line 193 of file fei_LinProbMgr_EpetraBasic.hpp.
|
private |
Definition at line 194 of file fei_LinProbMgr_EpetraBasic.hpp.
|
private |
Definition at line 195 of file fei_LinProbMgr_EpetraBasic.hpp.