amgcl: 0.7.0
Description
- All runtime parameters (namely, coarsening type, relaxation type, and solver type) were moved to the generic parameter structure (stored in boost::property_tree). So the following code:
would have to be changed to
This is done as part of the effort to generalize use of preconditioners in the library, so that any preconditioner supported by AMGCL could be uniformly constructed with the system matrix and the parameters.
amg::top_matrix() method was renamed to amg::system_matrix() for the same reason.
-
The use of preconditioners in AMGCL was generalized. A class that may be used as a preconditioner should have the following properties:
- Provide public type backend_type for its backend.
- Provide public type params containing its parameters.
- Have constructor that takes three arguments:
- System matrix
- Parameters
- Backend parameters
- Export the system matrix in the backend format through system_matrix() method.
A preconditioner may be used in the following contexts:
- As a parameter to an iterative solver.
- As a template parameter to make_solver class.
- As a template parameter to a two-step preconditioner (CPR and SIMPLE).
- As a template parameter to subdomain deflation class (as a local preconditioner).
Added amgcl::as_preconditioner<Backend, Relaxation> and amgcl::runtime::as_preconditioner<Backend> wrapper classes that allow to use smoothers as preconditioners.
Added ILUT(p,tau) smoother/preconditioner.
Implemented Chow and Patel version of parallel ILU. This allowed to enable ILU-type smoothers on all backends, but may not work as well as serial version for some problems.
Provided a wrapper for cuSPARSE implementation of ILU0 on CUDA backend.
Added adapter for complex-valued matrices. This uses an equivalent real formulation (ERF) for the matrix so that it may be solved with AMGCL.
Added zero copy matrix adapter for CRS matrices. The adapter allows to skip copy and thus save some memory for matrices that are binary compatible with internal AMGCL storage. Basically, that means that row pointer and column number arrays should be either signed or unsigned ptrdiff_t.
Provided wrapper interface for Fortran.
Files
amgcl-0.7.0.zip
Files
(282.0 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:b15805dea5a8d68a450cbf4b0aa1d7b2
|
282.0 kB | Preview Download |
Additional details
Related works
- Is supplement to
- https://github.com/ddemidov/amgcl/tree/0.7.0 (URL)