Developer Guide#
The Developer Guide explains how MC/DC works internally and how to extend or maintain its implementation.
Development Areas#
MC/DC development spans two complementary areas.
Methods development covers the implementation and evaluation of transport methods, numerical algorithms, and their model-facing data.
This work primarily uses mcdc/object_ and mcdc/transport.
Framework development covers the machinery that compiles models, generates runtime layers and accessors, configures execution, and supports CPU and GPU backends.
This work primarily uses mcdc/code_factory, mcdc/main.py, and related execution infrastructure.
Where to Go Next#
Read Architecture to understand MC/DC’s Python-first design and follow a transport model through simulation compilation, runtime preparation, shared transport algorithm, and the available execution modes.
Read Extending MC/DC when adding model fields, registered objects, polymorphic subtypes, or Numba-compatible transport behavior.
Read Documentation when writing or reviewing project documentation.
Use Contributing for repository setup, development workflow, testing, and pull-request requirements.