Files
EVOLV/wiki/findings/curve-non-convexity.md
znetsixe 6d19038784 docs: initialize project wiki from production hardening session
12 pages covering architecture, findings, and metrics from the
rotatingMachine + machineGroupControl hardening work:

- Overview: node inventory, what works/doesn't, current scale
- Architecture: 3D pump curves, group optimization algorithm
- Findings: BEP-Gravitation proof (0.1% of optimum), NCog behavior,
  curve non-convexity, pump switching stability
- Metrics: test counts, power comparison table, performance numbers
- Knowledge graph: structured YAML with all data points and provenance
- Session log: 2026-04-07 production hardening
- Tools: query.py, search.sh, lint.sh

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 16:36:08 +02:00

1.5 KiB

title, created, updated, status, tags, sources
title created updated status tags sources
Pump Curve Non-Convexity 2026-04-07 2026-04-07 proven
curves
interpolation
C5
non-convex
nodes/generalFunctions/datasets/assetData/curves/hidrostal-C5-D03R-SHN1.json

Pump Curve Non-Convexity from Sparse Data

Finding

The C5-D03R-SHN1 pump's power curve is non-convex after spline interpolation. The marginal cost (dP/dQ) shows a spike-then-valley pattern:

C5 dP/dQ across flow range @ ΔP=2000 mbar:
  6.4 m3/h → 1,316,610  (high)
 10.2 m3/h → 2,199,349  (spikes UP)
 17.7 m3/h → 1,114,700  (dropping)
 21.5 m3/h →   453,316  (valley — cheapest)
 29.0 m3/h → 1,048,375  (rising again)
 44.1 m3/h → 1,107,708  (high)

Root Cause

The C5 curve has only 5 raw data points per pressure level. The monotonic cubic spline (Fritsch-Carlson) creates a smooth curve through all 5 points, but with such sparse data it introduces non-convex regions that don't match the physical convexity of a real pump.

Impact

  • The equal-marginal-cost theorem (KKT conditions) does not apply — it requires convexity
  • The BEP-Gravitation slope estimate at a single point can be misleading in non-convex regions
  • The marginal-cost refinement loop fixes this by using actual power evaluations instead of slope assumptions

Recommendation

Add more data points (15-20 per pressure level) to the C5 curve. This would make the spline track the real convex physics more closely, eliminating the non-convex artifacts.