1410 lines
75 KiB
TypeScript
1410 lines
75 KiB
TypeScript
import { funktionMonatlicherBelastungsgradT9T11 } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionMonatlicherBelastungsgradT9T11.js";
|
||
import { funktionBilanzInnentemperaturT8T10 } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionBilanzInnentemperaturT8T10.js";
|
||
import { funktionAusnutzungsgradT18 } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionAusnutzungsgradT18.js";
|
||
import { linearInterpolation } from "js-interpolate"
|
||
import { AufnahmeClient, BedarfsausweisWohnenClient } from "#components/Ausweis/types.js"
|
||
import { Enums } from "#lib/client/prisma.js";
|
||
import { datasetGesamtluftWechselKorrekturfaktorT12T13 } from "#lib/Berechnungen/BedarfsausweisWohnen/datasetGesamtluftWechselKorrekturfaktorT12T13.js";
|
||
import { A7A2BerechnungWaermequellenSolareEinstrahlung } from "#lib/Berechnungen/BedarfsausweisWohnen/A7A2BerechnungWaermequellenSolareEinstrahlung.js";
|
||
import { funktionKorrekturfaktorMittlereBelastungT32 } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionKorrekturfaktorMittlereBelastungT32.js";
|
||
import { funktionNennleistungWaermeerzeugerWarmwasserT139 } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionNennleistungWaermeerzeugerWarmwasserT139.js";
|
||
import { funktionAufwandszahlErzeugungHeizungT77 } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionAufwandszahlErzeugungHeizungT77.js";
|
||
import { funktionKorrekturfaktorAufwandszahlenErzeugungHeizungT78 } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionKorrekturfaktorAufwandszahlenErzeugungHeizungT78.js";
|
||
import { funktionKorrekturfaktorAufwandszahlenErzeugungTemperaturOrtBrennwertT79 } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionKorrekturfaktorAufwandszahlenErzeugungTemperaturOrtBrennwertT79.js";
|
||
import { funktionKorrekturfaktorAufwandszahlenErzeugungHeizoelBrennwertT80 } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionKorrekturfaktorAufwandszahlenErzeugungHeizoelBrennwertT80.js";
|
||
import { funktionKorrekturfaktorAufwandszahlenErzeugungTemperaturOrtkeinBrennwertT81 } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionKorrekturfaktorAufwandszahlenErzeugungTemperaturOrtkeinBrennwertT81.js";
|
||
import { funktionAufwandszahlErzeugungHeizungUmlaufWasserheizerT82 } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionAufwandszahlErzeugungHeizungUmlaufWasserheizerT82.js";
|
||
import { funktionKorrekturfaktorAufwandszahlenErzeugungHeizungUmlaufWasserheizerT82 } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionKorrekturfaktorAufwandszahlenErzeugungHeizungUmlaufWasserheizerT82.js";
|
||
import { funktionWaermeVerlusteTrinkwarmwasserSpeicherT55T56 } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionWaermeVerlusteTrinkwarmwasserSpeicherT55T56.js";
|
||
import { FixedLengthArray } from "./types.js";
|
||
|
||
export function BedarfsausweisWohnen_18599(
|
||
ausweis: BedarfsausweisWohnenClient,
|
||
aufnahme: AufnahmeClient
|
||
): any {
|
||
|
||
// Tabelle A.5 — Gebäude – Berechnung Wärmetransferkoeffizienten
|
||
|
||
// Definition Variablen (Konstanten von DIN Vorgegeben)
|
||
const minimaleAussentemperatur = -12;
|
||
const innenTemperatur = 20;
|
||
const DeckenStaerke = 0.2;
|
||
|
||
// Wir rechnen mit Wärmebrückenzuschlag von 0,1 da kein Gleichwertigkeitsnachweis vorliegt und die Wärmebrücken nicht individuell berechnet werden
|
||
const WaermeBrueckenZuschlag = 0.10;
|
||
|
||
// Von DIN vorgegeben wird in der Regel nicht verändert
|
||
const teilBeheizung = "mit Teilbeheizung";
|
||
|
||
const GeschossHoehe = ausweis.geschosshoehe; // aus Eingabeformular Abschnitt C
|
||
const NettoGrundflaeche = aufnahme.nutzflaeche; // aus Eingabeformular Abschnitt B
|
||
const ObjektBruttoVolumen = ausweis.volumen; // aus Eingabeformular Abschnitt C
|
||
const LichteRaumHoehe = (GeschossHoehe ?? 0) - DeckenStaerke;
|
||
const ObjektNettoVolumen = (NettoGrundflaeche ?? 0) * LichteRaumHoehe;
|
||
const WohnEinheiten = aufnahme.einheiten || 1; // aus Eingabe
|
||
const maximaleTemperaturDifferenz = innenTemperatur - minimaleAussentemperatur;
|
||
|
||
|
||
|
||
// PLanungswerte aus Eingabeformular
|
||
|
||
const planungswerte_bauteil = ausweis.planungswerte_bauteil; // aus Eingabeformular Abschnitt F
|
||
|
||
let FaktorNettoVolumen = 0.76; // Zuweisung damit nicht null
|
||
|
||
// Berechnung für Tabelle A.5 Wärmetransferkoeffizienten
|
||
if (WohnEinheiten < 3) { FaktorNettoVolumen = 0.76; } else { FaktorNettoVolumen = 0.8; }
|
||
const ObjektNettoVolumenAlternativ = ObjektBruttoVolumen * FaktorNettoVolumen;
|
||
|
||
const ErgebnisseBauteile = planungswerte_bauteil.map(bauteil => {
|
||
const WaermeTransferKoeffizient = bauteil.WaermeDurchgangsKoeffizient * bauteil.Flaeche;
|
||
const WaermeTransferKoeffizientKorrektur = WaermeTransferKoeffizient * bauteil.TemperaturKorrekturFaktor;
|
||
const maximalerWaermestrom = WaermeTransferKoeffizientKorrektur * maximaleTemperaturDifferenz;
|
||
return {
|
||
Art: bauteil.art,
|
||
Orientierung: bauteil.orientierung,
|
||
Flaeche: bauteil.Flaeche,
|
||
WaermeDurchgangsKoeffizient: bauteil.WaermeDurchgangsKoeffizient,
|
||
WaermeTransferKoeffizient,
|
||
TemperaturKorrekturFaktor: bauteil.TemperaturKorrekturFaktor,
|
||
WaermeTransferKoeffizientKorrektur,
|
||
maximalerWaermestrom
|
||
};
|
||
});
|
||
|
||
const GesamtHuellFlaeche = planungswerte_bauteil.reduce((sum, bauteil) => sum + bauteil.Flaeche, 0);
|
||
|
||
const HuellFlaechenVolumenVerhaeltnis = GesamtHuellFlaeche / ObjektNettoVolumenAlternativ;
|
||
|
||
const WaermeTransferKoeffizientWaeremebruecken = GesamtHuellFlaeche * WaermeBrueckenZuschlag;
|
||
const maximalerWaermestromWaermebruecken = WaermeTransferKoeffizientWaeremebruecken * maximaleTemperaturDifferenz;
|
||
|
||
const WaermeTransferKoeffizientBauteile =
|
||
(ErgebnisseBauteile.reduce((sum, bauteil) => sum + bauteil.WaermeTransferKoeffizientKorrektur, 0))
|
||
+ WaermeTransferKoeffizientWaeremebruecken;
|
||
|
||
const maximalerWaermestromBauteile = WaermeTransferKoeffizientBauteile * maximaleTemperaturDifferenz;
|
||
// Ende Berechnung für Tabelle A.5 Wärmetransferkoeffizienten
|
||
//
|
||
|
||
|
||
// Formblatt A.6 – Gebäude – maximaler Wärmeströme
|
||
// Zuweisung damit nicht null
|
||
let GesamtLuftwechselN = 0;
|
||
let FaktorWin2 = 0;
|
||
let WaermeTransferKoeffizientLueftungN = 0;
|
||
let maximalerWaermestromLueftungN = 0;
|
||
let WaermeTransferKoeffizientGesamt = 0;
|
||
let maximalerWaermestromGesamt = 0;
|
||
let mechanischeLueftung = "";
|
||
let maximaleHeizlast = 0;
|
||
let FlaechgenbezogeneHeizlast = 0;
|
||
let GebaeudeSchwere = 0;
|
||
let ZeitKonstante = 1;
|
||
|
||
|
||
// Aus Tabelle 12 - Ausgabe der Werte aus datasetGesamtluftWechselKorrekturfaktorT12T13
|
||
|
||
// Zuweisung damit nicht null
|
||
let GesamtLuftwechselN0 = 0;
|
||
let LuftwechselAnlage = 0;
|
||
|
||
// Beispielwerte - Hier muss noch ein Abschnitt im Eingabeformular erstellt werden - UMBE
|
||
let LuftDichtheit = "KategorieImitGeplanterDichtheitspruefung";
|
||
let LueftungsArt = "FensterundInfiltration";
|
||
let LueftungsAnlage = "Abluftanlage";
|
||
let LueftungBedarfsgefuehrt = false;
|
||
|
||
const gefilterteWerte = datasetGesamtluftWechselKorrekturfaktorT12T13.filter(eintrag =>
|
||
eintrag.LuftDichtheit?.toLowerCase() === LuftDichtheit?.toLowerCase() &&
|
||
eintrag.LueftungsArt?.toLowerCase() === LueftungsArt?.toLowerCase() &&
|
||
eintrag.LueftungsAnlage?.toLowerCase() === LueftungsAnlage?.toLowerCase() &&
|
||
eintrag.LueftungBedarfsgefuehrt === false
|
||
);
|
||
|
||
if (gefilterteWerte.length === 0) {
|
||
console.warn("No matching entries found in datasetGesamtluftWechselKorrekturfaktorT12T13. Using default values.");
|
||
GesamtLuftwechselN0 = 0; // Standardwert
|
||
LuftwechselAnlage = 0; // Standardwert
|
||
} else if (gefilterteWerte.length === 1) {
|
||
GesamtLuftwechselN0 = gefilterteWerte[0].GesamtLuftwechselN0;
|
||
LuftwechselAnlage = gefilterteWerte[0].LuftwechselAnlage;
|
||
}
|
||
|
||
// Konstante aus DIN
|
||
const WaermeKapazitaet = 0.34;
|
||
|
||
|
||
// Ermittlung FaktorWin2
|
||
|
||
const WaermeTransferKoeffizientLueftungN0 = GesamtLuftwechselN0 * WaermeKapazitaet * ObjektNettoVolumenAlternativ;
|
||
const maximalerWaermestromLueftungN0 = WaermeTransferKoeffizientLueftungN0 * maximaleTemperaturDifferenz;
|
||
const WaermeTransferKoeffizientGesamtN0 = WaermeTransferKoeffizientBauteile + WaermeTransferKoeffizientLueftungN0;
|
||
const maximalerWaermestromGesamtN0 = WaermeTransferKoeffizientGesamtN0 * maximaleTemperaturDifferenz;
|
||
const 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 - Ausgabe der Werte aus datasetGesamtluftWechselKorrekturfaktorT12T13
|
||
|
||
// Damit nicht null um Fehlermeldung in Berechnung zu vermeiden
|
||
let FaktorWin1 = 0;
|
||
|
||
FaktorWin1 = gefilterteWerte[0]?.FaktorWin1 || 0;
|
||
|
||
// 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
|
||
|
||
if (Enums.LueftungsAnlage.Abluftanlage || Enums.LueftungsAnlage.ZuUndAbluftanlage) {
|
||
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
|
||
|
||
// Standardwert - Hier muss noch ein Abschnitt im Eingabeformular erstellt werden - UMBE
|
||
// leicht = 50
|
||
// mittelschwer = 90
|
||
// schwer = 130
|
||
GebaeudeSchwere = 90;
|
||
|
||
ZeitKonstante = GebaeudeSchwere * NettoGrundflaeche / WaermeTransferKoeffizientGesamt;
|
||
|
||
// Ende maximale Wärmeströme
|
||
//
|
||
|
||
|
||
// Formblatt A7, A2 - Solare Wärmequellen – Solare Einstrahlung
|
||
// Solare Wärmequellen
|
||
const einstrahlung = A7A2BerechnungWaermequellenSolareEinstrahlung(planungswerte_bauteil);
|
||
|
||
const ErgebnisseJanuar = einstrahlung.ErgebnisseJanuar;
|
||
const ErgebnisseMonatsWerteJanuar = einstrahlung.ErgebnisseMonatsWerteJanuar;
|
||
const ErgebnisseFebruar = einstrahlung.ErgebnisseFebruar;
|
||
const ErgebnisseMonatsWerteFebruar = einstrahlung.ErgebnisseMonatsWerteFebruar;
|
||
const ErgebnisseMaerz = einstrahlung.ErgebnisseMaerz;
|
||
const ErgebnisseMonatsWerteMaerz = einstrahlung.ErgebnisseMonatsWerteMaerz;
|
||
const ErgebnisseApril = einstrahlung.ErgebnisseApril;
|
||
const ErgebnisseMonatsWerteApril = einstrahlung.ErgebnisseMonatsWerteApril;
|
||
const ErgebnisseMai = einstrahlung.ErgebnisseMai;
|
||
const ErgebnisseMonatsWerteMai = einstrahlung.ErgebnisseMonatsWerteMai;
|
||
const ErgebnisseJuni = einstrahlung.ErgebnisseJuni;
|
||
const ErgebnisseMonatsWerteJuni = einstrahlung.ErgebnisseMonatsWerteJuni;
|
||
const ErgebnisseJuli = einstrahlung.ErgebnisseJuli;
|
||
const ErgebnisseMonatsWerteJuli = einstrahlung.ErgebnisseMonatsWerteJuli;
|
||
const ErgebnisseAugust = einstrahlung.ErgebnisseAugust;
|
||
const ErgebnisseMonatsWerteAugust = einstrahlung.ErgebnisseMonatsWerteAugust;
|
||
const ErgebnisseSeptember = einstrahlung.ErgebnisseSeptember;
|
||
const ErgebnisseMonatsWerteSeptember = einstrahlung.ErgebnisseMonatsWerteSeptember;
|
||
const ErgebnisseOktober = einstrahlung.ErgebnisseOktober;
|
||
const ErgebnisseMonatsWerteOktober = einstrahlung.ErgebnisseMonatsWerteOktober;
|
||
const ErgebnisseNovember = einstrahlung.ErgebnisseNovember;
|
||
const ErgebnisseMonatsWerteNovember = einstrahlung.ErgebnisseMonatsWerteNovember;
|
||
const ErgebnisseDezember = einstrahlung.ErgebnisseDezember;
|
||
const ErgebnisseMonatsWerteDezember = einstrahlung.ErgebnisseMonatsWerteDezember;
|
||
|
||
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 ErgebnisseWirksamerGesamtEnergieDurchlassGrad = einstrahlung.ErgebnisseWirksamerGesamtEnergieDurchlassGrad;
|
||
|
||
const PlanungswerteFenster = einstrahlung.PlanungswerteFenster;
|
||
|
||
const summeWaermeQuellenSolarGesamt = summeErgebnisseJanuar + summeErgebnisseFebruar + summeErgebnisseMaerz +
|
||
summeErgebnisseApril + summeErgebnisseMai + summeErgebnisseJuni + summeErgebnisseJuli +
|
||
summeErgebnisseAugust + summeErgebnisseSeptember + summeErgebnisseOktober + summeErgebnisseNovember +
|
||
summeErgebnisseDezember;
|
||
|
||
const summeFlaeche = einstrahlung.summeFlaeche;
|
||
|
||
const verteilungHeizung = ausweis.heizung_verteilung;
|
||
const speicherungHeizung = ausweis.heizung_speicherung;
|
||
const verteilungWarmwasser = ausweis.warmwasser_verteilung;
|
||
const speicherungWarmwasser = ausweis.warmwasser_speicherung;
|
||
// Ende Solare Wärmequellen
|
||
//
|
||
|
||
|
||
// Formblatt A8, A12 - Wärmesenken
|
||
// Wärmesenken - Zuweisung damit nicht null und es keinen Fehler in der Berechnung gibt
|
||
let waermeSenken = {
|
||
Januar: 0,
|
||
Februar: 0,
|
||
Maerz: 0,
|
||
April: 0,
|
||
Mai: 0,
|
||
Juni: 0,
|
||
Juli: 0,
|
||
August: 0,
|
||
September: 0,
|
||
Oktober: 0,
|
||
November: 0,
|
||
Dezember: 0
|
||
};
|
||
|
||
let belastungsgrade = {
|
||
Januar: 0,
|
||
Februar: 0,
|
||
Maerz: 0,
|
||
April: 0,
|
||
Mai: 0,
|
||
Juni: 0,
|
||
Juli: 0,
|
||
August: 0,
|
||
September: 0,
|
||
Oktober: 0,
|
||
November: 0,
|
||
Dezember: 0
|
||
};
|
||
|
||
let bilanzInnenTemperaturen = {
|
||
Januar: 0,
|
||
Februar: 0,
|
||
Maerz: 0,
|
||
April: 0,
|
||
Mai: 0,
|
||
Juni: 0,
|
||
Juli: 0,
|
||
August: 0,
|
||
September: 0,
|
||
Oktober: 0,
|
||
November: 0,
|
||
Dezember: 0
|
||
};
|
||
|
||
belastungsgrade.Januar = funktionMonatlicherBelastungsgradT9T11(FlaechgenbezogeneHeizlast, ZeitKonstante, "Januar");
|
||
belastungsgrade.Februar = funktionMonatlicherBelastungsgradT9T11(FlaechgenbezogeneHeizlast, ZeitKonstante, "Februar");
|
||
belastungsgrade.Maerz = funktionMonatlicherBelastungsgradT9T11(FlaechgenbezogeneHeizlast, ZeitKonstante, "März");
|
||
belastungsgrade.April = funktionMonatlicherBelastungsgradT9T11(FlaechgenbezogeneHeizlast, ZeitKonstante, "April");
|
||
belastungsgrade.Mai = funktionMonatlicherBelastungsgradT9T11(FlaechgenbezogeneHeizlast, ZeitKonstante, "Mai");
|
||
belastungsgrade.Juni = funktionMonatlicherBelastungsgradT9T11(FlaechgenbezogeneHeizlast, ZeitKonstante, "Juni");
|
||
belastungsgrade.Juli = funktionMonatlicherBelastungsgradT9T11(FlaechgenbezogeneHeizlast, ZeitKonstante, "Juli");
|
||
belastungsgrade.August = funktionMonatlicherBelastungsgradT9T11(FlaechgenbezogeneHeizlast, ZeitKonstante, "August");
|
||
belastungsgrade.September = funktionMonatlicherBelastungsgradT9T11(FlaechgenbezogeneHeizlast, ZeitKonstante, "September");
|
||
belastungsgrade.Oktober = funktionMonatlicherBelastungsgradT9T11(FlaechgenbezogeneHeizlast, ZeitKonstante, "Oktober");
|
||
belastungsgrade.November = funktionMonatlicherBelastungsgradT9T11(FlaechgenbezogeneHeizlast, ZeitKonstante, "November");
|
||
belastungsgrade.Dezember = funktionMonatlicherBelastungsgradT9T11(FlaechgenbezogeneHeizlast, ZeitKonstante, "Dezember");
|
||
|
||
bilanzInnenTemperaturen.Januar = funktionBilanzInnentemperaturT8T10(FlaechgenbezogeneHeizlast, ZeitKonstante, "Januar", WohnEinheiten, teilBeheizung);
|
||
bilanzInnenTemperaturen.Februar = funktionBilanzInnentemperaturT8T10(FlaechgenbezogeneHeizlast, ZeitKonstante, "Februar", WohnEinheiten, teilBeheizung);
|
||
bilanzInnenTemperaturen.Maerz = funktionBilanzInnentemperaturT8T10(FlaechgenbezogeneHeizlast, ZeitKonstante, "März", WohnEinheiten, teilBeheizung);
|
||
bilanzInnenTemperaturen.April = funktionBilanzInnentemperaturT8T10(FlaechgenbezogeneHeizlast, ZeitKonstante, "April", WohnEinheiten, teilBeheizung);
|
||
bilanzInnenTemperaturen.Mai = funktionBilanzInnentemperaturT8T10(FlaechgenbezogeneHeizlast, ZeitKonstante, "Mai", WohnEinheiten, teilBeheizung);
|
||
bilanzInnenTemperaturen.Juni = funktionBilanzInnentemperaturT8T10(FlaechgenbezogeneHeizlast, ZeitKonstante, "Juni", WohnEinheiten, teilBeheizung);
|
||
bilanzInnenTemperaturen.Juli = funktionBilanzInnentemperaturT8T10(FlaechgenbezogeneHeizlast, ZeitKonstante, "Juli", WohnEinheiten, teilBeheizung);
|
||
bilanzInnenTemperaturen.August = funktionBilanzInnentemperaturT8T10(FlaechgenbezogeneHeizlast, ZeitKonstante, "August", WohnEinheiten, teilBeheizung);
|
||
bilanzInnenTemperaturen.September = funktionBilanzInnentemperaturT8T10(FlaechgenbezogeneHeizlast, ZeitKonstante, "September", WohnEinheiten, teilBeheizung);
|
||
bilanzInnenTemperaturen.Oktober = funktionBilanzInnentemperaturT8T10(FlaechgenbezogeneHeizlast, ZeitKonstante, "Oktober", WohnEinheiten, teilBeheizung);
|
||
bilanzInnenTemperaturen.November = funktionBilanzInnentemperaturT8T10(FlaechgenbezogeneHeizlast, ZeitKonstante, "November", WohnEinheiten, teilBeheizung);
|
||
bilanzInnenTemperaturen.Dezember = funktionBilanzInnentemperaturT8T10(FlaechgenbezogeneHeizlast, ZeitKonstante, "Dezember", WohnEinheiten, teilBeheizung);
|
||
|
||
waermeSenken.Januar = maximalerWaermestromGesamt * (bilanzInnenTemperaturen.Januar - minimaleAussentemperatur) / (innenTemperatur - minimaleAussentemperatur) * belastungsgrade.Januar;
|
||
waermeSenken.Februar = maximalerWaermestromGesamt * (bilanzInnenTemperaturen.Februar - minimaleAussentemperatur) / (innenTemperatur - minimaleAussentemperatur) * belastungsgrade.Februar;
|
||
waermeSenken.Maerz = maximalerWaermestromGesamt * (bilanzInnenTemperaturen.Maerz - minimaleAussentemperatur) / (innenTemperatur - minimaleAussentemperatur) * belastungsgrade.Maerz;
|
||
waermeSenken.April = maximalerWaermestromGesamt * (bilanzInnenTemperaturen.April - minimaleAussentemperatur) / (innenTemperatur - minimaleAussentemperatur) * belastungsgrade.April;
|
||
waermeSenken.Mai = maximalerWaermestromGesamt * (bilanzInnenTemperaturen.Mai - minimaleAussentemperatur) / (innenTemperatur - minimaleAussentemperatur) * belastungsgrade.Mai;
|
||
waermeSenken.Juni = maximalerWaermestromGesamt * (bilanzInnenTemperaturen.Juni - minimaleAussentemperatur) / (innenTemperatur - minimaleAussentemperatur) * belastungsgrade.Juni;
|
||
waermeSenken.Juli = maximalerWaermestromGesamt * (bilanzInnenTemperaturen.Juli - minimaleAussentemperatur) / (innenTemperatur - minimaleAussentemperatur) * belastungsgrade.Juli;
|
||
waermeSenken.August = maximalerWaermestromGesamt * (bilanzInnenTemperaturen.August - minimaleAussentemperatur) / (innenTemperatur - minimaleAussentemperatur) * belastungsgrade.August;
|
||
waermeSenken.September = maximalerWaermestromGesamt * (bilanzInnenTemperaturen.September - minimaleAussentemperatur) / (innenTemperatur - minimaleAussentemperatur) * belastungsgrade.September;
|
||
waermeSenken.Oktober = maximalerWaermestromGesamt * (bilanzInnenTemperaturen.Oktober - minimaleAussentemperatur) / (innenTemperatur - minimaleAussentemperatur) * belastungsgrade.Oktober;
|
||
waermeSenken.November = maximalerWaermestromGesamt * (bilanzInnenTemperaturen.November - minimaleAussentemperatur) / (innenTemperatur - minimaleAussentemperatur) * belastungsgrade.November;
|
||
waermeSenken.Dezember = maximalerWaermestromGesamt * (bilanzInnenTemperaturen.Dezember - minimaleAussentemperatur) / (innenTemperatur - minimaleAussentemperatur) * belastungsgrade.Dezember;
|
||
// Ende Wärmesenken
|
||
//
|
||
|
||
|
||
// Formblatt A8 - interne Wärmequellen
|
||
// Interne Wärmequellen
|
||
|
||
// Wärmequelle Bewohner - über Wohneinheiten
|
||
// bis 2 Wohneinheiten 45 sonst 90
|
||
|
||
// Standardwert
|
||
let WaermeQuellenBewohner = 45;
|
||
|
||
let 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 interneWaermeQuellenProMonat = {
|
||
Januar: (NettoGrundflaeche * WaermeQuellenBewohner * TageMonat.Januar) / 1000,
|
||
Februar: (NettoGrundflaeche * WaermeQuellenBewohner * TageMonat.Februar) / 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,
|
||
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
|
||
};
|
||
// Ende Interne Wärmequellen
|
||
//
|
||
|
||
|
||
// Formballatt A8 - Wärmequellen aus Anlagentechnik Heizung
|
||
// Wärmequellen aus Anlagentechnik Heizung
|
||
|
||
const FaktorUmrechnung = {
|
||
Januar: 1000 / (24 * TageMonat.Januar),
|
||
Februar: 1000 / (24 * TageMonat.Februar),
|
||
Maerz: 1000 / (24 * TageMonat.Maerz),
|
||
April: 1000 / (24 * TageMonat.April),
|
||
Mai: 1000 / (24 * TageMonat.Mai),
|
||
Juni: 1000 / (24 * TageMonat.Juni),
|
||
Juli: 1000 / (24 * TageMonat.Juli),
|
||
August: 1000 / (24 * TageMonat.August),
|
||
September: 1000 / (24 * TageMonat.September),
|
||
Oktober: 1000 / (24 * TageMonat.Oktober),
|
||
November: 1000 / (24 * TageMonat.November),
|
||
Dezember: 1000 / (24 * TageMonat.Dezember)
|
||
};
|
||
|
||
const WaermeQuellenGesamtJanuar = (interneWaermeQuellenProMonat.Januar + 0.5 * einstrahlung.summeErgebnisseJanuar) * FaktorUmrechnung.Januar;
|
||
const WaermeQuellenGesamtFebruar = (interneWaermeQuellenProMonat.Februar + 0.5 * einstrahlung.summeErgebnisseFebruar) * FaktorUmrechnung.Februar;
|
||
const WaermeQuellenGesamtMaerz = (interneWaermeQuellenProMonat.Maerz + 0.5 * einstrahlung.summeErgebnisseMaerz) * FaktorUmrechnung.Maerz;
|
||
const WaermeQuellenGesamtApril = (interneWaermeQuellenProMonat.April + 0.5 * einstrahlung.summeErgebnisseApril) * FaktorUmrechnung.April;
|
||
const WaermeQuellenGesamtMai = (interneWaermeQuellenProMonat.Mai + 0.5 * einstrahlung.summeErgebnisseMai) * FaktorUmrechnung.Mai;
|
||
const WaermeQuellenGesamtJuni = (interneWaermeQuellenProMonat.Juni + 0.5 * einstrahlung.summeErgebnisseJuni) * FaktorUmrechnung.Juni;
|
||
const WaermeQuellenGesamtJuli = (interneWaermeQuellenProMonat.Juli + 0.5 * einstrahlung.summeErgebnisseJuli) * FaktorUmrechnung.Juli;
|
||
const WaermeQuellenGesamtAugust = (interneWaermeQuellenProMonat.August + 0.5 * einstrahlung.summeErgebnisseAugust) * FaktorUmrechnung.August;
|
||
const WaermeQuellenGesamtSeptember = (interneWaermeQuellenProMonat.September + 0.5 * einstrahlung.summeErgebnisseSeptember) * FaktorUmrechnung.September;
|
||
const WaermeQuellenGesamtOktober = (interneWaermeQuellenProMonat.Oktober + 0.5 * einstrahlung.summeErgebnisseOktober) * FaktorUmrechnung.Oktober;
|
||
const WaermeQuellenGesamtNovember = (interneWaermeQuellenProMonat.November + 0.5 * einstrahlung.summeErgebnisseNovember) * FaktorUmrechnung.November;
|
||
const WaermeQuellenGesamtDezember = (interneWaermeQuellenProMonat.Dezember + 0.5 * einstrahlung.summeErgebnisseDezember) * FaktorUmrechnung.Dezember;
|
||
|
||
const waermeSenkenBereinigtJanuar = Math.max(waermeSenken.Januar - WaermeQuellenGesamtJanuar, 0);
|
||
const waermeSenkenBereinigtFebruar = Math.max(waermeSenken.Februar - WaermeQuellenGesamtFebruar, 0);
|
||
const waermeSenkenBereinigtMaerz = Math.max(waermeSenken.Maerz - WaermeQuellenGesamtMaerz, 0);
|
||
const waermeSenkenBereinigtApril = Math.max(waermeSenken.April - WaermeQuellenGesamtApril, 0);
|
||
const waermeSenkenBereinigtMai = Math.max(waermeSenken.Mai - WaermeQuellenGesamtMai, 0);
|
||
const waermeSenkenBereinigtJuni = Math.max(waermeSenken.Juni - WaermeQuellenGesamtJuni, 0);
|
||
const waermeSenkenBereinigtJuli = Math.max(waermeSenken.Juli - WaermeQuellenGesamtJuli, 0);
|
||
const waermeSenkenBereinigtAugust = Math.max(waermeSenken.August - WaermeQuellenGesamtAugust, 0);
|
||
const waermeSenkenBereinigtSeptember = Math.max(waermeSenken.September - WaermeQuellenGesamtSeptember, 0);
|
||
const waermeSenkenBereinigtOktober = Math.max(waermeSenken.Oktober - WaermeQuellenGesamtOktober, 0);
|
||
const waermeSenkenBereinigtNovember = Math.max(waermeSenken.November - WaermeQuellenGesamtNovember, 0);
|
||
const waermeSenkenBereinigtDezember = Math.max(waermeSenken.Dezember - WaermeQuellenGesamtDezember, 0);
|
||
|
||
const maxBelastungsgrad
|
||
= Math.max(
|
||
belastungsgrade.Januar,
|
||
belastungsgrade.Februar,
|
||
belastungsgrade.Maerz,
|
||
belastungsgrade.April,
|
||
belastungsgrade.Mai,
|
||
belastungsgrade.Juni,
|
||
belastungsgrade.Juli,
|
||
belastungsgrade.August,
|
||
belastungsgrade.September,
|
||
belastungsgrade.Oktober,
|
||
belastungsgrade.November,
|
||
belastungsgrade.Dezember
|
||
);
|
||
const belastungsgradeBereinigt = {
|
||
Januar: belastungsgrade.Januar / maxBelastungsgrad,
|
||
Februar: belastungsgrade.Februar / maxBelastungsgrad,
|
||
Maerz: belastungsgrade.Maerz / maxBelastungsgrad,
|
||
April: belastungsgrade.April / maxBelastungsgrad,
|
||
Mai: belastungsgrade.Mai / maxBelastungsgrad,
|
||
Juni: belastungsgrade.Juni / maxBelastungsgrad,
|
||
Juli: belastungsgrade.Juli / maxBelastungsgrad,
|
||
August: belastungsgrade.August / maxBelastungsgrad,
|
||
September: belastungsgrade.September / maxBelastungsgrad,
|
||
Oktober: belastungsgrade.Oktober / maxBelastungsgrad,
|
||
November: belastungsgrade.November / maxBelastungsgrad,
|
||
Dezember: belastungsgrade.Dezember / maxBelastungsgrad
|
||
};
|
||
|
||
// Beispielwert aus Eingabe (Tabelle 141): Verteilung und Erzeugung im beheizten Bereich, Speicherung im unbeheiztem Bereich - 55°C/45°C
|
||
let FaktorNutzbareWaerme = 0.055;
|
||
|
||
// Hier muss noch ein Abschnitt im Eingabeformular erstellt werden - UMBE
|
||
// Verteilung Heizung - im beiheizten Bereich, im unbeheizten Bereich
|
||
// Speicherung Heizung - im beheizten Bereich, im unbeheizten Bereich
|
||
// Erzeugung Heizung - im beheizten Bereich, im unbeheizten Bereich
|
||
// Vorlauftemperatur Heizung - 35°C/28°C, 55°C/45°C, 70°C/55°C, 90°C/70°C - siehe enum Auslegungstemperatur
|
||
|
||
// alte Eingabe - wird dann für neue Eingabe angepasst
|
||
if (speicherungWarmwasser === "zwwsith") {
|
||
if (verteilungHeizung === "zv5545von1979bis1994" || verteilungHeizung === "zv5545ngbis1978" || verteilungHeizung === "zv5545ab1995") {
|
||
FaktorNutzbareWaerme = 0.082;
|
||
}
|
||
else if (verteilungHeizung === "zv7055von1979bis1994" || verteilungHeizung === "zv7055ngbis1978" || verteilungHeizung === "zv7055ab1995") {
|
||
FaktorNutzbareWaerme = 0.099;
|
||
}
|
||
else if (verteilungHeizung === "dezensys") {
|
||
FaktorNutzbareWaerme = 0;
|
||
}
|
||
else {
|
||
FaktorNutzbareWaerme = 0.082;
|
||
}
|
||
}
|
||
if (speicherungWarmwasser === "zwwsath") {
|
||
if (verteilungHeizung === "zv5545von1979bis1994" || verteilungHeizung === "zv5545ngbis1978" || verteilungHeizung === "zv5545ab1995") {
|
||
FaktorNutzbareWaerme = 0.038;
|
||
}
|
||
else if (verteilungHeizung === "zv7055von1979bis1994" || verteilungHeizung === "zv7055ngbis1978" || verteilungHeizung === "zv7055ab1995") {
|
||
FaktorNutzbareWaerme = 0.055;
|
||
}
|
||
else if (verteilungHeizung === "dezensys") {
|
||
FaktorNutzbareWaerme = 0;
|
||
}
|
||
else {
|
||
FaktorNutzbareWaerme = 0.082;
|
||
}
|
||
}
|
||
|
||
const WaermeQuellenAnlagentechnikHeizungJanuar = (waermeSenkenBereinigtJanuar * belastungsgradeBereinigt.Januar * FaktorNutzbareWaerme) / FaktorUmrechnung.Januar;
|
||
const WaermeQuellenAnlagentechnikHeizungFebruar = (waermeSenkenBereinigtFebruar * belastungsgradeBereinigt.Februar * FaktorNutzbareWaerme) / FaktorUmrechnung.Februar;
|
||
const WaermeQuellenAnlagentechnikHeizungMaerz = (waermeSenkenBereinigtMaerz * belastungsgradeBereinigt.Maerz * FaktorNutzbareWaerme) / FaktorUmrechnung.Maerz;
|
||
const WaermeQuellenAnlagentechnikHeizungApril = (waermeSenkenBereinigtApril * belastungsgradeBereinigt.April * FaktorNutzbareWaerme) / FaktorUmrechnung.April;
|
||
const WaermeQuellenAnlagentechnikHeizungMai = (waermeSenkenBereinigtMai * belastungsgradeBereinigt.Mai * FaktorNutzbareWaerme) / FaktorUmrechnung.Mai;
|
||
const WaermeQuellenAnlagentechnikHeizungJuni = (waermeSenkenBereinigtJuni * belastungsgradeBereinigt.Juni * FaktorNutzbareWaerme) / FaktorUmrechnung.Juni;
|
||
const WaermeQuellenAnlagentechnikHeizungJuli = (waermeSenkenBereinigtJuli * belastungsgradeBereinigt.Juli * FaktorNutzbareWaerme) / FaktorUmrechnung.Juli;
|
||
const WaermeQuellenAnlagentechnikHeizungAugust = (waermeSenkenBereinigtAugust * belastungsgradeBereinigt.August * FaktorNutzbareWaerme) / FaktorUmrechnung.August;
|
||
const WaermeQuellenAnlagentechnikHeizungSeptember = (waermeSenkenBereinigtSeptember * belastungsgradeBereinigt.September * FaktorNutzbareWaerme) / FaktorUmrechnung.September;
|
||
const WaermeQuellenAnlagentechnikHeizungOktober = (waermeSenkenBereinigtOktober * belastungsgradeBereinigt.Oktober * FaktorNutzbareWaerme) / FaktorUmrechnung.Oktober;
|
||
const WaermeQuellenAnlagentechnikHeizungNovember = (waermeSenkenBereinigtNovember * belastungsgradeBereinigt.November * FaktorNutzbareWaerme) / FaktorUmrechnung.November;
|
||
const WaermeQuellenAnlagentechnikHeizungDezember = (waermeSenkenBereinigtDezember * belastungsgradeBereinigt.Dezember * FaktorNutzbareWaerme) / FaktorUmrechnung.Dezember;
|
||
// Ende Wärmequellen aus Anlagentechnik Heizung
|
||
//
|
||
|
||
|
||
// Formblatt A9 - Nutzenergiebedarf Trinkwasser
|
||
|
||
// A_NGF,WE,m
|
||
const flaecheProEinheit = NettoGrundflaeche / WohnEinheiten;
|
||
|
||
// 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 = Object.fromEntries(
|
||
Object.entries(TageMonat).map(([monat, tage]) => [
|
||
monat,
|
||
(NettoGrundflaeche * flaechenBezogenerWaermebedarf * tage) / 365
|
||
])
|
||
);
|
||
|
||
const trinkwasserWaermebedarfJahr = Object.values(trinkwasserWaermebedarf).reduce((sum, value) => sum + value, 0);
|
||
// Ende Nutzenergiebedarf Trinkwasser
|
||
//
|
||
|
||
|
||
// Formblatt A10 - Nutzenergiebedarf Heizung
|
||
// Nutzenergiebedarf Heizung
|
||
|
||
let FaktorNutzbareWaermeTrinkwarmwasser = 1.554; // Beispielwert aus Eingabe (Tabelle 143): mit Zirkulation - Verteilung, Speicherung und Erzeugung im beheizten Bereich - 55°C/45°C
|
||
|
||
|
||
// Hier muss noch ein Abschnitt im Eingabeformular erstellt werden - UMBE
|
||
// Warmwassererzeugung - zentral, dezentral
|
||
|
||
// Wird nur benötigt wenn zentral ausgewählt wurde:
|
||
// Verteilung Warmwasser - im beiheizten Bereich, im unbeheizten Bereich
|
||
// Verteilung Warmwasser - mit Zirkulation, ohne Zirkulation
|
||
// Speicherung Warmwasser - im beheizten Bereich, im unbeheizten Bereich
|
||
// Erzeugung Warmwasser - im beheizten Bereich, im unbeheizten Bereich
|
||
//
|
||
|
||
// alte Eingabe - wird dann für neue Eingabe angepasst
|
||
if (aufnahme.zirkulation === true) {
|
||
|
||
if (speicherungWarmwasser === "zwwsith") {
|
||
FaktorNutzbareWaermeTrinkwarmwasser = 0.647;
|
||
}
|
||
else {
|
||
if (verteilungHeizung === "dezensys") {
|
||
FaktorNutzbareWaermeTrinkwarmwasser = 0.193;
|
||
}
|
||
else {
|
||
FaktorNutzbareWaermeTrinkwarmwasser = 0.335;
|
||
}
|
||
}
|
||
} else {
|
||
|
||
if (speicherungWarmwasser === "zwwsith") {
|
||
FaktorNutzbareWaermeTrinkwarmwasser = 1.321;
|
||
}
|
||
else {
|
||
if (verteilungHeizung === "dezensys") {
|
||
FaktorNutzbareWaermeTrinkwarmwasser = 0.193;
|
||
}
|
||
else {
|
||
FaktorNutzbareWaermeTrinkwarmwasser = 1.554;
|
||
}
|
||
|
||
}
|
||
}
|
||
const WaermeQuellenAnlagentechnikTrinkwarmwasser = Object.keys(trinkwasserWaermebedarf).reduce((acc: { [key: string]: number }, month) => {
|
||
acc[month] = trinkwasserWaermebedarf[month] * FaktorNutzbareWaermeTrinkwarmwasser;
|
||
return acc;
|
||
}, {});
|
||
// Ende Nutzenergiebedarf Heizung
|
||
//
|
||
|
||
|
||
// Formblatt A11 - Wärmequellen – Anlagentechnik Heizung - Zusammenstellung
|
||
const WaermeQuellenAnlagentechnikGesamt = {
|
||
Januar: WaermeQuellenAnlagentechnikHeizungJanuar + WaermeQuellenAnlagentechnikTrinkwarmwasser.Januar,
|
||
Februar: WaermeQuellenAnlagentechnikHeizungFebruar + WaermeQuellenAnlagentechnikTrinkwarmwasser.Februar,
|
||
Maerz: WaermeQuellenAnlagentechnikHeizungMaerz + WaermeQuellenAnlagentechnikTrinkwarmwasser.Maerz,
|
||
April: WaermeQuellenAnlagentechnikHeizungApril + WaermeQuellenAnlagentechnikTrinkwarmwasser.April,
|
||
Mai: WaermeQuellenAnlagentechnikHeizungMai + WaermeQuellenAnlagentechnikTrinkwarmwasser.Mai,
|
||
Juni: WaermeQuellenAnlagentechnikHeizungJuni + WaermeQuellenAnlagentechnikTrinkwarmwasser.Juni,
|
||
Juli: WaermeQuellenAnlagentechnikHeizungJuli + WaermeQuellenAnlagentechnikTrinkwarmwasser.Juli,
|
||
August: WaermeQuellenAnlagentechnikHeizungAugust + WaermeQuellenAnlagentechnikTrinkwarmwasser.August,
|
||
September: WaermeQuellenAnlagentechnikHeizungSeptember + WaermeQuellenAnlagentechnikTrinkwarmwasser.September,
|
||
Oktober: WaermeQuellenAnlagentechnikHeizungOktober + WaermeQuellenAnlagentechnikTrinkwarmwasser.Oktober,
|
||
November: WaermeQuellenAnlagentechnikHeizungNovember + WaermeQuellenAnlagentechnikTrinkwarmwasser.November,
|
||
Dezember: WaermeQuellenAnlagentechnikHeizungDezember + WaermeQuellenAnlagentechnikTrinkwarmwasser.Dezember
|
||
};
|
||
const summeWaermeQuellenAnlagentechnikGesamt = Object.values(WaermeQuellenAnlagentechnikGesamt).reduce((acc, value) => acc + value, 0);
|
||
|
||
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);
|
||
// Ende Wärmequellen – Anlagentechnik Heizung - Zusammenstellung
|
||
//
|
||
|
||
|
||
// Formblatt A12 - Berechnung Nutzenergiebedarf Heizung
|
||
|
||
let waermequellensenkenverhaeltnisJanuar = 0;
|
||
let waermequellensenkenverhaeltnisFebruar = 0;
|
||
let waermequellensenkenverhaeltnisMaerz = 0;
|
||
let waermequellensenkenverhaeltnisApril = 0;
|
||
let waermequellensenkenverhaeltnisMai = 0;
|
||
let waermequellensenkenverhaeltnisJuni = 0;
|
||
let waermequellensenkenverhaeltnisJuli = 0;
|
||
let waermequellensenkenverhaeltnisAugust = 0;
|
||
let waermequellensenkenverhaeltnisSeptember = 0;
|
||
let waermequellensenkenverhaeltnisOktober = 0;
|
||
let waermequellensenkenverhaeltnisNovember = 0;
|
||
let waermequellensenkenverhaeltnisDezember = 0;
|
||
|
||
let ausnutzungsgradJanuar: number;
|
||
let ausnutzungsgradFebruar = 0;
|
||
let ausnutzungsgradMaerz = 0;
|
||
let ausnutzungsgradApril = 0;
|
||
let ausnutzungsgradMai = 0;
|
||
let ausnutzungsgradJuni = 0;
|
||
let ausnutzungsgradJuli = 0;
|
||
let ausnutzungsgradAugust = 0;
|
||
let ausnutzungsgradSeptember = 0;
|
||
let ausnutzungsgradOktober = 0;
|
||
let ausnutzungsgradNovember = 0;
|
||
let ausnutzungsgradDezember = 0;
|
||
|
||
let faktorBelastungJanuar = 0;
|
||
let faktorBelastungFebruar = 0;
|
||
let faktorBelastungMaerz = 0;
|
||
let faktorBelastungApril = 0;
|
||
let faktorBelastungMai = 0;
|
||
let faktorBelastungJuni = 0;
|
||
let faktorBelastungJuli = 0;
|
||
let faktorBelastungAugust = 0;
|
||
let faktorBelastungSeptember = 0;
|
||
let faktorBelastungOktober = 0;
|
||
let faktorBelastungNovember = 0;
|
||
let faktorBelastungDezember = 0;
|
||
|
||
let heizstundenJanuar = 0;
|
||
let heizstundenFebruar = 0;
|
||
let heizstundenMaerz = 0;
|
||
let heizstundenApril = 0;
|
||
let heizstundenMai = 0;
|
||
let heizstundenJuni = 0;
|
||
let heizstundenJuli = 0;
|
||
let heizstundenAugust = 0;
|
||
let heizstundenSeptember = 0;
|
||
let heizstundenOktober = 0;
|
||
let heizstundenNovember = 0;
|
||
let heizstundenDezember = 0;
|
||
|
||
let monatlicheBelastungJanuar = 0;
|
||
let monatlicheBelastungFebruar = 0;
|
||
let monatlicheBelastungMaerz = 0;
|
||
let monatlicheBelastungApril = 0;
|
||
let monatlicheBelastungMai = 0;
|
||
let monatlicheBelastungJuni = 0;
|
||
let monatlicheBelastungJuli = 0;
|
||
let monatlicheBelastungAugust = 0;
|
||
let monatlicheBelastungSeptember = 0;
|
||
let monatlicheBelastungOktober = 0;
|
||
let monatlicheBelastungNovember = 0;
|
||
let monatlicheBelastungDezember = 0;
|
||
|
||
let nutzenergieHeizungJanuar = 0;
|
||
let nutzenergieHeizungFebruar = 0;
|
||
let nutzenergieHeizungMaerz = 0;
|
||
let nutzenergieHeizungApril = 0;
|
||
let nutzenergieHeizungMai = 0;
|
||
let nutzenergieHeizungJuni = 0;
|
||
let nutzenergieHeizungJuli = 0;
|
||
let nutzenergieHeizungAugust = 0;
|
||
let nutzenergieHeizungSeptember = 0;
|
||
let nutzenergieHeizungOktober = 0;
|
||
let nutzenergieHeizungNovember = 0;
|
||
let nutzenergieHeizungDezember = 0;
|
||
|
||
waermequellensenkenverhaeltnisJanuar = WaermeQuellenGesamtLeistung.Januar / waermeSenken.Januar;
|
||
waermequellensenkenverhaeltnisFebruar = WaermeQuellenGesamtLeistung.Februar / waermeSenken.Februar;
|
||
waermequellensenkenverhaeltnisMaerz = WaermeQuellenGesamtLeistung.Maerz / waermeSenken.Maerz;
|
||
waermequellensenkenverhaeltnisApril = WaermeQuellenGesamtLeistung.April / waermeSenken.April;
|
||
waermequellensenkenverhaeltnisMai = WaermeQuellenGesamtLeistung.Mai / waermeSenken.Mai;
|
||
waermequellensenkenverhaeltnisJuni = WaermeQuellenGesamtLeistung.Juni / waermeSenken.Juni;
|
||
waermequellensenkenverhaeltnisJuli = WaermeQuellenGesamtLeistung.Juli / waermeSenken.Juli;
|
||
waermequellensenkenverhaeltnisAugust = WaermeQuellenGesamtLeistung.August / waermeSenken.August;
|
||
waermequellensenkenverhaeltnisSeptember = WaermeQuellenGesamtLeistung.September / waermeSenken.September;
|
||
waermequellensenkenverhaeltnisOktober = WaermeQuellenGesamtLeistung.Oktober / waermeSenken.Oktober;
|
||
waermequellensenkenverhaeltnisNovember = WaermeQuellenGesamtLeistung.November / waermeSenken.November;
|
||
waermequellensenkenverhaeltnisDezember = WaermeQuellenGesamtLeistung.Dezember / waermeSenken.Dezember;
|
||
|
||
ausnutzungsgradJanuar = funktionAusnutzungsgradT18(ZeitKonstante, waermequellensenkenverhaeltnisJanuar).Ausnutzungsgrad;
|
||
ausnutzungsgradFebruar = funktionAusnutzungsgradT18(ZeitKonstante, waermequellensenkenverhaeltnisFebruar).Ausnutzungsgrad;
|
||
ausnutzungsgradMaerz = funktionAusnutzungsgradT18(ZeitKonstante, waermequellensenkenverhaeltnisMaerz).Ausnutzungsgrad;
|
||
ausnutzungsgradApril = funktionAusnutzungsgradT18(ZeitKonstante, waermequellensenkenverhaeltnisApril).Ausnutzungsgrad;
|
||
ausnutzungsgradMai = funktionAusnutzungsgradT18(ZeitKonstante, waermequellensenkenverhaeltnisMai).Ausnutzungsgrad;
|
||
ausnutzungsgradJuni = funktionAusnutzungsgradT18(ZeitKonstante, waermequellensenkenverhaeltnisJuni).Ausnutzungsgrad;
|
||
ausnutzungsgradJuli = funktionAusnutzungsgradT18(ZeitKonstante, waermequellensenkenverhaeltnisJuli).Ausnutzungsgrad;
|
||
ausnutzungsgradAugust = funktionAusnutzungsgradT18(ZeitKonstante, waermequellensenkenverhaeltnisAugust).Ausnutzungsgrad;
|
||
ausnutzungsgradSeptember = funktionAusnutzungsgradT18(ZeitKonstante, waermequellensenkenverhaeltnisSeptember).Ausnutzungsgrad;
|
||
ausnutzungsgradOktober = funktionAusnutzungsgradT18(ZeitKonstante, waermequellensenkenverhaeltnisOktober).Ausnutzungsgrad;
|
||
ausnutzungsgradNovember = funktionAusnutzungsgradT18(ZeitKonstante, waermequellensenkenverhaeltnisNovember).Ausnutzungsgrad;
|
||
ausnutzungsgradDezember = funktionAusnutzungsgradT18(ZeitKonstante, waermequellensenkenverhaeltnisDezember).Ausnutzungsgrad;
|
||
|
||
faktorBelastungJanuar = Math.max(1 - (waermequellensenkenverhaeltnisJanuar * ausnutzungsgradJanuar), 0);
|
||
faktorBelastungFebruar = Math.max(1 - (waermequellensenkenverhaeltnisFebruar * ausnutzungsgradFebruar), 0);
|
||
faktorBelastungMaerz = Math.max(1 - (waermequellensenkenverhaeltnisMaerz * ausnutzungsgradMaerz), 0);
|
||
faktorBelastungApril = Math.max(1 - (waermequellensenkenverhaeltnisApril * ausnutzungsgradApril), 0);
|
||
faktorBelastungMai = Math.max(1 - (waermequellensenkenverhaeltnisMai * ausnutzungsgradMai), 0);
|
||
faktorBelastungJuni = Math.max(1 - (waermequellensenkenverhaeltnisJuni * ausnutzungsgradJuni), 0);
|
||
faktorBelastungJuli = Math.max(1 - (waermequellensenkenverhaeltnisJuli * ausnutzungsgradJuli), 0);
|
||
faktorBelastungAugust = Math.max(1 - (waermequellensenkenverhaeltnisAugust * ausnutzungsgradAugust), 0);
|
||
faktorBelastungSeptember = Math.max(1 - (waermequellensenkenverhaeltnisSeptember * ausnutzungsgradSeptember), 0);
|
||
faktorBelastungOktober = Math.max(1 - (waermequellensenkenverhaeltnisOktober * ausnutzungsgradOktober), 0);
|
||
faktorBelastungNovember = Math.max(1 - (waermequellensenkenverhaeltnisNovember * ausnutzungsgradNovember), 0);
|
||
faktorBelastungDezember = Math.max(1 - (waermequellensenkenverhaeltnisDezember * ausnutzungsgradDezember), 0);
|
||
|
||
monatlicheBelastungJanuar = belastungsgrade.Januar * faktorBelastungJanuar;
|
||
monatlicheBelastungFebruar = belastungsgrade.Februar * faktorBelastungFebruar;
|
||
monatlicheBelastungMaerz = belastungsgrade.Maerz * faktorBelastungMaerz;
|
||
monatlicheBelastungApril = belastungsgrade.April * faktorBelastungApril;
|
||
monatlicheBelastungMai = belastungsgrade.Mai * faktorBelastungMai;
|
||
monatlicheBelastungJuni = belastungsgrade.Juni * faktorBelastungJuni;
|
||
monatlicheBelastungJuli = belastungsgrade.Juli * faktorBelastungJuli;
|
||
monatlicheBelastungAugust = belastungsgrade.August * faktorBelastungAugust;
|
||
monatlicheBelastungSeptember = belastungsgrade.September * faktorBelastungSeptember;
|
||
monatlicheBelastungOktober = belastungsgrade.Oktober * faktorBelastungOktober;
|
||
monatlicheBelastungNovember = belastungsgrade.November * faktorBelastungNovember;
|
||
monatlicheBelastungDezember = belastungsgrade.Dezember * faktorBelastungDezember;
|
||
|
||
if (monatlicheBelastungJanuar > 0.05) {heizstundenJanuar = 31 * 24;} else {heizstundenJanuar = (monatlicheBelastungJanuar / 0.05) * 31 * 24;}
|
||
if (monatlicheBelastungFebruar > 0.05) {heizstundenFebruar = 28 * 24;} else {heizstundenFebruar = (monatlicheBelastungFebruar / 0.05) * 28 * 24;}
|
||
if (monatlicheBelastungMaerz > 0.05) {heizstundenMaerz = 31 * 24;} else {heizstundenMaerz = (monatlicheBelastungMaerz / 0.05) * 31 * 24;}
|
||
if (monatlicheBelastungApril > 0.05) {heizstundenApril = 30 * 24;} else {heizstundenApril = (monatlicheBelastungApril / 0.05) * 30 * 24;}
|
||
if (monatlicheBelastungMai > 0.05) {heizstundenMai = 31 * 24;} else {heizstundenMai = (monatlicheBelastungMai / 0.05) * 31 * 24;}
|
||
if (monatlicheBelastungJuni > 0.05) {heizstundenJuni = 30 * 24;} else {heizstundenJuni = (monatlicheBelastungJuni / 0.05) * 30 * 24;}
|
||
if (monatlicheBelastungJuli > 0.05) {heizstundenJuli = 31 * 24;} else {heizstundenJuli = (monatlicheBelastungJuli / 0.05) * 31 * 24;}
|
||
if (monatlicheBelastungAugust > 0.05) {heizstundenAugust = 31 * 24;} else {heizstundenAugust = (monatlicheBelastungAugust / 0.05) * 31 * 24;}
|
||
if (monatlicheBelastungSeptember > 0.05) {heizstundenSeptember = 30 * 24;} else {heizstundenSeptember = (monatlicheBelastungSeptember / 0.05) * 30 * 24;}
|
||
if (monatlicheBelastungOktober > 0.05) {heizstundenOktober = 31 * 24;} else {heizstundenOktober = (monatlicheBelastungOktober / 0.05) * 31 * 24;}
|
||
if (monatlicheBelastungNovember > 0.05) {heizstundenNovember = 30 * 24;} else {heizstundenNovember = (monatlicheBelastungNovember / 0.05) * 30 * 24;}
|
||
if (monatlicheBelastungDezember > 0.05) {heizstundenDezember = 31 * 24;} else {heizstundenDezember = (monatlicheBelastungDezember / 0.05) * 31 * 24;}
|
||
|
||
nutzenergieHeizungJanuar = waermeSenken.Januar * faktorBelastungJanuar * heizstundenJanuar / 1000;
|
||
nutzenergieHeizungFebruar = waermeSenken.Februar * faktorBelastungFebruar * heizstundenFebruar / 1000;
|
||
nutzenergieHeizungMaerz = waermeSenken.Maerz * faktorBelastungMaerz * heizstundenMaerz / 1000;
|
||
nutzenergieHeizungApril = waermeSenken.April * faktorBelastungApril * heizstundenApril / 1000;
|
||
nutzenergieHeizungMai = waermeSenken.Mai * faktorBelastungMai * heizstundenMai / 1000;
|
||
nutzenergieHeizungJuni = waermeSenken.Juni * faktorBelastungJuni * heizstundenJuni / 1000;
|
||
nutzenergieHeizungJuli = waermeSenken.Juli * faktorBelastungJuli * heizstundenJuli / 1000;
|
||
nutzenergieHeizungAugust = waermeSenken.August * faktorBelastungAugust * heizstundenAugust / 1000;
|
||
nutzenergieHeizungSeptember = waermeSenken.September * faktorBelastungSeptember * heizstundenSeptember / 1000;
|
||
nutzenergieHeizungOktober = waermeSenken.Oktober * faktorBelastungOktober * heizstundenOktober / 1000;
|
||
nutzenergieHeizungNovember = waermeSenken.November * faktorBelastungNovember * heizstundenNovember / 1000;
|
||
nutzenergieHeizungDezember = waermeSenken.Dezember * faktorBelastungDezember * heizstundenDezember / 1000;
|
||
|
||
let gesamtHeizstunden = heizstundenJanuar + heizstundenFebruar + heizstundenMaerz + heizstundenApril + heizstundenMai +
|
||
heizstundenJuni + heizstundenJuli + heizstundenAugust + heizstundenSeptember + heizstundenOktober + heizstundenNovember + heizstundenDezember;
|
||
|
||
let gesamtNutzenergieHeizung = nutzenergieHeizungJanuar + nutzenergieHeizungFebruar + nutzenergieHeizungMaerz + nutzenergieHeizungApril +
|
||
nutzenergieHeizungMai + nutzenergieHeizungJuni + nutzenergieHeizungJuli + nutzenergieHeizungAugust + nutzenergieHeizungSeptember +
|
||
nutzenergieHeizungOktober + nutzenergieHeizungNovember + nutzenergieHeizungDezember;
|
||
// Ende - Berechnung Nutzenergiebedarf Heizung
|
||
//
|
||
|
||
// Formbaltt A13 - Rechnerische Laufzeit der Heizung
|
||
|
||
const heizstunden = {
|
||
Januar: heizstundenJanuar,
|
||
Februar: heizstundenFebruar,
|
||
Maerz: heizstundenMaerz,
|
||
April: heizstundenApril,
|
||
Mai: heizstundenMai,
|
||
Juni: heizstundenJuni,
|
||
Juli: heizstundenJuli,
|
||
August: heizstundenAugust,
|
||
September: heizstundenSeptember,
|
||
Oktober: heizstundenOktober,
|
||
November: heizstundenNovember,
|
||
Dezember: heizstundenDezember
|
||
};
|
||
|
||
|
||
|
||
const gebaeudetyp = aufnahme.gebaeudetyp;
|
||
|
||
const faktorWochenendAbschaltung = 0.042;
|
||
const zeitkonstanteRechnerischeLaufzeitEinfamilienhaus: FixedLengthArray<number, 12> = [17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17];
|
||
const zeitkonstanteRechnerischeLaufzeitMehrfamilienhaus: FixedLengthArray<number, 12> = [19.86, 18.58, 18.69, 17.25, 17, 17, 17, 17, 17, 17.16, 18.88, 19.9];
|
||
|
||
let rechnerischeLaufzeiten = new Array(12).fill(0) as unknown as FixedLengthArray<number, 12>
|
||
|
||
if (WohnEinheiten < 3) {
|
||
for (let i = 0; i < 12; i++) {
|
||
rechnerischeLaufzeiten[i] = heizstunden[Object.keys(heizstunden)[i]] * faktorWochenendAbschaltung * zeitkonstanteRechnerischeLaufzeitEinfamilienhaus[i]
|
||
}
|
||
} else {
|
||
for (let i = 0; i < 12; i++) {
|
||
rechnerischeLaufzeiten[i] = heizstunden[Object.keys(heizstunden)[i]] * faktorWochenendAbschaltung * zeitkonstanteRechnerischeLaufzeitMehrfamilienhaus[i]
|
||
}
|
||
}
|
||
|
||
const heizstundenGesamt = Object.values(heizstunden).reduce((acc, value) => acc + value, 0);
|
||
const rechnerischeLaufzeitGesamt = rechnerischeLaufzeiten.reduce((acc, curr) => acc + curr, 0),
|
||
// Ende - Rechnerische Laufzeit der Heizung
|
||
//
|
||
|
||
// Formblatt A14 - Berechnung Aufwandszahlen mittlere Belastung
|
||
|
||
// Planungswerte aus Eingabe, Tabellen 20, 21, 22, C12, 30, 31, 41, 49, 50, 51, 52, 53
|
||
anlass = ausweis.ausstellgrund;
|
||
let ZuschlagsFaktorErzeugung = 0;
|
||
|
||
// Hier müsste die Eingabe in Abschnitt D erweitert werden. Siehe auch enums sowie datasetKorrekturfaktorVerteilungT32 - UMBE
|
||
// Anlage siehe funktionKorrekturfaktorAufwandszahlenErzeugungHeizungT78
|
||
// rohrnetztyp wie in datasetKorrekturfaktorVerteilungT32
|
||
// ueberTemperatur wie in datasetKorrekturfaktorVerteilungT32
|
||
// verteilung wie in datasetKorrekturfaktorVerteilungT32
|
||
// LageVorlauf wie funktionKorrekturfaktorAufwandszahlenErzeugungHeizoelBrennwertT80
|
||
|
||
const PlanungswerteUebergabeVerteilungHeizung = [
|
||
{
|
||
Anlage: "Brennwertkessel - Gas- und Heizöl - von 1987 bis 1994",
|
||
VersorgteFlaeche: 0.7,
|
||
Heizungsart: "Brennwertkessel",
|
||
EnergieTraeger: "Erdgas",
|
||
UebergabeSystem: "Heizkörper",
|
||
rohrsystem: "Zwei-Rohr-System",
|
||
rohrnetztyp: "I (Etagenringtyp)",
|
||
anzahlHeizflaechen: "bis 10",
|
||
hydraulischerAbgleich: "Abgleich statisch je Heizkörper/Heizfläche und Gruppenabgleich statisch (z.B. mit Strangregulierventil)",
|
||
raumtemperaturRegelung: "P-Regler",
|
||
ueberTemperatur: "55°C/45°C",
|
||
LageVorlauf: "55°C/45°C - unbeheizt",
|
||
waermeverlustAußenbauteile: "Radiatorposition Außenwand",
|
||
intermittierenderBetrieb: "-",
|
||
einzelraumregelSysteme: "-",
|
||
verteilung: "Verteilleitungen im beheizten Bereich",
|
||
PufferSpeicherHeizung: false,
|
||
ehs0: 1,
|
||
ehce0: 1.042,
|
||
Δehce1: 0.015,
|
||
Δehce2: 0.009,
|
||
Δehce3: 0,
|
||
Δehce5: 0,
|
||
Δehcehydr: 0.018,
|
||
fhydr: 1.02,
|
||
ehd0: 1.049
|
||
|
||
},
|
||
{
|
||
Anlage: "Brennwertkessel - Gas- und Heizöl - von 1987 bis 1994",
|
||
VersorgteFlaeche: 0.2,
|
||
Heizungsart: "Brennwertkessel",
|
||
EnergieTraeger: "Erdgas",
|
||
UebergabeSystem: "Fußbodenheizung Nasssystem",
|
||
rohrnetztyp: "IIb (Etagenverteilertyp Fußbodenheizung)",
|
||
raumtemperaturRegelung: "ungeregelt, mit zentraler Vorlauftemperaturregelung",
|
||
ueberTemperatur: "35°C/28°C",
|
||
LageVorlauf: "55°C/45°C - unbeheizt",
|
||
waermeverlustAngrenzendeBauteile: "integrierte Heizfläche mit Mindestdämmung nach DIN EN 1264 (alle Teile)",
|
||
intermittierenderBetrieb: "-",
|
||
einzelraumregelSysteme: "-",
|
||
verteilung: "Verteilleitungen im beheizten Bereich",
|
||
PufferSpeicherHeizung: false,
|
||
ehs0: 1,
|
||
ehce0: 1.149,
|
||
Δehce1: 0.021,
|
||
Δehce2: 0.015,
|
||
Δehce3: 0,
|
||
Δehce5: 0,
|
||
Δehcehydr: 0,
|
||
fhydr: 1,
|
||
ehd0: 1.004
|
||
|
||
},
|
||
{
|
||
Anlage: "Elektro-Direktheizung, PI-Regler (mit Optimierung)",
|
||
VersorgteFlaeche: 0.1,
|
||
EnergieTraeger: "Strommix",
|
||
Heizungsart: "Direktheizung",
|
||
Bereich: "Außenwandbereich",
|
||
intermittierenderBetrieb: "Nein",
|
||
PufferSpeicherHeizung: false,
|
||
ehs0: 1,
|
||
ehce0: 1.042,
|
||
Δehce1: 0,
|
||
Δehce2: 0,
|
||
Δehce3: 0,
|
||
Δehce5: 0,
|
||
Δehcehydr: 0,
|
||
fhydr: 1,
|
||
ehd0: 1
|
||
|
||
}
|
||
];
|
||
|
||
const NennleistungWaermeerzeugerWarmwasser = funktionNennleistungWaermeerzeugerWarmwasserT139(NettoGrundflaeche ?? 0, flaechenBezogenerWaermebedarf);
|
||
// const NennleistungWaermeerzeugerWarmwasser = 34;
|
||
|
||
if (anlass === "Neubau") {
|
||
ZuschlagsFaktorErzeugung = 1.1;
|
||
}
|
||
else {
|
||
ZuschlagsFaktorErzeugung = 1.5;
|
||
}
|
||
|
||
let AufwandsZahlErzeugungHeizungBasiswert: number;
|
||
let KorrekturFaktorBaujahrErzeugungHeizung: any;
|
||
let KorrekturFaktorVorlaufLageBrennstoffErzeugungHeizung: any;
|
||
let KorrekturFaktorErzeugungHeizung: any;
|
||
let AufwandsZahlErzeugungHeizung: any;
|
||
let AufwandsZahlSpeicherungHeizung: any;
|
||
let mittlereBelastungErzaegungHeizung: number;
|
||
let AufwandsZahlVerteilungHeizung: number;
|
||
|
||
const NennleistungWaermeerzeugerHeizung = maximaleHeizlast / 1000;
|
||
const NennleistungWaermeerzeuger = ZuschlagsFaktorErzeugung * Math.max(NennleistungWaermeerzeugerWarmwasser, NennleistungWaermeerzeugerHeizung);
|
||
|
||
|
||
const ErgebnisseAufwandsZahlenBelastungHeizung = PlanungswerteUebergabeVerteilungHeizung.map((system: any) => {
|
||
const mittlereBelastungUebergabeHeizung = (gesamtNutzenergieHeizung / (gesamtHeizstunden * maximaleHeizlast)) * 1000 * system.VersorgteFlaeche;
|
||
const AufwandsZahlUebergabeHeizung = system.ehce0 + system.Δehce1 + system.Δehce2 + system.Δehce3 + system.Δehce5 + system.Δehcehydr;
|
||
const mittlereBelastungVerteilungHeizung = mittlereBelastungUebergabeHeizung * AufwandsZahlUebergabeHeizung * system.fhydr;
|
||
const flaechenbezogeneLeistungUebergabeHeizung = (maximaleHeizlast / NettoGrundflaeche) * AufwandsZahlUebergabeHeizung;
|
||
|
||
const KorrekturfaktorMittlereBelastung = funktionKorrekturfaktorMittlereBelastungT32(system.verteilung, system.rohrnetztyp, system.ueberTemperatur, mittlereBelastungVerteilungHeizung) || 0;
|
||
const AufwandsZahlVerteilungHeizungKorrektur = system.ehd0 * KorrekturfaktorMittlereBelastung;
|
||
AufwandsZahlVerteilungHeizung = 1 + (AufwandsZahlVerteilungHeizungKorrektur - 1) * (50/flaechenbezogeneLeistungUebergabeHeizung);
|
||
|
||
const flaechenbezogeneLeistungVerteilungHeizung = flaechenbezogeneLeistungUebergabeHeizung * AufwandsZahlVerteilungHeizung;
|
||
const mittlereBelastungSpeicherungHeizung = mittlereBelastungVerteilungHeizung * AufwandsZahlVerteilungHeizung;
|
||
|
||
if (system.PufferSpeicherHeizung === false) {
|
||
AufwandsZahlSpeicherungHeizung = 1;
|
||
AufwandsZahlVerteilungHeizung = AufwandsZahlVerteilungHeizung;
|
||
mittlereBelastungErzaegungHeizung = mittlereBelastungSpeicherungHeizung * AufwandsZahlSpeicherungHeizung;
|
||
}
|
||
else {
|
||
AufwandsZahlSpeicherungHeizung = system.ehs0;
|
||
AufwandsZahlVerteilungHeizung = (AufwandsZahlVerteilungHeizung - 1) * (8760/rechnerischeLaufzeitGesamt) + 1;
|
||
mittlereBelastungErzaegungHeizung = 1;
|
||
}
|
||
|
||
const flaechenbezogeneLeistungSpeicherungHeizung = flaechenbezogeneLeistungVerteilungHeizung * AufwandsZahlSpeicherungHeizung;
|
||
|
||
if (system.Heizungsart === "Standardkessel" || system.Heizungsart === "Niedertemperaturkessel" || system.Heizungsart === "Brennwertkessel") {
|
||
|
||
AufwandsZahlErzeugungHeizungBasiswert = funktionAufwandszahlErzeugungHeizungT77(NennleistungWaermeerzeuger, mittlereBelastungErzaegungHeizung);
|
||
KorrekturFaktorBaujahrErzeugungHeizung = funktionKorrekturfaktorAufwandszahlenErzeugungHeizungT78(system.Anlage, mittlereBelastungErzaegungHeizung);
|
||
if (system.EnergieTraeger === "Erdgas" && system.Heizungsart === "Brennwertkessel") {
|
||
KorrekturFaktorVorlaufLageBrennstoffErzeugungHeizung =
|
||
funktionKorrekturfaktorAufwandszahlenErzeugungTemperaturOrtBrennwertT79(system.LageVorlauf, mittlereBelastungErzaegungHeizung);
|
||
}
|
||
else if (system.EnergieTraeger === "Heizoel" && system.Heizungsart === "Brennwertkessel") {
|
||
KorrekturFaktorVorlaufLageBrennstoffErzeugungHeizung =
|
||
funktionKorrekturfaktorAufwandszahlenErzeugungHeizoelBrennwertT80(system.LageVorlauf, mittlereBelastungErzaegungHeizung);
|
||
}
|
||
else if (system.Heizungsart !== "Brennwertkessel" && (system.EnergieTraeger === "Heizoel" || system.EnergieTraeger === "Erdgas")) {
|
||
KorrekturFaktorVorlaufLageBrennstoffErzeugungHeizung =
|
||
funktionKorrekturfaktorAufwandszahlenErzeugungTemperaturOrtkeinBrennwertT81(system.LageVorlauf, mittlereBelastungErzaegungHeizung);
|
||
}
|
||
else if (system.EnergieTraeger === "Brennholz") {
|
||
KorrekturFaktorVorlaufLageBrennstoffErzeugungHeizung = 1;
|
||
}
|
||
|
||
AufwandsZahlErzeugungHeizung =
|
||
((AufwandsZahlErzeugungHeizungBasiswert * KorrekturFaktorBaujahrErzeugungHeizung * KorrekturFaktorVorlaufLageBrennstoffErzeugungHeizung)-1)
|
||
* (8760/rechnerischeLaufzeitGesamt) + 1;
|
||
|
||
}
|
||
else if (system.Heizungsart === "Umlaufwasserheizer") {
|
||
AufwandsZahlErzeugungHeizungBasiswert = funktionAufwandszahlErzeugungHeizungUmlaufWasserheizerT82(NennleistungWaermeerzeuger, mittlereBelastungErzaegungHeizung);
|
||
KorrekturFaktorErzeugungHeizung = funktionKorrekturfaktorAufwandszahlenErzeugungHeizungUmlaufWasserheizerT82(system.Anlage, mittlereBelastungErzaegungHeizung);
|
||
AufwandsZahlErzeugungHeizung = AufwandsZahlErzeugungHeizungBasiswert * KorrekturFaktorErzeugungHeizung;
|
||
}
|
||
else if (system.Heizungsart === "Waermepumpe") {
|
||
AufwandsZahlErzeugungHeizung = 1;
|
||
}
|
||
else if (system.Heizungsart === "Direktheizung") {
|
||
AufwandsZahlErzeugungHeizung = 1;
|
||
}
|
||
else {
|
||
AufwandsZahlErzeugungHeizung = 1;
|
||
}
|
||
|
||
const flaechenbezogeneLeistungErzeugungHeizung = flaechenbezogeneLeistungSpeicherungHeizung * AufwandsZahlErzeugungHeizung;
|
||
|
||
return {
|
||
Bezeichnung: system.Anlage + " - " + system.VersorgteFlaeche * 100 + " % versorgte Fläche - " + (system.UebergabeSystem ? system.UebergabeSystem : system.Heizungsart),
|
||
mittlereBelastungUebergabeHeizung: mittlereBelastungUebergabeHeizung,
|
||
VersorgteFlaeche: system.VersorgteFlaeche,
|
||
AufwandsZahlUebergabeHeizung: AufwandsZahlUebergabeHeizung,
|
||
mittlereBelastungVerteilungHeizung: mittlereBelastungVerteilungHeizung,
|
||
flaechenbezogeneLeistungUebergabeHeizung: flaechenbezogeneLeistungUebergabeHeizung,
|
||
AufwandsZahlVerteilungHeizung: AufwandsZahlVerteilungHeizung,
|
||
flaechenbezogeneLeistungVerteilungHeizung: flaechenbezogeneLeistungVerteilungHeizung,
|
||
mittlereBelastungSpeicherungHeizung: mittlereBelastungSpeicherungHeizung,
|
||
AufwandsZahlSpeicherungHeizung: AufwandsZahlSpeicherungHeizung,
|
||
flaechenbezogeneLeistungSpeicherungHeizung: flaechenbezogeneLeistungSpeicherungHeizung,
|
||
mittlereBelastungErzaegungHeizung: mittlereBelastungErzaegungHeizung,
|
||
AufwandsZahlErzeugungHeizung: AufwandsZahlErzeugungHeizung,
|
||
KorrekturFaktorBaujahrErzeugungHeizung: KorrekturFaktorBaujahrErzeugungHeizung,
|
||
flaechenbezogeneLeistungErzeugungHeizung: flaechenbezogeneLeistungErzeugungHeizung
|
||
};
|
||
});
|
||
|
||
// Tabelle 42
|
||
let AufwandsZahlTrinkwarmWasserUebergabe: number;
|
||
let AufwandsZahlTrinkwarmWasserVerteilung: number;
|
||
let WaermeVerlustTrinkwarmwasserSpeicher: number;
|
||
let AufwandsZahlTrinkwarmWasserSpeicherung: number;
|
||
let AufwandsZahlTrinkwarmWasserErzeugungBasiswert: number;
|
||
let KorrekturFaktorBaujahrTrinkwarmWasserErzeugung: any;
|
||
let KorrekturFaktorVorlaufLageBrennstoffTrinkwarmWasserErzeugung: any;
|
||
let AufwandsZahlTrinkwarmWasserErzeugung: number;
|
||
let KorrekturFaktorTrinkwarmWasserErzeugung: number;
|
||
|
||
const PlanungswerteUebergabeVerteilungWarmwasser = [
|
||
{
|
||
Anlage: "Brennwertkessel - Gas- und Heizöl - von 1987 bis 1994",
|
||
Anteil: 1,
|
||
EnergieTraeger: "Erdgas",
|
||
Heizungsart: "Brennwertkessel",
|
||
rohrnetztyp: "II (Ebenentyp)",
|
||
verteiltyp: "Verteilung im beheizten Bereich mit Zirkulation",
|
||
LageVorlauf: "55°C/45°C - unbeheizt",
|
||
AufwandsZahlTrinkwarmWasserVerteilung: 2.391,
|
||
AufwandsZahlTrinkwarmWasserUebergabe: 1,
|
||
Pufferspeicher: "elektrisch beheizt - Aufstellort beheizt - mit Zirkulation",
|
||
BaujahrSpeicher: 1995,
|
||
Speichervolumen: 500
|
||
},
|
||
{
|
||
Anlage: "elektrischer_Durchlauferhitzer - von 1987 bis 1994",
|
||
Anteil: 0,
|
||
EnergieTraeger: "Strommix",
|
||
Heizungsart: "elektrischer_Durchlauferhitzer",
|
||
rohrnetztyp: "III (Dezentrale Versorgung)",
|
||
verteiltyp: "keine Verteilung",
|
||
AufwandsZahlTrinkwarmWasserVerteilung: 1.193,
|
||
AufwandsZahlTrinkwarmWasserUebergabe: 1,
|
||
Pufferspeicher: "nicht_vorhanden",
|
||
Speichervolumen: 0
|
||
|
||
}
|
||
];
|
||
|
||
const ErgebnisseAufwandsZahlenBelastungWarmwasser = PlanungswerteUebergabeVerteilungWarmwasser.map((system: any) => {
|
||
AufwandsZahlTrinkwarmWasserVerteilung = 1 + (system.AufwandsZahlTrinkwarmWasserVerteilung - 1) * (12.5 / flaechenBezogenerWaermebedarf);
|
||
AufwandsZahlTrinkwarmWasserUebergabe = system.AufwandsZahlTrinkwarmWasserUebergabe;
|
||
if (system.Pufferspeicher === "bivalenter_speicher") {
|
||
WaermeVerlustTrinkwarmwasserSpeicher; // Noch zu vervollständigen
|
||
}
|
||
else if (system.Pufferspeicher === "nicht_vorhanden") {
|
||
AufwandsZahlTrinkwarmWasserSpeicherung = 1;
|
||
}
|
||
else {
|
||
WaermeVerlustTrinkwarmwasserSpeicher = funktionWaermeVerlusteTrinkwarmwasserSpeicherT55T56(system.Pufferspeicher, system.Speichervolumen, system.BaujahrSpeicher);
|
||
AufwandsZahlTrinkwarmWasserSpeicherung = 1 + (WaermeVerlustTrinkwarmwasserSpeicher / (trinkwasserWaermebedarfJahr * AufwandsZahlTrinkwarmWasserVerteilung * AufwandsZahlTrinkwarmWasserUebergabe));
|
||
}
|
||
|
||
if (system.Heizungsart === "Standardkessel" || system.Heizungsart === "Niedertemperaturkessel" || system.Heizungsart === "Brennwertkessel") {
|
||
|
||
AufwandsZahlTrinkwarmWasserErzeugungBasiswert = funktionAufwandszahlErzeugungHeizungT77(NennleistungWaermeerzeugerWarmwasser, 1); // mittlere Belastung bei Trinkwarmwasser immer 1
|
||
// Hier müsste man noch den Anteil berücksichtigen neue NGF = NGF * Anteil
|
||
KorrekturFaktorBaujahrTrinkwarmWasserErzeugung = funktionKorrekturfaktorAufwandszahlenErzeugungHeizungT78(system.Anlage, 1); // mittlere Belastung bei Trinkwarmwasser immer 1
|
||
if (system.EnergieTraeger === "Erdgas" && system.Heizungsart === "Brennwertkessel") {
|
||
KorrekturFaktorVorlaufLageBrennstoffTrinkwarmWasserErzeugung =
|
||
funktionKorrekturfaktorAufwandszahlenErzeugungTemperaturOrtBrennwertT79(system.LageVorlauf, 1); // mittlere Belastung bei Trinkwarmwasser immer 1
|
||
}
|
||
else if (system.EnergieTraeger === "Heizoel" && system.Heizungsart === "Brennwertkessel") {
|
||
KorrekturFaktorVorlaufLageBrennstoffTrinkwarmWasserErzeugung =
|
||
funktionKorrekturfaktorAufwandszahlenErzeugungHeizoelBrennwertT80(system.LageVorlauf, 1);
|
||
}
|
||
else if (system.Heizungsart !== "Brennwertkessel" && (system.EnergieTraeger === "Heizoel" || system.EnergieTraeger === "Erdgas")) {
|
||
KorrekturFaktorVorlaufLageBrennstoffTrinkwarmWasserErzeugung =
|
||
funktionKorrekturfaktorAufwandszahlenErzeugungTemperaturOrtkeinBrennwertT81(system.LageVorlauf, 1);
|
||
}
|
||
else if (system.EnergieTraeger === "Brennholz") {
|
||
KorrekturFaktorVorlaufLageBrennstoffTrinkwarmWasserErzeugung = 1;
|
||
}
|
||
|
||
AufwandsZahlTrinkwarmWasserErzeugung =
|
||
((AufwandsZahlTrinkwarmWasserErzeugungBasiswert * KorrekturFaktorBaujahrTrinkwarmWasserErzeugung * KorrekturFaktorVorlaufLageBrennstoffTrinkwarmWasserErzeugung) - 1)
|
||
* (8760 / rechnerischeLaufzeitGesamt) + 1;
|
||
|
||
}
|
||
else if (system.Heizungsart === "Umlaufwasserheizer") {
|
||
AufwandsZahlTrinkwarmWasserErzeugungBasiswert = funktionAufwandszahlErzeugungHeizungUmlaufWasserheizerT82(NennleistungWaermeerzeugerWarmwasser, 1);
|
||
KorrekturFaktorTrinkwarmWasserErzeugung = funktionKorrekturfaktorAufwandszahlenErzeugungHeizungUmlaufWasserheizerT82(system.Anlage, 1);
|
||
AufwandsZahlTrinkwarmWasserErzeugung = AufwandsZahlTrinkwarmWasserErzeugungBasiswert * KorrekturFaktorTrinkwarmWasserErzeugung;
|
||
}
|
||
else if (system.Heizungsart === "Waermepumpe") {
|
||
AufwandsZahlTrinkwarmWasserErzeugung = 1;
|
||
}
|
||
else if (system.Heizungsart === "elektrischer_Durchlauferhitzer") {
|
||
AufwandsZahlTrinkwarmWasserErzeugung = 1;
|
||
}
|
||
else {
|
||
AufwandsZahlTrinkwarmWasserErzeugung = 1;
|
||
}
|
||
|
||
|
||
return {
|
||
Bezeichnung: system.rohrnetztyp + " - " + system.Anteil * 100 + " % Anteil - " + system.verteiltyp,
|
||
AufwandsZahlTrinkwarmWasserUebergabe: AufwandsZahlTrinkwarmWasserUebergabe,
|
||
AufwandsZahlTrinkwarmWasserVerteilung: AufwandsZahlTrinkwarmWasserVerteilung,
|
||
AufwandsZahlTrinkwarmWasserSpeicherung: AufwandsZahlTrinkwarmWasserSpeicherung,
|
||
AufwandsZahlTrinkwarmWasserErzeugung: AufwandsZahlTrinkwarmWasserErzeugung,
|
||
Anteil: system.Anteil
|
||
};
|
||
});
|
||
|
||
// Ergebnisse Beispielwerte
|
||
|
||
const co2EmissionenGesamt = 39.1;
|
||
const endEnergieBedarfGesamt = 158.1;
|
||
const primaerEnergieBedarfGesamt = 176.5;
|
||
const energieEffizienzKlasse = "E";
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
// Ende - Berechnung Aufwandszahlen mittlere Belastung
|
||
//
|
||
|
||
return {
|
||
ObjektBruttoVolumen,
|
||
NettoGrundflaeche,
|
||
maximaleTemperaturDifferenz,
|
||
innenTemperatur,
|
||
minimaleAussentemperatur,
|
||
LichteRaumHoehe,
|
||
ObjektNettoVolumen,
|
||
ObjektNettoVolumenAlternativ,
|
||
FaktorNettoVolumen,
|
||
GesamtHuellFlaeche,
|
||
ErgebnisseBauteile,
|
||
WaermeBrueckenZuschlag,
|
||
WaermeTransferKoeffizientWaeremebruecken,
|
||
maximalerWaermestromWaermebruecken,
|
||
WaermeTransferKoeffizientBauteile,
|
||
maximalerWaermestromBauteile,
|
||
HuellFlaechenVolumenVerhaeltnis,
|
||
GesamtLuftwechselN,
|
||
WaermeTransferKoeffizientLueftungN,
|
||
maximalerWaermestromLueftungN0,
|
||
maximalerWaermestromLueftungN,
|
||
WaermeTransferKoeffizientGesamt,
|
||
maximalerWaermestromGesamtN0,
|
||
maximalerWaermestromGesamt,
|
||
mechanischeLueftung,
|
||
maximaleHeizlast,
|
||
FlaechgenbezogeneHeizlast,
|
||
ZeitKonstante,
|
||
GesamtLuftwechselN0,
|
||
LuftwechselAnlage,
|
||
LuftDichtheit,
|
||
LueftungsArt,
|
||
LueftungsAnlage,
|
||
LueftungBedarfsgefuehrt,
|
||
WaermeKapazitaet,
|
||
planungswerte_bauteil,
|
||
ErgebnisseJanuar,
|
||
ErgebnisseMonatsWerteJanuar,
|
||
ErgebnisseFebruar,
|
||
ErgebnisseMonatsWerteFebruar,
|
||
ErgebnisseMaerz,
|
||
ErgebnisseMonatsWerteMaerz,
|
||
ErgebnisseApril,
|
||
ErgebnisseMonatsWerteApril,
|
||
ErgebnisseMai,
|
||
ErgebnisseMonatsWerteMai,
|
||
ErgebnisseJuni,
|
||
ErgebnisseMonatsWerteJuni,
|
||
ErgebnisseJuli,
|
||
ErgebnisseMonatsWerteJuli,
|
||
ErgebnisseAugust,
|
||
ErgebnisseMonatsWerteAugust,
|
||
ErgebnisseSeptember,
|
||
ErgebnisseMonatsWerteSeptember,
|
||
ErgebnisseOktober,
|
||
ErgebnisseMonatsWerteOktober,
|
||
ErgebnisseNovember,
|
||
ErgebnisseMonatsWerteNovember,
|
||
ErgebnisseDezember,
|
||
ErgebnisseMonatsWerteDezember,
|
||
summeErgebnisseJanuar,
|
||
summeErgebnisseFebruar,
|
||
summeErgebnisseMaerz,
|
||
summeErgebnisseApril,
|
||
summeErgebnisseMai,
|
||
summeErgebnisseJuni,
|
||
summeErgebnisseJuli,
|
||
summeErgebnisseAugust,
|
||
summeErgebnisseSeptember,
|
||
summeErgebnisseOktober,
|
||
summeErgebnisseNovember,
|
||
summeErgebnisseDezember,
|
||
ErgebnisseWirksamerGesamtEnergieDurchlassGrad,
|
||
summeWaermeQuellenSolarGesamt,
|
||
summeFlaeche,
|
||
PlanungswerteFenster,
|
||
TageMonat,
|
||
waermeSenken,
|
||
WaermeQuellenGesamtJanuar,
|
||
WaermeQuellenGesamtFebruar,
|
||
WaermeQuellenGesamtMaerz,
|
||
WaermeQuellenGesamtApril,
|
||
WaermeQuellenGesamtMai,
|
||
WaermeQuellenGesamtJuni,
|
||
WaermeQuellenGesamtJuli,
|
||
WaermeQuellenGesamtAugust,
|
||
WaermeQuellenGesamtSeptember,
|
||
WaermeQuellenGesamtOktober,
|
||
WaermeQuellenGesamtNovember,
|
||
WaermeQuellenGesamtDezember,
|
||
waermeSenkenBereinigtJanuar,
|
||
waermeSenkenBereinigtFebruar,
|
||
waermeSenkenBereinigtMaerz,
|
||
waermeSenkenBereinigtApril,
|
||
waermeSenkenBereinigtMai,
|
||
waermeSenkenBereinigtJuni,
|
||
waermeSenkenBereinigtJuli,
|
||
waermeSenkenBereinigtAugust,
|
||
waermeSenkenBereinigtSeptember,
|
||
waermeSenkenBereinigtOktober,
|
||
waermeSenkenBereinigtNovember,
|
||
waermeSenkenBereinigtDezember,
|
||
belastungsgrade,
|
||
maxBelastungsgrad,
|
||
belastungsgradeBereinigt,
|
||
WaermeQuellenAnlagentechnikHeizungJanuar,
|
||
WaermeQuellenAnlagentechnikHeizungFebruar,
|
||
WaermeQuellenAnlagentechnikHeizungMaerz,
|
||
WaermeQuellenAnlagentechnikHeizungApril,
|
||
WaermeQuellenAnlagentechnikHeizungMai,
|
||
WaermeQuellenAnlagentechnikHeizungJuni,
|
||
WaermeQuellenAnlagentechnikHeizungJuli,
|
||
WaermeQuellenAnlagentechnikHeizungAugust,
|
||
WaermeQuellenAnlagentechnikHeizungSeptember,
|
||
WaermeQuellenAnlagentechnikHeizungOktober,
|
||
WaermeQuellenAnlagentechnikHeizungNovember,
|
||
WaermeQuellenAnlagentechnikHeizungDezember,
|
||
FaktorNutzbareWaerme,
|
||
trinkwasserWaermebedarf,
|
||
flaechenBezogenerWaermebedarf,
|
||
trinkwasserWaermebedarfJahr,
|
||
FaktorNutzbareWaermeTrinkwarmwasser,
|
||
WaermeQuellenAnlagentechnikTrinkwarmwasser,
|
||
interneWaermeQuellenProMonat,
|
||
WaermeQuellenBewohner,
|
||
WaermeQuellenAnlagentechnikGesamt,
|
||
WaermeQuellenGesamt,
|
||
WaermeQuellenGesamtLeistung,
|
||
interneWaermeQuellenGesamt,
|
||
summeWaermeQuellenAnlagentechnikGesamt,
|
||
summeWaermeQuellenGesamt,
|
||
summeWaermeQuellenGesamtLeistung,
|
||
bilanzInnenTemperaturen,
|
||
nutzenergieHeizungJanuar,
|
||
nutzenergieHeizungFebruar,
|
||
nutzenergieHeizungMaerz,
|
||
nutzenergieHeizungApril,
|
||
nutzenergieHeizungMai,
|
||
nutzenergieHeizungJuni,
|
||
nutzenergieHeizungJuli,
|
||
nutzenergieHeizungAugust,
|
||
nutzenergieHeizungSeptember,
|
||
nutzenergieHeizungOktober,
|
||
nutzenergieHeizungNovember,
|
||
nutzenergieHeizungDezember,
|
||
waermequellensenkenverhaeltnisJanuar,
|
||
waermequellensenkenverhaeltnisFebruar,
|
||
waermequellensenkenverhaeltnisMaerz,
|
||
waermequellensenkenverhaeltnisApril,
|
||
waermequellensenkenverhaeltnisMai,
|
||
waermequellensenkenverhaeltnisJuni,
|
||
waermequellensenkenverhaeltnisJuli,
|
||
waermequellensenkenverhaeltnisAugust,
|
||
waermequellensenkenverhaeltnisSeptember,
|
||
waermequellensenkenverhaeltnisOktober,
|
||
waermequellensenkenverhaeltnisNovember,
|
||
waermequellensenkenverhaeltnisDezember,
|
||
ausnutzungsgradJanuar,
|
||
ausnutzungsgradFebruar,
|
||
ausnutzungsgradMaerz,
|
||
ausnutzungsgradApril,
|
||
ausnutzungsgradMai,
|
||
ausnutzungsgradJuni,
|
||
ausnutzungsgradJuli,
|
||
ausnutzungsgradAugust,
|
||
ausnutzungsgradSeptember,
|
||
ausnutzungsgradOktober,
|
||
ausnutzungsgradNovember,
|
||
ausnutzungsgradDezember,
|
||
gesamtHeizstunden,
|
||
gesamtNutzenergieHeizung,
|
||
faktorBelastungJanuar,
|
||
faktorBelastungFebruar,
|
||
faktorBelastungMaerz,
|
||
faktorBelastungApril,
|
||
faktorBelastungMai,
|
||
faktorBelastungJuni,
|
||
faktorBelastungJuli,
|
||
faktorBelastungAugust,
|
||
faktorBelastungSeptember,
|
||
faktorBelastungOktober,
|
||
faktorBelastungNovember,
|
||
faktorBelastungDezember,
|
||
monatlicheBelastungJanuar,
|
||
monatlicheBelastungFebruar,
|
||
monatlicheBelastungMaerz,
|
||
monatlicheBelastungApril,
|
||
monatlicheBelastungMai,
|
||
monatlicheBelastungJuni,
|
||
monatlicheBelastungJuli,
|
||
monatlicheBelastungAugust,
|
||
monatlicheBelastungSeptember,
|
||
monatlicheBelastungOktober,
|
||
monatlicheBelastungNovember,
|
||
monatlicheBelastungDezember,
|
||
heizstundenJanuar,
|
||
heizstundenFebruar,
|
||
heizstundenMaerz,
|
||
heizstundenApril,
|
||
heizstundenMai,
|
||
heizstundenJuni,
|
||
heizstundenJuli,
|
||
heizstundenAugust,
|
||
heizstundenSeptember,
|
||
heizstundenOktober,
|
||
heizstundenNovember,
|
||
heizstundenDezember,
|
||
rechnerischeLaufzeitGesamt,
|
||
rechnerischeLaufzeiten,
|
||
heizstunden,
|
||
heizstundenGesamt,
|
||
ErgebnisseAufwandsZahlenBelastungHeizung,
|
||
NennleistungWaermeerzeuger,
|
||
ErgebnisseAufwandsZahlenBelastungWarmwasser,
|
||
co2EmissionenGesamt,
|
||
endEnergieBedarfGesamt,
|
||
primaerEnergieBedarfGesamt,
|
||
energieEffizienzKlasse
|
||
}
|
||
|
||
} |