Creating a new algorithmΒΆ

It is possible to create a new algorithm to be run with mimir. Currently, the system is not pluggable, meaning that when a new algorithm is to be supported, the application needs to be recompiled. Generally, we do not recommend to use mimir to develop new algorithms. There is a plethora of choices available. The Functional Mock-up Interface (FMI) [33] is recommended. Converting a mimir algorithm to use FMI is straightforward.

To add a new algorithm you need to:

  • Create new files src/mimir/algorithm/<ALGORITHM_NAME>{.cpp,.hpp}

  • Implement the interface mimir::IAlgorithm, use other algorithms as examples.

  • Add its .cpp to MIMIR_SRC in mimir/src/CMakeLists.txt

  • Include header in File AlgorithmFactory.hpp.

  • Instantiate it in mimir::AlgorithmCreator().

  • Optionally add a startup banner in File mimir.hpp, src/mimir/MimirPriv.cpp, and a call it in the if-else block of src/programs/mimir.cpp.