Moves documentation into the code repo so code, docs, and diagrams version-lock and review together. Previous location was pumpingStation.wiki.git; that will shrink to a pointer. Contents: - wiki/README.md — doc index - wiki/functional-description.md — operator-facing reference derived from src/specificClass.js: basin model, net-flow selection, level-based control zones, safety interlocks, registration topology - wiki/diagrams/ — editable draw.io sources paired with SVG exports (basin-model, control-zones, safety-rules) + README with the open/edit/export/commit workflow The .drawio files are rough starters; iterate in draw.io and re-export. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
63 lines
3.8 KiB
XML
63 lines
3.8 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 850 660" font-family="Arial, sans-serif" font-size="13">
|
|
<title>Basin model — physical layout + control thresholds</title>
|
|
<defs>
|
|
<marker id="arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="8" markerHeight="8" orient="auto-start-reverse">
|
|
<path d="M 0 0 L 10 5 L 0 10 z" fill="#1F4E79" />
|
|
</marker>
|
|
</defs>
|
|
|
|
<text x="425" y="30" text-anchor="middle" font-weight="bold" font-size="16">Basin model — physical layout + control thresholds</text>
|
|
|
|
<!-- Tank body -->
|
|
<rect x="300" y="80" width="260" height="520" fill="#E6F2FF" stroke="#000" stroke-width="2" />
|
|
<!-- Dead volume (darker band at the bottom) -->
|
|
<rect x="302" y="550" width="256" height="48" fill="#9FC5E8" />
|
|
|
|
<!-- Zone labels inside the tank -->
|
|
<text x="430" y="106" text-anchor="middle" font-style="italic" font-size="12">freeboard</text>
|
|
<text x="430" y="268" text-anchor="middle" font-style="italic" font-size="12">SCALING RANGE</text>
|
|
<text x="430" y="284" text-anchor="middle" font-style="italic" font-size="11">(levelbased: demand ramps 0 → 100 %)</text>
|
|
<text x="430" y="378" text-anchor="middle" font-style="italic" font-size="12">DEAD ZONE</text>
|
|
<text x="430" y="394" text-anchor="middle" font-style="italic" font-size="11">(hysteresis — keep last cmd)</text>
|
|
<text x="430" y="502" text-anchor="middle" font-style="italic" font-size="12">BUFFER</text>
|
|
<text x="430" y="576" text-anchor="middle" font-style="italic" font-size="11" fill="#333">dead volume</text>
|
|
|
|
<!-- heightBasin (top, solid) -->
|
|
<line x1="250" y1="80" x2="560" y2="80" stroke="#000" stroke-width="2" />
|
|
<text x="240" y="84" text-anchor="end" font-size="11">heightBasin</text>
|
|
|
|
<!-- heightOverflow (dashed red) -->
|
|
<line x1="250" y1="145" x2="620" y2="145" stroke="#B22222" stroke-dasharray="6 3" stroke-width="1.5" />
|
|
<text x="240" y="141" text-anchor="end" fill="#B22222" font-size="12">heightOverflow</text>
|
|
<text x="630" y="141" text-anchor="start" fill="#B22222" font-size="12">→ spill → measure</text>
|
|
|
|
<!-- maxFlowLevel (dashed orange) -->
|
|
<line x1="250" y1="200" x2="620" y2="200" stroke="#D68910" stroke-dasharray="6 3" stroke-width="1.5" />
|
|
<text x="240" y="196" text-anchor="end" fill="#D68910" font-size="12">maxFlowLevel</text>
|
|
|
|
<!-- startLevel (dashed green) -->
|
|
<line x1="250" y1="345" x2="620" y2="345" stroke="#1E8449" stroke-dasharray="6 3" stroke-width="1.5" />
|
|
<text x="240" y="341" text-anchor="end" fill="#1E8449" font-size="12">startLevel</text>
|
|
|
|
<!-- heightInlet (solid blue) with INFLOW pipe -->
|
|
<line x1="150" y1="410" x2="296" y2="410" stroke="#1F4E79" stroke-width="3" marker-end="url(#arrow)" />
|
|
<text x="140" y="406" text-anchor="end" font-weight="bold" fill="#1F4E79">INFLOW</text>
|
|
<text x="570" y="414" text-anchor="start" fill="#1F4E79" font-size="12">heightInlet</text>
|
|
|
|
<!-- stopLevel (dashed purple) -->
|
|
<line x1="250" y1="465" x2="620" y2="465" stroke="#6C3483" stroke-dasharray="6 3" stroke-width="1.5" />
|
|
<text x="240" y="461" text-anchor="end" fill="#6C3483" font-size="12">stopLevel</text>
|
|
<text x="630" y="461" text-anchor="start" fill="#6C3483" font-size="12">→ unconditional STOP</text>
|
|
|
|
<!-- heightOutlet (solid red) with OUTFLOW pipe -->
|
|
<line x1="564" y1="540" x2="720" y2="540" stroke="#1F4E79" stroke-width="3" marker-end="url(#arrow)" />
|
|
<text x="730" y="536" text-anchor="start" font-weight="bold" fill="#1F4E79">OUTFLOW</text>
|
|
<text x="240" y="536" text-anchor="end" fill="#B22222" font-size="12">heightOutlet</text>
|
|
<text x="730" y="552" text-anchor="start" fill="#B22222" font-size="12">→ dry-run trip</text>
|
|
|
|
<!-- floor -->
|
|
<line x1="250" y1="600" x2="560" y2="600" stroke="#000" stroke-width="2" />
|
|
<text x="240" y="604" text-anchor="end" font-size="11">floor (0)</text>
|
|
</svg>
|