From 86bbb85b139c2875d241d2c496d60f8eb3e9f690 Mon Sep 17 00:00:00 2001
From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com>
Date: Fri, 31 Jan 2025 22:08:58 +0100
Subject: [PATCH] Tabellen A9, A10 und A11 fertiggestellt
---
...uellenAnlagentechnikTrinkwarmwasser.svelte | 51 ++++++-----
.../A11WaermequellenZusammenstellung.svelte | 91 ++++++++++---------
...8WaermequellenAnlagentechnikHeizung.svelte | 2 +-
...A9NutzenergiebedarfTrinkwarmwasser.svelte} | 29 +++---
...rmequellenAnlagentechnikTrinkwarmwasser.ts | 30 +++++-
...BerechnungWaermequellenZusammenstellung.ts | 72 ++++++++++++++-
.../A12BerechnungNutzenergiebedarfHeizung.ts | 1 +
...rechnungWaermequellenSolareEinstrahlung.ts | 2 -
...ngWaermequellenAusAnlagentechnikHeizung.ts | 36 ++++----
...echnungNutzenergiebedarfTrinkwarmwasser.ts | 33 ++++++-
.../funktionInterneWaermequellen.ts | 44 +++++++++
.../DIN18599/berechnungstabellen/index.astro | 14 +--
12 files changed, 285 insertions(+), 120 deletions(-)
rename src/components/Tabellen/{A9Trinkwassererwaermung.svelte => A9NutzenergiebedarfTrinkwarmwasser.svelte} (88%)
create mode 100644 src/lib/Berechnungen/BedarfsausweisWohnen/funktionInterneWaermequellen.ts
diff --git a/src/components/Tabellen/A10WaermequellenAnlagentechnikTrinkwarmwasser.svelte b/src/components/Tabellen/A10WaermequellenAnlagentechnikTrinkwarmwasser.svelte
index c76c663a..2559c555 100644
--- a/src/components/Tabellen/A10WaermequellenAnlagentechnikTrinkwarmwasser.svelte
+++ b/src/components/Tabellen/A10WaermequellenAnlagentechnikTrinkwarmwasser.svelte
@@ -36,7 +36,7 @@
(3) = fA-w aus Tabelle 142 bzw. Tabelle 143 |
|
- |
+ {result.FaktorNutzbareWaermeTrinkwarmwasser} |
@@ -46,75 +46,76 @@
| Januar |
31 |
- |
- |
+ {Math.round(result.trinkwasserWaermebedarf.Januar)} |
+ {Math.round(result.WaermeQuellenAnlagentechnikTrinkwarmwasser.Januar)} |
| Februar |
28 |
- |
- |
+ {Math.round(result.trinkwasserWaermebedarf.Februar)} |
+ {Math.round(result.WaermeQuellenAnlagentechnikTrinkwarmwasser.Februar)} |
| März |
31 |
- |
- |
+ {Math.round(result.trinkwasserWaermebedarf.Maerz)} |
+ {Math.round(result.WaermeQuellenAnlagentechnikTrinkwarmwasser.Maerz)} |
| April |
30 |
- |
- |
+ {Math.round(result.trinkwasserWaermebedarf.April)} |
+ {Math.round(result.WaermeQuellenAnlagentechnikTrinkwarmwasser.April)} |
| Mai |
31 |
- |
- |
+ {Math.round(result.trinkwasserWaermebedarf.Mai)} |
+ {Math.round(result.WaermeQuellenAnlagentechnikTrinkwarmwasser.Mai)} |
| Juni |
30 |
- |
- |
+ {Math.round(result.trinkwasserWaermebedarf.Juni)} |
+ {Math.round(result.WaermeQuellenAnlagentechnikTrinkwarmwasser.Juni)} |
| Juli |
31 |
- |
- |
+ {Math.round(result.trinkwasserWaermebedarf.Juli)} |
+ {Math.round(result.WaermeQuellenAnlagentechnikTrinkwarmwasser.Juli)} |
| August |
31 |
- |
- |
+ {Math.round(result.trinkwasserWaermebedarf.August)} |
+ {Math.round(result.WaermeQuellenAnlagentechnikTrinkwarmwasser.August)} |
| September |
30 |
- |
- |
+ {Math.round(result.trinkwasserWaermebedarf.September)} |
+ {Math.round(result.WaermeQuellenAnlagentechnikTrinkwarmwasser.September)} |
| Oktober |
31 |
- |
- |
+ {Math.round(result.trinkwasserWaermebedarf.Oktober)} |
+ {Math.round(result.WaermeQuellenAnlagentechnikTrinkwarmwasser.Oktober)} |
| November |
30 |
- |
- |
+ {Math.round(result.trinkwasserWaermebedarf.November)} |
+ {Math.round(result.WaermeQuellenAnlagentechnikTrinkwarmwasser.November)} |
| Dezember |
31 |
- |
- |
+ {Math.round(result.trinkwasserWaermebedarf.Dezember)} |
+ {Math.round(result.WaermeQuellenAnlagentechnikTrinkwarmwasser.Dezember)} |
+
diff --git a/src/components/Tabellen/A11WaermequellenZusammenstellung.svelte b/src/components/Tabellen/A11WaermequellenZusammenstellung.svelte
index ecc25f31..ee0a832c 100644
--- a/src/components/Tabellen/A11WaermequellenZusammenstellung.svelte
+++ b/src/components/Tabellen/A11WaermequellenZusammenstellung.svelte
@@ -19,8 +19,8 @@
(DIN V 18599-10:2018-09, Tabelle 4) (2)
|
- |
- |
+ {result.NettoGrundflaeche} |
+ {result.WaermeQuellenBewohner} |
|
@@ -57,116 +57,117 @@
{result.TageMonat.Januar} |
{Math.round(result.interneWaermeQuellenProMonat.Januar*100)/100} |
{Math.round(result.summeErgebnisseJanuar*100)/100} |
- |
- |
- |
+ {Math.round(result.WaermeQuellenAnlagentechnikGesamt.Januar)} |
+ {Math.round(result.WaermeQuellenGesamt.Januar)} |
+ {Math.round(result.WaermeQuellenGesamtLeistung.Januar)} |
| Februar |
{result.TageMonat.Februar} |
{Math.round(result.interneWaermeQuellenProMonat.Februar*100)/100} |
{Math.round(result.summeErgebnisseFebruar*100)/100} |
- |
- |
- |
+ {Math.round(result.WaermeQuellenAnlagentechnikGesamt.Februar)} |
+ {Math.round(result.WaermeQuellenGesamt.Februar)} |
+ {Math.round(result.WaermeQuellenGesamtLeistung.Februar)} |
| März |
- {result.TageMonat.März} |
- {Math.round(result.interneWaermeQuellenProMonat.März*100)/100} |
+ {result.TageMonat.Maerz} |
+ {Math.round(result.interneWaermeQuellenProMonat.Maerz*100)/100} |
{Math.round(result.summeErgebnisseMaerz*100)/100} |
- |
- |
- |
+ {Math.round(result.WaermeQuellenAnlagentechnikGesamt.Maerz)} |
+ {Math.round(result.WaermeQuellenGesamt.Maerz)} |
+ {Math.round(result.WaermeQuellenGesamtLeistung.Maerz)} |
| April |
{result.TageMonat.April} |
{Math.round(result.interneWaermeQuellenProMonat.April*100)/100} |
{Math.round(result.summeErgebnisseApril*100)/100} |
- |
- |
- |
+ {Math.round(result.WaermeQuellenAnlagentechnikGesamt.April)} |
+ {Math.round(result.WaermeQuellenGesamt.April)} |
+ {Math.round(result.WaermeQuellenGesamtLeistung.April)} |
| Mai |
{result.TageMonat.Mai} |
{Math.round(result.interneWaermeQuellenProMonat.Mai*100)/100} |
{Math.round(result.summeErgebnisseMai*100)/100} |
- |
- |
- |
+ {Math.round(result.WaermeQuellenAnlagentechnikGesamt.Mai)} |
+ {Math.round(result.WaermeQuellenGesamt.Mai)} |
+ {Math.round(result.WaermeQuellenGesamtLeistung.Mai)} |
| Juni |
{result.TageMonat.Juni} |
{Math.round(result.interneWaermeQuellenProMonat.Juni*100)/100} |
{Math.round(result.summeErgebnisseJuni*100)/100} |
- |
- |
- |
+ {Math.round(result.WaermeQuellenAnlagentechnikGesamt.Juni)} |
+ {Math.round(result.WaermeQuellenGesamt.Juni)} |
+ {Math.round(result.WaermeQuellenGesamtLeistung.Juni)} |
| Juli |
{result.TageMonat.Juli} |
{Math.round(result.interneWaermeQuellenProMonat.Juli*100)/100} |
{Math.round(result.summeErgebnisseJuli*100)/100} |
- |
- |
- |
+ {Math.round(result.WaermeQuellenAnlagentechnikGesamt.Juli)} |
+ {Math.round(result.WaermeQuellenGesamt.Juli)} |
+ {Math.round(result.WaermeQuellenGesamtLeistung.Juli)} |
| August |
{result.TageMonat.August} |
{Math.round(result.interneWaermeQuellenProMonat.August*100)/100} |
{Math.round(result.summeErgebnisseAugust*100)/100} |
- |
- |
- |
+ {Math.round(result.WaermeQuellenAnlagentechnikGesamt.August)} |
+ {Math.round(result.WaermeQuellenGesamt.August)} |
+ {Math.round(result.WaermeQuellenGesamtLeistung.August)} |
| September |
{result.TageMonat.September} |
{Math.round(result.interneWaermeQuellenProMonat.September*100)/100} |
{Math.round(result.summeErgebnisseSeptember*100)/100} |
- |
- |
- |
+ {Math.round(result.WaermeQuellenAnlagentechnikGesamt.September)} |
+ {Math.round(result.WaermeQuellenGesamt.September)} |
+ {Math.round(result.WaermeQuellenGesamtLeistung.September)} |
| Oktober |
{result.TageMonat.Oktober} |
{Math.round(result.interneWaermeQuellenProMonat.Oktober*100)/100} |
{Math.round(result.summeErgebnisseOktober*100)/100} |
- |
- |
- |
+ {Math.round(result.WaermeQuellenAnlagentechnikGesamt.Oktober)} |
+ {Math.round(result.WaermeQuellenGesamt.Oktober)} |
+ {Math.round(result.WaermeQuellenGesamtLeistung.Oktober)} |
| November |
{result.TageMonat.November} |
{Math.round(result.interneWaermeQuellenProMonat.November*100)/100} |
{Math.round(result.summeErgebnisseNovember*100)/100} |
- |
- |
- |
+ {Math.round(result.WaermeQuellenAnlagentechnikGesamt.November)} |
+ {Math.round(result.WaermeQuellenGesamt.November)} |
+ {Math.round(result.WaermeQuellenGesamtLeistung.November)} |
| Dezember |
{result.TageMonat.Dezember} |
{Math.round(result.interneWaermeQuellenProMonat.Dezember*100)/100} |
{Math.round(result.summeErgebnisseDezember*100)/100} |
- |
- |
- |
+ {Math.round(result.WaermeQuellenAnlagentechnikGesamt.Dezember)} |
+ {Math.round(result.WaermeQuellenGesamt.Dezember)} |
+ {Math.round(result.WaermeQuellenGesamtLeistung.Dezember)} |
+
| Jahressummen |
- |
- |
- |
- |
- |
+ {Math.round(result.interneWaermeQuellenGesamt)} |
+ {Math.round(result.summeErgebnisseGesamt)} |
+ {Math.round(result.summeWaermeQuellenAnlagentechnikGesamt)} |
+ {Math.round(result.summeWaermeQuellenGesamt)} |
+ {Math.round(result.summeWaermeQuellenGesamtLeistung)} |
diff --git a/src/components/Tabellen/A8WaermequellenAnlagentechnikHeizung.svelte b/src/components/Tabellen/A8WaermequellenAnlagentechnikHeizung.svelte
index 7507b0d9..d55a7d9c 100644
--- a/src/components/Tabellen/A8WaermequellenAnlagentechnikHeizung.svelte
+++ b/src/components/Tabellen/A8WaermequellenAnlagentechnikHeizung.svelte
@@ -32,7 +32,7 @@ $: result = A8BerechnungWaermequellenAusAnlagentechnikHeizung();
|
|
- |
+ {result.FaktorNutzbareWaerme} |
diff --git a/src/components/Tabellen/A9Trinkwassererwaermung.svelte b/src/components/Tabellen/A9NutzenergiebedarfTrinkwarmwasser.svelte
similarity index 88%
rename from src/components/Tabellen/A9Trinkwassererwaermung.svelte
rename to src/components/Tabellen/A9NutzenergiebedarfTrinkwarmwasser.svelte
index 6068a865..898be879 100644
--- a/src/components/Tabellen/A9Trinkwassererwaermung.svelte
+++ b/src/components/Tabellen/A9NutzenergiebedarfTrinkwarmwasser.svelte
@@ -6,13 +6,14 @@
import { A9BerechnungNutzenergiebedarfTrinkwarmwasser } from "#lib/Berechnungen/BedarfsausweisWohnen/A9BerechnungNutzenergiebedarfTrinkwarmwasser.js";
- let trinkwasserWaermebedarf = 0, flaechenBezogenerWaermebedarf = 0, bezugsflaeche = 0
+ let trinkwasserWaermebedarf = 0, flaechenBezogenerWaermebedarf = 0, bezugsflaeche = 0, trinkwasserWaermebedarfJahr = 0
$: {
const result = A9BerechnungNutzenergiebedarfTrinkwarmwasser(ausweis, gebaeude_aufnahme)
trinkwasserWaermebedarf = result.trinkwasserWaermebedarf
flaechenBezogenerWaermebedarf = result.flaechenBezogenerWaermebedarf
bezugsflaeche = result.bezugsflaeche
+ trinkwasserWaermebedarfJahr = result.trinkwasserWaermebedarfJahr
}
@@ -48,62 +49,62 @@
| Januar |
31 |
- {Math.round(trinkwasserWaermebedarf / 365 * 31)} |
+ {Math.round(trinkwasserWaermebedarf.Januar)} |
| Februar |
28 |
- {Math.round(trinkwasserWaermebedarf / 365 * 28)} |
+ {Math.round(trinkwasserWaermebedarf.Februar)} |
| März |
31 |
- {Math.round(trinkwasserWaermebedarf / 365 * 31)} |
+ {Math.round(trinkwasserWaermebedarf.Maerz)} |
| April |
30 |
- {Math.round(trinkwasserWaermebedarf / 365 * 30)} |
+ {Math.round(trinkwasserWaermebedarf.April)} |
| Mai |
31 |
- {Math.round(trinkwasserWaermebedarf / 365 * 31)} |
+ {Math.round(trinkwasserWaermebedarf.Mai)} |
| Juni |
30 |
- {Math.round(trinkwasserWaermebedarf / 365 * 30)} |
+ {Math.round(trinkwasserWaermebedarf.Juni)} |
| Juli |
31 |
- {Math.round(trinkwasserWaermebedarf / 365 * 31)} |
+ {Math.round(trinkwasserWaermebedarf.Juli)} |
| August |
31 |
- {Math.round(trinkwasserWaermebedarf / 365 * 31)} |
+ {Math.round(trinkwasserWaermebedarf.August)} |
| September |
30 |
- {Math.round(trinkwasserWaermebedarf / 365 * 30)} |
+ {Math.round(trinkwasserWaermebedarf.September)} |
| Oktober |
31 |
- {Math.round(trinkwasserWaermebedarf / 365 * 31)} |
+ {Math.round(trinkwasserWaermebedarf.Oktober)} |
| November |
30 |
- {Math.round(trinkwasserWaermebedarf / 365 * 30)} |
+ {Math.round(trinkwasserWaermebedarf.November)} |
| Dezember |
31 |
- {Math.round(trinkwasserWaermebedarf / 365 * 31)} |
+ {Math.round(trinkwasserWaermebedarf.Dezember)} |
@@ -113,7 +114,7 @@
Jahressumme Qw,b [kWh/a]
|
- {trinkwasserWaermebedarf}
+ {Math.round(trinkwasserWaermebedarfJahr)}
|
diff --git a/src/lib/Berechnungen/BedarfsausweisWohnen/A10BerechnungWaermequellenAnlagentechnikTrinkwarmwasser.ts b/src/lib/Berechnungen/BedarfsausweisWohnen/A10BerechnungWaermequellenAnlagentechnikTrinkwarmwasser.ts
index b0f59fc0..2e430f6f 100644
--- a/src/lib/Berechnungen/BedarfsausweisWohnen/A10BerechnungWaermequellenAnlagentechnikTrinkwarmwasser.ts
+++ b/src/lib/Berechnungen/BedarfsausweisWohnen/A10BerechnungWaermequellenAnlagentechnikTrinkwarmwasser.ts
@@ -1,5 +1,31 @@
+import { A9BerechnungNutzenergiebedarfTrinkwarmwasser } from "#lib/Berechnungen/BedarfsausweisWohnen/A9BerechnungNutzenergiebedarfTrinkwarmwasser.js";
+import { BedarfsausweisWohnenClient, GebaeudeAufnahmeClient } from "#components/Ausweis/types.js";
+/**
+ * Implementierung Tabelle A10
+ *
+ * @see 18599-Tabellenverfahren-Wohngebaeude.pdf
+ * @export
+ * @param {BedarfsausweisWohnenClient} ausweis
+ * @param {GebaeudeAufnahmeClient} gebaeude_aufnahme
+ */
+export function A10BerechnungWaermequellenAnlagentechnikTrinkwarmwasser(ausweis: BedarfsausweisWohnenClient, gebaeude_aufnahme: GebaeudeAufnahmeClient) {
-export function A10BerechnungWaermequellenAnlagentechnikTrinkwarmwasser() {
-
+ const result = A9BerechnungNutzenergiebedarfTrinkwarmwasser(ausweis, gebaeude_aufnahme);
+ const trinkwasserWaermebedarf = result.trinkwasserWaermebedarf;
+
+ const FaktorNutzbareWaermeTrinkwarmwasser = 1.554; // aus Eingabe (Tabelle 143): mit Zirkulation - Verteilung, Speicherung und Erzeugung im beheizten Bereich - 55°C/45°C
+ const WaermeQuellenAnlagentechnikTrinkwarmwasser = Object.keys(trinkwasserWaermebedarf).reduce((acc: { [key: string]: number }, month) => {
+ acc[month] = trinkwasserWaermebedarf[month] * FaktorNutzbareWaermeTrinkwarmwasser;
+ return acc;
+ }, {});
+
+ return {
+
+ trinkwasserWaermebedarf,
+ FaktorNutzbareWaermeTrinkwarmwasser,
+ WaermeQuellenAnlagentechnikTrinkwarmwasser
+
+ }
+
}
\ No newline at end of file
diff --git a/src/lib/Berechnungen/BedarfsausweisWohnen/A11BerechnungWaermequellenZusammenstellung.ts b/src/lib/Berechnungen/BedarfsausweisWohnen/A11BerechnungWaermequellenZusammenstellung.ts
index dbb500b4..5a39400b 100644
--- a/src/lib/Berechnungen/BedarfsausweisWohnen/A11BerechnungWaermequellenZusammenstellung.ts
+++ b/src/lib/Berechnungen/BedarfsausweisWohnen/A11BerechnungWaermequellenZusammenstellung.ts
@@ -1,4 +1,7 @@
import { A7A2BerechnungWaermequellenSolareEinstrahlung } from "#lib/Berechnungen/BedarfsausweisWohnen/A7A2BerechnungWaermequellenSolareEinstrahlung.js";
+import { A8BerechnungWaermequellenAusAnlagentechnikHeizung } from "#lib/Berechnungen/BedarfsausweisWohnen/A8BerechnungWaermequellenAusAnlagentechnikHeizung.js";
+import { A10BerechnungWaermequellenAnlagentechnikTrinkwarmwasser } from "#lib/Berechnungen/BedarfsausweisWohnen/A10BerechnungWaermequellenAnlagentechnikTrinkwarmwasser.js";
+import { result } from "node_modules/cypress/types/lodash/index.js";
export function A11BerechnungWaermequellenZusammenstellung() {
@@ -16,6 +19,34 @@ export function A11BerechnungWaermequellenZusammenstellung() {
const summeErgebnisseNovember = einstrahlung.summeErgebnisseNovember;
const summeErgebnisseDezember = einstrahlung.summeErgebnisseDezember;
+ const summeErgebnisseGesamt = summeErgebnisseJanuar + summeErgebnisseFebruar + summeErgebnisseMaerz +
+ summeErgebnisseApril + summeErgebnisseMai + summeErgebnisseJuni + summeErgebnisseJuli + summeErgebnisseAugust +
+ summeErgebnisseSeptember + summeErgebnisseOktober + summeErgebnisseNovember + summeErgebnisseDezember;
+
+ const result = A8BerechnungWaermequellenAusAnlagentechnikHeizung();
+
+ const ausweis = {}; // Replace with actual BedarfsausweisWohnenClient object
+ const gebaeude_aufnahme = {}; // Replace with actual GebaeudeAufnahmeClient object
+ const resultTrinkwarmwasser = A10BerechnungWaermequellenAnlagentechnikTrinkwarmwasser(ausweis, gebaeude_aufnahme);
+ const WaermeQuellenAnlagentechnikTrinkwarmwasser = resultTrinkwarmwasser.WaermeQuellenAnlagentechnikTrinkwarmwasser;
+
+ const WaermeQuellenAnlagentechnikGesamt = {
+ Januar: result.WaermeQuellenAnlagentechnikHeizungJanuar + WaermeQuellenAnlagentechnikTrinkwarmwasser.Januar,
+ Februar: result.WaermeQuellenAnlagentechnikHeizungFebruar + WaermeQuellenAnlagentechnikTrinkwarmwasser.Februar,
+ Maerz: result.WaermeQuellenAnlagentechnikHeizungMaerz + WaermeQuellenAnlagentechnikTrinkwarmwasser.Maerz,
+ April: result.WaermeQuellenAnlagentechnikHeizungApril + WaermeQuellenAnlagentechnikTrinkwarmwasser.April,
+ Mai: result.WaermeQuellenAnlagentechnikHeizungMai + WaermeQuellenAnlagentechnikTrinkwarmwasser.Mai,
+ Juni: result.WaermeQuellenAnlagentechnikHeizungJuni + WaermeQuellenAnlagentechnikTrinkwarmwasser.Juni,
+ Juli: result.WaermeQuellenAnlagentechnikHeizungJuli + WaermeQuellenAnlagentechnikTrinkwarmwasser.Juli,
+ August: result.WaermeQuellenAnlagentechnikHeizungAugust + WaermeQuellenAnlagentechnikTrinkwarmwasser.August,
+ September: result.WaermeQuellenAnlagentechnikHeizungSeptember + WaermeQuellenAnlagentechnikTrinkwarmwasser.September,
+ Oktober: result.WaermeQuellenAnlagentechnikHeizungOktober + WaermeQuellenAnlagentechnikTrinkwarmwasser.Oktober,
+ November: result.WaermeQuellenAnlagentechnikHeizungNovember + WaermeQuellenAnlagentechnikTrinkwarmwasser.November,
+ Dezember: result.WaermeQuellenAnlagentechnikHeizungDezember + WaermeQuellenAnlagentechnikTrinkwarmwasser.Dezember
+ };
+ const summeWaermeQuellenAnlagentechnikGesamt = Object.values(WaermeQuellenAnlagentechnikGesamt).reduce((acc, value) => acc + value, 0);
+
+
// Beispielwerte Planung werden aus Eingabe geholt
let NettoGrundflaeche = 154.2;
let WaermeQuellenBewohner = 45; // bis 2 Wohneinheiten sonst 90
@@ -23,7 +54,7 @@ export function A11BerechnungWaermequellenZusammenstellung() {
let TageMonat = {
Januar: 31,
Februar: 28,
- März: 31,
+ Maerz: 31,
April: 30,
Mai: 31,
Juni: 30,
@@ -38,7 +69,7 @@ export function A11BerechnungWaermequellenZusammenstellung() {
const interneWaermeQuellenProMonat = {
Januar: (NettoGrundflaeche * WaermeQuellenBewohner * TageMonat.Januar) / 1000,
Februar: (NettoGrundflaeche * WaermeQuellenBewohner * TageMonat.Februar) / 1000,
- März: (NettoGrundflaeche * WaermeQuellenBewohner * TageMonat.März) / 1000,
+ Maerz: (NettoGrundflaeche * WaermeQuellenBewohner * TageMonat.Maerz) / 1000,
April: (NettoGrundflaeche * WaermeQuellenBewohner * TageMonat.April) / 1000,
Mai: (NettoGrundflaeche * WaermeQuellenBewohner * TageMonat.Mai) / 1000,
Juni: (NettoGrundflaeche * WaermeQuellenBewohner * TageMonat.Juni) / 1000,
@@ -50,6 +81,31 @@ export function A11BerechnungWaermequellenZusammenstellung() {
Dezember: (NettoGrundflaeche * WaermeQuellenBewohner * TageMonat.Dezember) / 1000
};
+ const interneWaermeQuellenGesamt = Object.values(interneWaermeQuellenProMonat).reduce((acc, value) => acc + value, 0);
+
+ const WaermeQuellenGesamt = {
+ Januar: interneWaermeQuellenProMonat.Januar + summeErgebnisseJanuar + WaermeQuellenAnlagentechnikGesamt.Januar,
+ Februar: interneWaermeQuellenProMonat.Februar + summeErgebnisseFebruar + WaermeQuellenAnlagentechnikGesamt.Februar,
+ Maerz: interneWaermeQuellenProMonat.Maerz + summeErgebnisseMaerz + WaermeQuellenAnlagentechnikGesamt.Maerz,
+ April: interneWaermeQuellenProMonat.April + summeErgebnisseApril + WaermeQuellenAnlagentechnikGesamt.April,
+ Mai: interneWaermeQuellenProMonat.Mai + summeErgebnisseMai + WaermeQuellenAnlagentechnikGesamt.Mai,
+ Juni: interneWaermeQuellenProMonat.Juni + summeErgebnisseJuni + WaermeQuellenAnlagentechnikGesamt.Juni,
+ Juli: interneWaermeQuellenProMonat.Juli + summeErgebnisseJuli + WaermeQuellenAnlagentechnikGesamt.Juli,
+ August: interneWaermeQuellenProMonat.August + summeErgebnisseAugust + WaermeQuellenAnlagentechnikGesamt.August,
+ September: interneWaermeQuellenProMonat.September + summeErgebnisseSeptember + WaermeQuellenAnlagentechnikGesamt.September,
+ Oktober: interneWaermeQuellenProMonat.Oktober + summeErgebnisseOktober + WaermeQuellenAnlagentechnikGesamt.Oktober,
+ November: interneWaermeQuellenProMonat.November + summeErgebnisseNovember + WaermeQuellenAnlagentechnikGesamt.November,
+ Dezember: interneWaermeQuellenProMonat.Dezember + summeErgebnisseDezember + WaermeQuellenAnlagentechnikGesamt.Dezember
+ };
+
+ const summeWaermeQuellenGesamt = Object.values(WaermeQuellenGesamt).reduce((acc, value) => acc + value, 0);
+
+ const WaermeQuellenGesamtLeistung = Object.keys(WaermeQuellenGesamt).reduce((acc: { [key: string]: number }, month) => {
+ acc[month] = (WaermeQuellenGesamt[month as keyof typeof WaermeQuellenGesamt] / (24 * TageMonat[month as keyof typeof TageMonat]) * 1000);
+ return acc;
+ }, {});
+
+ const summeWaermeQuellenGesamtLeistung = Object.values(WaermeQuellenGesamtLeistung).reduce((acc, value) => acc + value, 0);
return {
TageMonat,
@@ -65,7 +121,17 @@ export function A11BerechnungWaermequellenZusammenstellung() {
summeErgebnisseOktober,
summeErgebnisseNovember,
summeErgebnisseDezember,
- interneWaermeQuellenProMonat
+ interneWaermeQuellenProMonat,
+ NettoGrundflaeche,
+ WaermeQuellenBewohner,
+ WaermeQuellenAnlagentechnikGesamt,
+ WaermeQuellenGesamt,
+ WaermeQuellenGesamtLeistung,
+ summeErgebnisseGesamt,
+ interneWaermeQuellenGesamt,
+ summeWaermeQuellenAnlagentechnikGesamt,
+ summeWaermeQuellenGesamt,
+ summeWaermeQuellenGesamtLeistung
}
}
\ No newline at end of file
diff --git a/src/lib/Berechnungen/BedarfsausweisWohnen/A12BerechnungNutzenergiebedarfHeizung.ts b/src/lib/Berechnungen/BedarfsausweisWohnen/A12BerechnungNutzenergiebedarfHeizung.ts
index 0cb33656..72bc64d0 100644
--- a/src/lib/Berechnungen/BedarfsausweisWohnen/A12BerechnungNutzenergiebedarfHeizung.ts
+++ b/src/lib/Berechnungen/BedarfsausweisWohnen/A12BerechnungNutzenergiebedarfHeizung.ts
@@ -3,6 +3,7 @@ import { funktionBilanzInnentemperatur } from "#lib/Berechnungen/BedarfsausweisW
import { funktionAusnutzungsgrad } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionAusnutzungsgrad.js";
import { A6BerechnungWaermeTransferMaxStroemeLueftungGesamt } from "#lib/Berechnungen/BedarfsausweisWohnen/A6BerechnungWaermeTransferMaxStroemeLueftungGesamt.js";
import { A5BerechnungWaermeTransferMaxStroemeBauteile } from "#lib/Berechnungen/BedarfsausweisWohnen/A5BerechnungWaermeTransferMaxStroemeBauteile.js";
+import { A11BerechnungWaermequellenZusammenstellung } from "#lib/Berechnungen/BedarfsausweisWohnen/A11BerechnungWaermequellenZusammenstellung.js";
export function A12BerechnungNutzenergiebedarfHeizung() {
diff --git a/src/lib/Berechnungen/BedarfsausweisWohnen/A7A2BerechnungWaermequellenSolareEinstrahlung.ts b/src/lib/Berechnungen/BedarfsausweisWohnen/A7A2BerechnungWaermequellenSolareEinstrahlung.ts
index f5fe9d55..b4fc4b88 100644
--- a/src/lib/Berechnungen/BedarfsausweisWohnen/A7A2BerechnungWaermequellenSolareEinstrahlung.ts
+++ b/src/lib/Berechnungen/BedarfsausweisWohnen/A7A2BerechnungWaermequellenSolareEinstrahlung.ts
@@ -146,8 +146,6 @@ export function A7A2BerechnungWaermequellenSolareEinstrahlung() {
});
- console.log(ErgebnisseJanuar[1]);
- console.log(ErgebnisseMonatsWerteJanuar);
const summeErgebnisseJanuar = ErgebnisseJanuar.reduce((acc, val) => acc + val, 0);
const summeErgebnisseFebruar = ErgebnisseFebruar.reduce((acc, val) => acc + val, 0);
diff --git a/src/lib/Berechnungen/BedarfsausweisWohnen/A8BerechnungWaermequellenAusAnlagentechnikHeizung.ts b/src/lib/Berechnungen/BedarfsausweisWohnen/A8BerechnungWaermequellenAusAnlagentechnikHeizung.ts
index 7cbbfb6a..f41c85eb 100644
--- a/src/lib/Berechnungen/BedarfsausweisWohnen/A8BerechnungWaermequellenAusAnlagentechnikHeizung.ts
+++ b/src/lib/Berechnungen/BedarfsausweisWohnen/A8BerechnungWaermequellenAusAnlagentechnikHeizung.ts
@@ -1,5 +1,6 @@
import { A12BerechnungNutzenergiebedarfHeizung } from "#lib/Berechnungen/BedarfsausweisWohnen/A12BerechnungNutzenergiebedarfHeizung.js";
-import { A11BerechnungWaermequellenZusammenstellung } from "#lib/Berechnungen/BedarfsausweisWohnen/A11BerechnungWaermequellenZusammenstellung.js";
+import { A7A2BerechnungWaermequellenSolareEinstrahlung } from "#lib/Berechnungen/BedarfsausweisWohnen/A7A2BerechnungWaermequellenSolareEinstrahlung.js";
+import { funktionInterneWaermequellen } from "./funktionInterneWaermequellen.js";
export function A8BerechnungWaermequellenAusAnlagentechnikHeizung() {
@@ -7,20 +8,22 @@ const result = A12BerechnungNutzenergiebedarfHeizung();
const waermeSenken = result.waermeSenken;
const belastungsgrade = result.belastungsgrade;
-const resultA11 = A11BerechnungWaermequellenZusammenstellung();
-const interneWaermeQuellenProMonat = resultA11.interneWaermeQuellenProMonat;
-const summeErgebnisseJanuar = resultA11.summeErgebnisseJanuar;
-const summeErgebnisseFebruar = resultA11.summeErgebnisseFebruar;
-const summeErgebnisseMaerz = resultA11.summeErgebnisseMaerz;
-const summeErgebnisseApril = resultA11.summeErgebnisseApril;
-const summeErgebnisseMai = resultA11.summeErgebnisseMai;
-const summeErgebnisseJuni = resultA11.summeErgebnisseJuni;
-const summeErgebnisseJuli = resultA11.summeErgebnisseJuli;
-const summeErgebnisseAugust = resultA11.summeErgebnisseAugust;
-const summeErgebnisseSeptember = resultA11.summeErgebnisseSeptember;
-const summeErgebnisseOktober = resultA11.summeErgebnisseOktober;
-const summeErgebnisseNovember = resultA11.summeErgebnisseNovember;
-const summeErgebnisseDezember = resultA11.summeErgebnisseDezember;
+const einstrahlung = A7A2BerechnungWaermequellenSolareEinstrahlung();
+ const summeErgebnisseJanuar = einstrahlung.summeErgebnisseJanuar;
+ const summeErgebnisseFebruar = einstrahlung.summeErgebnisseFebruar;
+ const summeErgebnisseMaerz = einstrahlung.summeErgebnisseMaerz;
+ const summeErgebnisseApril = einstrahlung.summeErgebnisseApril;
+ const summeErgebnisseMai = einstrahlung.summeErgebnisseMai;
+ const summeErgebnisseJuni = einstrahlung.summeErgebnisseJuni;
+ const summeErgebnisseJuli = einstrahlung.summeErgebnisseJuli;
+ const summeErgebnisseAugust = einstrahlung.summeErgebnisseAugust;
+ const summeErgebnisseSeptember = einstrahlung.summeErgebnisseSeptember;
+ const summeErgebnisseOktober = einstrahlung.summeErgebnisseOktober;
+ const summeErgebnisseNovember = einstrahlung.summeErgebnisseNovember;
+ const summeErgebnisseDezember = einstrahlung.summeErgebnisseDezember;
+
+const resultInterneWaermeQuellen = funktionInterneWaermequellen();
+const interneWaermeQuellenProMonat = resultInterneWaermeQuellen.interneWaermeQuellenProMonat;
let TageMonat = {
Januar: 31,
@@ -164,7 +167,8 @@ return {
WaermeQuellenAnlagentechnikHeizungSeptember,
WaermeQuellenAnlagentechnikHeizungOktober,
WaermeQuellenAnlagentechnikHeizungNovember,
- WaermeQuellenAnlagentechnikHeizungDezember
+ WaermeQuellenAnlagentechnikHeizungDezember,
+ FaktorNutzbareWaerme
};
}
\ No newline at end of file
diff --git a/src/lib/Berechnungen/BedarfsausweisWohnen/A9BerechnungNutzenergiebedarfTrinkwarmwasser.ts b/src/lib/Berechnungen/BedarfsausweisWohnen/A9BerechnungNutzenergiebedarfTrinkwarmwasser.ts
index fffd9b00..a81dbc48 100644
--- a/src/lib/Berechnungen/BedarfsausweisWohnen/A9BerechnungNutzenergiebedarfTrinkwarmwasser.ts
+++ b/src/lib/Berechnungen/BedarfsausweisWohnen/A9BerechnungNutzenergiebedarfTrinkwarmwasser.ts
@@ -11,10 +11,10 @@ import { linearInterpolation } from "js-interpolate"
* @param {GebaeudeAufnahmeClient} gebaeude_aufnahme
*/
export function A9BerechnungNutzenergiebedarfTrinkwarmwasser(ausweis: BedarfsausweisWohnenClient, gebaeude_aufnahme: GebaeudeAufnahmeClient) {
- // A_NGF
- const bezugsflaeche = gebaeude_aufnahme.nutzflaeche ?? 0;
+ // A_NGF aus Eingabe
+ const bezugsflaeche = 154.2;
- const einheiten = gebaeude_aufnahme.einheiten ?? 1;
+ const einheiten = 1;
// A_NGF,WE,m
const flaecheProEinheit = bezugsflaeche / einheiten;
@@ -39,11 +39,34 @@ export function A9BerechnungNutzenergiebedarfTrinkwarmwasser(ausweis: Bedarfsaus
// 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;
+ const tageMonat = {
+ Januar: 31,
+ Februar: 28,
+ Maerz: 31,
+ April: 30,
+ Mai: 31,
+ Juni: 30,
+ Juli: 31,
+ August: 31,
+ September: 30,
+ Oktober: 31,
+ November: 30,
+ Dezember: 31
+ };
+
+ const trinkwasserWaermebedarf = Object.fromEntries(
+ Object.entries(tageMonat).map(([monat, tage]) => [
+ monat,
+ (bezugsflaeche * flaechenBezogenerWaermebedarf * tage) / 365
+ ])
+ );
+
+ const trinkwasserWaermebedarfJahr = Object.values(trinkwasserWaermebedarf).reduce((sum, value) => sum + value, 0);
return {
trinkwasserWaermebedarf,
flaechenBezogenerWaermebedarf,
- bezugsflaeche
+ bezugsflaeche,
+ trinkwasserWaermebedarfJahr
}
}
\ No newline at end of file
diff --git a/src/lib/Berechnungen/BedarfsausweisWohnen/funktionInterneWaermequellen.ts b/src/lib/Berechnungen/BedarfsausweisWohnen/funktionInterneWaermequellen.ts
new file mode 100644
index 00000000..55b0dc24
--- /dev/null
+++ b/src/lib/Berechnungen/BedarfsausweisWohnen/funktionInterneWaermequellen.ts
@@ -0,0 +1,44 @@
+ export function funktionInterneWaermequellen() {
+
+ // Beispielwerte Planung werden aus Eingabe geholt
+ let NettoGrundflaeche = 154.2;
+ let WaermeQuellenBewohner = 45; // bis 2 Wohneinheiten sonst 90
+
+ let TageMonat = {
+ Januar: 31,
+ Februar: 28,
+ März: 31,
+ April: 30,
+ Mai: 31,
+ Juni: 30,
+ Juli: 31,
+ August: 31,
+ September: 30,
+ Oktober: 31,
+ November: 30,
+ Dezember: 31
+ };
+
+ const interneWaermeQuellenProMonat = {
+ Januar: (NettoGrundflaeche * WaermeQuellenBewohner * TageMonat.Januar) / 1000,
+ Februar: (NettoGrundflaeche * WaermeQuellenBewohner * TageMonat.Februar) / 1000,
+ März: (NettoGrundflaeche * WaermeQuellenBewohner * TageMonat.März) / 1000,
+ April: (NettoGrundflaeche * WaermeQuellenBewohner * TageMonat.April) / 1000,
+ Mai: (NettoGrundflaeche * WaermeQuellenBewohner * TageMonat.Mai) / 1000,
+ Juni: (NettoGrundflaeche * WaermeQuellenBewohner * TageMonat.Juni) / 1000,
+ Juli: (NettoGrundflaeche * WaermeQuellenBewohner * TageMonat.Juli) / 1000,
+ August: (NettoGrundflaeche * WaermeQuellenBewohner * TageMonat.August) / 1000,
+ September: (NettoGrundflaeche * WaermeQuellenBewohner * TageMonat.September) / 1000,
+ Oktober: (NettoGrundflaeche * WaermeQuellenBewohner * TageMonat.Oktober) / 1000,
+ November: (NettoGrundflaeche * WaermeQuellenBewohner * TageMonat.November) / 1000,
+ Dezember: (NettoGrundflaeche * WaermeQuellenBewohner * TageMonat.Dezember) / 1000
+ };
+
+return {
+
+ interneWaermeQuellenProMonat
+
+}
+
+
+}
\ No newline at end of file
diff --git a/src/pages/DIN18599/berechnungstabellen/index.astro b/src/pages/DIN18599/berechnungstabellen/index.astro
index ba4c9639..46db0994 100644
--- a/src/pages/DIN18599/berechnungstabellen/index.astro
+++ b/src/pages/DIN18599/berechnungstabellen/index.astro
@@ -11,7 +11,7 @@ import A5WaermeTransferMaxStroemeBauteile from "#components/Tabellen/A5WaermeTra
import A6WaermeTransferMaxStroemeGesamt from "#components/Tabellen/A6WaermeTransferMaxStroemeGesamt.svelte";
import A7WaermequellenSolareEinstrahlung from "#components/Tabellen/A7WaermequellenSolareEinstrahlung.svelte";
import A8WaermequellenAnlagentechnikHeizung from "#components/Tabellen/A8WaermequellenAnlagentechnikHeizung.svelte";
-import A9Trinkwassererwaermung from "#components/Tabellen/A9Trinkwassererwaermung.svelte";
+import A9NutzenergiebedarfTrinkwarmwasser from "#components/Tabellen/A9NutzenergiebedarfTrinkwarmwasser.svelte";
import A10WaermequellenAnlagentechnikTrinkwarmwasser from "#components/Tabellen/A10WaermequellenAnlagentechnikTrinkwarmwasser.svelte";
import A11WaermequellenZusammenstellung from "#components/Tabellen/A11WaermequellenZusammenstellung.svelte";
import A12NutzenergiebedarfHeizung from "#components/Tabellen/A12NutzenergiebedarfHeizung.svelte";
@@ -94,23 +94,23 @@ const ausweis: BedarfsausweisWohnenClient = {};
-
+
-
+
-
+
-
+
-
+
-
+