CMP++

A C++ library for Bayesian calibration of computer codes, with practical workflows for full, sequential, and modular inference.


CMP++ is a C++ library used to perform the Bayesian calibration of deterministic computer models in the presence of measurement and model-form errors. It implements complete, sequential, and modular workflows so users can balance statistical rigor and computational cost depending on the application.

Approaches implemented include:

  • Full Bayes
  • Modular, sequential
  • Modular, adaptive

Documentation

For a deep dive into the mathematical framework, implementation details, and the API, please refer to the following resources:

Below is a technical report that provides a comprehensive overview of the library’s capabilities and usage:

Getting Started

These instructions will help you compile and link the CMP++ library to your project.

Dependencies

The library depends on:

Installing

CMP++ can be compiled into a static library using the provided makefile. Make sure to modify the paths for the dependencies in your local environment.

cd cmp
make

Running the Test Case

To compile and run the included tests, execute the following commands:

cd tests
make testname
./out_testname

Note: In order to be able to view the generated plots and results, you must link against the matplotlibcpp library.

License

This project is licensed under the MIT License. See the LICENSE.md file in the repository for details.

Acknowledgments

This project has received funding from the European Union’s Horizon Europe research and innovation programme under the Marie Skłodowska-Curie grant agreement No 101072551 (TRACES).

Please refer to the TRACES project website for additional details.