20#ifndef OPM_PRECONDITIONER_HEADER_INCLUDED
21#define OPM_PRECONDITIONER_HEADER_INCLUDED
24#include <opm/simulators/linalg/bda/opencl/opencl.hpp>
29namespace Opm::Accelerator {
31enum PreconditionerType {
37template<
class Scalar>
class BlockedMatrix;
39template<
class Scalar,
unsigned int block_size>
57 static std::unique_ptr<Preconditioner> create(PreconditionerType type,
58 bool opencl_ilu_parallel,
63 virtual void apply(
const cl::Buffer&
y, cl::Buffer& x) = 0;
67 virtual void apply(Scalar&
y, Scalar& x) = 0;
This struct resembles a blocked csr matrix, like Dune::BCRSMatrix.
Definition BlockedMatrix.hpp:29
Definition Preconditioner.hpp:41
constexpr auto getPropValue()
get the value data member of a property
Definition propertysystem.hh:242