Architecture and main modules¶
A compact map of the Assignment 14 Python source. Module names are grounded in the delivered code tree; descriptions summarize their apparent responsibilities, not a claim of formal API stability.
| Component | Source | Role |
|---|---|---|
| Desktop entry | src/app.py |
Tk/ttk design, optimization controls, progress, settings |
| Candidate adaptation | src/cdx1_adapter.py, src/candidate_config.py |
CDX1 and candidate inputs |
| Search | src/optimization_engine.py, src/optimizer_core.py |
bounded optimization and candidate evaluation |
| Validity | src/flight_validation.py |
native flight-completion and warning classification |
| Constraints | src/optimization_constraints.py |
static and optional flutter feasibility |
| Simulator desktop worker | src/rasaero_runner.py, src/integrated_evaluator.py |
RASAero automation and RocketPy integration |
| Geometry | src/geometry_model.py, src/geometry_renderers.py |
fin/rocket representation |
| Flight metrics | src/dynamic_flight_metrics.py, src/stability_calculations.py |
analysis quantities |
| Flutter | src/flutter_screening.py |
empirical flight-history screening |
| Results | src/results_view.py, src/candidate_shortlist.py |
comparisons, exports, history display |
| Packaging | src/build_release.ps1, src/installer.iss |
frozen executable and installer |
Core data flow¶
Source .CDX1 → parameter bounds → candidate .CDX1 → real RASAero simulation + candidate aerodynamic CSV → RocketPy evaluation → flight validity/static/flutter checks → saved candidate record → feasible winner/shortlist → GUI export.
Caution¶
The supported physical model is Sorcerer-specific in the documented build. Do not silently apply its motor, inertia, or mass assumptions to unrelated rockets.
Source basis: Assignment 14 review materials supplied with this documentation. Internal archive paths and raw evidence are not published.