Skip to content

Releases: a-latyshev/dolfinx-external-operator

v0.10.1

16 Apr 11:41
0094f50

Choose a tag to compare

What's Changed

Bug fixes

New features

  • Add handling of adjoint and other floating types by @jorgensd in #32
  • Use ufl.DAGTraverser to work through forms when replacing ufl.ExternalOperator by @jorgensd in #34
  • Support for nested external operators by @jorgensd in #40

Full Changelog: v0.10.0...v0.10.1

v0.10.0.pos1

17 Dec 09:22
eff5e9e

Choose a tag to compare

This post-release is published to create a proper package on PyPi and test the associated workflows.

What's Changed

Full Changelog: v0.10.0...v0.10.0.post1

v0.10.0

28 Nov 16:26
bb8d54f

Choose a tag to compare

What's Changed

This is a major release of dolfinx-external-operator, compatible with v0.10.0 of DOLFINx.

Principal changes

  • No more extra memory allocation for intermediate external operators created by the UFL AD (see #25).
  • New interface to call external functions from the new NonlinearProblem of DOLFINx, which is a wrapper for SNES: #29.

The users are supposed to wrap the external callbacks, which will be called from the Newton solver, with assemble_residual_with_callback (https://github.com/a-latyshev/dolfinx-external-operator/blob/main/src/dolfinx_external_operator/petsc/petsc.py). See tutorials for a concrete example: https://a-latyshev.github.io/dolfinx-external-operator/demo/demo_plasticity_mohr_coulomb.html#solving-the-problem.

Features and API changes

New Contributors

Known issues

  • Handling high-order differentiation of forms with FEMExternalOperator-s #33

Full Changelog: v0.9.0...v0.10.0

v0.9.0

14 Oct 06:58

Choose a tag to compare

v0.8.0

18 Aug 14:38

Choose a tag to compare

v.0.0.1

02 Apr 09:12

Choose a tag to compare

v.0.0.1 Pre-release
Pre-release

The following demos are available:

  1. Nonlinear heat equation
  2. von Mises plasticity with isotropic hardening implemented via Numba
  3. Mohr-Coulomb model with non-associative plasticity law implemented via JAX