Implementing Lowest-Order Methods for Diffusive Problems with a DSEL

Abstract : Industrial simulation software have to manage: (i) the complexity of the underlying physical models, (ii) the complexity of numerical methods used to solve the PDE systems, and finally (iii) the complexity of the low level computer science services required to have efficient software on modern hardware. Nowadays, some frameworks offer a number of advanced tools to deal with the complexity related to parallelism in a transparent way. However, high level complexity related to discretization methods and physical models lack of tools to help physicists to develop complex applications. Generative programming and domain-specific languages (DSL) are key technologies allowing to write code with a high level expressive language and take advantage of the efficiency of generated code for low level services. Their application to Scientific Computing has been up to now limited to Finite Element (FE) methods and Galerkin methods, for which a unified mathematical framework has been existing for a long time, (see projects like Freefem++, Getdp, Getfem++, Sundance, Feel++ [3],Fenics project). In reservoir and basin modeling, lowest order methods are promising methods allowing to handle general meshes. Extending Finite Volume (FV) methods, Aavatsmark, Barkve, B\o{}e and Mannseth propose consistent schemes for non orthogonal meshes while stability problems are solved with the Mimetic Finite Difference method (MFD) and the Mixte/Hybrid Finite Volume methods (MHFV)~[1]. However the lack of a unified mathematical frame was a serious limit to the extension all of these methods to a large variety of problems. In [2], the authors propose a unified way to express FV multi-points scheme and DFM/VFMH methods. This mathematical frame allows us to extend the DSL used for FE and Galerkin methods to lowest order methods. We focus then on the capability of such language to allow the description and the resolution of various and complex problems with different lowest-order methods. We validate the design of the DSL that we have embedded in C++, on the implementation of several academic problems. We present some convergence results and compare the performance of their implementation with the DSEL to their hand written conterpart.
keyword : DSEL
Type de document :
Chapitre d'ouvrage
Modelling and Simulation in Fluid Dynamics in Porous Media, Springer, pp.155--175, 2012, 〈10.1007/978-1-4614-5054-2_10〉
Liste complète des métadonnées

Littérature citée [25 références]  Voir  Masquer  Télécharger
Contributeur : Jean-Marc Gratien <>
Soumis le : jeudi 14 février 2013 - 11:27:28
Dernière modification le : mardi 15 mai 2018 - 14:50:02
Document(s) archivé(s) le : samedi 1 avril 2017 - 23:54:18


Fichiers produits par l'(les) auteur(s)





Jean-Marc Gratien. Implementing Lowest-Order Methods for Diffusive Problems with a DSEL. Modelling and Simulation in Fluid Dynamics in Porous Media, Springer, pp.155--175, 2012, 〈10.1007/978-1-4614-5054-2_10〉. 〈hal-00788327〉



Consultations de la notice


Téléchargements de fichiers