12 #ifndef __FASPSOLVER_HEADER__
13 #define __FASPSOLVER_HEADER__
24 #include "fasp_block.h"
25 #include "fasp_functs.h"
31 #include "fasp4blkoil.h"
32 #include "fasp4blkoil_functs.h"
39 #include "fasp4cuda.h"
40 #include "fasp4cuda_functs.h"
59 #define PC_FASP1_SHARE 71
60 #define PC_FASP4_SHARE 74
61 #define RESET_CONST 35
68 void SetupParam(
const string& dir,
const string& file)
override;
90 void Allocate(
const vector<USI>& rowCapacity,
92 const USI& blockDim)
override;
95 void InitParam()
override;
98 void AssembleMat(
const vector<vector<USI>>& colId,
99 const vector<vector<OCP_DBL>>& val,
102 vector<OCP_DBL>& rhs,
103 vector<OCP_DBL>& u)
override;
121 void Allocate(
const vector<USI>& rowCapacity,
123 const USI& blockDim)
override;
126 void InitParam()
override;
129 void AssembleMat(
const vector<vector<USI>>& colId,
130 const vector<vector<OCP_DBL>>& val,
133 vector<OCP_DBL>& rhs,
134 vector<OCP_DBL>& u)
override;
140 void Decoupling(dBSRmat* Absr,
157 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.