OpenCAEPoro  v0.5.0
A simulator for multicomponent porous media flow
Public Member Functions | List of all members
LinearSystem Class Reference

Linear solvers for discrete systems. More...

#include <LinearSystem.hpp>

Public Member Functions

void AllocateRowMem (const OCP_USI &dimMax, const USI &nb)
 Allocate memory for linear system with max possible number of rows.
 
void AllocateColMem (const vector< USI > &bulk2bulk, const vector< vector< OCP_USI >> well2bulk)
 Allocate memory for linear system with max possible number of columns.
 
void ClearData ()
 Clear the internal matrix data for scalar-value problems.
 
vector< OCP_DBL > & GetSolution ()
 Return the solution.
 
void CheckEquation () const
 Check whether NAN or INF occurs in equations, used in debug mode.
 
void CheckSolution () const
 Check whether NAN or INF occurs in solutions, used in debug mode.
 
void OutputLinearSystem (const string &fileA, const string &fileb) const
 Output the mat and rhs to fileA and fileb. // TODO: output to some obj?
 
void OutputSolution (const string &filename) const
 Output the solution to a disk file name.
 
void SetupLinearSolver (const USI &i, const string &dir, const string &file)
 Setup LinearSolver.
 
void AssembleMatLinearSolver ()
 Assemble Mat for Linear Solver.
 
OCP_INT Solve ()
 Solve the Linear System.
 
OCP_USI AddDim (const OCP_USI &n)
 Setup dimensions.
 
void NewDiag (const OCP_USI &n, const OCP_DBL &v)
 Push back a diagonal val, which is always at the first location.
 
void AddDiag (const OCP_USI &n, const OCP_DBL &v)
 Add a value at diagonal value.
 
void NewOffDiag (const OCP_USI &bId, const OCP_USI &eId, const OCP_DBL &v)
 Push back a off-diagonal value.
 
void AddRhs (const OCP_USI &n, const OCP_DBL &v)
 Add a value at b[n].
 
void AssignGuess (const OCP_USI &n, const OCP_DBL &v)
 Assign an initial value at u[n].
 
void NewDiag (const OCP_USI &n, const vector< OCP_DBL > &v)
 
void AddDiag (const OCP_USI &n, const vector< OCP_DBL > &v)
 
void NewOffDiag (const OCP_USI &bId, const OCP_USI &eId, const vector< OCP_DBL > &v)
 
void AddRhs (const OCP_USI &n, const vector< OCP_DBL > &v)
 Add a value at b[n].
 
void AssembleRhsAccumulate (const vector< OCP_DBL > &rhs)
 Assign Rhs by Accumulating.
 
void AssembleRhsCopy (const vector< OCP_DBL > &rhs)
 Assign Rhs by Copying.
 
USI GetNumIters ()
 Return the number of iterations.
 

Detailed Description

Linear solvers for discrete systems.

Definition at line 30 of file LinearSystem.hpp.


The documentation for this class was generated from the following files: