Higher order partial differential equation constrained derivative information using automated code generation

1 November 2018
Dr James Maddison

The FEniCS system [1] allows the description of finite element discretisations of partial differential equations using a high-level syntax, and the automated conversion of these representations to working code via automated code generation. In previous work described in [2] the high-level representation is processed automatically to derive discrete tangent-linear and adjoint models. The processing of the model code at a high level eases the technical difficulty associated with management of data in adjoint calculations, allowing the use of optimal data management strategies [3].

This previous methodology is extended to enable the calculation of higher order partial differential equation constrained derivative information. The key additional step is to treat tangent-linear
equations on an equal footing with originating forward equations, and in particular to treat these in a manner which can themselves be further processed to enable the derivation of associated adjoint information, and the derivation of higher order tangent-linear equations, to arbitrary order. This enables the calculation of higher order derivative information -- specifically the contraction of a Kth order derivative against (K - 1) directions -- while still making use of optimal data management strategies. Specific applications making use of Hessian information associated with models written using the FEniCS system are presented.

[1] "Automated solution of differential equations by the finite element method: The FEniCS book", A. Logg, K.-A. Mardal, and  G. N. Wells (editors), Springer, 2012
[2] P. E. Farrell, D. A. Ham, S. W. Funke, and M. E. Rognes, "Automated derivation of the adjoint of high-level transient finite element programs", SIAM Journal on Scientific Computing 35(4), C369--C393, 2013
[3] A. Griewank, and A. Walther, "Algorithm 799: Revolve: An implementation of checkpointing for the reverse or adjoint mode of computational differentiation", ACM Transactions on Mathematical Software 26(1), 19--45, 2000

  • Computational Mathematics and Applications Seminar