Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

feat(wasserfoerderung): FI 5.008 planner engine with per-pump pressures

Aperta
#584 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
22/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
csharp
Ambito
backend

Direzione di ricerca

Start from FörderstreckePlanner on the branch feat/wasserfoerderung-plan-a and the friction table it uses, then compare it with FI 5.008 Tab. 3. The golden tests should reproduce Abb. 22 (0/540/920/1260 m) and Abb. 23 (0/458/579 m). Done means those tests pass, plus new tests for downhill overpressure, an infeasible steep segment, a route shorter than one hose, and a partial last segment. The review comment on #150 holds context not in the payload and should be read first.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Slice 1 of the Wasserförderung restart (#150). Domain only — no UI, no persistence, no sync. Analysis and rationale: see the review comment on #150.

Why

The planner on feat/wasserfoerderung-plan-a (FörderstreckePlanner) has problems in its hydraulics:

  • Its friction table is optimistic compared with FI 5.008 Tab. 3: 1,0 vs. 1,2 bar/100 m at 800 l/min. At 8 bar / 1,5 bar it plans a 620 m flat leg where FI 5.008 Abb. 22 gives 540 m, so pumps end up ~15 % too far apart.
  • On a descent Cost() goes negative and the leg keeps extending. Nothing checks overpressure against the B hose's 16 bar.
  • It returns only counts and positions in metres. There are no per-pump pressures.
  • The reserve is a unitless "3 % of budget" instead of a pressure in bar.
Scope
  • Friction per FI 5.008 Tab. 3 (600/800/1000/1200 l/min), cited in the code.
  • Inputs: Förderstrom, pump type / Ausgangsdruck (8 or 10 bar), min. Eingangsdruck, Sicherheitsreserve in bar, Warnschwelle, optional Einsatzstellenpumpe at the target.
  • Input profile as Stützpunkte (Strecke m, Höhe m), interpolated to 20 m stations. Keep the branch's worst-interior-point crest check.
  • Result per pump: role (Wasserentnahmestelle / Verstärkerpumpe / Einsatzstellenpumpe), station, Höhe, Eingangsdruck, Ausgangsdruck, section length / rise / B-20 count.
  • Typed findings instead of exceptions where the plan is still usable: overpressure downhill, a segment that cannot be pumped at all, Restdruck at the target below the minimum, >1000 l/min → Doppelleitung.
  • A partial last segment is charged pro rata, not as a full 20 m. Hose totals equal the sum of the sections.
Out of scope / open
  • Offene Schaltreihe: model it correctly (every pump draws from a Faltbehälter) or leave it out. Re-checking only the last stretch is not enough.
  • The DBV setting, reserve pump ratio and reserve hose rule need a cited source before they are shown as instructions.
Acceptance
  • Golden tests reproduce FI 5.008 Abb. 22 (0/540/920/1260 m, 0/0/19,2/43,2 m, 8 bar, 800 l/min) and Abb. 23 (0/458/579 m, 0/14/19 m).
  • Tests cover a downhill overpressure case, an infeasible steep segment, a route shorter than one hose, and a partial last segment.

🤖 Generated with Claude Code

Lingua principale
C#
Stelle
1
Fork
3
Merge medio
4h 34m
PR unite (30g)
182

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di CodeForFire/lagebuch

Tutte le issue di CodeForFire/lagebuch

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.