OGS
LisLinearSolver.h
Go to the documentation of this file.
1 
15 #pragma once
16 
17 #include <vector>
18 #include <string>
19 
20 #include <lis.h>
21 
22 #include "BaseLib/ConfigTree.h"
23 
24 #include "LisOption.h"
25 
26 namespace MathLib
27 {
28 
29 class LisMatrix;
30 class LisVector;
31 
36 class LisLinearSolver final
37 {
38 public:
47  LisLinearSolver(const std::string solver_name = "",
48  BaseLib::ConfigTree const*const option = nullptr);
49 
54  void setOption(const LisOption& option) { lis_option_ = option; }
55 
56  bool solve(LisMatrix& A, LisVector &b, LisVector &x);
57 
58 private:
60 };
61 
62 } // MathLib
Definition of the LisOption class.
Linear solver using Lis (http://www.ssisc.org/lis/)
void setOption(const LisOption &option)
bool solve(LisMatrix &A, LisVector &b, LisVector &x)
LisLinearSolver(const std::string solver_name="", BaseLib::ConfigTree const *const option=nullptr)
LisMatrix is a wrapper class for matrix types of the linear iterative solvers library.
Definition: LisMatrix.h:45
Lis vector wrapper class.
Definition: LisVector.h:29