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#
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.
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.
Satish Balay, William Gropp, Lois Curfman McInnes, and Barry F Smith. Petsc, the portable, extensible toolkit for scientific computation. Argonne National Laboratory, 1998.