Skip to content

Version 0.2.0 #46

Closed
Closed

Description

@jmartfrut

@JuliaRegistrator register

Release notes:

Breaking changes

  • KernelOperator no longer has the fields A0 and nzpos. The sparsity pattern is now built lazily and stored in op.pattern. Use the exported accessors instead:
    • op.A0 → sparsity_pattern(op)
    • op.nzpos → nonzero_positions(op)
  • With jacobian = :matrixfree, allocate_jacobian(op) returns a MatrixFreeJacobian instead of a sparse matrix.

New features

  • Matrix-free Jacobian: KernelOperator(…; jacobian = :matrixfree) and MatrixFreeJacobian (prepare!, mul!, rebind!). The product reuses per-task buffers, so it does not allocate in Krylov iterations.
  • MatrixFreeSolver: a Gridap LinearSolver built on Krylov.jl (GMRES, FGMRES, CG) with right preconditioning. Convergence is decided on the true residual, and the solve runs with one BLAS thread. It provides the hooks the Newton solver needs (convergence, iteration count, tolerance, preconditioner builds).
  • Preconditioner slots:
    • LaggedAssembled(solver; every): assembled Jacobian, refactorised every every Newton iterations.
    • BlockJacobi(): nodal block Jacobi.
  • eigenvalue_bounds: Ritz estimates of the extreme eigenvalues of the preconditioned operator.
  • KernelFunctional(f, U; reduce = :sum | :min | :max): compiled evaluation of scalar functionals, such as energy or the injectivity step.

Dependencies

  • New dependency: Krylov.jl (0.10).

Activity

  1. JuliaRegistrator commented on Nov 6, 2026

    @JuliaRegistrator

    Registration pull request created: JuliaRegistries/General/175085

    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:

    git tag -a v0.2.0 -m "<description of version>" 29674267237506afc317f250d00b58dc7d844e51
    git push origin v0.2.0
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions