@misc{14419, author = {Martin Aln{\ae}s}, title = {The Unified Form Language and Key Points on its Translation}, abstract = {The Unified Form Language (UFL) is an embedded domain specificlanguage for specification of variational formulations of partialdifferential equations. Key features includefinite element concepts such as function spaces and test functions, aswell as more generic concepts such as differential operators, tensorvalued expressions, and index notation. Implemented as a Pythonmodule, UFL also includes symbolic algorithms including algorithmicdifferentiation of expressions and functionals, symbolic applicationof geometry mappings and Piola mappings, and propagation ofrestriction operators to expression terminals. The first part of thistalk is a brief introduction to key concepts in UFL.UFL is used in finite element frameworks to achieve a high levelproblem specification, but to achieve high performance finite elementmatrix assembly a form compiler is needed. Several form compilersexist that can produce efficient low level source code for computinge.g. the element matrix from a UFL form. In the translation from UFLto low level code, a form compiler must choose strategies both to mapdomain specific concepts from UFL to constructs supported by thetarget language, and strategies to achieve good performance. In thesecond part of this talk, how these topics are handled in the uflacsform compiler via value numbering of scalar subexpressions will bediscussed.}, year = {2017}, journal = {SIAM CSE, Atlanta, USA}, }