Bryne: sustainable prototyping of finite element models

Benjamin Terschanski, Robert Klöfkorn, Andreas Dedner, Julia Kowalski

公開日: 2025/9/2

Abstract

Open-source simulation frameworks are evolving rapidly to provide accessible tools for the numerical solution of partial differential equations. Modern finite element (FEM) software such as FEniCS, Firedrake, or dune-fem alleviates the need for modelers to recode the discretization and linear solver backend for each application and enables rapid prototyping of solvers. However, while it has become easier to build prototype FEM models, creating a solver reusable beyond its specific initial simulation setup remains difficult. Moreover, simulation setups typically cover an ample input parameter space, and tracking complex metadata on research project time scales has become a challenge. This implies the need to supplement model development with a coding-intensive complementary workstream, seldom developed for sustainable reuse. To address these issues, we introduce our open-source Python package Bryne. Bryne is an object-oriented framework for FEM solvers built with the dune-fem Python API. In this article, we describe how it helps to evolve rapid-prototyping solver development into sustainable simulation building. First, we show how to translate a minimal dune-fem solver into a Bryne FEM model to build human-readable, metadata-enriched simulations. Bryne then offers a simulation driver and model coupling interfaces to combine implemented solvers in operator-split multiphysics simulations. The resulting reproducibility-enabled infrastructure allows users to tackle complex simulation setups without sacrificing backend flexibility. We demonstrate the workflow on a convection-coupled phase-change simulation, where a discontinuous Galerkin flow solver is coupled with a solver for solidification phase change.