opm-simulators
Loading...
Searching...
No Matches
Opm::Accelerator::Preconditioner< Scalar, block_size, ApplyScalar > Class Template Referenceabstract
Inheritance diagram for Opm::Accelerator::Preconditioner< Scalar, block_size, ApplyScalar >:
Opm::Accelerator::rocsparsePreconditioner< Scalar, block_size > Opm::Accelerator::rocsparseBILU0< Scalar, block_size > Opm::Accelerator::rocsparseCPR< Scalar, block_size >

Public Member Functions

virtual void apply (const ApplyScalar &y, ApplyScalar &x, WellContributions< Scalar > &wellContribs)=0
virtual bool analyze_matrix (BlockedMatrix< Scalar > *mat)=0
virtual bool analyze_matrix (BlockedMatrix< Scalar > *mat, BlockedMatrix< Scalar > *jacMat)=0
virtual bool create_preconditioner (BlockedMatrix< Scalar > *mat)=0
virtual bool create_preconditioner (BlockedMatrix< Scalar > *mat, BlockedMatrix< Scalar > *jacMat)=0

Static Public Member Functions

static std::unique_ptr< Preconditioner > create (PreconditionerType type, bool opencl_ilu_parallel, int verbosity)

Protected Member Functions

 Preconditioner (int verbosity_)

Protected Attributes

int N = 0
int Nb = 0
int nnz = 0
int nnzb = 0
int verbosity = 0

Member Function Documentation

◆ analyze_matrix() [1/2]

template<class Scalar, unsigned int block_size, class ApplyScalar = Scalar>
virtual bool Opm::Accelerator::Preconditioner< Scalar, block_size, ApplyScalar >::analyze_matrix ( BlockedMatrix< Scalar > * mat)
pure virtual

◆ analyze_matrix() [2/2]

template<class Scalar, unsigned int block_size, class ApplyScalar = Scalar>
virtual bool Opm::Accelerator::Preconditioner< Scalar, block_size, ApplyScalar >::analyze_matrix ( BlockedMatrix< Scalar > * mat,
BlockedMatrix< Scalar > * jacMat )
pure virtual

◆ create_preconditioner() [1/2]

template<class Scalar, unsigned int block_size, class ApplyScalar = Scalar>
virtual bool Opm::Accelerator::Preconditioner< Scalar, block_size, ApplyScalar >::create_preconditioner ( BlockedMatrix< Scalar > * mat)
pure virtual

◆ create_preconditioner() [2/2]

template<class Scalar, unsigned int block_size, class ApplyScalar = Scalar>
virtual bool Opm::Accelerator::Preconditioner< Scalar, block_size, ApplyScalar >::create_preconditioner ( BlockedMatrix< Scalar > * mat,
BlockedMatrix< Scalar > * jacMat )
pure virtual

The documentation for this class was generated from the following file: