🤖 AI Summary
This work addresses the widespread lack of built-in support for physical dimensions in existing finite element frameworks, which often leads to unit inconsistencies and numerical instabilities. For the first time, automated dimensional analysis is integrated into the Unified Form Language (UFL) by introducing a symbolic Quantity class that tracks physical units within variational forms. Leveraging the Abelian group structure of dimensions, units are encoded as rational-number vectors, and consistency checks along with nondimensionalization are automatically performed via a visitor pattern over expression trees. This approach reformulates nondimensionalization as a physics-aware diagonal preconditioner, substantially improving the condition number of saddle-point systems arising from the Navier–Stokes equations, identifying floating-point cancellation errors in Neo-Hookean hyperelastic models, and effectively handling parameter scaling in multiphysics Poisson–Nernst–Planck systems.
📝 Abstract
Physical units are fundamental to scientific computing. However, many finite element frameworks lack built-in support for dimensional analysis. In this work, we present a systematic framework for integrating physical units into the Unified Form Language (UFL). We implement a symbolic Quantity class to track units within variational forms. The implementation exploits the abelian group structure of physical dimensions. We represent them as vectors in $\mathbb{Q}^n$ to simplify operations and improve performance. A graph-based visitor pattern traverses the expression tree to automate consistency checks and factorization. We demonstrate that this automated nondimensionalization functions as the simplest form of Full Operator Preconditioning. It acts as a physics-aware diagonal preconditioner that equilibrates linear systems prior to assembly. Numerical experiments with the Navier--Stokes equations show that this improves the condition number of the saddle-point matrix. Analysis of Neo-Hooke hyperelasticity highlights the detection of floating-point cancellation errors in small deformation regimes. Finally, the Poisson--Nernst--Planck system example illustrates the handling of coupled multiphysics problems with derived scaling parameters. Although the implementation targets the FEniCSx framework, the concepts are general and easily adaptable to other finite element libraries using UFL, such as Firedrake or DUNE.