Computational analysis of systems governed by partial differential equations requires not only the calcuation of a solution, but the extraction of additional information such as the sensitivity of that solution with respect to input parameters or the inversion of the system in an optimization or design loop. Moving beyond the automation of discretization of PDE by finite element methods, we present a mathematical framework that unifies the discretization of PDE with these additional analysis requirements. In particular, Fr\'echet differentiation on a class of functionals together with a high-performance finite element framework have led to a code, called Sundance, that provides high-level programming abstractions for the automatic, efficient evaluation of finite variational forms together with the derived operators required by engineering analysis.
Long, K., Kirby, R., & Waanders, B. V. B. (2010). Unified embedded parallel finite element computations via software-based Frechet differentiation. SIAM J. Scientific Computing, 3323-3351. https://doi.org/10.1137/09076920X