2026-04-19 19:42:30 +02:00
2026-04-19 19:42:30 +02:00
2026-04-19 19:42:30 +02:00
2026-04-19 19:42:30 +02:00
2026-04-19 19:42:30 +02:00
2026-04-19 19:42:30 +02:00
2026-04-19 19:42:30 +02:00
2026-04-19 19:42:30 +02:00

MOCCA

MOCCA is the standalone modern cascade application extracted from the larger refactor work. The name stands for MOdern Code for CAscade.

This repository contains only:

  • the modern C++ cascade implementation
  • a helper that translates legacy card decks into the modern JSON schema
  • the original literature and published source material kept for provenance

It intentionally does not depend on the old Python implementation or the earlier C++ refactor.

Build

cmake -S . -B build
cmake --build build -j

This produces the mocca executable in build/.

Run

./build/mocca examples/fe_stat_n15.json --output result.json

The executable reads a structured JSON input file and writes a structured JSON result artifact. The bundled coefficient tables are compiled into the binary, so no external runtime data files are required.

Translate Legacy Decks

python3 tools/card_to_json.py legacy_case.inp --output case.json

The translator is a standalone helper built on the Python standard library only. It converts the historical card input into the JSON schema used by MOCCA.

Project Layout

  • include/mocca: public headers
  • src: MOCCA implementation
  • tools/card_to_json.py: legacy-card to JSON translator
  • examples: example JSON inputs
  • docs: high-level documentation
  • literature: original papers and published source material

Literature

The literature/ folder keeps the original papers and source material that the implementation was checked against:

  • Akylas_VR_1978.pdf
  • 1-s2.0-0010465578900991-main.pdf
  • aama_v1_0.f
S
Description
MOCCA is the standalone modern cascade application extracted from the larger refactor work. The name stands for MOdern Code for CAscade.
Readme 21 MiB
Languages
Fortran 52.5%
C++ 43.2%
Python 4.1%
CMake 0.2%