Software implementation

Contents

Software implementation#

The SMART abstractions and algorithms are implemented via the open source and generally available FEniCS finite element software package (2022-version) [AlnaesBH+15]. FEniCS supports high-level specification of variational forms via the Unified Form Language (UFL) [AlnaesLOlgaard+14], symbolic differentiation of variational forms e.g.~for derivation for Jacobians, automated assembly of general and nonlinear forms over finite element meshes, and high-performance linear algebra and nonlinear solvers via e.g. PETSc [BGMS98].

References#

[AlnaesBH+15]

Martin Alnæs, Jan Blechta, Johan Hake, August Johansson, Benjamin Kehlet, Anders Logg, Chris Richardson, Johannes Ring, Marie E Rognes, and Garth N Wells. The fenics project version 1.5. Archive of Numerical Software, 2015.

[AlnaesLOlgaard+14]

Martin S Alnæs, Anders Logg, Kristian B Ølgaard, Marie E Rognes, and Garth N Wells. Unified form language: a domain-specific language for weak formulations of partial differential equations. ACM Transactions on Mathematical Software (TOMS), 40(2):1–37, 2014.

[BGMS98]

Satish Balay, William Gropp, Lois Curfman McInnes, and Barry F Smith. Petsc, the portable, extensible toolkit for scientific computation. Argonne National Laboratory, 1998.