Automated derivation of the adjoint of high-level transient finite element programs
arXiv:1204.5577 · doi:10.1137/120873558 10.1137/120873558 10.1137/120873558 10.1137/120873558 10.1137/120873558 10.1137/120873558
Abstract
In this paper we demonstrate a new technique for deriving discrete adjoint and tangent linear models of finite element models. 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 code for the derived models. The approach requires only trivial changes to a large class of forward models, including complicated time-dependent nonlinear models. The adjoint model automatically employs optimal checkpointing schemes to mitigate storage requirements for nonlinear models, without any user management or intervention. Furthermore, both the tangent linear and adjoint models naturally work in parallel, without any need to differentiate through calls to MPI or to parse OpenMP directives. The generality, applicability and efficiency of the approach are demonstrated with examples from a wide range of scientific applications.
References in corpus (4)
Cited by in corpus (31)
- Firedrake: automating the finite element method by composing abstractions
- Differentiable modeling to unify machine learning and physical models and advance Geosciences
- Devito (v3.1.0): an embedded domain-specific language for finite differences and geophysical exploration
- Geometric MCMC for Infinite-Dimensional Inverse Problems
- Thetis coastal ocean model: discontinuous Galerkin discretization for the three-dimensional hydrostatic equations
- Polymer-bonded anisotropic SrFeO filaments for fused filament fabrication
- Differentiable Programming for Earth System Modeling
- GPdoemd: a Python package for design of experiments for model discrimination
- Maximizing simulated tropical cyclone intensity with action minimization
- Tidal turbine array optimisation using the adjoint approach
- On constraining the mesoscale eddy energy dissipation time-scale
- Sample Average Approximations of Strongly Convex Stochastic Programs in Hilbert Spaces
- Automatic Differentiation for Adjoint Stencil Loops
- Ogden Material Calibration via Magnetic Resonance Cartography, Parameter Sensitivity, and Variational System Identification
- Control of bifurcation structures using shape optimization
- SNC: A Cloud Service Platform for Symbolic-Numeric Computation using Just-In-Time Compilation
- Optimization with Equality and Inequality Constraints Using Parameter Continuation
- LatticeOPT: A heuristic topology optimization framework for thin-walled, 2D extruded lattices
- Optimal Control of the Sabatier Process in Microchannel Reactors
- Optimization of Hopf bifurcation points
- Reconstructing wave profiles from inundation data
- Context-aware controller inference for stabilizing dynamical systems from scarce data
- Cross-mode Stabilized Stochastic Shallow Water Systems Using Stochastic Finite Element Methods
- Principled interpolation of Green's functions learned from data
- Write head design for effective curvature reduction in heat-assisted magnetic recording by topology optimization
- Step-based checkpointing with high-level algorithmic differentiation
- Criticality measure-based error estimates for infinite dimensional optimization
- Solver-in-the-Loop joint operator learning: fractional Laplace-Beltrami features for interface reconstruction
- Structure Matters: A Scale-Resolved Numerical Operando Approach for Lithium-Sulfur Batteries
- Constitutive Priors for Inverse Design
- JAX-AMG: A GPU-Accelerated Differentiable Sparse Linear Solver Library for JAX