Section: New Software and Platforms

CEPS: a Cardiac ElectroPhysiology Simulator

The Carmen team develops a software library to perform high-performance numerical simulations in cardiac electrophysiology using unstructured three-dimensional grids. The software, called CEPS (Cardiac Electrophysiology Simulation) is developed as a common tool for researchers in the Carmen team and for our partners and colleagues in scientific computing and biomedical engineering. The goal of CEPS is to facilitate the development of new numerical methods and new physical models.

Compared to other existing software, CEPS aims at providing a more general framework of integration for new methods or models and a better efficiency in parallel. CEPS is designed to run on massively parallel architectures, and to make use of state-of-the-art and well-known computing libraries to achieve realistic and complex heart simulations. The largest part of CEPS was developed by the Junior Engineer M. Juhoor, supervised by N. Zemzemi, during the CEPS ADT (Action de Développement Technologique).

To enforce a sound development process, some engineering and validation tools are used:

  • Git hosted at the Inria GForge (ceps) to manage versions;

  • Cmake for the building process

  • Jenkins, hosted at the Inria continuous integration service, which runs a test suite of about 200 tests after every commit.

Main users and developers of CEPS are the PhD students of Carmen, i.e.

  • A. Gérard, who uses CEPS for patient-specific modeling, has implemented a bilayer model using coupled nodes.

  • Charlie Douanla-Lountsi currently works on high-order temporal integration methods, for later integration in CEPS.

  • P. E. Bécue is developing a code to run microscopic-scale models (section 3.4) and wrote a coupled node assembler to support this work.

Since January 2015, M. Fuentes from the Service d'Experimentation et de Développement (SED), is responsible for developing new features in CEPS, improve robustness, efficiency, and documentation. M. Juhoor, who has previously worked on CEPS, and works on the IDAM project, brings us from time to time his expertise. Actions done in 2016 include:

  • support for P2 Lagrange finite Elements

  • node partitioning using the PTScotch partitioner

  • input files and VtkReader (M. Juhoor)

  • code refactoring

  • documentation writing