Berechnung Trinkwarmwasser und Implementierung in Tabelle

This commit is contained in:
Moritz Utcke
2024-12-29 13:44:41 +07:00
parent 7c1963ffcc
commit 9630c9ddaf
3 changed files with 136 additions and 107 deletions

View File

@@ -0,0 +1,126 @@
<script lang="ts">
import { BedarfsausweisWohnenClient, GebaeudeAufnahmeClient } from "#components/Ausweis/types.js";
export let ausweis: BedarfsausweisWohnenClient;
export let gebaeude_aufnahme: GebaeudeAufnahmeClient;
import { berechnungTrinkwarmwasserWaermebedarf } from "#lib/Berechnungen/BedarfsausweisWohnen/BerechnungTrinkwarmwasser.js";
let trinkwasserWaermebedarf = 0, flaechenBezogenerWaermebedarf = 0, bezugsflaeche = 0
$: {
const result = berechnungTrinkwarmwasserWaermebedarf(ausweis, gebaeude_aufnahme)
trinkwasserWaermebedarf = result.trinkwasserWaermebedarf
flaechenBezogenerWaermebedarf = result.flaechenBezogenerWaermebedarf
bezugsflaeche = result.bezugsflaeche
}
</script>
<div class="overflow-x-auto mt-16">
<table class="table-auto border-collapse border border-gray-300 w-full text-sm">
<!-- Tabellenkopf -->
<thead>
<tr class="bg-gray-200 text-left">
<th colspan="3" class="border border-gray-300 p-2">
<h2>Tabelle A.9 Trinkwassererwärmung Berechnung des Wärmebedarfs zur Trinkwassererwärmung</h2>
</th>
</tr>
<tr class="text-center">
<th class="w-1/4 border border-gray-300 p-2">Bezugsfläche <br> A<sub>NGF</sub> [m²] <br> (1)</th>
<th class="w-1/4 border border-gray-300 p-2">Flächenbezogener Wärmebedarf <br> q<sub>w,b</sub> [kWh/(m²·a)] aus Tabell 19<br> (2)</th>
<th class="border border-gray-300 p-2">Trinkwasserwärmebedarf <br> Q<sub>w,b</sub> = A<sub>NGF</sub> ⋅ q<sub>w,b</sub> ⋅ d<sub>mth</sub> / 365 [kWh]<br>(4) = (1) · (2) · (3) / 365</th>
</tr>
<tr class="text-center h-10">
<th class="w-1/4 border border-gray-300 p-2 bg-yellow-100">
<input type="number" bind:value={gebaeude_aufnahme.flaeche}>
</th>
<th class="w-1/4 border border-gray-300 p-2 bg-blue-100">{flaechenBezogenerWaermebedarf}</th>
</tr>
<tr class="text-center">
<th class="w-1/4 border border-gray-300 p-2">Monat</th>
<th class="w-1/4 border border-gray-300 p-2">Tage im Monat<br>d<sub>mth</sub> [d] (3)</th>
</tr>
</thead>
<!-- Tabellenkörper -->
<tbody>
<!-- Monatszeilen -->
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Januar</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center">{trinkwasserWaermebedarf / 365 * 31}</td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Februar</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">28</td>
<td class="border-2 border-gray-600 p-2 text-center">{trinkwasserWaermebedarf / 365 * 28}</td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">März</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center">{trinkwasserWaermebedarf / 365 * 31}</td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">April</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">30</td>
<td class="border-2 border-gray-600 p-2 text-center">{trinkwasserWaermebedarf / 365 * 30}</td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Mai</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center">{trinkwasserWaermebedarf / 365 * 31}</td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Juni</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">30</td>
<td class="border-2 border-gray-600 p-2 text-center">{trinkwasserWaermebedarf / 365 * 30}</td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Juli</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center">{trinkwasserWaermebedarf / 365 * 31}</td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">August</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center">{trinkwasserWaermebedarf / 365 * 31}</td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">September</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">30</td>
<td class="border-2 border-gray-600 p-2 text-center">{trinkwasserWaermebedarf / 365 * 30}</td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Oktober</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center">{trinkwasserWaermebedarf / 365 * 31}</td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">November</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">30</td>
<td class="border-2 border-gray-600 p-2 text-center">{trinkwasserWaermebedarf / 365 * 30}</td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Dezember</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center">{trinkwasserWaermebedarf / 365 * 31}</td>
</tr>
<!-- Summenzeile -->
<tr>
<td colspan="1" class="border border-gray-300 p-2 text-center font-bold">
</td>
<td colspan="1" class="border border-gray-300 p-2 text-center font-bold">
Jahressumme Q<sub>w,b</sub> [kWh/a]
</td>
<td colspan="1" class="border-2 border-gray-600 p-2 text-center font-bold">
{trinkwasserWaermebedarf}
</td>
</tr>
<!-- Fußzeile -->
<tr>
<td colspan="3" class="border border-gray-300 p-2 text-left text-xs">
</td>
</tr>
</tbody>
</table>
</div>

