preCICE is written in C++. Thus, the native API language of preCICE is C++ as well. If you are new to the preCICE API, we recommended that you first follow the step-by-step guide.
The definite documentation of the C++ API is available on the preCICE doxygen pages.
Besides the C++ API, there are also bindings to other languages available:
The community is also working on the following bindings:
||Experimental prototype / work in progress|
Minimal reference implementations
For all languages, we provide minimal reference implementations, so called solver dummies. They can be a great source to copy from.
The community also maintains MPI-parallel versions of some of these solver dummies.
Architectural overview of bindings
All the language bindings are calling the C++ API of preCICE and some of them are interdependent. Here is an overview of what uses what: