The openCARP ecosystem comprises a number of different components visualized above. This page gives a brief overview of these components.
The openCARP simulator is at the heart of the openCARP ecosystem. It is coded in C++. You can find the source code publicly available in our GitLab and developer documentation on this webpage.
If you want to interact directly with the simulator, you can setup
.par files with a rich set of instructions. They are as well included in the user manual (chapter 9 and following.), which is also the right place to look if you want to learn more about the concepts implemented in the simulator.
The carputils framework will be the optimal way to access openCARP for most users. This Python framework was developed to provide the means to easily encode in silico experiments including pre- and postprocessing. carputils will call the openCARP simulator. All our examples are based on carputils and can be a good inspiration when you start writing your own carputils experiment as covered e.g. in this video tutorial. Another resource is the carputils code documentation. The carputils code is open source as well as our examples. carputils also provides an easy and convenient way to share your experiments as self-contained bundles to foster reproducibility and open science.
As a low-threshold interface to openCARP, we offer the web-based carputilsGUI. By default, it allows to parametrize, run, and visualize our examples in your browser but you can also add your own carputils in silico experiments. Once the Docker-based setup is completed, the user can interact with the simulation system entirely through the browser. For an educational setting, several instances of the system can be deployed on a server and accessed by the students without need for any installation on their machines.
meshalyzer is a graphical program to display time-dependent data on 3D finite elment meshes. It can read the openCARP file formats directly and is used in some of our examples. Besides the user manual, we provide an introduction to meshalyzer and cover some advanced features.
meshtool is a comand-line tool written in C++. It is designed to apply various manipulations to volumetric meshes. While it is not directly part of the openCARP ecosystem, it integrates seamlessly by supporting I/O of the openCARP data formats.
The opencarp.org web page is the central hub for all ressources regarding openCARP and the infrastructure fostering the user and developer community. If you have questions, you might be able to find the answer in our Question & Answer system or pose the question there. We invite everyone to contribute to the openCARP project!