Amgx::AmgxPreconditioner< M, X, Y > Class Template Reference Wrapper for AMGX's AMG preconditioner. More...
Inheritance diagram for Amgx::AmgxPreconditioner< M, X, Y >:
![]()
Detailed Descriptiontemplate<class M, class X, class Y> class Amgx::AmgxPreconditioner< M, X, Y > Wrapper for AMGX's AMG preconditioner. This class provides an interface to the AMG preconditioner from the AMGX library. It is designed to work with matrices, update vectors, and defect vectors specified by the template parameters. The AmgxInterface class provides a unified interface to AMGX's functionality, allowing for easy switching between CPU and GPU input data types.
Member Typedef Documentation◆ domain_type
template<class M , class X , class Y >
The domain type of the preconditioner. ◆ matrix_field_type
template<class M , class X , class Y >
The field type of the matrix. ◆ matrix_type
template<class M , class X , class Y >
The matrix type the preconditioner is for. ◆ range_type
template<class M , class X , class Y >
The range type of the preconditioner. ◆ vector_field_type
template<class M , class X , class Y >
The field type of the vectors. Constructor & Destructor Documentation◆ AmgxPreconditioner()
template<class M , class X , class Y >
Constructor for AmgxPreconditioner. Initializes the AMGX preconditioner with the given matrix and property tree.
References Amgx::AmgxPreconditioner< M, X, Y >::block_size, Opm::gpuistl::AmgxInterface::createConfig(), Opm::gpuistl::AmgxInterface::createMatrix(), Opm::gpuistl::AmgxInterface::createResources(), Opm::gpuistl::AmgxInterface::createSolver(), Opm::gpuistl::AmgxInterface::createVector(), Opm::gpuistl::AmgxInterface::initializeMatrix(), Opm::gpuistl::AmgxInterface::initializeVector(), Amgx::AmgxConfig::toString(), and Amgx::AmgxPreconditioner< M, X, Y >::update(). ◆ ~AmgxPreconditioner()
template<class M , class X , class Y >
Destructor for AmgxPreconditioner. Cleans up resources allocated by the preconditioner. References Opm::gpuistl::AmgxInterface::destroyConfig(), Opm::gpuistl::AmgxInterface::destroyMatrix(), Opm::gpuistl::AmgxInterface::destroyResources(), Opm::gpuistl::AmgxInterface::destroySolver(), and Opm::gpuistl::AmgxInterface::destroyVector(). Member Function Documentation◆ apply()
template<class M , class X , class Y >
Applies the preconditioner to a vector. Performs one AMG cycle to solve the system. Involves uploading vectors to AMGX, applying the preconditioner, and transferring the result back to the vector.
References Opm::gpuistl::AmgxInterface::transferVectorFromAmgx(), and Opm::gpuistl::AmgxInterface::transferVectorToAmgx(). ◆ category()
template<class M , class X , class Y >
Returns the solver category.
◆ hasPerfectUpdate()
template<class M , class X , class Y >
Checks if the preconditioner has a perfect update.
Implements Dune::PreconditionerWithUpdate< X, Y >. ◆ post()
template<class M , class X , class Y >
Post-processing step after applying the preconditioner. This method is currently a no-op.
◆ pre()
template<class M , class X , class Y >
Pre-processing step before applying the preconditioner. This method is currently a no-op.
◆ update()
template<class M , class X , class Y >
Updates the preconditioner with the current matrix values. This method should be called whenever the matrix values change. Implements Dune::PreconditionerWithUpdate< X, Y >. References Opm::gpuistl::AmgxInterface::updateMatrixValues(). Referenced by Amgx::AmgxPreconditioner< M, X, Y >::AmgxPreconditioner(). Member Data Documentation◆ block_size
template<class M , class X , class Y >
Referenced by Amgx::AmgxPreconditioner< M, X, Y >::AmgxPreconditioner(). The documentation for this class was generated from the following file: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||