Files
EVOLV/wiki/overview.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

3.1 KiB

title, created, updated, status, tags
title created updated status tags
EVOLV Project Overview 2026-04-07 2026-04-07 evolving
overview
wastewater
node-red
isa-88

EVOLV — Edge-Layer Evolution for Optimized Virtualization

Industrial automation platform for wastewater treatment, built as custom Node-RED nodes by Waterschap Brabantse Delta R&D. Follows ISA-88 (S88) batch control standard.

Stack

Node.js, Node-RED, InfluxDB (time-series), TensorFlow.js (prediction), CoolProp (thermodynamics). No build step — pure Node.js.

Architecture

Each node follows a 3-tier pattern:

  1. Entry file — registers with Node-RED, admin HTTP endpoints
  2. nodeClass — Node-RED adapter (tick loop, message routing, status)
  3. specificClass — pure domain logic (physics, state machines, predictions)

3-port output convention: Port 0 = process data, Port 1 = InfluxDB telemetry, Port 2 = parent-child registration.

What Works

Capability Status Evidence
rotatingMachine state machine proven 76 tests passing, all sequences verified
3D pump curve prediction (flow/power from pressure+control) proven Monotonic cubic spline interpolation across 34 pressure levels
NCog / BEP tracking per pump proven Produces meaningful values with differential pressure
machineGroupControl BEP-Gravitation proven Within 0.1% of brute-force global optimum
Combination selection (2^n exhaustive) proven Stable: 1-2 switches across 5-95% demand sweep, no hysteresis
Prediction health scoring proven NRMSE drift, pressure source penalties, edge detection
Hydraulic efficiency (η = QΔP/P) proven CoolProp density, head calculation
Unit conversion chain proven No double-conversion, clean layer separation

What Doesn't Work (honestly)

Issue Status Evidence
C5 curve non-convexity evolving 5 raw data points cause spline artifacts, dP/dQ non-monotonic
NCog = 0 at high ΔP evolving At ΔP > 800 mbar for H05K, Q/P is monotonically decreasing
calcBestCombination (NCog-weight mode) disproven Uses NCog as proportional weight instead of BEP target

Current Scale

  • 13 custom Node-RED nodes (12 submodules + generalFunctions)
  • rotatingMachine: 76 tests, 1563 lines domain logic
  • machineGroupControl: 90+ tests, 1400+ lines domain logic
  • 3 real pump curves: H05K-S03R, C5-D03R-SHN1, ECDV
  • Tick loop: 1000ms interval

Node Inventory

Node Purpose Test Status
rotatingMachine Pump/compressor control 76 tests (full)
machineGroupControl Multi-pump optimization 90 tests (full)
pumpingStation Multi-pump station needs review
valve Valve modeling needs review
valveGroupControl Valve group coordination needs review
reactor Biological reactor (ASM kinetics) needs review
settler Secondary clarifier needs review
monster Multi-parameter bio monitoring needs review
measurement Sensor signal conditioning needs review
diffuser Aeration system control needs review
dashboardAPI InfluxDB + FlowFuse charts needs review
generalFunctions Shared utilities partial