Welcome to XLiFE++’s website!#

Partial differential equations (PDE hereafter) are the core of modeling. A wide range of problems in Physics, Mechanics, Engineering, Mathematics, Health, Finance are modeled by PDEs.

XLiFE++ (/ekslaifplʌsplʌs:/) is a C++ library, developed by POEMS laboratory and IRMAR laboratory, designed to solve these equations numerically. It is an extended library based on finite elements methods. It is autonomous, providing everything you need for solving such problems, including wrappers to specific external libraries or software products, such as Gmsh, Arpack, UmfPack, … In a nutshell, XLiFE++ is an FEM-BEM C++ library that can solve 1D / 2D / 3D, scalar / vector, transient / stationnary / harmonic problems.

What does XLiFE++ do ?

  • Problem description (real or complex, scalar or vector) by their variational formulations, with full access to the internal vectors or matrices;

  • multi-variables, multi-equations, 1D, 2D and 3D, linear or non-linear coupled systems;

  • easy geometric input by composite description, to build meshes thanks to Gmsh and OpenCASCADE;

  • easy automatic mesh generation on elementary geometries, based on refinement methods;

  • very high level user-friendly typed input language with full algebra of analytic and finite elements functions. Your main program will be very similar to the mathematical formulation;

  • a wide range of finite elements on segments, triangles, quadrangles, hexahedra, tetrahedra, prisms and pyramids: nodal at any order (excepted on pyramids), edge at any order and H_2 elements;

  • a wide range of essential conditions, uncluding periodic and quasi-periodic conditions;

  • absorbing conditions: DtN, PML, …;

  • a wide set of internal linear direct and iterative solvers (LU, Cholesky, BiCG, BiCGStab, CG, CGS, GMRES, QMR, SOR, SSOR, …) and internal eigenvalues and eigenvectors solvers, plus additional wrappers to external solvers (Arpack, UmfPack, Eigen, Amos, …);

  • a multithreaded version using OpenMP;

  • export to visualization tools such as Gmsh, Paraview, Matlab.

From 2011 to 2014, its development has been supported by the SIMPOSIUM European Project.
_images/simposium.jpg
From 2015 to 2018, its development has been supported by DGA/MRIS.
_images/dga_mris.png
2D Maxwell equations using Nedelec elements
Eigenvalues and eigenvectors of Laplace operator
3D Helmholtz problem using single layer potential integral equation
2D Laplace Problem with Discontinuous Galerkin method and Dirichlet condition