Skip to content

What is New in MKMCXX v3

MKMCXX v3 is a complete re-engineering of the software, designed from the ground up with modern C++23. The codebase now follows a consistent object-oriented architecture, improving maintainability, extensibility, and clarity.

  • A new orchestration class manages simulations hierarchically and explores optimization strategies more effectively. This delivers a 4× to 10× performance improvement over MKMCXX v2, enabling larger and more complex studies in less time.

  • The input system has been redesigned. Instead of the previous semicolon-delimited format, MKMCXX v3 uses a keyword=value syntax that is easier to read, reduces errors, and simplifies maintenance.

  • Output has also been modernized. MKMCXX v3 supports HDF5 and Excel export for seamless analysis and interoperability. The older Cairo2-based graphing has been removed, and users can now generate publication-ready visualizations through a dedicated Python post-processing library.

  • Kinetic modules have been completely rewritten to take advantage of modern vector instruction sets such as AVX-512, with forward-looking compatibility for Intel AVX10. Instruction loops were restructured to optimize CPU caching and register use, maximizing throughput on current and future processors.

With these changes, MKMCXX v3 provides a faster, more robust, and more flexible platform for advanced microkinetic simulations.

Changelog

Version 3.0.3 (2025-10-20)

  • Created selectivity block
  • Added Degree of Selectivity Control

Version 3.0.2 (2025-10-9)

  • Created a logging class that collects all errors encountered during the integration and provides an overview after each simulation.
  • Made the input parsing module a bit more robust by improved pruning of whitespace characters from the input file.

Version 3.0.1 (2025-9-15)

  • Added storing concentration versus time of the per-temperature runs.

Version 3.0.0 (2025-8-7)

  • Initial release candidate for MKMCXX v3.
  • Implemented performing microkinetic simulations of thermal reaction networks.
  • Implemented sensitivity analyses (e.g. reaction order, apparent activation energy, degree of rate control, thermodynamic degree of rate control)
  • Implemented storage of results in HDF5
  • Added reaction modules: ArrheniusDefault, HertzKnudsenDefault, HertzKnudsenNIST