Index
5. Software design description¶
The subsections, one file each:
- 5.1 Architectural overview - Describes the linear pipeline of pure, cacheable stages, each emitting a typed, content-hashed artefact that can run and be inspected standalone.
- 5.2 Pipeline stages - Tabulates each pipeline stage with its inputs, outputs, tools and validation gate.
- 5.3 Data design - Specifies the case file as one declarative YAML document, the unit of reproducibility from which everything else is derived.
- 5.3.2 Artefacts and interchange formats - Lists the artefact each stage emits and its format, native or interchange.
- 5.3.3 Provenance manifest - Specifies the provenance manifest emitted with every result, sufficient alone to reconstruct the run, and the run directory naming.
- 5.3.4 Sweep specification and dataset - Specifies sweeps, sets of runs described by their own declarative document that names a base case and the axes to vary.
- 5.4 Component design - Specifies the physics/ design: weak forms written once against a thin internal interface, with one production NGSolve implementation.
- 5.5 Extension points - Specifies the two levels of pluggability, the registries for discretisation backends, and how each extension is added by one registration.
- 5.6 Architecture decisions - Records the architecture decisions, beginning with NGSolve as the single production backend behind the abstraction of §5.4.1.