|
opm-simulators
|
This class implements a Constrained Pressure Residual (CPR) preconditioner. More...
#include <openclCPR.hpp>
Public Member Functions | |
| openclCPR (bool opencl_ilu_parallel, int verbosity) | |
| bool | analyze_matrix (BlockedMatrix< Scalar > *mat) override |
| bool | analyze_matrix (BlockedMatrix< Scalar > *mat, BlockedMatrix< Scalar > *jacMat) override |
| void | setOpencl (std::shared_ptr< cl::Context > &context, std::shared_ptr< cl::CommandQueue > &queue) override |
| void | apply (const cl::Buffer &y, cl::Buffer &x, WellContributions< Scalar > &wellContribs) override |
| bool | create_preconditioner (BlockedMatrix< Scalar > *mat) override |
| bool | create_preconditioner (BlockedMatrix< Scalar > *mat, BlockedMatrix< Scalar > *jacMat) override |
Additional Inherited Members | |
Static Public Member Functions inherited from Opm::Accelerator::openclPreconditioner< Scalar, block_size > | |
| static std::unique_ptr< openclPreconditioner< Scalar, block_size > > | create (PreconditionerType type, int verbosity, bool opencl_ilu_parallel) |
Static Public Member Functions inherited from Opm::Accelerator::Preconditioner< Scalar, block_size, cl::Buffer > | |
| static std::unique_ptr< Preconditioner > | create (PreconditionerType type, bool opencl_ilu_parallel, int verbosity) |
Protected Types inherited from Opm::Accelerator::CprCreation< Scalar, block_size > | |
| 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 inherited from Opm::Accelerator::openclPreconditioner< Scalar, block_size > | |
| openclPreconditioner (int verbosity_) | |
Protected Member Functions inherited from Opm::Accelerator::Preconditioner< Scalar, block_size, cl::Buffer > | |
| Preconditioner (int verbosity_) | |
Protected Member Functions inherited from Opm::Accelerator::CprCreation< Scalar, block_size > | |
| void | analyzeHierarchy () |
| void | analyzeAggregateMaps () |
| bool | create_preconditioner_amg (BlockedMatrix< Scalar > *mat) |
Protected Attributes inherited from Opm::Accelerator::openclPreconditioner< Scalar, block_size > | |
| std::shared_ptr< cl::Context > | context |
| std::shared_ptr< cl::CommandQueue > | queue |
| std::vector< cl::Event > | events |
| cl_int | err |
Protected Attributes inherited from Opm::Accelerator::Preconditioner< Scalar, block_size, cl::Buffer > | |
| int | N |
| int | Nb |
| int | nnz |
| int | nnzb |
| int | verbosity |
Protected Attributes inherited from Opm::Accelerator::CprCreation< Scalar, block_size > | |
| 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 |
This class implements a Constrained Pressure Residual (CPR) preconditioner.