Software

One of the main objectives of our project is to develop a software framework that will provide a
middle-layer between users from several numerical applications and massively parallel machines.

Currently the following software are developed in our group:

  • FreeFem++

    FreeFem++ is a partial differential equation solver based on a flexible language that allows a large number of problems to be expressed (elasticity, fluids, etc) with different finite element approximations on different meshes.

  • HPDDM

    HPDDM is an efficient implementation of various domain decomposition methods (DDM) such as one- and two-level Restricted Additive Schwarz methods, the Finite Element Tearing and Interconnecting (FETI) method, and the Balancing Domain Decomposition (BDD) method. These methods can be enhanced with deflation vectors computed automatically by the framework using Generalized Eigenvalue problems on the Overlap (GenEO), an approach first introduced in a paper by Spillane et al., or local Dirichlet-to-Neumann operators, an approach first introduced in a paper by Nataf et al. and recently revisited by Conen et al. This library written in C++11 with MPI and OpenMP for parallelism while its interface relies on plain old data objects. It is mainly developed by P. Jolivet and F. Nataf. It can be embedded inside C++, C, Python, or Fortran codes.

  • Midapack

    With our collaborators from Paris 7, we develop the algorithms and associated software aiming at the crucial stages down the CMB data analysis pipeline.  The ultimate goal of this project is to empower the CMB data analysis work by providing new techniques together with their implementation in a form of handy, powerful and efficient software library crafted to the specific needs of the CMB community. These tools will enable a full exploitation of the scientific information contained in the future data sets as anticipated from the next generation of the CMB observations.  In particular, the library provides tools for computing spherical harmonic transforms, finding the solution to a generalized least squares problem, and performing Toeplitz algebra.  The last two functionalities are implemented in C and MPI for distributed memory machines.

  • PreAlps

    We are developping a library (not publicly available yet) that integrates the parallel iterative methods and the algebraic preconditioning techniques that we design in our group. This library integrates the main algebraic preconditioners that we develop, as well as a toolbox containing the basic matrix operations required by our preconditioners. It will be available through FreeFem++ and also as a standalone library.

  • SuperLU DIST

    SuperLU DIST is a general purpose library for the direct resolution of large, sparse, nonsymmetric systems of linear equations on high performance distributed computes. The library is written in C and is callable from either C or Fortran. The library routines will perform an LU decomposition with partial pivoting and triangular system solves through forward and back substitution.