Skip to content

Version 0.2.1 #48

Closed
Closed

Description

@jmartfrut

@JuliaRegistrator register

Release notes:

New features

  • Second derivatives of the unknown, test and trial functions (∇∇(u), ∇(∇(u)), Δ(u)) are compiled by the kernels, with Gridap's layout (TensorValue{D,D}; ThirdOrderTensorValue{D,D,N} with H[a,b,k] = ∂²u_k/∂x_a∂x_b). They are exact also on non-affine quadrilaterals and hexahedra (curvature of the cell map included), where Gridap's ∇∇ is not defined. Supported in the residual, the assembled Jacobian and the matrix-free Jacobian. ∇∇ of FE functions that are not the unknown is read from their nodal values. ∇∇ on skeleton integrals and of H(div) fields goes to the Gridap fallback.
  • Hybrid fallback by triangulation: an integral the engine cannot translate (e.g. ∇(u*w)) now sends only the integrals of its triangulation to Gridap, instead of the whole weak form.
  • Cheap update: forms with the same structure as the operator's (same measures, operations and constants up to their values, same FE functions) rebind the compiled groups. Code, tables, colouring, sparsity pattern, linear maps and auxiliary buffers are reused, and nothing is compiled or allocated per cell per load step. The same applies to KernelFunctional. HFK_CHECK_REBIND=1 checks the fast path against a full compilation; HFK_DEBUG_UPDATE=1 prints the path taken and its timings.

Fixes

  • Numbers in the integrand are read as run-time parameters also on simplexified meshes.
  • FE functions in the form are identified by their dof vectors, so the same function used several times in a form is evaluated once, also on sub-triangulations.
  • HFK_DEBUG_LINEAR is read at run time.

No breaking changes; HyperFEM's [compat] HyperFEMKernels = "0.2" covers this release.

Activity

  1. JuliaRegistrator commented on Nov 6, 2026

    @JuliaRegistrator

    Registration pull request created: JuliaRegistries/General/175133

    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.1 -m "<description of version>" f26c7cabacfcc2845b23b1abeff1e07de8ee57fc
    git push origin v0.2.1
    
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