Escaping the abstraction: a foreign function interface for the Unified Form Language [UFL]

by   Nacime Bouziani, et al.

High level domain specific languages for the finite element method underpin high productivity programming environments for simulations based on partial differential equations (PDE) while employing automatic code generation to achieve high performance. However, a limitation of this approach is that it does not support operators that are not directly expressible in the vector calculus. This is critical in applications where PDEs are not enough to accurately describe the physical problem of interest. The use of deep learning techniques have become increasingly popular in filling this knowledge gap, for example to include features not represented in the differential equations, or closures for unresolved spatiotemporal scales. We introduce an interface within the Firedrake finite element system that enables a seamless interface with deep learning models. This new feature composes with the automatic differentiation capabilities of Firedrake, enabling the automated solution of inverse problems. Our implementation interfaces with PyTorch and can be extended to other machine learning libraries. The resulting framework supports complex models coupling PDEs and deep learning whilst maintaining separation of concerns between application scientists and software experts.



There are no comments yet.


page 6


DeepXDE: A deep learning library for solving differential equations

Deep learning has achieved remarkable success in diverse applications; h...

High level implementation of geometric multigrid solvers for finite element problems: applications in atmospheric modelling

The implementation of efficient multigrid preconditioners for elliptic p...

Code generation for productive portable scalable finite element simulation in Firedrake

Creating scalable, high performance PDE-based simulations requires a sui...

Slate: extending Firedrake's domain-specific abstraction to hybridized solvers for geoscience and beyond

Within the finite element community, discontinuous Galerkin (DG) and mix...

Multiscale finite element calculations in Python using SfePy

SfePy (Simple finite elements in Python) is a software for solving vario...

Code Generation for High-Level Synthesis of Multiresolution Applications on FPGAs

Multiresolution Analysis (MRA) is a mathematical method that is based on...

Weakly-Supervised Deep Learning of Heat Transport via Physics Informed Loss

In typical machine learning tasks and applications, it is necessary to o...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.