238 lines
7.6 KiB
TypeScript
238 lines
7.6 KiB
TypeScript
export function BerechnungWaermeTransferMaxStroemeBauteile() {
|
|
|
|
// Definition Variablen (Beispielwerte Planung)
|
|
let ObjektAdresse = "";
|
|
let ObjektBruttoVolumen = 0;
|
|
let ObjektNettoVolumenAlternativ = 0;
|
|
let WohnEinheiten = 0;
|
|
let NettoGrundflaeche = 0;
|
|
let GeschossHoehe = 0;
|
|
|
|
// Definition Variablen (Konstanten)
|
|
let minimaleAussentemperatur = 0;
|
|
let innenTemperatur = 0;
|
|
let DeckenStaerke = 0;
|
|
let WaermeBrueckenZuschlag = 0;
|
|
|
|
// Definition Variablen (Berechnung)
|
|
let FaktorNettoVolumen = 0;
|
|
let ObjektNettoVolumen = 0;
|
|
let maximaleTemperaturDifferenz = 0;
|
|
let LichteRaumHoehe = 0;
|
|
|
|
let WaermeTransferKoeffizientWaeremebruecken = 0;
|
|
let maximalerWaermestromWaermebruecken = 0;
|
|
let maximalerWaermestromBauteile = 0;
|
|
|
|
let HuellFlaechenVolumenVerhaeltnis = 0;
|
|
|
|
|
|
// Beispielwerte Planung werden aus Eingabe geholt
|
|
ObjektAdresse = "EFH Normbeispiel";
|
|
ObjektBruttoVolumen = 525.6;
|
|
WohnEinheiten = 1;
|
|
NettoGrundflaeche = 154.2;
|
|
GeschossHoehe = 2.83;
|
|
DeckenStaerke = 0.24;
|
|
|
|
const PlanungswerteBauteil = [
|
|
{
|
|
Art: "Fenster",
|
|
Flaeche: 18.91,
|
|
WaermeDurchgangsKoeffizient: 0.95,
|
|
Neigung: 90,
|
|
GesamtEnergieDurchlassGrad: 0.6,
|
|
RahmenAnteil: 0.7,
|
|
StrahlungsEinfluss: 0.9,
|
|
Verschattung: 0.9,
|
|
TemperaturKorrekturFaktor: 1,
|
|
Orientierung: "West"
|
|
},
|
|
{
|
|
Art: "Fenster",
|
|
Flaeche: 19.62,
|
|
WaermeDurchgangsKoeffizient: 0.95,
|
|
Neigung: 90,
|
|
GesamtEnergieDurchlassGrad: 0.6,
|
|
RahmenAnteil: 0.7,
|
|
StrahlungsEinfluss: 0.9,
|
|
Verschattung: 0.9,
|
|
TemperaturKorrekturFaktor: 1,
|
|
Orientierung: "Süd"
|
|
},
|
|
{
|
|
Art: "Fenster",
|
|
Flaeche: 2.97,
|
|
WaermeDurchgangsKoeffizient: 0.95,
|
|
Neigung: 90,
|
|
GesamtEnergieDurchlassGrad: 0.6,
|
|
RahmenAnteil: 0.7,
|
|
StrahlungsEinfluss: 0.9,
|
|
Verschattung: 0.9,
|
|
TemperaturKorrekturFaktor: 1,
|
|
Orientierung: "Nord"
|
|
},
|
|
{
|
|
Art: "Fenster",
|
|
Flaeche: 4.3,
|
|
WaermeDurchgangsKoeffizient: 0.95,
|
|
Neigung: 90,
|
|
GesamtEnergieDurchlassGrad: 0.6,
|
|
RahmenAnteil: 0.7,
|
|
StrahlungsEinfluss: 0.9,
|
|
Verschattung: 0.9,
|
|
TemperaturKorrekturFaktor: 1,
|
|
Orientierung: "Ost"
|
|
},
|
|
{
|
|
Art: "Außenwand",
|
|
Flaeche: 32.27,
|
|
WaermeDurchgangsKoeffizient: 0.2,
|
|
Neigung: 90,
|
|
GesamtEnergieDurchlassGrad: 0,
|
|
RahmenAnteil: 0,
|
|
StrahlungsEinfluss: 0,
|
|
Verschattung: 0,
|
|
TemperaturKorrekturFaktor: 1,
|
|
Orientierung: "West"
|
|
},
|
|
{
|
|
Art: "Außenwand",
|
|
Flaeche: 40.97,
|
|
WaermeDurchgangsKoeffizient: 0.2,
|
|
Neigung: 90,
|
|
GesamtEnergieDurchlassGrad: 0,
|
|
RahmenAnteil: 0,
|
|
StrahlungsEinfluss: 0,
|
|
Verschattung: 0,
|
|
TemperaturKorrekturFaktor: 1,
|
|
Orientierung: "Süd"
|
|
},
|
|
{
|
|
Art: "Außenwand",
|
|
Flaeche: 57.63,
|
|
WaermeDurchgangsKoeffizient: 0.2,
|
|
Neigung: 90,
|
|
GesamtEnergieDurchlassGrad: 0,
|
|
RahmenAnteil: 0,
|
|
StrahlungsEinfluss: 0,
|
|
Verschattung: 0,
|
|
TemperaturKorrekturFaktor: 1,
|
|
Orientierung: "Nord"
|
|
},
|
|
{
|
|
Art: "Außenwand",
|
|
Flaeche: 44.52,
|
|
WaermeDurchgangsKoeffizient: 0.2,
|
|
Neigung: 90,
|
|
GesamtEnergieDurchlassGrad: 0,
|
|
RahmenAnteil: 0,
|
|
StrahlungsEinfluss: 0,
|
|
Verschattung: 0,
|
|
TemperaturKorrekturFaktor: 1,
|
|
Orientierung: "Ost"
|
|
},
|
|
{
|
|
Art: "Haustür",
|
|
Flaeche: 2.35,
|
|
WaermeDurchgangsKoeffizient: 1.3,
|
|
Neigung: 90,
|
|
GesamtEnergieDurchlassGrad: 0,
|
|
RahmenAnteil: 0,
|
|
StrahlungsEinfluss: 0,
|
|
Verschattung: 0,
|
|
TemperaturKorrekturFaktor: 1,
|
|
Orientierung: "West"
|
|
},
|
|
{
|
|
Art: "Flachdach",
|
|
Flaeche: 89.09,
|
|
WaermeDurchgangsKoeffizient: 0.13,
|
|
Neigung: 0,
|
|
GesamtEnergieDurchlassGrad: 0,
|
|
RahmenAnteil: 0,
|
|
StrahlungsEinfluss: 0,
|
|
Verschattung: 0,
|
|
TemperaturKorrekturFaktor: 1,
|
|
Orientierung: "Horizontal"
|
|
},
|
|
{
|
|
Art: "Bodenplatte",
|
|
Flaeche: 89.09,
|
|
WaermeDurchgangsKoeffizient: 0.21,
|
|
Neigung: 0,
|
|
GesamtEnergieDurchlassGrad: 0,
|
|
RahmenAnteil: 0,
|
|
StrahlungsEinfluss: 0,
|
|
Verschattung: 0,
|
|
TemperaturKorrekturFaktor: 0.8,
|
|
Orientierung: "Horizontal"
|
|
}
|
|
];
|
|
|
|
|
|
// Konstanten werden aus Eingabe geholt
|
|
minimaleAussentemperatur = -12;
|
|
innenTemperatur = 20;
|
|
WaermeBrueckenZuschlag = 0.03;
|
|
|
|
// Berechnung
|
|
|
|
maximaleTemperaturDifferenz = innenTemperatur - minimaleAussentemperatur;
|
|
LichteRaumHoehe = GeschossHoehe - DeckenStaerke;
|
|
ObjektNettoVolumen = NettoGrundflaeche * LichteRaumHoehe;
|
|
|
|
if (WohnEinheiten < 3) {FaktorNettoVolumen = 0.76;} else {FaktorNettoVolumen = 0.8;}
|
|
ObjektNettoVolumenAlternativ = ObjektBruttoVolumen * FaktorNettoVolumen;
|
|
|
|
const ErgebnisseBauteile = PlanungswerteBauteil.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 = PlanungswerteBauteil.reduce((sum, bauteil) => sum + bauteil.Flaeche, 0);
|
|
|
|
HuellFlaechenVolumenVerhaeltnis = GesamtHuellFlaeche / ObjektNettoVolumenAlternativ;
|
|
|
|
WaermeTransferKoeffizientWaeremebruecken = GesamtHuellFlaeche * WaermeBrueckenZuschlag;
|
|
maximalerWaermestromWaermebruecken = WaermeTransferKoeffizientWaeremebruecken * maximaleTemperaturDifferenz;
|
|
|
|
const WaermeTransferKoeffizientBauteile =
|
|
(ErgebnisseBauteile.reduce((sum, bauteil) => sum + bauteil.WaermeTransferKoeffizientKorrektur, 0))
|
|
+ WaermeTransferKoeffizientWaeremebruecken;
|
|
|
|
maximalerWaermestromBauteile = WaermeTransferKoeffizientBauteile * maximaleTemperaturDifferenz;
|
|
|
|
return {
|
|
|
|
ObjektAdresse,
|
|
ObjektBruttoVolumen,
|
|
NettoGrundflaeche,
|
|
maximaleTemperaturDifferenz,
|
|
innenTemperatur,
|
|
minimaleAussentemperatur,
|
|
LichteRaumHoehe,
|
|
ObjektNettoVolumen,
|
|
FaktorNettoVolumen,
|
|
ObjektNettoVolumenAlternativ,
|
|
GesamtHuellFlaeche,
|
|
ErgebnisseBauteile,
|
|
WaermeBrueckenZuschlag,
|
|
WaermeTransferKoeffizientWaeremebruecken,
|
|
maximalerWaermestromWaermebruecken,
|
|
WaermeTransferKoeffizientBauteile,
|
|
maximalerWaermestromBauteile,
|
|
HuellFlaechenVolumenVerhaeltnis,
|
|
}
|
|
} |