CPR.hpp
Go to the documentation of this file.
63 std::vector<OpenclMatrix> d_Amatrices, d_Rmatrices; // scalar matrices that represent the AMG hierarchy
64 std::vector<std::vector<int> > PcolIndices; // prolongation does not need a full matrix, only store colIndices
83 std::unique_ptr<DuneMat> dune_coarse; // extracted pressure matrix, finest level in AMG hierarchy
87 Dune::UMFPack<DuneMat> umfpack; // dune/istl/umfpack object used to solve the coarsest level of AMG
124 void setOpencl(std::shared_ptr<cl::Context>& context, std::shared_ptr<cl::CommandQueue>& queue) override;
Definition: BlockedMatrix.hpp:31 This class implements a Constrained Pressure Residual (CPR) preconditioner. Definition: CPR.hpp:46 void setOpencl(std::shared_ptr< cl::Context > &context, std::shared_ptr< cl::CommandQueue > &queue) override void apply(const cl::Buffer &y, cl::Buffer &x) override bool create_preconditioner(BlockedMatrix *mat, BlockedMatrix *jacMat) override bool create_preconditioner(BlockedMatrix *mat) override CPR(bool opencl_ilu_parallel, int verbosity) bool analyze_matrix(BlockedMatrix *mat) override bool analyze_matrix(BlockedMatrix *mat, BlockedMatrix *jacMat) override Definition: Preconditioner.hpp:36 std::vector< cl::Event > events Definition: Preconditioner.hpp:47 std::shared_ptr< cl::CommandQueue > queue Definition: Preconditioner.hpp:46 std::shared_ptr< cl::Context > context Definition: Preconditioner.hpp:45 void solve_transposed_3x3(const double *A, const double *b, double *x) Definition: BlackoilPhases.hpp:27 |