Browse Source

Namespace

pull/35/head
termi-official 9 months ago
parent
commit
56760f9716
  1. 6
      src/precs.jl

6
src/precs.jl

@ -1,11 +1,11 @@
struct BoomerAMGPrecWrapper{MatType} struct BoomerAMGPrecWrapper{MatType}
P::HYPRE.BoomerAMG P::BoomerAMG
A::MatType A::MatType
end end
function LinearAlgebra.ldiv!(y::AbstractVector, prec::BoomerAMGPrecWrapper, x::AbstractVector) function LinearAlgebra.ldiv!(y::AbstractVector, prec::BoomerAMGPrecWrapper, x::AbstractVector)
fill!(y, eltype(y)(0.0)) fill!(y, eltype(y)(0.0))
return HYPRE.solve!(prec.P, y, prec.A, x) return solve!(prec.P, y, prec.A, x)
end end
""" """
@ -22,7 +22,7 @@ function BoomerAMGPrecBuilder(settings_fun! = (amg, A, p) -> nothing; kwargs...)
end end
function (b::BoomerAMGPrecBuilder)(A, p) function (b::BoomerAMGPrecBuilder)(A, p)
amg = HYPRE.BoomerAMG(; b.kwargs...) amg = BoomerAMG(; b.kwargs...)
Internals.set_precond_defaults(amg) Internals.set_precond_defaults(amg)
b.settings_fun!(amg, A, p) b.settings_fun!(amg, A, p)
return (BoomerAMGPrecWrapper(amg, A), LinearAlgebra.I) return (BoomerAMGPrecWrapper(amg, A), LinearAlgebra.I)

Loading…
Cancel
Save