My Project
Loading...
Searching...
No Matches
Opm::cuistl::SolverAdapter< Operator, UnderlyingSolver, X > Class Template Reference

Wraps a CUDA solver to work with CPU data. More...

#include <SolverAdapter.hpp>

Inheritance diagram for Opm::cuistl::SolverAdapter< Operator, UnderlyingSolver, X >:

Public Types

using XGPU = Opm::cuistl::CuVector< real_type >
 

Public Member Functions

 SolverAdapter (Operator &op, Dune::ScalarProduct< X > &sp, std::shared_ptr< Dune::Preconditioner< X, X > > prec, scalar_real_type reduction, int maxit, int verbose)
 
virtual void apply (X &x, X &b, double reduction, Dune::InverseOperatorResult &res) override
 
virtual void apply (X &x, X &b, Dune::InverseOperatorResult &res) override
 

Static Public Attributes

static constexpr auto block_size = domain_type::block_type::dimension
 

Detailed Description

template<class Operator, template< class > class UnderlyingSolver, class X>
class Opm::cuistl::SolverAdapter< Operator, UnderlyingSolver, X >

Wraps a CUDA solver to work with CPU data.

Template Parameters
Operatorthe Dune::LinearOperator to use
UnderlyingSolvera Dune solver like class, eg Dune::BiCGSTABSolver
Xthe outer type to use (eg. Dune::BlockVector<Dune::FieldVector<...>>)

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