Skip to content

Three-regime relay consolidation: CC → opt_passive → ff+PID across all VGOSWEC flap variants - #52

Merged
salhus merged 3 commits into
mainfrom
copilot/finalize-three-controller-regime-relay
Jul 11, 2026
Merged

Three-regime relay consolidation: CC → opt_passive → ff+PID across all VGOSWEC flap variants#52
salhus merged 3 commits into
mainfrom
copilot/finalize-three-controller-regime-relay

Conversation

Copilot AI commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Finalizes the simulation study as a clean three-controller regime relay — CC (short periods) → opt_passive (resonance band) → ff+PID (long tail) — across all five flap variants (VGM-0/10/20/45/90), and prunes the degenerate fixed-passive arm. All figures regenerate from committed CSVs via --plot-only.

Degenerate passive pruned

B_pto = B55(ω₀) is 10⁴–10⁵× smaller than |Z_intrinsic(ω₀)| for every flap (VGM-0 at 3.2e-7 N·m·s/rad in the pitch-radiation notch). Passive captures ≈ 0 W across the full band — it adds no signal to the study.

  • analysis/passive/ and analysis/passive_vs_optpassive/ deleted
  • config/vgoswec_{0,10,20,45,90}_passive.yaml reverted: B_pto: 0.5 placeholder + TODO: tune with tank-test data, wave.period: 1.5. Controller type remains usable in code.

New: scripts/three_regime_comparison.py

Modeled on cc_vs_ffpid_comparison.py. Loads CC (analysis/cc/), opt_passive (analysis/opt_passive/), ff+PID (analysis/passive_guarded/) CSVs and produces:

  • Per-flap 3-way figures — shaded CC/opt_passive/ff+PID regime bands with interpolated crossover markers; masked=true regions hatched
  • Cross-flap summary figures — power and efficiency overlays
  • Master operating-envelope figure — upper hull of P_capture over all (controller, flap-angle) at every period; annotated by winning regime band
python3 scripts/three_regime_comparison.py --plot-only
# → analysis/three_regime/figures/{three_regime_VGM*.png, operating_envelope.png, ...}
# → analysis/three_regime/operating_envelope.csv

Resonance hump marches with flap angle (key result)

Flap opt_passive peak peak T ff+PID at resonance winner
VGM-90 0.509 W 2.50 s ~0.55 W ff+PID edges
VGM-45 0.479 W 3.00 s ~0.63 W ff+PID edges
VGM-20 0.755 W 3.25 s ~0.73 W opt_passive edges
VGM-10 0.772 W 3.50 s ~0.75 W opt_passive edges
VGM-0 0.681 W 4.75 s ~0.68 W tie

opt_passive matches a tuned feedforward controller at resonance with a single tuning-free coefficient — it does not universally win. ff+PID edges it on high-angle flaps; the honest framing is "ties at resonance."

Docs

  • analysis/FINDINGS_3REGIME.md (new) — three-regime relay table, per-flap peak table, honest opt_passive vs ff+PID framing, appendix on passive degeneracy
  • docs/CONTROLLERS.md — added three-regime relay section; deprecated passive-vs-opt_passive study
  • analysis/FINDINGS.md, README.md — updated reproduction commands and framing

Copilot AI changed the title [WIP] Finalize controller study for three-controller regime relay Three-regime relay consolidation: CC → opt_passive → ff+PID across all VGOSWEC flap variants Jul 11, 2026
Copilot AI requested a review from salhus July 11, 2026 21:48
@salhus
salhus marked this pull request as ready for review July 11, 2026 21:48
@salhus
salhus merged commit 0b68cf8 into main Jul 11, 2026
@salhus
salhus deleted the copilot/finalize-three-controller-regime-relay branch July 11, 2026 21:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants