Getting started

openCARP is a simulation environment for cardiac electrophysiology (EP) — covering everything from the electrical dynamics of a single cardiac cell to the spread of excitation across whole-heart anatomies. It is developed as a community project with public source code, freely available for academic use, and built to make in silico EP experiments reproducible and easy to share.

A short tour through the platform is available as a video, and the openCARP ecosystem page introduces the individual software components.

What you can do with openCARP

openCARP lets you model and simulate cardiac electrophysiology across scales. The list below is organized by modeling level, with links to runnable examples for each.

Single-cell electrophysiology

Study the electrical behavior of an individual cardiac cell in isolation using the single-cell tool bench: action potentials, action potential duration (APD) and its restitution, voltage-clamp protocols, and populations of models for variability studies.

Ionic model development

Write, adapt, and compile your own ionic (cell) models in the human-readable EasyML language via limpet, import from or export to CellML, and draw on a large built-in model library covering human and animal ventricular, atrial, and sinus node models, drug effects, and β-adrenergic signalling. You can even compile your .model files online, without a local build.

Tissue and organ electrophysiology (monodomain & bidomain)

Simulate the propagation of electrical excitation through 1D, 2D, and 3D cardiac tissue using the monodomain and bidomain model, with anisotropic conductivities, myocyte orientation ('fibers'), region- and gradient-based heterogeneities, and extracellular stimulation (including defibrillation-type shocks).

Fast activation-based models (eikonal, reaction-eikonal, DREAM)

When full monodomain/bidomain detail is not required, activation-based solvers compute wavefront arrival far more efficiently — ideal for large anatomies, parameter sweeps, and digital-twin pipelines. openCARP includes the eikonal and reaction-eikonal models as well as DREAM (Diffusion-Reaction-Eikonal Alternant Model) for pacing and reentry.

Cell-by-cell modeling (EMI)

The extracellular–membrane–intracellular (EMI) model resolves individual cells and their membranes explicitly, rather than as a homogenized continuum — for questions where microscopic tissue structure matters.

Simplified Kirchhoff network models (SKNM)

Couple individual cell models — for example sampled from a population of models — discretely within a tissue patch.

Single-cell electromechanics

Couple an electrophysiological cell model to an active tension model to study excitation–contraction coupling at the single-cell level, including strongly coupled formulations. (Note the scope limits on organ-level mechanics described below.)

Electrograms, mapping, and analysis

Visualization and pre-/post-processing

Visualize results with meshalyzer (the native 4D viewer), limpetGUI (single-cell traces), or ParaView. Mesh manipulation and pre-/post-processing are handled through carputils and meshtool.

Scale and performance

openCARP runs from a standard laptop up to large HPC clusters, with MPI parallelization and GPU acceleration through the Ginkgo backend and MLIR-generated kernels for both NVIDIA and AMD GPUs.

How researchers use openCARP

openCARP underpins a broad and growing body of cardiac-modeling research. Recurring application areas include:

  • Mechanisms of atrial fibrillation and ventricular tachycardia
  • Patient-specific cardiac digital twins built from imaging or electroanatomic mapping data
  • Arrhythmia risk and inducibility assessment
  • Simulated ECG, ECG imaging (ECGI), and electrogram studies
  • Drug effects, ion channel mutations, and channelopathies such as long-QT and Brugada syndrome
  • Optogenetics, novel therapies, and stem-cell engraftment arrhythmias
  • Methodological and numerical research, including solver development, benchmarking, and reproducibility

For the full picture, see the list of publications citing openCARP and the list of community experiments.

What's new

Some of the larger recent additions to the ecosystem:

  • Leadfield-based ECG computation for large scale studies
  • EMI model physics for explicit cell-by-cell simulations
  • Online ionic model compilation — compile EasyML .model files without a local build
  • Eikonal, reaction-eikonal, and DREAM activation-based solvers
  • GPU acceleration via the Ginkgo backend and MLIR (NVIDIA and AMD)
  • Single-cell electromechanics with strongly coupled sarcomere/tension models
  • A public JupyterHub hosting the interactive onboarding tutorials

See the changelog for the complete history and the news for release announcements.

Scope and limitations

openCARP is focused on cardiac electrophysiology. To set expectations clearly:

  • Mechanics. Electromechanical coupling is currently available at the single-cell level only. Full 3D / organ-level electromechanics is not part of openCARP currently — this is an active area of development.
  • No fluid dynamics. Blood flow and hemodynamics are outside openCARP's scope and require coupling to a separate computational fluid dynamics solver.
  • Not an image-processing tool. openCARP does not segment medical images or build anatomical meshes from scratch. Meshes can be handled with meshtool and generated by external anatomical-modeling pipelines and meshing software. A curated list of external modeling resources if provided on the openCARP webpage.
  • Research software, not a medical device. openCARP is intended for research and education. It is not a certified clinical or diagnostic tool.

Licensing. openCARP is free for academic use under its Academic Public License. Commercial or industrial use requires a separate license — please contact NumeriCor.

Ways to access openCARP

There are several ways to work with openCARP; choose the one that fits your needs.

  • carputils (recommended). A Python framework for encoding complete in silico experiments, including (simple) mesh generation and pre-/post-processing. All examples are built on carputils, and experiments can be shared as self-contained, reproducible bundles (see the Experiment Market Place).
  • Direct simulator parametrization. Interact with the openCARP executable directly through .par parameter files for full low-level control.
  • JupyterLab / JupyterHub. The interactive onboarding tutorials run in a hosted JupyterLab environment, with nothing to install. You can also start your own notebooks and use python/carputils to program reproducable sessions.

For an overview of how these components fit together, see the openCARP ecosystem. To install openCARP locally, head to the download page.

If you use openCARP in your research, please remember to cite it.

© Copyright 2020 openCARP project    Supported by DFG and EuroHPC    Contact    Imprint and data protection