12 #ifndef __FASPSOLVER_HEADER__
13 #define __FASPSOLVER_HEADER__
24 #include "fasp_block.h"
25 #include "fasp_functs.h"
32 #include "faspcpr_functs.h"
39 #include "fasp4blkoil.h"
40 #include "fasp4blkoil_functs.h"
47 #include "fasp4cuda.h"
48 #include "fasp4cuda_functs.h"
67 #define PC_FASP1_SHARE 71
68 #define PC_FASP4_SHARE 74
69 #define RESET_CONST 35
76 void SetupParam(
const string& dir,
const string& file)
override;
98 void Allocate(
const vector<USI>& rowCapacity,
100 const USI& blockDim)
override;
103 void InitParam()
override;
106 void AssembleMat(
const vector<vector<USI>>& colId,
107 const vector<vector<OCP_DBL>>& val,
110 vector<OCP_DBL>& rhs,
111 vector<OCP_DBL>& u)
override;
129 void Allocate(
const vector<USI>& rowCapacity,
131 const USI& blockDim)
override;
134 void InitParam()
override;
137 void AssembleMat(
const vector<vector<USI>>& colId,
138 const vector<vector<OCP_DBL>>& val,
141 vector<OCP_DBL>& rhs,
142 vector<OCP_DBL>& u)
override;
148 void Decoupling(dBSRmat* Absr,
165 vector<OCP_DBL> Dmat;
LinearSolver class declaration.
unsigned int USI
Generic unsigned integer.
unsigned int OCP_USI
Long unsigned integer.
AMG_param amgParam
Parameters for AMG method.
input_param inParam
Parameters from input files.
ILU_param iluParam
Parameters for ILU method.
string solveFile
Relative path of fasp file.
SWZ_param swzParam
Parameters for Schwarz method.
string solveDir
Current work dir.
ITS_param itParam
Parameters for iterative method.
USI GetNumIters() const override
Get number of iterations used by iterative solver.
Virtual base class for linear solvers.
Linear solvers for discrete systems.
OCP_INT Solve()
Solve the Linear System.
Scalar solvers in CSR format from FASP.
Vector solvers in BSR format from FASP.