Berechnung A6 Heizlast und Zeitkonstante fertiggestellt

This commit is contained in:
Jens Cornelsen
2025-01-23 17:38:18 +01:00
parent 2cbba122e9
commit 877a83ea0e
4 changed files with 137 additions and 19 deletions

View File

@@ -281,8 +281,8 @@
<td class="border-gray-300 p-2"></td>
<td class="border-gray-300 p-2"></td>
<td class="border-gray-300 p-2"></td>
<td class="border-2 border-gray-600 font-bold p-2">{Math.round(result.WaermeTransferKoeffizientGesamt*100)/100}</td>
<td class="border-2 border-gray-600 font-bold p-2">{Math.round(result.maximalerWaermestromGesamt)}</td>
<td class="border-2 border-gray-600 font-bold p-2">{Math.round(result.WaermeTransferKoeffizientBauteile*100)/100}</td>
<td class="border-2 border-gray-600 font-bold p-2">{Math.round(result.maximalerWaermestromBauteile)}</td>
</tr>
<tr class="text-center">
<td class="border-gray-300 p-2" colspan="2"></td>

View File

@@ -1,12 +1,12 @@
<script lang="ts">
import { BerechnungWaermeTransferMaxStroemeBauteile } from "#lib/Berechnungen/BedarfsausweisWohnen/BerechnungWaermeTransferMaxStroemeBauteile.js";
import { BerechnungWaermeTransferMaxStroemeLueftungGesamt } from "#lib/Berechnungen/BedarfsausweisWohnen/BerechnungWaermeTransferMaxStroemeLueftungGesamt.js";
import { BedarfsausweisWohnenClient, GebaeudeAufnahmeClient } from "#components/Ausweis/types.js";
export let ausweis: BedarfsausweisWohnenClient;
export let gebaeude_aufnahme: GebaeudeAufnahmeClient;
// Berechnete Werte aus A5
$: result = BerechnungWaermeTransferMaxStroemeBauteile();
$: result = BerechnungWaermeTransferMaxStroemeLueftungGesamt();
</script>
@@ -51,11 +51,11 @@ $: result = BerechnungWaermeTransferMaxStroemeBauteile();
<!-- Zeile für Lüftung -->
<tr>
<td class="border border-gray-300 p-2 text-center">Lüftung</td>
<td class="border border-gray-300 p-2 bg-blue-100 text-center"></td>
<td class="border border-gray-300 p-2 bg-blue-100 text-center">{Math.round(result.GesamtLuftwechselN*1000)/1000}</td>
<td class="border border-gray-300 p-2 text-center bg-yellow-100">{Math.round(result.ObjektNettoVolumenAlternativ*10)/10}</td>
<td class="border border-gray-300 p-2 text-center bg-gray-200">0,34</td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
<td class="border-2 border-gray-600 p-2 text-center">{Math.round(result.WaermeTransferKoeffizientLueftungN*100)/100}</td>
<td class="border-2 border-gray-600 p-2 text-center">{Math.round(result.maximalerWaermestromLueftungN)}</td>
</tr>
<!-- Summenzeile
<tr class="">
@@ -93,8 +93,8 @@ $: result = BerechnungWaermeTransferMaxStroemeBauteile();
</tr>
<tr>
<td class="border border-gray-300 p-2 font-bold text-center">Gesamtsummen</td>
<td class="border-2 border-gray-600 p-2"></td>
<td class="border-2 border-gray-600 p-2"></td>
<td class="border-2 border-gray-600 p-2 text-center">{Math.round(result.WaermeTransferKoeffizientGesamt*100)/100}</td>
<td class="border-2 border-gray-600 p-2 text-center">{Math.round(result.maximalerWaermestromGesamt)}</td>
</tr>
</tbody>
</table>
@@ -103,7 +103,7 @@ $: result = BerechnungWaermeTransferMaxStroemeBauteile();
<!-- Tabellenkopf -->
<thead>
<tr class="text-center">
<th colspan="3" class="border border-gray-300 p-2">Maximale Heizlast</th>
<th colspan="3" class="border border-gray-300 p-2">Maximale Heizlast und flächenbezugene Heizlast</th>
</tr>
<tr class="text-center">
<th class="border border-gray-300 p-2">Beschreibung</th>
@@ -132,9 +132,19 @@ $: result = BerechnungWaermeTransferMaxStroemeBauteile();
<td colspan="2" class="border border-gray-300 p-4 text-center">Φ<sub>h,max</sub> (W)</td>
</tr>
<tr>
<td class="border border-gray-300 p-2 text-center font-bold w-1/3">Flächenbezogene Heizlast</td>
<td class="border border-gray-300 p-4 text-left font-bold w-1/3">Maximale Heizlast</td>
<td class="border border-gray-300 p-2 text-center w-1/3"></td>
<td class="border-2 border-gray-600 p-2 text-center w-1/3">{Math.round(result.maximaleHeizlast)}</td>
</tr>
<tr>
<td class="p-2 text-left font-bold w-1/3"></td>
<td class="p-2 text-center w-1/3"></td>
<td class="p-2 text-center w-1/3"></td>
</tr>
<tr>
<td class="border border-gray-300 p-4 text-left font-bold w-1/3">Flächenbezogene Heizlast</td>
<td class="border border-gray-300 p-2 text-center w-1/3"> φ<sub>h,max</sub> = Φ<sub>h,max</sub> / A<sub>NGF</sub> (W/m²)</td>
<td class="border-2 border-gray-600 p-2 text-center w-1/3"></td>
<td class="border-2 border-gray-600 p-2 text-center w-1/3">{Math.round(result.FlaechgenbezogeneHeizlast*100)/100}</td>
</tr>
</tbody>
</table>
@@ -172,7 +182,7 @@ $: result = BerechnungWaermeTransferMaxStroemeBauteile();
<tr class="h-10">
<td class="p-2"></td>
<td class="p-2"></td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
<td class="border-2 border-gray-600 p-2 text-center">{Math.round(result.ZeitKonstante*100)/100}</td>
</tr>
</tbody>
</table>

