[en] DOLFINx is the next generation problem solving environment from the FEniCS Project; it provides an expressive and performant environment for solving partial differential equations using the finite element method. We present the modern design principles that underpin the DOLFINx library, and describe approaches used in DOLFINx that preserve the high level of mathematical abstraction associated with FEniCS Project libraries, yet support extensibility and specialized customization. At the core of DOLFINx is a data- and function-oriented design, in contrast with the object-oriented design of more traditional libraries. We argue that this novel design approach leads to a compact and maintainable library, which is flexible in use and makes possible the creation of high performance programs in different languages.
Disciplines :
Engineering, computing & technology: Multidisciplinary, general & others Mathematics
FNR17205623 - Constraint Aware Optimization Of Topology In Design-for-additive-manufacturing, 2022 (01/11/2022-31/10/2024) - Michal Habera
Funders :
FNR - Luxembourg National Research Fund
Funding text :
The FEniCS Project is a fiscally sponsored project of NumFOCUS. MH and IB have received funding from the Google Summer of Code Program via the NumFOCUS umbrella organization.
IB and JSD acknowledge the support of EPSRC under grants EP/L015943/1 and EP/W026260/1. JPD acknowledges the support of EPSRC under grants EP/L015943/1 and EP/W026635/1. MH acknowledges the support of the Luxembourg National Research Fund under grant COAT/17205623 and the Luxembourg Ministry of Economy under the grant FEDER 2018-04-024. MWS acknowledges the support from EPSRC under grants EP/S005072/1 and EP/W007460/1. NS acknowledges the support from the NSF-EAR under grant 2021027 and the Carnegie Institution for Science with a President’s Fellowship. MER acknowledges support and funding from the Research Council of Norway via FRIPRO grant agreement #324239 (EMIx) and the U.S.–Norway Fulbright Foundation for Educational Exchange. CNR and GNW acknowledge the support of EPSRC under grants EP/P013309/1, EP/V001396/1, EP/V001345/1, EP/S005072/1, EP/W00755X/1 and EP/W026635/1.