DOLFINx-GraphAD

Automatic differentiation for DOLFINx using the adjoint method. Compute sensitivities and optimize finite element simulations with an explicit computational graph that you own.

Key Features

Automatic Differentiation

Computational graph construction that automatically tracks operations and dependencies.

Adjoint Method

Efficient gradient computation through backpropagation on the computational graph.

DOLFINx Integration

Seamless integration into existing DOLFINx workflows with minimal code changes.

Complex PDEs

Support for nonlinear problems and coupled multi-physics simulations.

Graph Visualization

Built-in tools for visualizing and debugging the computational graph.

Minimal Changes

Drop-in replacements for DOLFINx objects – just add a graph argument.

Start with Getting started or explore a complete notebook in Demos.

Acknowledgments

This library builds upon the FEniCS Project and uses DOLFINx as its foundation.