You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
p-multigrid preconditioner for MatrixFreeSolver (new API, nothing breaking).
PMultigrid(spaces; smoother = Chebyshev(), coarse, coarse_every): one symmetric V-cycle per Krylov iteration on nested Lagrangian levels of the same mesh (Q2 → Q1, Q3 → Q1, Q3 → Q2 → Q1). Matrix-free on the working order, assembled coarse level with its own solver (e.g. one GAMG V-cycle). Coarse operators rediscretised from the Newton's forms at the injected state; the levels follow load steps (update) and HyperFEM's Dirichlet projection.
Chebyshev(; degree = 2, range = 20) smoother, preconditioned by the nodal block diagonal, with a reproducible Ritz estimate of λmax.
Nodal blocks computed from the stored point tangents (×3.5 cheaper; also used by BlockJacobi).
New hook preconditioner_ok: a non-finite tangent, a singular nodal block or an indefinite tangent makes the linear solve fail at once, so the Newton cuts back.
Measured on a unit cube (Mac M5 Max, 6 threads, PETSc serial): ×8.3 per Newton iteration at 957k dofs Q2 and ×19 at 227k Q3 against CG + GAMG on the assembled tangent, with ~4× less memory; Krylov iterations nearly mesh-independent (25 → 28).
Release notes help your users know what has changed in the new version. For breaking releases in particular, it's recommended to document what breaking changes were made (or point to where changes can be found, such as a changelog).
To add release notes, just add markdown formatted text underneath the comment after the text "Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the release that TagBot creates. i.e.
Activity
JuliaRegistrator commentedon Nov 8, 2026
Registration pull request created: JuliaRegistries/General/175337
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
jmartfrut commentedon Nov 8, 2026
@JuliaRegistrator register
JuliaRegistrator commentedon Nov 8, 2026
Registration pull request updated: JuliaRegistries/General/175337
Recommendation: add release notes
Release notes help your users know what has changed in the new version. For breaking releases in particular, it's recommended to document what breaking changes were made (or point to where changes can be found, such as a changelog).
To add release notes, just add markdown formatted text underneath the comment after the text "Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the release that TagBot creates. i.e.
To add release notes to this registration, just re-invoke JuliaRegistrator and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via: