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⟩
366 Consultations
397 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More