Waterschap Brabantse Delta · R&D-lab · research-artifact
build_curve.py --add-shutoff--add-shutoff — één extra familiesleutel net onder de maximale dP van elk controlniveau — de cliff wegneemt met dezelfde inputs die de twin al heeft.
De opstelling wordt afgelopen op een raster van (pomp control% × klep%); dP is een afhankelijke variabele. De predict-curve is gesleuteld op dP-familie f, elke familie een control%→debiet-snede. Een controlniveau hoort alleen bij familiesleutel d als d ≤ de maximaal gemeten dP van dat niveau. Vlak voor shutoff bereiken de eigen data van een laag controlniveau wél een hoge dP (klep bijna dicht), maar de eerstvolgende familiesleutel daarboven sluit ze uit — dus predict bepaalt een minimaal bereikbaar control boven het gevraagde, clampt omhoog, en geeft een te hoog debiet terug.
--add-shutoff zet een sleutel vast op ≈341 die ≈0.4 houdt, wat de dP-interpolatie een strakke bracket geeft → voorspeld 0.65 (gemeten 1.12).In de pagina berekend over de punten waar beide curves voorspellen (zelfde puntenset, eerlijke vergelijking). Aantallen hieronder weergegeven.
+shutoff-curve (86 sleutels), uitzetbaar tegen dP of als gemeten-vs-voorspeld. De gesmoorde hoek (klep ≤ 25%, rood) is precies waar de baseline uitloopt en waar de shutoff-sleutels bijten. Databron: 1617 gemeten punten KSB Calio 40-80 (RevPi181033, 2026-06-24).+shutoff, met het verschil Δ. Zo zie je dat de winst in de hoge-dP-banden (de cliff) zit en de lage-dP-band marginaal inlevert.| dP-band (mbar) | punten | baseline p95 | +shutoff p95 | Δ |
|---|
| ctrl% | dP | klep% | gemeten | baseline voorsp. | baseline |r| | shutoff voorsp. | shutoff |r| |
|---|
--add-shutoff zet één extra familiesleutel vast net onder de maximale dP van elk controlniveau, waardoor de curve groeit van 40 → 86 sleutels (≈2.1× het bestand, verwaarloosbaar tijdens runtime). Elke geaggregeerde metriek verbetert (max 1.79→0.82, p95 0.31→0.29, vermogen p95 5.9→5.2 W), maar de dichtste lage-dP-band (75–200) wordt marginaal slechter doordat de extra cliff-sleutels deze licht verstoren. De max van 0.82 evenaart nu het model affiniteit-op-gemeten-toerental (0.80) — maar zonder gemeten toerental nodig te hebben, zodat de opzoektabel bruikbaar blijft voor open-loop / control%-only voorspelling.Reproduceren: tools/rig/build_curve.py --tsv data/calio-40-80-matrix-2026-06-24.tsv --nkeys 42 --flow-a 0.000625 --flow-b -2.5 --key-unit-div 13.33333 --power-div 1000 --key-gamma 0.8 --add-shutoff. Gescoord met tools/rig/analyze_residuals.js tegen dezelfde matrix.
data/calio-40-80-matrix-2026-06-24.tsv. gemeten 2026-06-24--add-shutoff (EVOLV rotating-machine tooling), tools/rig/build_curve.py.tools/rig/analyze_residuals.js.--add-shutoff voegt cliff-sleutels toe; residu = |gemeten − voorspeld| binnen werkgebied