Feel++ : A computational framework for Galerkin Methods and Advanced Numerical Methods

This paper presents an overview of a unified framework for finite element and spectral element methods in 1D, 2D and 3D in \cpp called \Feel. The article is divided in two parts. The first part provides a digression through the design of the library as well as the main abstractions handled by it, namely, meshes, function spaces, operators, linear and bilinear forms and an embedded variational language. In every case, the closeness between the language developed in \Feel and the equivalent mathematical objects is highlighted. In the second part, examples using the mortar, Schwartz (non)overlapping, three fields and two ficticious domain-like methods (the Fat Boundary Method and the Penalty Method) are presented and numerically solved in the scope of the library.

[1]  Roland Glowinski,et al.  Error estimates for fictitious domain/penalty/finite element methods , 1992 .

[2]  Philippe G. Ciarlet,et al.  The finite element method for elliptic problems , 2002, Classics in applied mathematics.

[3]  C. Prud'homme,et al.  A domain-specific embedded language in C++ for lowest-order discretizations of diffusive problems on general meshes , 2013 .

[4]  Christophe Prud'homme,et al.  A domain specific embedded language in C++ for automatic differentiation, projection, integration and variational formulations , 2006, Sci. Program..

[5]  Robert C. Kirby,et al.  Singularity-free evaluation of collapsed-coordinate orthogonal polynomials , 2010, TOMS.

[6]  Silvia Bertoluzza,et al.  The Fat Boundary Method: Semi-Discrete Scheme and Some Numerical Experiments , 2005 .

[7]  Christophe Geuzaine,et al.  GetDP: a general environment for the treatment of discrete problems , 1997 .

[8]  Alfio Quarteroni,et al.  High order methods for the approximation of the incompressible Navier–Stokes equations in a moving domain , 2012 .

[9]  Isabelle Ramière,et al.  Convergence analysis of the Q1‐finite element method for elliptic problems with non‐boundary‐fitted meshes , 2008 .

[10]  Tim Warburton,et al.  An explicit construction of interpolation nodes on the simplex , 2007 .

[11]  Barry Smith,et al.  Domain Decomposition Methods for Partial Differential Equations , 1997 .

[12]  B. Maury,et al.  A PENALTY METHOD FOR THE SIMULATION OF FLUID - RIGID BODY INTERACTION , 2005 .

[13]  Yvon Maday,et al.  The mortar element method for three dimensional finite elements , 1997 .

[14]  Bertrand Maury,et al.  Numerical Analysis of a Finite Element/Volume Penalty Method , 2009, SIAM J. Numer. Anal..

[15]  J. Remacle,et al.  Gmsh: A 3‐D finite element mesh generator with built‐in pre‐ and post‐processing facilities , 2009 .

[16]  Tamara G. Kolda,et al.  An overview of the Trilinos project , 2005, TOMS.

[17]  Spencer J. Sherwin,et al.  A comparison of fictitious domain methods appropriate for spectral/hp element discretisations , 2008 .

[18]  Gonçalo Pena,et al.  Construction of a high order fluid-structure interaction solver , 2010, J. Comput. Appl. Math..

[19]  Robert C. Kirby Optimizing FIAT with level 3 BLAS , 2006, TOMS.

[20]  Christophe Prud'homme Life: Overview of a Unified C++ Implementation of the Finite and Spectral Element Methods in 1D, 2D and 3D , 2006, PARA.

[21]  Gonçalo Pena,et al.  High-order fluid-structure interaction in 2D and 3D application to blood flow in arteries , 2013, J. Comput. Appl. Math..

[22]  Christophe Geuzaine,et al.  Gmsh: A 3‐D finite element mesh generator with built‐in pre‐ and post‐processing facilities , 2009 .

[23]  Bertrand Maury,et al.  A Fat Boundary Method for the Poisson Problem in a Domain with Holes , 2002, J. Sci. Comput..

[24]  William Gropp,et al.  Efficient Management of Parallelism in Object-Oriented Numerical Software Libraries , 1997, SciTools.

[25]  R. Glowinski,et al.  A fictitious domain method for Dirichlet problem and applications , 1994 .

[26]  Mourad Ismail Méthode de la frontière élargie pour la résolution de problèmes elliptiques dans des domaines perforés. Application aux écoulements fluides tridimensionnels , 2004 .

[27]  Gonçalo Pena,et al.  Spectral element approximation of the incompressible Navier-Stokes equations in a moving domain and applications , 2009 .

[28]  V. Doyeux,et al.  Spheres in the vicinity of a bifurcation: elucidating the Zweifach–Fung effect , 2010, Journal of Fluid Mechanics.

[29]  R. Glowinski,et al.  Error analysis of a fictitious domain method applied to a Dirichlet problem , 1995 .

[30]  Silvia Bertoluzza,et al.  Analysis of substructuring preconditioners for mortar methods in an abstract framework , 2007, Appl. Math. Lett..

[31]  Y. Fung Stochastic flow in capillary blood vessels. , 1973, Microvascular research.

[32]  Sandeep Koranne,et al.  Boost C++ Libraries , 2011 .

[33]  Vicente Hernández,et al.  SLEPc: A scalable and flexible toolkit for the solution of eigenvalue problems , 2005, TOMS.

[34]  Bertrand Maury Numerical Analysis of a Finite Element/Volume Penalty Method , 2009, SIAM J. Numer. Anal..

[35]  Christophe Prud'homme,et al.  Simulation of two-fluid flows using a finite element/level set method. Application to bubbles and vesicle dynamics , 2013, J. Comput. Appl. Math..

[36]  T. A. Zang,et al.  Spectral Methods: Fundamentals in Single Domains , 2010 .

[37]  Anders Logg,et al.  Efficient compilation of a class of variational forms , 2007, TOMS.

[38]  G. Karniadakis,et al.  Spectral/hp Element Methods for CFD , 1999 .

[39]  Robert C. Kirby,et al.  Algorithm 839: FIAT, a new paradigm for computing finite element basis functions , 2004, TOMS.

[40]  Mark Frederick Hoemmen,et al.  An Overview of Trilinos , 2003 .

[41]  Silvia Bertoluzza,et al.  Analysis of the fully discrete fat boundary method , 2011, Numerische Mathematik.

[42]  Anders Logg,et al.  A compiler for variational forms , 2006, TOMS.

[43]  Michael A. Heroux,et al.  Trilinos users guide. , 2003 .