UFL
Unified form language: a domain-specific language for weak formulations of partial differential equations. We present the Unified Form Language (UFL), which is a domain-specific language for representing weak formulations of partial differential equations with a view to numerical approximation. Features of UFL include support for variational forms and functionals, automatic differentiation of forms and expressions, arbitrary function space hierarchies for multifield problems, general differential operators and flexible tensor algebra. With these features, UFL has been used to effortlessly express finite element methods for complex systems of partial differential equations in near-mathematical notation, resulting in compact, intuitive and readable programs. We present in this work the language and its construction. An implementation of UFL is freely available as an open-source software library. The library generates abstract syntax tree representations of variational problems, which are used by other software libraries to generate concrete low-level implementations. Some application examples are presented and libraries that support UFL are highlighted.
This software is also peer reviewed by journal TOMS.
This software is also peer reviewed by journal TOMS.
Keywords for this software
References in zbMATH (referenced in 16 articles , 1 standard article )
Showing results 1 to 16 of 16.
Sorted by year (- Dunning, Iain; Huchette, Joey; Lubin, Miles: JuMP: a modeling language for mathematical optimization (2017)
- Meftahi, Houcine: Optimal shape design in three-dimensional Brinkman flow using asymptotic analysis techniques (2017)
- Miklos Homolya, Lawrence Mitchell, Fabio Luporini, David A. Ham: TSFC: a structure-preserving form compiler (2017) arXiv
- Robert C. Kirby, Lawrence Mitchell: Solver composition across the PDE/linear algebra barrier (2017) arXiv
- Bauman, Paul T.; Stogner, Roy H.: GRINS: a multiphysics framework based on the libMesh finite element library (2016) ioport
- Lange, Michael; Mitchell, Lawrence; Knepley, Matthew G.; Gorman, Gerard J.: Efficient mesh management in firedrake using PETSc DMPlex (2016)
- McRae, A.T.T.; Bercea, G.-T.; Mitchell, L.; Ham, D.A.; Cotter, C.J.: Automated generation and symbolic manipulation of tensor product finite elements (2016)
- Mortensen, Mikael; Valen-Sendstad, Kristian: Oasis: a high-level/high-performance open source Navier-Stokes solver (2015)
- Alnæs, Martin S.; Logg, Anders; Ølgaard, Kristian B.; Rognes, Marie E.; Wells, Garth N.: Unified form language: a domain-specific language for weak formulations of partial differential equations (2014)
- Fabio Luporini, Ana Lucia Varbanescu, Florian Rathgeber, Gheorghe-Teodor Bercea, J. Ramanujam, David A. Ham, Paul H.J. Kelly: COFFEE: an Optimizing Compiler for Finite Element Local Assembly (2014) arXiv
- Farrell, P.E.; Cotter, C.J.; Funke, S.W.: A framework for the automation of generalized stability theory (2014)
- Massing, André; Larson, Mats G.; Logg, Anders; Rognes, Marie E.: A stabilized Nitsche overlapping mesh method for the Stokes problem (2014)
- Massing, André; Larson, Mats G.; Logg, Anders; Rognes, Marie E.: A stabilized Nitsche fictitious domain method for the Stokes problem (2014)
- Rhebergen, Sander; Wells, Garth N.; Katz, Richard F.; Wathen, Andrew J.: Analysis of block preconditioners for models of coupled magma/mantle dynamics (2014)
- Farrell, P.E.; Ham, D.A.; Funke, S.W.; Rognes, M.E.: Automated derivation of the adjoint of high-level transient finite element programs (2013)
- Long, Kevin; Kirby, Robert; Van Bloemen Waanders, Bart: Unified embedded parallel finite element computations via software-based Fréchet differentiation (2010)