Loading...
Searching...
No Matches
Opm::Accelerator::CprCreation< Scalar, block_size > Class Template Reference

This class implements a Constrained Pressure Residual (CPR) preconditioner. More...

`#include <CprCreation.hpp>`

Inheritance diagram for Opm::Accelerator::CprCreation< Scalar, block_size >:

## Protected Types

using | DuneMat = Dune::BCRSMatrix<Dune::FieldMatrix<Scalar, 1, 1> >
using | DuneVec = Dune::BlockVector<Dune::FieldVector<Scalar, 1> >
using | MatrixOperator = Dune::MatrixAdapter<DuneMat, DuneVec, DuneVec>
using | DuneAmg = Dune::Amg::MatrixHierarchy<MatrixOperator, Dune::Amg::SequentialInformation>

## Protected Member Functions

void | analyzeHierarchy ()
void | analyzeAggregateMaps ()
bool | create_preconditioner_amg (BlockedMatrix< Scalar > *mat)

## Protected Attributes

int | num_levels
std::vector< Scalar > | weights
std::vector< Scalar > | coarse_vals
std::vector< Scalar > | coarse_x
std::vector< Scalar > | coarse_y
std::vector< Matrix< Scalar > > | Amatrices
std::vector< Matrix< Scalar > > | Rmatrices
std::vector< std::vector< int > > | PcolIndices
std::vector< std::vector< Scalar > > | invDiags
BlockedMatrix< Scalar > * | mat = nullptr
std::unique_ptr< DuneAmg > | dune_amg
std::unique_ptr< DuneMat > | dune_coarse
std::shared_ptr< MatrixOperator > | dune_op
std::vector< int > | level_sizes
std::vector< std::vector< int > > | diagIndices
std::conditional_t< std::is_same_v< Scalar, double >, Dune::UMFPack< DuneMat >, int > | umfpack
bool | always_recalculate_aggregates = false
bool | recalculate_aggregates = true
const int | pressure_idx = 1
unsigned | num_pre_smooth_steps
unsigned | num_post_smooth_steps

## Detailed Description

template<class Scalar, unsigned int block_size>
class Opm::Accelerator::CprCreation< Scalar, block_size >

This class implements a Constrained Pressure Residual (CPR) preconditioner.

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

- opm/simulators/linalg/gpubridge/CprCreation.hpp
- opm/simulators/linalg/gpubridge/CprCreation.cpp