#include <fei_LinProbMgr_EpetraBasic.hpp>
|  | 
|  | 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 () | 
|  | 
      
        
          | LinProbMgr_EpetraBasic::LinProbMgr_EpetraBasic | ( | MPI_Comm | comm | ) |  | 
      
 
 
  
  | 
        
          | virtual LinProbMgr_EpetraBasic::~LinProbMgr_EpetraBasic | ( |  | ) |  |  | virtual | 
 
 
  
  | 
        
          | void LinProbMgr_EpetraBasic::setRowDistribution | ( | const std::vector< int > & | ownedGlobalRows | ) |  |  | virtual | 
 
Set the linear-system's global row distribution.
- Parameters
- 
  
    | ownedGlobalRows | List of row-numbers to be owned by local processor. |  
 
Implements fei::LinearProblemManager.
 
 
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 | 
 
 
  
  | 
        
          | void LinProbMgr_EpetraBasic::setVectorValues | ( | double | scalar, |  
          |  |  | bool | soln_vector |  
          |  | ) |  |  |  | virtual | 
 
Set a specified scalar value throughout the vector.
- Parameters
- 
  
    | 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. 
- Parameters
- 
  
    | 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. |  
 
- Returns
- 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.
- Parameters
- 
  
    | 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 | 
 
 
  
  | 
        
          | 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.
 
 
Return the Epetra matrix. 
 
 
Return the rhs Epetra vector. 
 
 
Return the solution Epetra vector. 
 
 
  
  | 
        
          | std::vector<int> LinProbMgr_EpetraBasic::ownedRows_ |  | private | 
 
 
  
  | 
        
          | int LinProbMgr_EpetraBasic::numVectors_ |  | private | 
 
 
The documentation for this class was generated from the following file: