A multi-physics compiler for generating numerical solvers from differential equations

Published in arXiv, 2023

Recommended citation: J.T. Maxwell III, M. Behandish, and S. Taverniers. A multi-physics compiler for generating numerical solvers from differential equations (2023). https://arxiv.org/abs/2311.16404

Abstract

We develop a tool that enables domain experts to quickly generate numerical solvers for emerging multi-physics phenomena starting from a high-level description based on ordinary/partial differential equations and their initial and boundary conditions over a symbolic spacetime domain. This “multi-physics” compiler aims to bridge the gap between problem formulation and computation, which historically has spanned years or even decades. Specialized numerical solvers in areas such as computational fluid dynamics (CFD) often present a barrier to novice end users not well-versed in the intricacies of their underlying schemes, and requiring surgical modifications when coupling with additional physical components initially not accounted for by the solver. Through the use of an intermediate language that is neutral between classical and exterior calculus, the compiler generates correct-by-construction numerical source code that offers guarantees of immutable physical principles like conservation laws at the discrete level. We present a proof of concept for the multi-physics compiler through some examples involving compilation to OpenFOAM. A specific use case that the compiler is well-suited for involves equation modification approaches, where the aim is to use simple numerical schemes such as central differencing through the additional of artificial terms to the original governing equations of the multi-physics problem.