My Project
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 >:
Opm::Accelerator::openclCPR< Scalar, block_size > Opm::Accelerator::rocsparseCPR< 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 ()
 
void 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< intlevel_sizes
 
std::vector< std::vector< int > > diagIndices
 
std::conditional_t< std::is_same_v< Scalar, double >, Dune::UMFPack< DuneMat >, intumfpack
 
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: