# vdnt12/halaerothon_simulaotr1x architecture

> Architecture diagram of the GitHub repository vdnt12/halaerothon_simulaotr1x, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/vdnt12/halaerothon_simulaotr1x
- Repository: https://github.com/vdnt12/halaerothon_simulaotr1x

## Overview

Aerothon is a hybrid-electric UAV engineering simulator. The main workflow defines a mission and aircraft design, simulates phase-by-phase propulsion and energy management, then evaluates fuel, state of charge, mass, and feasibility. Sizing and optimization explore design trade-offs; validation compares hybrid performance with a turboshaft-only baseline, and dashboards visualize or rerun analyses. The README documents physics and capabilities beyond the sampled excerpts, so uncertain module wiring is left out; the graph distinguishes the `sim/` and `simulation/` trees rather than assuming they form one pipeline.

Main entry points: [`sim/hybrid_sim.py`](https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/sim/hybrid_sim.py) (Hybrid mission simulation), [`validate/full_validation.py`](https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/validate/full_validation.py) (Hybrid validation), [`simulation/mission_profile.py`](https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/simulation/mission_profile.py) (Mission profile), [`dashboard/server.py`](https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/dashboard/server.py) (Interactive API dashboard)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_mission["Mission and physics"]
  node_mission_profile["Mission profile<br/>[mission_profile.py]"]
  node_atmosphere["ISA atmosphere<br/>[atmosphere.py]"]
  node_aerodynamics["Aircraft aerodynamics<br/>[aerodynamics.py]"]
  node_mission_analysis["Mission analysis"]
end

subgraph group_propulsion["Hybrid propulsion"]
  node_hybrid_sim["Hybrid mission simulation<br/>[hybrid_sim.py]"]
  node_aircraft["Aircraft model<br/>[aircraft.py]"]
  node_engine["Turboshaft model<br/>[engine.py]"]
  node_battery["Battery model<br/>[battery.py]"]
  node_supercap["Supercapacitor model<br/>[supercap.py]"]
  node_controller["Power-split control<br/>[controller.py]"]
end

subgraph group_design["Sizing and optimization"]
  node_sizing["System sizing"]
  node_phase_sizing["Hybrid sizing<br/>[phase4_hybrid.py]"]
  node_sweep["Parametric sweep<br/>[phase6_sweep.py]"]
  node_nsga["NSGA-II design search<br/>[nsga2_runner.py]"]
end

subgraph group_evaluation["Validation"]
  node_baseline["Conventional baseline"]
  node_validation["Hybrid validation<br/>[full_validation.py]"]
end

subgraph group_visualization["Dashboards"]
  node_flask_dashboard["Interactive API dashboard<br/>[server.py]"]
  node_dash_app["Analysis dashboard<br/>[app.py]"]
end

node_engineer(("Design engineer"))

node_engineer -->|"configures mission"| node_mission_profile
node_mission_profile -->|"defines phases"| node_mission_analysis
node_mission_profile -->|"supplies mission"| node_hybrid_sim
node_hybrid_sim -->|"initializes model"| node_aircraft
node_hybrid_sim -->|"steps engine"| node_engine
node_hybrid_sim -->|"steps battery"| node_battery
node_hybrid_sim -->|"routes peak power"| node_supercap
node_hybrid_sim -->|"requests power split"| node_controller
node_nsga -->|"evaluates designs"| node_sizing
node_sweep -->|"evaluates mission"| node_hybrid_sim
node_validation -->|"compares results"| node_baseline
node_validation -->|"sizes hybrid"| node_sizing
node_validation -->|"runs comparisons"| node_hybrid_sim
node_engineer -->|"requests analysis"| node_flask_dashboard
node_flask_dashboard -->|"reruns simulation"| node_hybrid_sim
node_engineer -->|"explores results"| node_dash_app
node_dash_app -->|"runs analyses"| node_hybrid_sim

click node_mission_profile "https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/simulation/mission_profile.py"
click node_atmosphere "https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/simulation/atmosphere.py"
click node_aerodynamics "https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/simulation/aerodynamics.py"
click node_mission_analysis "https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/simulation/mission1_analysis.py"
click node_hybrid_sim "https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/sim/hybrid_sim.py"
click node_aircraft "https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/sim/aircraft.py"
click node_engine "https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/sim/engine.py"
click node_battery "https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/sim/battery.py"
click node_supercap "https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/sim/supercap.py"
click node_controller "https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/simulation/controller.py"
click node_sizing "https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/sizing/sizing_equations.py"
click node_phase_sizing "https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/sizing/phase4_hybrid.py"
click node_sweep "https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/optimization/phase6_sweep.py"
click node_nsga "https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/optimize/nsga2_runner.py"
click node_baseline "https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/validate/baseline_compare.py"
click node_validation "https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/validate/full_validation.py"
click node_flask_dashboard "https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/dashboard/server.py"
click node_dash_app "https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/dashboard/app.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_mission_profile,node_atmosphere,node_aerodynamics,node_mission_analysis toneBlue
class node_hybrid_sim,node_aircraft,node_engine,node_battery,node_supercap,node_controller toneAmber
class node_sizing,node_phase_sizing,node_sweep,node_nsga toneMint
class node_baseline,node_validation toneRose
class node_flask_dashboard,node_dash_app,node_engineer toneIndigo
```

## Components

### Mission and physics

- [Mission profile](https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/simulation/mission_profile.py): `simulation/mission_profile.py`
- [ISA atmosphere](https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/simulation/atmosphere.py): `simulation/atmosphere.py`
- [Aircraft aerodynamics](https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/simulation/aerodynamics.py): `simulation/aerodynamics.py`
- [Mission analysis](https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/simulation/mission1_analysis.py): `simulation/mission1_analysis.py`

### Hybrid propulsion

- [Hybrid mission simulation](https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/sim/hybrid_sim.py): `sim/hybrid_sim.py`
- [Aircraft model](https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/sim/aircraft.py): `sim/aircraft.py`
- [Turboshaft model](https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/sim/engine.py): `sim/engine.py`
- [Battery model](https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/sim/battery.py): `sim/battery.py`
- [Supercapacitor model](https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/sim/supercap.py): `sim/supercap.py`
- [Power-split control](https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/simulation/controller.py): `simulation/controller.py`

### Sizing and optimization

- [System sizing](https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/sizing/sizing_equations.py): `sizing/sizing_equations.py`
- [Hybrid sizing](https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/sizing/phase4_hybrid.py): `sizing/phase4_hybrid.py`
- [Parametric sweep](https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/optimization/phase6_sweep.py): `optimization/phase6_sweep.py`
- [NSGA-II design search](https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/optimize/nsga2_runner.py): `optimize/nsga2_runner.py`

### Validation

- [Conventional baseline](https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/validate/baseline_compare.py): `validate/baseline_compare.py`
- [Hybrid validation](https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/validate/full_validation.py): `validate/full_validation.py`

### Dashboards

- [Interactive API dashboard](https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/dashboard/server.py): `dashboard/server.py`
- [Analysis dashboard](https://github.com/vdnt12/halaerothon_simulaotr1x/blob/main/dashboard/app.py): `dashboard/app.py`

### Other components

- **Design engineer**

## Connections

- Design engineer → Mission profile: configures mission
- Mission profile → Mission analysis: defines phases
- Mission profile → Hybrid mission simulation: supplies mission
- Hybrid mission simulation → Aircraft model: initializes model
- Hybrid mission simulation → Turboshaft model: steps engine
- Hybrid mission simulation → Battery model: steps battery
- Hybrid mission simulation → Supercapacitor model: routes peak power
- Hybrid mission simulation → Power-split control: requests power split
- NSGA-II design search → System sizing: evaluates designs
- Parametric sweep → Hybrid mission simulation: evaluates mission
- Hybrid validation → Conventional baseline: compares results
- Hybrid validation → System sizing: sizes hybrid
- Hybrid validation → Hybrid mission simulation: runs comparisons
- Design engineer → Interactive API dashboard: requests analysis
- Interactive API dashboard → Hybrid mission simulation: reruns simulation
- Design engineer → Analysis dashboard: explores results
- Analysis dashboard → Hybrid mission simulation: runs analyses