View File

@@ -100,8 +100,8 @@ export function BerechnungWaermeTransferMaxStroemeBauteile() {
let GesamtHuellFlaeche = 0;
let WaermeTransferKoeffizientWaeremebruecken = 0;
let maximalerWaermestromWaermebruecken = 0;
let WaermeTransferKoeffizientGesamt = 0;
let maximalerWaermestromGesamt = 0;
let WaermeTransferKoeffizientBauteile = 0;
let maximalerWaermestromBauteile = 0;
let HuellFlaechenVolumenVerhaeltnis = 0;
@@ -212,13 +212,13 @@ export function BerechnungWaermeTransferMaxStroemeBauteile() {
WaermeTransferKoeffizientWaeremebruecken = GesamtHuellFlaeche * WaermeBrueckenZuschlag;
maximalerWaermestromWaermebruecken = WaermeTransferKoeffizientWaeremebruecken * maximaleTemperaturDifferenz;
WaermeTransferKoeffizientGesamt = WaermeTransferKoeffizientAussenwandWestKorrektur + WaermeTransferKoeffizientAussenwandSuedKorrektur +
WaermeTransferKoeffizientBauteile = WaermeTransferKoeffizientAussenwandWestKorrektur + WaermeTransferKoeffizientAussenwandSuedKorrektur +
WaermeTransferKoeffizientAussenwandNordKorrektur + WaermeTransferKoeffizientAussenwandOstKorrektur + WaermeTransferKoeffizientFensterWestKorrektur +
WaermeTransferKoeffizientFensterSuedKorrektur + WaermeTransferKoeffizientFensterNordKorrektur + WaermeTransferKoeffizientFensterOstKorrektur +
WaermeTransferKoeffizientHaustuerKorrektur + WaermeTransferKoeffizientFlachdachKorrektur + WaermeTransferKoeffizientBodenplatteKorrektur +
WaermeTransferKoeffizientWaeremebruecken;
maximalerWaermestromGesamt = WaermeTransferKoeffizientGesamt * maximaleTemperaturDifferenz;
maximalerWaermestromBauteile = WaermeTransferKoeffizientBauteile * maximaleTemperaturDifferenz;
return {
@@ -286,8 +286,8 @@ export function BerechnungWaermeTransferMaxStroemeBauteile() {
WaermeBrueckenZuschlag,
WaermeTransferKoeffizientWaeremebruecken,
maximalerWaermestromWaermebruecken,
WaermeTransferKoeffizientGesamt,
maximalerWaermestromGesamt,
WaermeTransferKoeffizientBauteile,
maximalerWaermestromBauteile,
HuellFlaechenVolumenVerhaeltnis,
AussenWandFlaecheWest,
AussenWandFlaecheSued,

View File

@@ -0,0 +1,108 @@
import { BerechnungWaermeTransferMaxStroemeBauteile } from "#lib/Berechnungen/BedarfsausweisWohnen/BerechnungWaermeTransferMaxStroemeBauteile.js";
export function BerechnungWaermeTransferMaxStroemeLueftungGesamt() {
const result = BerechnungWaermeTransferMaxStroemeBauteile();
const ObjektNettoVolumenAlternativ = result.ObjektNettoVolumenAlternativ;
const WaermeTransferKoeffizientBauteile = result.WaermeTransferKoeffizientBauteile;
const maximaleTemperaturDifferenz = result.maximaleTemperaturDifferenz;
const NettoGrundflaeche = result.NettoGrundflaeche;
let GesamtLuftwechselN0 = 0;
let GesamtLuftwechselN = 0;
let WaermeKapazitaet = 0;
let WaermeTransferKoeffizientLueftungN0 = 0;
let maximalerWaermestromLueftungN0 = 0;
let WaermeTransferKoeffizientGesamtN0 = 0;
let maximalerWaermestromGesamtN0 = 0;
let FaktorGebaeude = 0;
let FaktorWin2 = 0;
let FaktorWin1 = 0;
let WaermeTransferKoeffizientLueftungN = 0;
let maximalerWaermestromLueftungN = 0;
let WaermeTransferKoeffizientGesamt = 0;
let maximalerWaermestromGesamt = 0;
let mechanischeLueftung = "";
let maximaleHeizlast = 0;
let LuftwechselAnlage = 0;
let FlaechgenbezogeneHeizlast = 0;
let GebaeudeSchwere = 0;
let ZeitKonstante = 0;
// Aus Tabelle 12 (I Einhaltung Dichtheit nach DIN 4108-7, Abluftanlage, LuftwechselAnlage=0,40)
GesamtLuftwechselN0 = 0.52;
LuftwechselAnlage = 0.40;
// Konstante
WaermeKapazitaet = 0.34;
// Ermittlung FaktorWin2
WaermeTransferKoeffizientLueftungN0 = GesamtLuftwechselN0 * WaermeKapazitaet * ObjektNettoVolumenAlternativ;
maximalerWaermestromLueftungN0 = WaermeTransferKoeffizientLueftungN0 * maximaleTemperaturDifferenz;
WaermeTransferKoeffizientGesamtN0 = WaermeTransferKoeffizientBauteile + WaermeTransferKoeffizientLueftungN0;
maximalerWaermestromGesamtN0 = WaermeTransferKoeffizientGesamtN0 * maximaleTemperaturDifferenz;
FaktorGebaeude = WaermeTransferKoeffizientGesamtN0 / NettoGrundflaeche;
if (FaktorGebaeude < 1.2) {
FaktorWin2 = 0.901
}
else if (FaktorGebaeude >= 1.2 && FaktorGebaeude <= 1.7)
{
FaktorWin2 = 0.979
}
else if (FaktorGebaeude > 1.7)
{
FaktorWin2 = 1.066
}
// Aus Tabelle 13 ObjektNettoVolumenAlternativ <= 1500 (I Einhaltung Dichtheit nach DIN 4108-7, Abluftanlage, LuftwechselAnlage=0,40)
FaktorWin1 = 0.193;
// Berechnung WaermeTransferKoeffizientGesamt und maximalerWaermestromGesamt
GesamtLuftwechselN = GesamtLuftwechselN0 * (1 - FaktorWin1 + FaktorWin1 * FaktorWin2);
WaermeTransferKoeffizientLueftungN = GesamtLuftwechselN * WaermeKapazitaet * ObjektNettoVolumenAlternativ;
maximalerWaermestromLueftungN = WaermeTransferKoeffizientLueftungN * maximaleTemperaturDifferenz;
WaermeTransferKoeffizientGesamt = WaermeTransferKoeffizientBauteile + WaermeTransferKoeffizientLueftungN;
maximalerWaermestromGesamt = WaermeTransferKoeffizientGesamt * maximaleTemperaturDifferenz;
// Berechnung der maximalen Heizlast
mechanischeLueftung = "ja"; // Aus Planung
if (mechanischeLueftung = "ja")
{
maximaleHeizlast = (WaermeTransferKoeffizientBauteile + WaermeTransferKoeffizientLueftungN - 0.5 * ObjektNettoVolumenAlternativ * WaermeKapazitaet *
(GesamtLuftwechselN0 - LuftwechselAnlage)) * maximaleTemperaturDifferenz;
}
else
{
maximaleHeizlast = (WaermeTransferKoeffizientBauteile + 0.5 * WaermeTransferKoeffizientLueftungN) * maximaleTemperaturDifferenz;
}
// Berechnung der flächenbezogenen Heizlast
FlaechgenbezogeneHeizlast = maximaleHeizlast / NettoGrundflaeche;
// Berechnung der Zeitkonstante (Gebäudeschwere 130 aus Planung)
GebaeudeSchwere = 130;
ZeitKonstante = GebaeudeSchwere * NettoGrundflaeche / WaermeTransferKoeffizientGesamt;
return {
GesamtLuftwechselN,
ObjektNettoVolumenAlternativ,
WaermeTransferKoeffizientLueftungN,
maximalerWaermestromLueftungN,
WaermeTransferKoeffizientGesamt,
maximalerWaermestromGesamt,
maximaleHeizlast,
FlaechgenbezogeneHeizlast,
ZeitKonstante,
}
}