Files
EVOLV/wiki/findings/ncog-behavior.md
znetsixe 5ae8788fd7 wiki: crisp overhaul — no decoration emoji, all 9 master pages refactored
Source-tree mirror of EVOLV.wiki.git refactor (27a42ee on wiki.git):

- 7 master pages rewritten with clean design (Home, Architecture,
  Topology-Patterns, Topic-Conventions, Telemetry, Getting-Started,
  Glossary). Tables and Mermaid for visuals, gitea alert callouts for
  warnings, shields badges for metadata only. No emoji as decoration.
- Archive.md becomes a removal-changelog pointing readers to git
  history and to the successor pages.
- _Sidebar.md updated to navigate the new flat-name layout.
- Concept / finding / manual pages: uniform mini-header (badges +
  "reference page" callout) added without rewriting domain content.
- Every internal link now uses the flat naming that resolves on the
  live gitea wiki (Concept-ASM-Models, Finding-BEP-..., etc.).

On wiki.git: 29 Archive-* pages hard-deleted (the git history
preserves them; Archive.md documents the removal).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 22:24:51 +02:00

2.3 KiB

title, created, updated, status, tags, sources
title created updated status tags sources
NCog Behavior and Limitations 2026-04-07 2026-04-07 evolving
rotatingMachine
NCog
BEP
efficiency
nodes/rotatingMachine/src/specificClass.js

code-ref type

Note

Reference page. Maintained for context; not regenerated by code. See Home for current top-level navigation.

NCog — Normalized Center of Gravity

What It Is

NCog is a 0-1 value indicating where on its flow range a pump operates most efficiently. Computed per tick from the current pressure slice of the 3D pump curve.

BEP_flow = minFlow + (maxFlow - minFlow) * NCog

How It's Computed

  1. Pressure sensors update → getMeasuredPressure() computes differential
  2. fDimension locks the 2D slice at current system pressure
  3. calcCog() computes Q/P (specific flow) across the curve
  4. Peak Q/P index → NCog = (flowAtPeak - flowMin) / (flowMax - flowMin)

When NCog is Meaningful

NCog requires differential pressure (upstream + downstream). With only one pressure sensor, fDimension is the raw sensor value (too high), producing a monotonic Q/P curve and NCog = 0.

Condition NCog for H05K NCog for C5
ΔP = 400 mbar 0.333 0.355
ΔP = 1000 mbar 0.000 0.000
ΔP = 1500 mbar 0.135 0.000
ΔP = 2000 mbar 0.351 0.000

Why NCog = 0 Happens

For variable-speed centrifugal pumps, Q/P is monotonically decreasing when the affinity laws dominate (P ∝ Q³). At certain pressure levels, the spline interpolation preserves this monotonicity and the peak is always at index 0 (minimum flow).

How the machineGroupControl Uses NCog

The BEP-Gravitation algorithm seeds each pump at its BEP flow, then redistributes using slope-based weights + marginal-cost refinement. Even when NCog = 0, the slope redistribution produces near-optimal results because it uses actual power evaluations.

[!warning] Disproven: NCog as proportional weight Using NCog directly as a flow-distribution weight (flow = NCog/totalNCog * Qd) is wrong. It starves pumps with NCog = 0 and overloads high-NCog pumps. See calcBestCombination in machineGroupControl.