20#ifndef OPM_PRECONDITIONER_HEADER_INCLUDED
21#define OPM_PRECONDITIONER_HEADER_INCLUDED
24#include <opm/simulators/linalg/gpubridge/opencl/opencl.hpp>
27#include <opm/simulators/linalg/gpubridge/WellContributions.hpp>
31namespace Opm::Accelerator {
33enum PreconditionerType {
41template<
class Scalar,
unsigned int block_size,
class ApplyScalar = Scalar>
51 Preconditioner(
int verbosity_)
52 : verbosity(verbosity_)
57 virtual ~Preconditioner() =
default;
59 static std::unique_ptr<Preconditioner> create(PreconditionerType type,
60 bool opencl_ilu_parallel,
64 virtual void apply(
const ApplyScalar& y,
This struct resembles a blocked csr matrix, like Dune::BCRSMatrix.
Definition BlockedMatrix.hpp:29
This class serves to eliminate the need to include the WellContributions into the matrix (with –matri...
Definition WellContributions.hpp:51