AMGCLWrap.AMGPreconMethod

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.

  • 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

AMGCLWrap.AMGPreconMethod
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.
AMGCLWrap.AMGSolverMethod
AMGSolver(sparsematrix::AbstractSparseMatrix;
          blocksize::Int=1,
          param=nothing,
          verbose::Bool=false,
          coarsening::Union{AbstractCoarsening, NamedTuple}=SmoothedAggregationCoarsening(),
          relax::Union{AbstractRelaxation, NamedTuple}=SPAI0Relaxation(),
          solver::Union{AbstractSolver, NamedTuple}=BICGStabSolver(;verbose))

Create Algebraic multigrid preconditioned Krylov subspace solver with ldiv! and \ methods solving the matrix system.

Parameters:

  • sparsematrix: SparseArrays.AbstractSparseMatrixCSC or SparseMatricesCSR.SparseMatrixCSR.

  • 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: One of the Coarsening strategies

  • relax: One of the Relaxation strategies

  • solver: One of the Iterative solver strategies

AMGCLWrap.AMGSolverMethod
AMGSolver(sparsematrix::AbstractSparseMatrix; 
             blocksize=1, 
             param=nothing)

Create Algebraic multigrid preconditioned Krylov subspace solver with ldiv! and \ methods solving the matrix 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.
AMGCLWrap.AbstractSolverType
abstract type AbstractSolver <: AMGCLWrap.AbstractAMGCLParams

Abstract solver parameter type.

AMGCLWrap.BICGStabSolverType
struct BICGStabSolver <: AMGCLWrap.AbstractSolver

BICGStab solver

  • type::String

  • pside::String

  • tol::Float64

  • abstol::Float64

  • maxiter::Int64

  • verbose::Bool

AMGCLWrap.CGSolverType
struct CGSolver <: AMGCLWrap.AbstractSolver
  • type::String

  • tol::Float64

  • abstol::Float64

  • maxiter::Int64

  • verbose::Bool

AMGCLWrap.GMRESSolverType
struct GMRESSolver <: AMGCLWrap.AbstractSolver
  • type::String

  • M::Int64

  • pside::String

  • tol::Float64

  • abstol::Float64

  • maxiter::Int64

  • verbose::Bool

AMGCLWrap.RLXPreconMethod
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.
AMGCLWrap.RLXSolverMethod
RLXSolver(sparsematrix::AbstractSparseMatrix;
          blocksize::Int=1,
          param=nothing,
          verbose::Bool=false,
          precond::Union{AbstractRelaxation, NamedTuple}=ILU0Relaxation(),
          solver::Union{AbstractSolver, NamedTuple}=BICGStabSolver(;verbose))

Create single level relaxation preconditioned Krylov subspace solver with ldiv! and \ methods solving the matrix system.

Parameters:

  • sparsematrix: SparseArrays.AbstractSparseMatrixCSC or SparseMatricesCSR.SparseMatrixCSR.

  • 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: One of the Relaxation strategies seen as preconditioner

  • solver: One of the Iterative solver strategies

AMGCLWrap.RLXSolverMethod
RLXSolver(sparsematrix::AbstractSparseMatrix; 
             blocksize=1, 
             param=nothing)

Create single level relaxation preconditioned Krylov subspace solver with ldiv! and \ methods solving the matrix 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.
AMGCLWrap.RugeStubenCoarseningType
struct RugeStubenCoarsening <: AMGCLWrap.AbstractCoarsening
  • type::String

  • eps_strong::Float64

  • do_trunc::Bool

  • eps_trunc::Float64

AMGCLWrap.AMGSolverAlgorithmFunction
AMGSolverAlgorithm(;blocksize::Int=1,
                    param=nothing,
                    verbose::Bool=false,
                    coarsening::Union{AbstractCoarsening, NamedTuple}=SmoothedAggregationCoarsening(),
                    relax::Union{AbstractRelaxation, NamedTuple}=SPAI0Relaxation(),
                    solver::Union{AbstractSolver, NamedTuple}=BICGStabSolver(;verbose))

Algebraic multigrid preconditioned Krylov subspace solver algorithm for LinearSolve.jk 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: One of the Coarsening strategies

  • relax: One of the Relaxation strategies

  • solver: One of the Iterative solver strategies

Compat

Only available for Julia version >=1.9

AMGCLWrap.RLXSolverAlgorithmFunction
RLXSolverAlgorithm(;blocksize::Int=1,
                    param=nothing,
                    verbose::Bool=false,
                    precond::Union{AbstractRelaxation, NamedTuple}=ILU0Relaxation(),
                    solver::Union{AbstractSolver, NamedTuple}=BICGStabSolver(;verbose))

Algebraic multigrid preconditioned Krylov subspace solver algorithm for LinearSolve.jk 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: One of the Relaxation strategies seen as preconditioner

  • solver: One of the Iterative solver strategies

Compat

Only available for Julia version >=1.9