A domain-specific embedded language in C++ for lowest-order discretizations of diffusive problems on general meshes - Archive ouverte HAL Accéder directement au contenu
Article Dans Une Revue BIT Numerical Mathematics Année : 2013

A domain-specific embedded language in C++ for lowest-order discretizations of diffusive problems on general meshes

Résumé

In this work we propose an original implementation of a large family of lowest-order methods for diffusive problems including standard and hybrid finite volume methods, mimetic finite difference-type schemes, and cell centered Galerkin methods. The key idea is to regard the method at hand as a (Petrov-)Galerkin scheme based on possibly incomplete, broken affine spaces defined from a gradient reconstruction and a point value. The resulting unified framework serves as a basis for the development of a FreeFEM-like domain specific embedded language targeted at defining discrete linear and bilinear forms. Both the back-end and the front-end of the language are extensively discussed, and several examples of applications are provided. The overhead of the language is evaluated by comparing with a more traditional implementation. A benchmark including the comparison with more classical finite element methods on standard meshes is also proposed.
Fichier principal
Vignette du fichier
fvdsel.pdf (822.16 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-00654406 , version 1 (21-12-2011)

Identifiants

Citer

Daniele Antonio Di Pietro, Jean-Marc Gratien, Christophe Prud'Homme. A domain-specific embedded language in C++ for lowest-order discretizations of diffusive problems on general meshes. BIT Numerical Mathematics, 2013, 53 (1), pp.111-152. ⟨10.1007/s10543-012-0403-3⟩. ⟨hal-00654406⟩
373 Consultations
414 Téléchargements

Altmetric

Partager

Gmail Mastodon Facebook X LinkedIn More