View File

@@ -8,6 +8,7 @@ import { linearInterpolation } from "js-interpolate"
* @see 18599-Tabellenverfahren-Wohngebaeude.pdf
* @export
* @param {BedarfsausweisWohnenClient} ausweis
* @param {GebaeudeAufnahmeClient} gebaeude_aufnahme
*/
export function berechnungTrinkwarmwasserWaermebedarf(ausweis: BedarfsausweisWohnenClient, gebaeude_aufnahme: GebaeudeAufnahmeClient) {
// A_NGF
@@ -39,5 +40,9 @@ export function berechnungTrinkwarmwasserWaermebedarf(ausweis: BedarfsausweisWoh
// 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
return {
trinkwasserWaermebedarf,
flaechenBezogenerWaermebedarf,
bezugsflaeche
}
}

View File

@@ -3,12 +3,14 @@
import Layout from "#layouts/Layout.astro";
import { berechnungNutzenergiebedarfHeizen } from "#lib/Berechnungen/BedarfsausweisWohnen/BerechnungNutzenergiebedarfHeizen.js"
import A12BerechnungNutzenergiebedarf from "#components/Tabellen/A12BerechnungNutzenergiebedarf.svelte";
import { BedarfsausweisWohnenClient } from "#components/Ausweis/types";
import { BedarfsausweisWohnenClient, GebaeudeAufnahmeClient } from "#components/Ausweis/types";
import A1AnlagenBeschreibung from "#components/Tabellen/A1AnlagenBeschreibung.svelte";
import A2Wintergarten from "#components/Tabellen/A2Wintergarten.svelte";
import A5Waermetransferkoeffizienten from "#components/Tabellen/A5Waermetransferkoeffizienten.svelte";
import A9Trinkwassererwaermung from "#components/Tabellen/A9Trinkwassererwaermung.svelte";
const ausweis: BedarfsausweisWohnenClient = {};
const gebaeude_aufnahme: GebaeudeAufnahmeClient = { flaeche: 152 }
---
@@ -746,112 +748,8 @@ const ausweis: BedarfsausweisWohnenClient = {};
</table>
</div>
<div class="overflow-x-auto mt-16">
<table class="table-auto border-collapse border border-gray-300 w-full text-sm">
<!-- Tabellenkopf -->
<thead>
<tr class="bg-gray-200 text-left">
<th colspan="3" class="border border-gray-300 p-2">
<h2>Tabelle A.9 Trinkwassererwärmung Berechnung des Wärmebedarfs zur Trinkwassererwärmung</h2>
</th>
</tr>
<tr class="text-center">
<th class="w-1/4 border border-gray-300 p-2">Bezugsfläche <br> A<sub>NGF</sub> [m²] <br> (1)</th>
<th class="w-1/4 border border-gray-300 p-2">Flächenbezogener Wärmebedarf <br> q<sub>w,b</sub> [kWh/(m²·a)] aus Tabell 19<br> (2)</th>
<th class="border border-gray-300 p-2">Trinkwasserwärmebedarf <br> Q<sub>w,b</sub> = A<sub>NGF</sub> ⋅ q<sub>w,b</sub> ⋅ d<sub>mth</sub> / 365 [kWh]<br>(4) = (1) · (2) · (3) / 365</th>
</tr>
<tr class="text-center h-10">
<th class="w-1/4 border border-gray-300 p-2 bg-yellow-100"></th>
<th class="w-1/4 border border-gray-300 p-2 bg-blue-100"></th>
</tr>
<tr class="text-center">
<th class="w-1/4 border border-gray-300 p-2">Monat</th>
<th class="w-1/4 border border-gray-300 p-2">Tage im Monat<br>d<sub>mth</sub> [d] (3)</th>
</tr>
</thead>
<A9Trinkwassererwaermung {ausweis} {gebaeude_aufnahme} client:load></A9Trinkwassererwaermung>
<!-- Tabellenkörper -->
<tbody>
<!-- Monatszeilen -->
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Januar</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Februar</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">28</td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">März</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">April</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">30</td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Mai</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Juni</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">30</td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Juli</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">August</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">September</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">30</td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Oktober</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">November</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">30</td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Dezember</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
</tr>
<!-- Summenzeile -->
<tr>
<td colspan="1" class="border border-gray-300 p-2 text-center font-bold">
</td>
<td colspan="1" class="border border-gray-300 p-2 text-center font-bold">
Jahressumme Q<sub>w,b</sub> [kWh/a]
</td>
<td colspan="1" class="border-2 border-gray-600 p-2 text-center font-bold">
</td>
</tr>
<!-- Fußzeile -->
<tr>
<td colspan="3" class="border border-gray-300 p-2 text-left text-xs">
</td>
</tr>
</tbody>
</table>
</div>
<div class="overflow-x-auto mt-16">
<table class="table-auto border-collapse border border-gray-300 w-full text-sm">
<!-- Tabellenkopf -->