20#ifndef OPM_ROCALUTIONSOLVER_BACKEND_HEADER_INCLUDED
21#define OPM_ROCALUTIONSOLVER_BACKEND_HEADER_INCLUDED
28template<
class Matrix,
class Vector,
class Scalar>
class BiCGStab;
29template<
class Matrix,
class Vector,
class Scalar>
class ILU;
38template<
class Scalar,
unsigned int block_size>
55 std::vector<Scalar> h_x;
58 Scalar* tmp_nnzvalues;
63 std::unique_ptr<rocalution::ILU<Mat,Vec,Scalar>> roc_prec;
64 std::unique_ptr<rocalution::BiCGStab<Mat,Vec,Scalar>> roc_solver;
82 int maxit, Scalar tolerance);
Definition: BdaResult.hpp:31
Definition: BdaSolver.hpp:46
int maxit
Definition: BdaSolver.hpp:55
int nnzb
Definition: BdaSolver.hpp:61
bool initialized
Definition: BdaSolver.hpp:66
int verbosity
Definition: BdaSolver.hpp:53
unsigned int deviceID
Definition: BdaSolver.hpp:64
int N
Definition: BdaSolver.hpp:58
int Nb
Definition: BdaSolver.hpp:59
int nnz
Definition: BdaSolver.hpp:60
Scalar tolerance
Definition: BdaSolver.hpp:56
unsigned int platformID
Definition: BdaSolver.hpp:63
Definition: BlockedMatrix.hpp:29
Definition: rocalutionSolverBackend.hpp:40
rocalutionSolverBackend(int linear_solver_verbosity, int maxit, Scalar tolerance)
SolverStatus solve_system(std::shared_ptr< BlockedMatrix< Scalar > > matrix, Scalar *b, std::shared_ptr< BlockedMatrix< Scalar > > jacMatrix, WellContributions< Scalar > &wellContribs, BdaResult &res) override
~rocalutionSolverBackend()
Destroy a rocalutionSolver, and free memory.
void get_result(Scalar *x) override
Definition: WellContributions.hpp:53
Definition: rocalutionSolverBackend.hpp:28
Definition: rocalutionSolverBackend.hpp:29
Definition: rocalutionSolverBackend.hpp:30
Definition: rocalutionSolverBackend.hpp:31
Definition: amgclSolverBackend.hpp:44
SolverStatus
Definition: BdaSolver.hpp:35
Definition: rocalutionSolverBackend.hpp:27