Automated Derivation of the Adjoint of High-Level Transient Finite Element Programs
By Patrick E. Farrell, David A. Ham, Simon W. Funke, Marie E. Rognes. 2012
330 citations recorded by the source corpus.
In this paper we demonstrate a new technique for deriving discrete adjoint and tangent linear models of a finite element model. The technique is significantly more efficient and automatic than standard algorithmic differentiation techniques. The approach relies on a high-level symbolic representation of the forward problem. In contrast to developing a model directly in Fortran or C++, high-level systems allow the developer to express the variational problems to be solved in near-mathematical notation. As such, these systems have a key advantage: since the mathematical structure of the problem is preserved, they are more amenable to automated analysis and manipulation. The framework introduced here is implemented in a freely available software package named dolfin-adjoint, based on the FEniCS Project. Our approach to automated adjoint derivation relies on run-time annotation of the temporal structure of the model and employs the FEniCS finite element form compiler to automatically generate the low-level co...
Subfields: Numerical Methods & Scientific Computing
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Numerical Methods & Scientific Computing
- Joel A. E. Andersson
- Philipp Holl
- Joaquim R. Martins
- Vladlen Koltun
- Nils Thürey
- Garth N. Wells
- Anders Logg
- Ole Sigmund
Citations in the corpus
- Learning to Control PDEs with Differentiable Physics (2020, background): “While a variety of specialized adjoint solvers exist (Griewank et al., 1996; Fournier et al., 2012; Farrell et al., 2013), these packages do not interface with production machine learning frameworks.”
- Effective adjoint approaches for computational fluid dynamics (2019, methodology): “In addition, the dolfin-adjoint code is well optimized and achieves a better adjoint-to-flow runtime ratio than the full-code AD approach [175].”
- Cbcbeat: an Adjoint-enabled Framework for Computational Cardiac Electrophysiology (2017, methodology): “All solvers allow for automated derivation and computation of adjoint and tangent linear solutions, functional derivatives and Hessians via the dolfin-adjoint software (Farrell et al. 2013).”
- Unified form language: A domain-specific language for weak formulations of partial differential equations (2012, background): “Some concrete examples using UFL and operations on forms can be found in [16, 41].”
- Topology Optimization of Turbulent Flows (2018, methodology): “The Dolfin-adjoint project [26] automatically derives the discrete adjoint given a differentiable forward model and an example of its application for topology optimization of Stokes flow problem is given in [27].”
- A General-Purpose Software Framework for Dynamic Optimization (Een algemene softwareomgeving voor dynamische optimalisatie) (2013, methodology): “Such a support is possible either by extending the symbolic framework or by a tight coupling with existing tools for modeling and simulation of PDEs such as FEniCS/DOLFIN/dolfin-adjoint [74,135,136].”