Multilevel

Solve

CommonSolve.solveFunction
CommonSolve.solve(args...; kwargs...)

Solves an equation or other mathematical problem using the algorithm specified in the arguments. Generally, the interface is:

CommonSolve.solve(prob::ProblemType, alg::SolverType; kwargs...)::SolutionType

where the keyword arguments are uniform across all choices of algorithms.

By default, solve defaults to using solve! on the iterator form, i.e.:

solve(args...; kwargs...) = solve!(init(args...; kwargs...))
source
solve(A::AbstractMatrix, b::Vector, fe_space::FESpace, pgrid_config::PMultigridConfiguration = pmultigrid_config(), pcoarse_solvertype = SmoothedAggregationCoarseSolver, args...; kwargs...)

This function solves the linear system Ax = b using polynomial multigrid methods with a coarse solver of type pcoarse_solvertype.

Arguments

  • A: The system matrix.
  • b: The right-hand side vector.
  • fe_space: See FESpace for details on the finite element space.
  • pgrid_config: Configuration for the polynomial multigrid method, see PMultigridConfiguration for details.
  • pcoarse_solvertype: The type of coarse solver to use (e.g., SmoothedAggregationCoarseSolver, Pinv).
  • args...: Additional arguments for the init and solve.

Keyword arguments

  • pcoarse_solver: The coarse solver for the polynomial multigrid.
  • kwargs...: Additional keyword arguments for the init and solve.
source