AmgxPreconditioner.hpp
Go to the documentation of this file.
267 // The AMG hierarchy of the Amgx preconditioner can depend on the values of the matrix, so it must be recreated
268 // when the matrix values change, at a given frequency. Since this is handled internally, we return true.
Wrapper for AMGX's AMG preconditioner. Definition: AmgxPreconditioner.hpp:107 bool hasPerfectUpdate() const override Checks if the preconditioner has a perfect update. Definition: AmgxPreconditioner.hpp:265 Y range_type The range type of the preconditioner. Definition: AmgxPreconditioner.hpp:116 void update() override Updates the preconditioner with the current matrix values. Definition: AmgxPreconditioner.hpp:231 void apply(X &v, const Y &d) override Applies the preconditioner to a vector. Definition: AmgxPreconditioner.hpp:200 typename M::field_type matrix_field_type The field type of the matrix. Definition: AmgxPreconditioner.hpp:112 static constexpr int block_size Definition: AmgxPreconditioner.hpp:120 AmgxPreconditioner(const M &A, const Opm::PropertyTree prm) Constructor for AmgxPreconditioner. Definition: AmgxPreconditioner.hpp:130 Dune::SolverCategory::Category category() const override Returns the solver category. Definition: AmgxPreconditioner.hpp:255 void pre(X &, Y &) override Pre-processing step before applying the preconditioner. Definition: AmgxPreconditioner.hpp:186 X domain_type The domain type of the preconditioner. Definition: AmgxPreconditioner.hpp:114 M matrix_type The matrix type the preconditioner is for. Definition: AmgxPreconditioner.hpp:110 typename X::field_type vector_field_type The field type of the vectors. Definition: AmgxPreconditioner.hpp:118 ~AmgxPreconditioner() Destructor for AmgxPreconditioner. Definition: AmgxPreconditioner.hpp:168 void post(X &) override Post-processing step after applying the preconditioner. Definition: AmgxPreconditioner.hpp:222 Interface class adding the update() method to the preconditioner interface. Definition: PreconditionerWithUpdate.hpp:32 T get(const std::string &key) const Unified interface for AMGX operations with both CPU and GPU data structures. Definition: AmgxInterface.hpp:122 static void destroyResources(AMGX_resources_handle resources) Destroy an AMGX resources handle. Definition: AmgxInterface.hpp:244 static AMGX_resources_handle createResources(AMGX_config_handle config) Create AMGX resources from a config. Definition: AmgxInterface.hpp:167 static void destroyVector(AMGX_vector_handle vector) Destroy an AMGX vector handle. Definition: AmgxInterface.hpp:292 static AMGX_solver_handle createSolver(AMGX_resources_handle resources, AMGX_Mode mode, AMGX_config_handle config) Create an AMGX solver. Definition: AmgxInterface.hpp:183 static void updateMatrixValues(const MatrixType &matrix, AMGX_matrix_handle amgx_matrix) Update matrix values in AMGX. Definition: AmgxInterface.hpp:590 static void initializeVector(int N, int block_size, AMGX_vector_handle amgx_vector) Initialize an AMGX vector with zeros. Definition: AmgxInterface.hpp:574 static void destroyConfig(AMGX_config_handle config) Destroy an AMGX config handle. Definition: AmgxInterface.hpp:226 static AMGX_config_handle createConfig(const std::string &config_string) Create an AMGX config handle from a configuration string. Definition: AmgxInterface.hpp:153 static void destroySolver(AMGX_solver_handle solver) Destroy an AMGX solver handle. Definition: AmgxInterface.hpp:257 static AMGX_matrix_handle createMatrix(AMGX_resources_handle resources, AMGX_Mode mode) Create an AMGX matrix. Definition: AmgxInterface.hpp:198 static void initializeMatrix(const MatrixType &matrix, AMGX_matrix_handle amgx_matrix) Initialize an AMGX matrix from any matrix type (CPU or GPU) Definition: AmgxInterface.hpp:515 static AMGX_vector_handle createVector(AMGX_resources_handle resources, AMGX_Mode mode) Create an AMGX vector. Definition: AmgxInterface.hpp:213 static void destroyMatrix(AMGX_matrix_handle amgx_matrix, const MatrixType &matrix) Destroy an AMGX matrix handle. Definition: AmgxInterface.hpp:272 static void transferVectorToAmgx(const VectorType &vec, AMGX_vector_handle amgx_vec) Transfer vector to AMGX from any vector type (CPU or GPU) Definition: AmgxInterface.hpp:370 static void transferVectorFromAmgx(AMGX_vector_handle amgx_vec, VectorType &vec) Transfer vector from AMGX to any vector type (CPU or GPU) Definition: AmgxInterface.hpp:396 Definition: AmgxPreconditioner.hpp:36 std::string to_string(const ConvergenceReport::ReservoirFailure::Type t) AmgxConfig(const Opm::PropertyTree &prm) Definition: AmgxPreconditioner.hpp:59 |