Berechnung Trinkwarmwasser

This commit is contained in:
Moritz Utcke
2024-12-29 13:33:17 +07:00
parent 7f1942971d
commit 7c1963ffcc
2 changed files with 44 additions and 1 deletions

View File

@@ -44,7 +44,7 @@
"i18next-fs-backend": "^2.3.2",
"i18next-http-backend": "^2.6.2",
"js-cookie": "^3.0.5",
"js-interpolate": "^1.0.1",
"js-interpolate": "^1.1.0",
"katex": "^0.16.11",
"moment": "^2.30.1",
"moment-timezone": "^0.5.46",

View File

@@ -0,0 +1,43 @@
import { BedarfsausweisWohnenClient, GebaeudeAufnahmeClient } from "#components/Ausweis/types.js";
import { linearInterpolation } from "js-interpolate"
/**
* Implementierung Tabelle E.7 — Tabelle A.9 - Trinkwassererwärmung - Berechnung des Wärmebedarfs zur Trinkwassererwärmung
*
* @see 18599-Tabellenverfahren-Wohngebaeude.pdf
* @export
* @param {BedarfsausweisWohnenClient} ausweis
*/
export function berechnungTrinkwarmwasserWaermebedarf(ausweis: BedarfsausweisWohnenClient, gebaeude_aufnahme: GebaeudeAufnahmeClient) {
// A_NGF
const bezugsflaeche = gebaeude_aufnahme.flaeche ?? 0;
const einheiten = gebaeude_aufnahme.einheiten ?? 1;
// A_NGF,WE,m
const flaecheProEinheit = bezugsflaeche / einheiten;
// q_w,b
let flaechenBezogenerWaermebedarf: number;
if (flaecheProEinheit < 10) {
flaechenBezogenerWaermebedarf = 16.5
} else if (flaecheProEinheit >= 160) {
flaechenBezogenerWaermebedarf = 8.5
} else {
flaechenBezogenerWaermebedarf = linearInterpolation([{
x: 10,
y: 16
}, {
x: 150,
y: 9
}], flaecheProEinheit)
}
// Q_w,b
// Trinkwasser Wärmebedarf übers gesamte Jahr gerechnet. Falls ein bestimmter Monat gesucht wird kann man einfach (Q_w,b / 365 * d_mth) rechnen.
const trinkwasserWaermebedarf = bezugsflaeche * flaechenBezogenerWaermebedarf;
return trinkwasserWaermebedarf
}