Preconditioners

AMGCLWrap.AMGPreconType
AMGPrecon(sparsematrix::AbstractSparseMatrix; 
             blocksize=1, 
             param=nothing)

Create algebraic multigrid preconditioner with ldiv! and \ methods solving the preconditioning system.

Parameters:

  • sparsematrix: SparseArrays.AbstractSparseMatrixCSC or SparseMatricesCSR.SparseMatrixCSR.
  • blocksize: If blocksize >1, group unknowns into blocks of given size and cast the matrix internally to a sparse matrix of blocksize x blocksize static matrices. Block sizes 1...8 are instantiated.
  • param: Any object (e.g. Tuple, Dict or JSON string) which can be turned into a JSON string by JSON3.write. If params is an emtpy string or nothing a default value is used.
source

AMGPrecon(sparsematrix::AbstractSparseMatrix; blocksize::Int=1, param=nothing, verbose::Bool=false, coarsening::Union{AbstractCoarsening, NamedTuple}=SmoothedAggregationCoarsening(), relax::Union{AbstractRelaxation, NamedTuple}=SPAI0Relaxation()) Create algebraic multigrid preconditioner with ldiv! and \ methods solving the preconditioning system.

Parameters:

  • sparsematrix: SparseArrays.AbstractSparseMatrixCSC or SparseMatricesCSR.SparseMatrixCSR.

  • blocksize: If blocksize >1, group unknowns into blocks of given size and cast the matrix internally to a sparse matrix of blocksize x blocksize static matrices. Block sizes 1...8 are instantiated.

  • verbose: if true, print generated JSON string passed to amgcl.

  • param: Ignored if nothing (default). Otherwise, any object (e.g. Tuple, Dict or JSON string) which can be turned into a JSON string by JSON3.write.

  • coarsening: A coarsening strategy

  • relax: A relaxation method

source
AMGCLWrap.AMGPreconBuilderType
struct AMGPreconBuilder

Preconditioner strategy (e.g. for the new precs kwarg in LinearSolve) for interfacing AMGPrecon.

Fields (for documentation, see AMGPrecon):

  • param::Any

  • verbose::Bool

  • blocksize::Int64

  • coarsening::Union{AMGCLWrap.AbstractCoarsening, NamedTuple}

  • relax::Union{AMGCLWrap.AbstractRelaxation, NamedTuple}

source
AMGCLWrap.RLXPreconType
RLXPrecon(sparsematrix::AbstractSparseMatrix; 
             blocksize=1, 
             param=nothing)

Create single level relaxation preconditioner with ldiv! and \ methods solving the preconditioning system.

Parameters:

  • sparsematrix: SparseArrays.AbstractSparseMatrixCSC or SparseMatricesCSR.SparseMatrixCSR.
  • blocksize: If blocksize >1, group unknowns into blocks of given size and cast the matrix internally to a sparse matrix of blocksize x blocksize static matrices. Block sizes 1...8 are instantiated.
  • param: Any object (e.g. Tuple, Dict or JSON string) which can be turned into a JSON string by JSON3.write. If params is an emtpy string or nothing a default value is used.
source
RLXPrecon(sparsematrix::AbstractSparseMatrix;
          blocksize::Int=1,
          param=nothing,
          verbose::Bool=false,
          precond::Union{AbstractRelaxation, NamedTuple}=ILU0Relaxation())

Create single level relaxation preconditioner with ldiv! and \ methods solving the preconditioning system.

Parameters:

  • sparsematrix: SparseArrays.AbstractSparseMatrixCSC or SparseMatricesCSR.SparseMatrixCSR.

  • blocksize: If blocksize >1, group unknowns into blocks of given size and cast the matrix internally to a sparse matrix of blocksize x blocksize static matrices. Block sizes 1...8 are instantiated.

  • verbose: if true, print generated JSON string passed to amgcl.

  • param: Ignored if nothing (default). Otherwise, any object (e.g. Tuple, Dict or JSON string) which can be turned into a JSON string by JSON3.write.

  • precond: A preconditioning method

source
AMGCLWrap.RLXPreconBuilderType
struct RLXPreconBuilder

Preconditioner strategy (e.g. for the new precs kwarg in LinearSolve) for interfacing RLXPrecon.

Fields (for documentation, see RLXPrecon):

  • param::Any

  • verbose::Bool

  • blocksize::Int64

  • precond::Union{AMGCLWrap.AbstractRelaxation, NamedTuple}

source