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>
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 |
|
|
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
- Pressure sensors update →
getMeasuredPressure()computes differential fDimensionlocks the 2D slice at current system pressurecalcCog()computes Q/P (specific flow) across the curve- 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. SeecalcBestCombinationin machineGroupControl.