Überarbeitet und Wertebereiche angepasst

This commit is contained in:
Jens Cornelsen
2025-02-15 14:58:34 +01:00
parent 0d0f6c8851
commit a9ab3daa6f
21 changed files with 314 additions and 242 deletions

View File

@@ -1,6 +1,6 @@
<script lang="ts"> <script lang="ts">
import { A14BerechnungAufwandszahlenMittlereBelastung } from "#lib/Berechnungen/BedarfsausweisWohnen/A14BerechnungAufwandszahlenMittlereBelastung.js"; import { A14BerechnungAufwandszahlenMittlereBelastung } from "#lib/Berechnungen/BedarfsausweisWohnen/A14BerechnungAufwandszahlenMittlereBelastung.js";
import { funktionNennleistungWaermeerzeugerWarmwasserA14 } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionNennleistungWaermeerzeugerWarmwasserA14.js"; import { funktionNennleistungWaermeerzeugerWarmwasserT139 } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionNennleistungWaermeerzeugerWarmwasserT139.js";
import { SystemModule } from "@faker-js/faker"; import { SystemModule } from "@faker-js/faker";
$: result = A14BerechnungAufwandszahlenMittlereBelastung(); $: result = A14BerechnungAufwandszahlenMittlereBelastung();

View File

@@ -3,7 +3,7 @@ import { A9BerechnungNutzenergiebedarfTrinkwarmwasser } from "#lib/Berechnungen/
import { A12BerechnungNutzenergiebedarfHeizung } from "#lib/Berechnungen/BedarfsausweisWohnen/A12BerechnungNutzenergiebedarfHeizung.js"; import { A12BerechnungNutzenergiebedarfHeizung } from "#lib/Berechnungen/BedarfsausweisWohnen/A12BerechnungNutzenergiebedarfHeizung.js";
import { A13BerechnungRechnerischeLaufzeitHeizung } from "#lib/Berechnungen/BedarfsausweisWohnen/A13BerechnungRechnerischeLaufzeitHeizung.js"; import { A13BerechnungRechnerischeLaufzeitHeizung } from "#lib/Berechnungen/BedarfsausweisWohnen/A13BerechnungRechnerischeLaufzeitHeizung.js";
import { funktionKorrekturfaktorMittlereBelastungT32 } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionKorrekturfaktorMittlereBelastungT32.js"; import { funktionKorrekturfaktorMittlereBelastungT32 } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionKorrekturfaktorMittlereBelastungT32.js";
import { funktionNennleistungWaermeerzeugerWarmwasserA14 } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionNennleistungWaermeerzeugerWarmwasserA14.js"; import { funktionNennleistungWaermeerzeugerWarmwasserT139 } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionNennleistungWaermeerzeugerWarmwasserT139.js";
import { funktionAufwandszahlErzeugungHeizungT77 } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionAufwandszahlErzeugungHeizungT77.js"; import { funktionAufwandszahlErzeugungHeizungT77 } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionAufwandszahlErzeugungHeizungT77.js";
@@ -97,8 +97,8 @@ export function A14BerechnungAufwandszahlenMittlereBelastung() {
} }
]; ];
const resultfunktionNennleistungWaermeerzeugerWarmwasserA14 = funktionNennleistungWaermeerzeugerWarmwasserA14(NettoGrundflaeche, flaechenBezogenerWaermebedarf); const resultfunktionNennleistungWaermeerzeugerWarmwasserT139 = funktionNennleistungWaermeerzeugerWarmwasserT139(NettoGrundflaeche, flaechenBezogenerWaermebedarf);
const NennleistungWaermeerzeugerWarmwasser = resultfunktionNennleistungWaermeerzeugerWarmwasserA14; const NennleistungWaermeerzeugerWarmwasser = resultfunktionNennleistungWaermeerzeugerWarmwasserT139;
if (anlass === "Neubau") { if (anlass === "Neubau") {

View File

@@ -2,6 +2,11 @@ import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisW
export function funktionAufwandszahlEndenergieKraftWaermeKopplungBrennwertbezogenT105(BrennStoff: string, suchSpalte: number, datenZeile: number) { export function funktionAufwandszahlEndenergieKraftWaermeKopplungBrennwertbezogenT105(BrennStoff: string, suchSpalte: number, datenZeile: number) {
if (suchSpalte < 0.1) { suchSpalte = 0.1; }
if (suchSpalte > 1) { suchSpalte = 1; }
if (datenZeile < 0.1) { datenZeile = 0.1; }
if (datenZeile > 1) { datenZeile = 1; }
if (BrennStoff = "Erdgas") { if (BrennStoff = "Erdgas") {
const dataBox = [ const dataBox = [
{ SuchSpalte: [0.10], DatenSpalte: [0.136, 0.148, 0.16, 0.173, 0.185, 0.197, 0.21, 0.222, 0.234, 0.247] }, { SuchSpalte: [0.10], DatenSpalte: [0.136, 0.148, 0.16, 0.173, 0.185, 0.197, 0.21, 0.222, 0.234, 0.247] },
@@ -51,7 +56,7 @@ else if (BrennStoff = "Heizoel") {
]; ];
} }
const dataZeile = [ { DatenZeile: [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0] } ]; const dataZeile = [ { DatenZeile: [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] } ];
const AufwandszahlEndenergieKraftWaermeKopplungBrennwertbezogen = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox); const AufwandszahlEndenergieKraftWaermeKopplungBrennwertbezogen = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox);

View File

@@ -2,6 +2,11 @@ import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisW
export function funktionAufwandszahlEndenergieWaermeErzeugerBrennwertbezogenT106(BrennStoff: string, suchSpalte: number, datenZeile: number) { export function funktionAufwandszahlEndenergieWaermeErzeugerBrennwertbezogenT106(BrennStoff: string, suchSpalte: number, datenZeile: number) {
if (suchSpalte < 0.1) { suchSpalte = 0.1; }
if (suchSpalte > 1) { suchSpalte = 1; }
if (datenZeile < 1.05) { datenZeile = 1.05; }
if (datenZeile > 1.2) { datenZeile = 1.2; }
if (BrennStoff = "Erdgas") { if (BrennStoff = "Erdgas") {
const dataBox = [ const dataBox = [
{ SuchSpalte: [0.10], DatenSpalte: [1.049, 1.099, 1.149, 1.199] }, { SuchSpalte: [0.10], DatenSpalte: [1.049, 1.099, 1.149, 1.199] },
@@ -51,7 +56,7 @@ else if (BrennStoff = "Heizoel") {
]; ];
} }
const dataZeile = [ { DatenZeile: [1.05,1.10,1.15,1.20] } ]; const dataZeile = [ { DatenZeile: [1.05,1.1,1.15,1.2] } ];
const AufwandszahlEndenergieWaermeErzeugerBrennwertbezogen = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox); const AufwandszahlEndenergieWaermeErzeugerBrennwertbezogen = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox);
return AufwandszahlEndenergieWaermeErzeugerBrennwertbezogen; return AufwandszahlEndenergieWaermeErzeugerBrennwertbezogen;

View File

@@ -2,6 +2,11 @@ import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisW
export function funktionAufwandszahlErzeugungHeizungFernwaermeT102(suchSpalte: number, datenZeile: number) { export function funktionAufwandszahlErzeugungHeizungFernwaermeT102(suchSpalte: number, datenZeile: number) {
if (suchSpalte < 5) { suchSpalte = 5; }
if (suchSpalte > 400) { suchSpalte = 400; }
if (datenZeile < 0.1) { datenZeile = 0.1; }
if (datenZeile > 1) { datenZeile = 1; }
const dataBox = [ const dataBox = [
{ SuchSpalte: [5], DatenSpalte: [1.008, 1.009, 1.009, 1.009, 1.009, 1.009, 1.010, 1.010, 1.010, 1.010] }, { SuchSpalte: [5], DatenSpalte: [1.008, 1.009, 1.009, 1.009, 1.009, 1.009, 1.010, 1.010, 1.010, 1.010] },
{ SuchSpalte: [10], DatenSpalte: [1.005, 1.005, 1.006, 1.006, 1.006, 1.006, 1.006, 1.006, 1.006, 1.006] }, { SuchSpalte: [10], DatenSpalte: [1.005, 1.005, 1.006, 1.006, 1.006, 1.006, 1.006, 1.006, 1.006, 1.006] },

View File

@@ -2,6 +2,11 @@ import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisW
export function funktionAufwandszahlErzeugungHeizungT77(suchSpalte: number, datenZeile: number) { export function funktionAufwandszahlErzeugungHeizungT77(suchSpalte: number, datenZeile: number) {
if (suchSpalte < 5) { suchSpalte = 5; }
if (suchSpalte > 350) { suchSpalte = 350; }
if (datenZeile < 0.1) { datenZeile = 0.1; }
if (datenZeile > 1) { datenZeile = 1; }
const dataBox = [ const dataBox = [
{ SuchSpalte: [5], DatenSpalte: [1.013, 1.019, 1.024, 1.042, 1.061, 1.079, 1.098, 1.117, 1.135, 1.154] }, { SuchSpalte: [5], DatenSpalte: [1.013, 1.019, 1.024, 1.042, 1.061, 1.079, 1.098, 1.117, 1.135, 1.154] },
{ SuchSpalte: [10], DatenSpalte: [1.011, 1.017, 1.023, 1.041, 1.059, 1.077, 1.096, 1.114, 1.132, 1.150] }, { SuchSpalte: [10], DatenSpalte: [1.011, 1.017, 1.023, 1.041, 1.059, 1.077, 1.096, 1.114, 1.132, 1.150] },

View File

@@ -2,6 +2,11 @@ import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisW
export function funktionAufwandszahlErzeugungHeizungUmlaufWasserheizerT82(suchSpalte: number, datenZeile: number) { export function funktionAufwandszahlErzeugungHeizungUmlaufWasserheizerT82(suchSpalte: number, datenZeile: number) {
if (suchSpalte < 11) { suchSpalte = 11; }
if (suchSpalte > 24) { suchSpalte = 24; }
if (datenZeile < 0.1) { datenZeile = 0.1; }
if (datenZeile > 1) { datenZeile = 1; }
const dataBox = [ const dataBox = [
{ SuchSpalte: [11], DatenSpalte: [1.038,1.069,1.098,1.122,1.145,1.169,1.192,1.216,1.240,1.263] }, { SuchSpalte: [11], DatenSpalte: [1.038,1.069,1.098,1.122,1.145,1.169,1.192,1.216,1.240,1.263] },
{ SuchSpalte: [18], DatenSpalte: [1.037,1.068,1.096,1.120,1.143,1.166,1.189,1.212,1.236,1.259] }, { SuchSpalte: [18], DatenSpalte: [1.037,1.068,1.096,1.120,1.143,1.166,1.189,1.212,1.236,1.259] },

View File

@@ -2,8 +2,13 @@ import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisW
export function funktionAufwandszahlStromProduktionKraftWaermekopplungT107(suchSpalte: number, datenZeile: number) { export function funktionAufwandszahlStromProduktionKraftWaermekopplungT107(suchSpalte: number, datenZeile: number) {
if (suchSpalte < 0.1) { suchSpalte = 0.1; }
if (suchSpalte > 1) { suchSpalte = 1; }
if (datenZeile < 0.1) { datenZeile = 0.1; }
if (datenZeile > 1) { datenZeile = 1; }
const dataBox = [ const dataBox = [
{ SuchSpalte: [0.10], DatenSpalte: [0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1] }, { SuchSpalte: [0.1], DatenSpalte: [0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1] },
{ SuchSpalte: [0.15], DatenSpalte: [0.015, 0.03, 0.045, 0.06, 0.075, 0.09, 0.105, 0.12, 0.135, 0.15] }, { SuchSpalte: [0.15], DatenSpalte: [0.015, 0.03, 0.045, 0.06, 0.075, 0.09, 0.105, 0.12, 0.135, 0.15] },
{ SuchSpalte: [0.2], DatenSpalte: [0.02, 0.04, 0.06, 0.08, 0.1, 0.12, 0.14, 0.16, 0.18, 0.2] }, { SuchSpalte: [0.2], DatenSpalte: [0.02, 0.04, 0.06, 0.08, 0.1, 0.12, 0.14, 0.16, 0.18, 0.2] },
{ SuchSpalte: [0.25], DatenSpalte: [0.025, 0.05, 0.075, 0.1, 0.125, 0.15, 0.175, 0.2, 0.225, 0.25] }, { SuchSpalte: [0.25], DatenSpalte: [0.025, 0.05, 0.075, 0.1, 0.125, 0.15, 0.175, 0.2, 0.225, 0.25] },
@@ -24,7 +29,7 @@ export function funktionAufwandszahlStromProduktionKraftWaermekopplungT107(suchS
{ SuchSpalte: [1], DatenSpalte: [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1] } { SuchSpalte: [1], DatenSpalte: [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1] }
]; ];
const dataZeile = [ { DatenZeile: [0.10,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] } ]; const dataZeile = [ { DatenZeile: [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] } ];
const AufwandszahlStromProduktionKraftWaermekopplung = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox); const AufwandszahlStromProduktionKraftWaermekopplung = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox);
return AufwandszahlStromProduktionKraftWaermekopplung; return AufwandszahlStromProduktionKraftWaermekopplung;

View File

@@ -2,6 +2,11 @@ import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisW
export function funktionAusnutzungsgradT18(suchSpalte: number, datenZeile: number) { export function funktionAusnutzungsgradT18(suchSpalte: number, datenZeile: number) {
if (suchSpalte < 30) { suchSpalte = 30; }
if (suchSpalte > 150) { suchSpalte = 150; }
if (datenZeile < 0.1) { datenZeile = 0.1; }
if (datenZeile > 15) { datenZeile = 15; }
const dataBox = [ const dataBox = [
{ SuchSpalte: [30], DatenSpalte: [0.999, 0.992, 0.978, 0.956, 0.927, 0.893, 0.856, 0.818, 0.78, 0.742, 0.706, 0.671, 0.638, 0.608, 0.579, 0.553, 0.528, 0.505, 0.483, 0.463, 0.445, 0.428, 0.411, 0.396, 0.382, 0.369, 0.357, 0.345, 0.334, 0.324, 0.314, 0.305, 0.296, 0.288, 0.28, 0.273, 0.266, 0.259, 0.253, 0.246, 0.22, 0.198, 0.181, 0.166, 0.153, 0.142, 0.133, 0.125, 0.117, 0.111, 0.105, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1] }, { SuchSpalte: [30], DatenSpalte: [0.999, 0.992, 0.978, 0.956, 0.927, 0.893, 0.856, 0.818, 0.78, 0.742, 0.706, 0.671, 0.638, 0.608, 0.579, 0.553, 0.528, 0.505, 0.483, 0.463, 0.445, 0.428, 0.411, 0.396, 0.382, 0.369, 0.357, 0.345, 0.334, 0.324, 0.314, 0.305, 0.296, 0.288, 0.28, 0.273, 0.266, 0.259, 0.253, 0.246, 0.22, 0.198, 0.181, 0.166, 0.153, 0.142, 0.133, 0.125, 0.117, 0.111, 0.105, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1] },
{ SuchSpalte: [40], DatenSpalte: [1.0, 0.997, 0.99, 0.975, 0.954, 0.926, 0.892, 0.855, 0.817, 0.778, 0.739, 0.702, 0.667, 0.634, 0.603, 0.574, 0.547, 0.522, 0.498, 0.477, 0.457, 0.438, 0.421, 0.405, 0.39, 0.376, 0.363, 0.351, 0.339, 0.329, 0.318, 0.309, 0.3, 0.291, 0.283, 0.276, 0.268, 0.261, 0.255, 0.249, 0.221, 0.199, 0.181, 0.166, 0.154, 0.143, 0.133, 0.125, 0.118, 0.111, 0.105, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1] }, { SuchSpalte: [40], DatenSpalte: [1.0, 0.997, 0.99, 0.975, 0.954, 0.926, 0.892, 0.855, 0.817, 0.778, 0.739, 0.702, 0.667, 0.634, 0.603, 0.574, 0.547, 0.522, 0.498, 0.477, 0.457, 0.438, 0.421, 0.405, 0.39, 0.376, 0.363, 0.351, 0.339, 0.329, 0.318, 0.309, 0.3, 0.291, 0.283, 0.276, 0.268, 0.261, 0.255, 0.249, 0.221, 0.199, 0.181, 0.166, 0.154, 0.143, 0.133, 0.125, 0.118, 0.111, 0.105, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1] },

View File

@@ -1,134 +1,133 @@
// Funktion zur Berechnung der Bilanzinnentemperatur aus Tabelle 8 EFH oder Tabelle 10 MFH import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionDoppelteInterpolation.js";
import { cubicSplineInterpolation } from "js-interpolate";
// aus Eingabeformular // aus Eingabeformular
let WohnEinheiten = 2; let WohnEinheiten = 2;
let teilBeheizung = "mit Teilbeheizung";
const datasetEinfamilienHaus = { const datasetEinfamilienHaus = {
Januar: { Januar: [
50: [18.83, 18.71, 18.61, 18.38, 18.16, 18.05, 17.99, 17.97, 17.95], { SuchSpalte: [50], DatenSpalte: [18.83, 18.71, 18.61, 18.38, 18.16, 18.05, 17.99, 17.97, 17.95] },
90: [18.99, 18.87, 18.77, 18.54, 18.31, 18.20, 18.15, 18.12, 18.11], { SuchSpalte: [90], DatenSpalte: [18.99, 18.87, 18.77, 18.54, 18.31, 18.20, 18.15, 18.12, 18.11] },
130: [19.14, 19.02, 18.92, 18.68, 18.45, 18.34, 18.29, 18.26, 18.25], { SuchSpalte: [130], DatenSpalte: [19.14, 19.02, 18.92, 18.68, 18.45, 18.34, 18.29, 18.26, 18.25] },
}, ],
Februar: { Februar: [
50: [18.88, 18.76, 18.67, 18.44, 18.23, 18.13, 18.08, 18.05, 18.04], { SuchSpalte: [50], DatenSpalte: [18.88, 18.76, 18.67, 18.44, 18.23, 18.13, 18.08, 18.05, 18.04] },
90: [19.04, 18.93, 18.83, 18.60, 18.39, 18.29, 18.23, 18.21, 18.20], { SuchSpalte: [90], DatenSpalte: [19.04, 18.93, 18.83, 18.60, 18.39, 18.29, 18.23, 18.21, 18.20] },
130: [19.18, 19.07, 18.97, 18.74, 18.53, 18.42, 18.37, 18.34, 18.33], { SuchSpalte: [130], DatenSpalte: [19.18, 19.07, 18.97, 18.74, 18.53, 18.42, 18.37, 18.34, 18.33] },
}, ],
März: { März: [
50: [19.05, 18.95, 18.87, 18.68, 18.50, 18.42, 18.37, 18.35, 18.34], { SuchSpalte: [50], DatenSpalte: [19.05, 18.95, 18.87, 18.68, 18.50, 18.42, 18.37, 18.35, 18.34] },
90: [19.19, 19.09, 19.01, 18.82, 18.64, 18.55, 18.51, 18.49, 18.48], { SuchSpalte: [90], DatenSpalte: [19.19, 19.09, 19.01, 18.82, 18.64, 18.55, 18.51, 18.49, 18.48] },
130: [19.31, 19.21, 19.13, 18.94, 18.75, 18.67, 18.62, 18.60, 18.59], { SuchSpalte: [130], DatenSpalte: [19.31, 19.21, 19.13, 18.94, 18.75, 18.67, 18.62, 18.60, 18.59] },
}, ],
April: { April: [
50: [19.33, 19.26, 19.20, 19.07, 18.94, 18.88, 18.85, 18.84, 18.83], { SuchSpalte: [50], DatenSpalte: [19.33, 19.26, 19.20, 19.07, 18.94, 18.88, 18.85, 18.84, 18.83] },
90: [19.43, 19.36, 19.30, 19.17, 19.04, 18.98, 18.95, 18.93, 18.92], { SuchSpalte: [90], DatenSpalte: [19.43, 19.36, 19.30, 19.17, 19.04, 18.98, 18.95, 18.93, 18.92] },
130: [19.51, 19.44, 19.38, 19.25, 19.12, 19.06, 19.03, 19.01, 19.00], { SuchSpalte: [130], DatenSpalte: [19.51, 19.44, 19.38, 19.25, 19.12, 19.06, 19.03, 19.01, 19.00] },
}, ],
Mai: { Mai: [
50: [19.63, 19.60, 19.56, 19.49, 19.42, 19.39, 19.37, 19.36, 19.36], { SuchSpalte: [50], DatenSpalte: [19.63, 19.60, 19.56, 19.49, 19.42, 19.39, 19.37, 19.36, 19.36] },
90: [19.69, 19.65, 19.62, 19.55, 19.48, 19.44, 19.42, 19.42, 19.41], { SuchSpalte: [90], DatenSpalte: [19.69, 19.65, 19.62, 19.55, 19.48, 19.44, 19.42, 19.42, 19.41] },
130: [19.73, 19.70, 19.66, 19.59, 19.52, 19.49, 19.47, 19.46, 19.46], { SuchSpalte: [130], DatenSpalte: [19.73, 19.70, 19.66, 19.59, 19.52, 19.49, 19.47, 19.46, 19.46] },
}, ],
Juni: { Juni: [
50: [19.80, 19.77, 19.76, 19.72, 19.68, 19.66, 19.65, 19.64, 19.64], { SuchSpalte: [50], DatenSpalte: [19.80, 19.77, 19.76, 19.72, 19.68, 19.66, 19.65, 19.64, 19.64] },
90: [19.83, 19.80, 19.79, 19.75, 19.71, 19.69, 19.68, 19.67, 19.67], { SuchSpalte: [90], DatenSpalte: [19.83, 19.80, 19.79, 19.75, 19.71, 19.69, 19.68, 19.67, 19.67] },
130: [19.85, 19.83, 19.81, 19.77, 19.73, 19.71, 19.70, 19.70, 19.70], { SuchSpalte: [130], DatenSpalte: [19.85, 19.83, 19.81, 19.77, 19.73, 19.71, 19.70, 19.70, 19.70] },
}, ],
Juli: { Juli: [
50: [19.94, 19.93, 19.93, 19.91, 19.90, 19.90, 19.89, 19.89, 19.89], { SuchSpalte: [50], DatenSpalte: [19.94, 19.93, 19.93, 19.91, 19.90, 19.90, 19.89, 19.89, 19.89] },
90: [19.95, 19.94, 19.94, 19.92, 19.91, 19.91, 19.90, 19.90, 19.90], { SuchSpalte: [90], DatenSpalte: [19.95, 19.94, 19.94, 19.92, 19.91, 19.91, 19.90, 19.90, 19.90] },
130: [19.95, 19.95, 19.94, 19.93, 19.92, 19.91, 19.91, 19.91, 19.91], { SuchSpalte: [130], DatenSpalte: [19.95, 19.95, 19.94, 19.93, 19.92, 19.91, 19.91, 19.91, 19.91] },
}, ],
August: { August: [
50: [19.91, 19.90, 19.90, 19.88, 19.86, 19.86, 19.85, 19.85, 19.85], { SuchSpalte: [50], DatenSpalte: [19.91, 19.90, 19.90, 19.88, 19.86, 19.86, 19.85, 19.85, 19.85] },
90: [19.93, 19.92, 19.91, 19.89, 19.88, 19.87, 19.86, 19.86, 19.86], { SuchSpalte: [90], DatenSpalte: [19.93, 19.92, 19.91, 19.89, 19.88, 19.87, 19.86, 19.86, 19.86] },
130: [19.94, 19.93, 19.92, 19.90, 19.89, 19.88, 19.87, 19.87, 19.87], { SuchSpalte: [130], DatenSpalte: [19.94, 19.93, 19.92, 19.90, 19.89, 19.88, 19.87, 19.87, 19.87] },
}, ],
September: { September: [
50: [19.65, 19.61, 19.58, 19.51, 19.44, 19.41, 19.39, 19.39, 19.38], { SuchSpalte: [50], DatenSpalte: [19.65, 19.61, 19.58, 19.51, 19.44, 19.41, 19.39, 19.39, 19.38] },
90: [19.70, 19.66, 19.63, 19.56, 19.49, 19.46, 19.44, 19.44, 19.43], { SuchSpalte: [90], DatenSpalte: [19.70, 19.66, 19.63, 19.56, 19.49, 19.46, 19.44, 19.44, 19.43] },
130: [19.74, 19.71, 19.68, 19.60, 19.54, 19.50, 19.49, 19.48, 19.47], { SuchSpalte: [130], DatenSpalte: [19.74, 19.71, 19.68, 19.60, 19.54, 19.50, 19.49, 19.48, 19.47] },
}, ],
Oktober: { Oktober: [
50: [19.35, 19.28, 19.23, 19.10, 18.97, 18.91, 18.88, 18.87, 18.86], { SuchSpalte: [50], DatenSpalte: [19.35, 19.28, 19.23, 19.10, 18.97, 18.91, 18.88, 18.87, 18.86] },
90: [19.44, 19.38, 19.32, 19.19, 19.07, 19.01, 18.98, 18.96, 18.95], { SuchSpalte: [90], DatenSpalte: [19.44, 19.38, 19.32, 19.19, 19.07, 19.01, 18.98, 18.96, 18.95] },
130: [19.53, 19.46, 19.40, 19.27, 19.15, 19.08, 19.05, 19.04, 19.03], { SuchSpalte: [130], DatenSpalte: [19.53, 19.46, 19.40, 19.27, 19.15, 19.08, 19.05, 19.04, 19.03] },
}, ],
November: { November: [
50: [19.01, 18.91, 18.83, 18.63, 18.45, 18.35, 18.31, 18.29, 18.28], { SuchSpalte: [50], DatenSpalte: [19.01, 18.91, 18.83, 18.63, 18.45, 18.35, 18.31, 18.29, 18.28] },
90: [19.16, 19.06, 18.97, 18.77, 18.59, 18.49, 18.45, 18.43, 18.42], { SuchSpalte: [90], DatenSpalte: [19.16, 19.06, 18.97, 18.77, 18.59, 18.49, 18.45, 18.43, 18.42] },
130: [19.28, 19.18, 19.09, 18.90, 18.71, 18.61, 18.57, 18.55, 18.53], { SuchSpalte: [130], DatenSpalte: [19.28, 19.18, 19.09, 18.90, 18.71, 18.61, 18.57, 18.55, 18.53] },
}, ],
Dezember: { Dezember: [
50: [18.83, 18.71, 18.61, 18.38, 18.15, 18.04, 17.99, 17.96, 17.95], { SuchSpalte: [50], DatenSpalte: [18.83, 18.71, 18.61, 18.38, 18.15, 18.04, 17.99, 17.96, 17.95] },
90: [18.99, 18.87, 18.76, 18.53, 18.30, 18.19, 18.14, 18.11, 18.10], { SuchSpalte: [90], DatenSpalte: [18.99, 18.87, 18.76, 18.53, 18.30, 18.19, 18.14, 18.11, 18.10] },
130: [19.14, 19.02, 18.91, 18.67, 18.45, 18.33, 18.28, 18.25, 18.24], { SuchSpalte: [130], DatenSpalte: [19.14, 19.02, 18.91, 18.67, 18.45, 18.33, 18.28, 18.25, 18.24] },
}, ],
}; };
const datasetMehrfamilienHaus = { const datasetMehrfamilienHaus = {
Januar: { Januar: [
50: [19.41, 19.37, 19.33, 19.24, 19.16, 19.12, 19.10, 19.09, 19.08], { SuchSpalte: [50], DatenSpalte: [19.41, 19.37, 19.33, 19.24, 19.16, 19.12, 19.10, 19.09, 19.08] },
90: [19.50, 19.45, 19.41, 19.33, 19.24, 19.20, 19.18, 19.17, 19.17], { SuchSpalte: [90], DatenSpalte: [19.50, 19.45, 19.41, 19.33, 19.24, 19.20, 19.18, 19.17, 19.17] },
130: [19.57, 19.53, 19.49, 19.40, 19.32, 19.28, 19.26, 19.25, 19.24], { SuchSpalte: [130], DatenSpalte: [19.57, 19.53, 19.49, 19.40, 19.32, 19.28, 19.26, 19.25, 19.24] },
}, ],
Februar: { Februar: [
50: [19.44, 19.40, 19.36, 19.28, 19.20, 19.16, 19.14, 19.13, 19.13], { SuchSpalte: [50], DatenSpalte: [19.44, 19.40, 19.36, 19.28, 19.20, 19.16, 19.14, 19.13, 19.13] },
90: [19.52, 19.48, 19.44, 19.36, 19.28, 19.24, 19.22, 19.21, 19.21], { SuchSpalte: [90], DatenSpalte: [19.52, 19.48, 19.44, 19.36, 19.28, 19.24, 19.22, 19.21, 19.21] },
130: [19.59, 19.55, 19.51, 19.43, 19.35, 19.31, 19.29, 19.28, 19.28], { SuchSpalte: [130], DatenSpalte: [19.59, 19.55, 19.51, 19.43, 19.35, 19.31, 19.29, 19.28, 19.28] },
}, ],
März: { März: [
50: [19.53, 19.49, 19.46, 19.39, 19.32, 19.29, 19.27, 19.27, 19.26], { SuchSpalte: [50], DatenSpalte: [19.53, 19.49, 19.46, 19.39, 19.32, 19.29, 19.27, 19.27, 19.26] },
90: [19.60, 19.56, 19.53, 19.46, 19.39, 19.36, 19.34, 19.33, 19.33], { SuchSpalte: [90], DatenSpalte: [19.60, 19.56, 19.53, 19.46, 19.39, 19.36, 19.34, 19.33, 19.33] },
130: [19.66, 19.62, 19.59, 19.52, 19.45, 19.42, 19.40, 19.39, 19.39], { SuchSpalte: [130], DatenSpalte: [19.66, 19.62, 19.59, 19.52, 19.45, 19.42, 19.40, 19.39, 19.39] },
}, ],
April: { April: [
50: [19.66, 19.64, 19.62, 19.57, 19.52, 19.50, 19.49, 19.48, 19.48], { SuchSpalte: [50], DatenSpalte: [19.66, 19.64, 19.62, 19.57, 19.52, 19.50, 19.49, 19.48, 19.48] },
90: [19.71, 19.69, 19.67, 19.62, 19.57, 19.55, 19.54, 19.53, 19.53], { SuchSpalte: [90], DatenSpalte: [19.71, 19.69, 19.67, 19.62, 19.57, 19.55, 19.54, 19.53, 19.53] },
130: [19.76, 19.73, 19.71, 19.66, 19.61, 19.59, 19.58, 19.57, 19.57], { SuchSpalte: [130], DatenSpalte: [19.76, 19.73, 19.71, 19.66, 19.61, 19.59, 19.58, 19.57, 19.57] },
}, ],
Mai: { Mai: [
50: [19.82, 19.80, 19.79, 19.76, 19.74, 19.73, 19.72, 19.72, 19.72], { SuchSpalte: [50], DatenSpalte: [19.82, 19.80, 19.79, 19.76, 19.74, 19.73, 19.72, 19.72, 19.72] },
90: [19.84, 19.83, 19.82, 19.79, 19.77, 19.75, 19.75, 19.74, 19.74], { SuchSpalte: [90], DatenSpalte: [19.84, 19.83, 19.82, 19.79, 19.77, 19.75, 19.75, 19.74, 19.74] },
130: [19.87, 19.85, 19.84, 19.81, 19.79, 19.78, 19.77, 19.77, 19.76], { SuchSpalte: [130], DatenSpalte: [19.87, 19.85, 19.84, 19.81, 19.79, 19.78, 19.77, 19.77, 19.76] },
}, ],
Juni: { Juni: [
50: [19.90, 19.89, 19.88, 19.87, 19.85, 19.85, 19.84, 19.84, 19.84], { SuchSpalte: [50], DatenSpalte: [19.90, 19.89, 19.88, 19.87, 19.85, 19.85, 19.84, 19.84, 19.84] },
90: [19.91, 19.91, 19.90, 19.88, 19.87, 19.86, 19.86, 19.86, 19.86], { SuchSpalte: [90], DatenSpalte: [19.91, 19.91, 19.90, 19.88, 19.87, 19.86, 19.86, 19.86, 19.86] },
130: [19.93, 19.92, 19.91, 19.90, 19.88, 19.87, 19.87, 19.87, 19.87], { SuchSpalte: [130], DatenSpalte: [19.93, 19.92, 19.91, 19.90, 19.88, 19.87, 19.87, 19.87, 19.87] },
}, ],
Juli: { Juli: [
50: [19.97, 19.97, 19.96, 19.96, 19.96, 19.95, 19.95, 19.95, 19.95], { SuchSpalte: [50], DatenSpalte: [19.97, 19.97, 19.96, 19.96, 19.96, 19.95, 19.95, 19.95, 19.95] },
90: [19.97, 19.97, 19.97, 19.96, 19.96, 19.96, 19.96, 19.96, 19.96], { SuchSpalte: [90], DatenSpalte: [19.97, 19.97, 19.97, 19.96, 19.96, 19.96, 19.96, 19.96, 19.96] },
130: [19.98, 19.98, 19.97, 19.97, 19.96, 19.96, 19.96, 19.96, 19.96], { SuchSpalte: [130], DatenSpalte: [19.98, 19.98, 19.97, 19.97, 19.96, 19.96, 19.96, 19.96, 19.96] },
}, ],
August: { August: [
50: [19.96, 19.95, 19.95, 19.94, 19.94, 19.93, 19.93, 19.93, 19.93], { SuchSpalte: [50], DatenSpalte: [19.96, 19.95, 19.95, 19.94, 19.94, 19.93, 19.93, 19.93, 19.93] },
90: [19.96, 19.96, 19.96, 19.95, 19.94, 19.94, 19.94, 19.94, 19.94], { SuchSpalte: [90], DatenSpalte: [19.96, 19.96, 19.96, 19.95, 19.94, 19.94, 19.94, 19.94, 19.94] },
130: [19.97, 19.97, 19.96, 19.96, 19.95, 19.95, 19.95, 19.94, 19.94], { SuchSpalte: [130], DatenSpalte: [19.97, 19.97, 19.96, 19.96, 19.95, 19.95, 19.95, 19.94, 19.94] },
}, ],
September: { September: [
50: [19.82, 19.81, 19.80, 19.77, 19.75, 19.74, 19.73, 19.73, 19.73], { SuchSpalte: [50], DatenSpalte: [19.82, 19.81, 19.80, 19.77, 19.75, 19.74, 19.73, 19.73, 19.73] },
90: [19.85, 19.84, 19.82, 19.80, 19.77, 19.76, 19.76, 19.75, 19.75], { SuchSpalte: [90], DatenSpalte: [19.85, 19.84, 19.82, 19.80, 19.77, 19.76, 19.76, 19.75, 19.75] },
130: [19.87, 19.86, 19.85, 19.82, 19.80, 19.78, 19.78, 19.77, 19.77], { SuchSpalte: [130], DatenSpalte: [19.87, 19.86, 19.85, 19.82, 19.80, 19.78, 19.78, 19.77, 19.77] },
}, ],
Oktober: { Oktober: [
50: [19.67, 19.65, 19.63, 19.58, 19.53, 19.51, 19.50, 19.50, 19.49], { SuchSpalte: [50], DatenSpalte: [19.67, 19.65, 19.63, 19.58, 19.53, 19.51, 19.50, 19.50, 19.49] },
90: [19.72, 19.70, 19.68, 19.63, 19.58, 19.56, 19.55, 19.54, 19.54], { SuchSpalte: [90], DatenSpalte: [19.72, 19.70, 19.68, 19.63, 19.58, 19.56, 19.55, 19.54, 19.54] },
130: [19.76, 19.74, 19.72, 19.67, 19.62, 19.60, 19.59, 19.58, 19.58], { SuchSpalte: [130], DatenSpalte: [19.76, 19.74, 19.72, 19.67, 19.62, 19.60, 19.59, 19.58, 19.58] },
}, ],
November: { November: [
50: [19.51, 19.47, 19.44, 19.36, 19.30, 19.26, 19.25, 19.24, 19.23], { SuchSpalte: [50], DatenSpalte: [19.51, 19.47, 19.44, 19.36, 19.30, 19.26, 19.25, 19.24, 19.23] },
90: [19.58, 19.54, 19.51, 19.44, 19.37, 19.33, 19.32, 19.31, 19.30], { SuchSpalte: [90], DatenSpalte: [19.58, 19.54, 19.51, 19.44, 19.37, 19.33, 19.32, 19.31, 19.30] },
130: [19.64, 19.60, 19.57, 19.50, 19.43, 19.39, 19.38, 19.37, 19.37], { SuchSpalte: [130], DatenSpalte: [19.64, 19.60, 19.57, 19.50, 19.43, 19.39, 19.38, 19.37, 19.37] },
}, ],
Dezember: { Dezember: [
50: [19.41, 19.36, 19.32, 19.24, 19.15, 19.11, 19.09, 19.08, 19.08], { SuchSpalte: [50], DatenSpalte: [19.41, 19.36, 19.32, 19.24, 19.15, 19.11, 19.09, 19.08, 19.08] },
90: [19.49, 19.45, 19.41, 19.32, 19.24, 19.20, 19.18, 19.17, 19.16], { SuchSpalte: [90], DatenSpalte: [19.49, 19.45, 19.41, 19.32, 19.24, 19.20, 19.18, 19.17, 19.16] },
130: [19.57, 19.52, 19.49, 19.40, 19.31, 19.27, 19.25, 19.24, 19.24], { SuchSpalte: [130], DatenSpalte: [19.57, 19.52, 19.49, 19.40, 19.31, 19.27, 19.25, 19.24, 19.24] },
}, ],
}; };
function getDataset(WohnEinheiten: number) { function getDataset(WohnEinheiten: number) {
@@ -142,37 +141,20 @@ const datasetEinfamilienHaus = {
const dataset = getDataset(WohnEinheiten); const dataset = getDataset(WohnEinheiten);
// Für "Ohne Teilbeheizung" habe ich hier einfach 0 eingesetzt: // Für "Ohne Teilbeheizung" habe ich hier einfach 0 eingesetzt:
const HeizLast = [0, 5, 10, 25, 50, 75, 100, 125, 150]; const dataZeile = [{ DatenZeile: [0, 5, 10, 25, 50, 75, 100, 125, 150] }];
// Um über die beiden Tabellen zu interpolieren können wir einfach zuerst über
// jede einzeln interpolieren und dann zwischen den Tabellen interpolieren.
// Falls wir also den Wert an Stelle Heizlast: 120, Zeitkonstante 100, Monat:
// Januar haben wollen:
export function funktionBilanzInnentemperaturT8T10(heizlast: number, zeitkonstane: number, monat: keyof typeof dataset): number {
const data = dataset[monat]
const interpolations: number[] = [] export function funktionBilanzInnentemperaturT8T10(datenZeile: number, suchSpalte: number, monat: keyof typeof dataset): number {
for (const key in data) { if (teilBeheizung === "ohne Teilbeheizung") {datenZeile = 0;}
const values = data[key as unknown as keyof typeof data]
const interpolated = cubicSplineInterpolation( if (suchSpalte < 50) { suchSpalte = 50; }
values.map((value, i) => ({ x: HeizLast[i], y: value })), if (suchSpalte > 130) { suchSpalte = 130; }
heizlast if (datenZeile < 5) { datenZeile = 5; }
) if (datenZeile > 150) { datenZeile = 150; }
interpolations.push(interpolated) const dataBox = dataset[monat]
} const BilanzInnentemperatur = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox);
return BilanzInnentemperatur;
const interpolated = cubicSplineInterpolation(
interpolations.map((interpolation, i) => {
return {
x: Object.keys(data)[i],
y: interpolation
}
}),
zeitkonstane
)
return interpolated
} }

View File

@@ -1,4 +1,3 @@
export function funktionDoppelteInterpolation(SuchSpalte: number, DatenZeile: number, dataZeile: any, dataBox: any): number { export function funktionDoppelteInterpolation(SuchSpalte: number, DatenZeile: number, dataZeile: any, dataBox: any): number {
function interpolate(x: number, x0: number, y0: number, x1: number, y1: number): number { function interpolate(x: number, x0: number, y0: number, x1: number, y1: number): number {

View File

@@ -2,6 +2,11 @@ import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisW
export function funktionHilfsenergieErzeugungHeizungT83(suchSpalte: number, datenZeile: number) { export function funktionHilfsenergieErzeugungHeizungT83(suchSpalte: number, datenZeile: number) {
if (suchSpalte < 5) { suchSpalte = 5; }
if (suchSpalte > 400) { suchSpalte = 400; }
if (datenZeile < 0.1) { datenZeile = 0.1; }
if (datenZeile > 1) { datenZeile = 1; }
const dataBox = [ const dataBox = [
{ SuchSpalte: [5], DatenSpalte: [0.0208, 0.0267, 0.0325, 0.0418, 0.0510, 0.0603, 0.0696, 0.0789, 0.0882, 0.0974] }, { SuchSpalte: [5], DatenSpalte: [0.0208, 0.0267, 0.0325, 0.0418, 0.0510, 0.0603, 0.0696, 0.0789, 0.0882, 0.0974] },
{ SuchSpalte: [10], DatenSpalte: [0.0251, 0.0352, 0.0453, 0.0582, 0.0712, 0.0841, 0.0971, 0.1100, 0.1230, 0.1359] }, { SuchSpalte: [10], DatenSpalte: [0.0251, 0.0352, 0.0453, 0.0582, 0.0712, 0.0841, 0.0971, 0.1100, 0.1230, 0.1359] },
@@ -25,7 +30,7 @@ const dataBox = [
{ SuchSpalte: [400], DatenSpalte: [0.0987, 0.1824, 0.2661, 0.3422, 0.4182, 0.4942, 0.5703, 0.6463, 0.7223, 0.7984] } { SuchSpalte: [400], DatenSpalte: [0.0987, 0.1824, 0.2661, 0.3422, 0.4182, 0.4942, 0.5703, 0.6463, 0.7223, 0.7984] }
]; ];
const dataZeile = [ { DatenZeile: [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0] } ]; const dataZeile = [ { DatenZeile: [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] } ];
const HilfsenergieErzeugungHeizung = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox); const HilfsenergieErzeugungHeizung = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox);

View File

@@ -2,6 +2,11 @@ import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisW
export function funktionHilfsenergieErzeugungPelletKesselT85(suchSpalte: number, datenZeile: number) { export function funktionHilfsenergieErzeugungPelletKesselT85(suchSpalte: number, datenZeile: number) {
if (suchSpalte < 5) { suchSpalte = 5; }
if (suchSpalte > 400) { suchSpalte = 400; }
if (datenZeile < 0.1) { datenZeile = 0.1; }
if (datenZeile > 1) { datenZeile = 1; }
const dataBox = [ const dataBox = [
{ SuchSpalte: [5], DatenSpalte: [0.0070, 0.0080, 0.0090, 0.0149, 0.0207, 0.0266, 0.0324, 0.0383, 0.0441, 0.0500] }, { SuchSpalte: [5], DatenSpalte: [0.0070, 0.0080, 0.0090, 0.0149, 0.0207, 0.0266, 0.0324, 0.0383, 0.0441, 0.0500] },
{ SuchSpalte: [10], DatenSpalte: [0.0107, 0.0143, 0.0180, 0.0240, 0.0300, 0.0360, 0.0420, 0.0480, 0.0540, 0.0600] }, { SuchSpalte: [10], DatenSpalte: [0.0107, 0.0143, 0.0180, 0.0240, 0.0300, 0.0360, 0.0420, 0.0480, 0.0540, 0.0600] },
@@ -25,7 +30,7 @@ const dataBox = [
{ SuchSpalte: [400], DatenSpalte: [0.2967, 0.5083, 0.7200, 0.7371, 0.7543, 0.7714, 0.7886, 0.8057, 0.8229, 0.8400] } { SuchSpalte: [400], DatenSpalte: [0.2967, 0.5083, 0.7200, 0.7371, 0.7543, 0.7714, 0.7886, 0.8057, 0.8229, 0.8400] }
]; ];
const dataZeile = [ { DatenZeile: [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0] } ]; const dataZeile = [ { DatenZeile: [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] } ];
const HilfsenergieErzeugungPelletKessel = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox); const HilfsenergieErzeugungPelletKessel = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox);

View File

@@ -2,13 +2,18 @@ import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisW
export function funktionHilfsenergieErzeugungUmlaufWasserheizerT88(suchSpalte: number, datenZeile: number) { export function funktionHilfsenergieErzeugungUmlaufWasserheizerT88(suchSpalte: number, datenZeile: number) {
if (suchSpalte < 11) { suchSpalte = 11; }
if (suchSpalte > 24) { suchSpalte = 24; }
if (datenZeile < 0.1) { datenZeile = 0.1; }
if (datenZeile > 1) { datenZeile = 1; }
const dataBox = [ const dataBox = [
{ SuchSpalte: [11], DatenSpalte: [0.0258, 0.0366, 0.0474, 0.0610, 0.0745, 0.0881, 0.1016, 0.1152, 0.1287, 0.1423] }, { SuchSpalte: [11], DatenSpalte: [0.0258, 0.0366, 0.0474, 0.0610, 0.0745, 0.0881, 0.1016, 0.1152, 0.1287, 0.1423] },
{ SuchSpalte: [18], DatenSpalte: [0.0300, 0.0450, 0.0601, 0.0772, 0.0944, 0.1115, 0.1287, 0.1459, 0.1630, 0.1802] }, { SuchSpalte: [18], DatenSpalte: [0.0300, 0.0450, 0.0601, 0.0772, 0.0944, 0.1115, 0.1287, 0.1459, 0.1630, 0.1802] },
{ SuchSpalte: [24], DatenSpalte: [0.0330, 0.0510, 0.0690, 0.0887, 0.1084, 0.1281, 0.1478, 0.1675, 0.1872, 0.2069] } { SuchSpalte: [24], DatenSpalte: [0.0330, 0.0510, 0.0690, 0.0887, 0.1084, 0.1281, 0.1478, 0.1675, 0.1872, 0.2069] }
]; ];
const dataZeile = [ { DatenZeile: [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0] } ]; const dataZeile = [ { DatenZeile: [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] } ];
const HilfsenergieErzeugungUmlaufWasserheizer = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox); const HilfsenergieErzeugungUmlaufWasserheizer = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox);

View File

@@ -0,0 +1,64 @@
import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionDoppelteInterpolation.js";
export function funktionKorrekturfaktorAbweichendeErzeugerAufwandszahlenT109(suchSpalte: number, datenZeile: number) {
if (suchSpalte < 0.1) { suchSpalte = 0.1; }
if (suchSpalte > 1) { suchSpalte = 1; }
if (datenZeile < 1.05) { datenZeile = 1.05; }
if (datenZeile > 1.2) { datenZeile = 1.2; }
const dataBoxHP = [
{ SuchSpalte: [0.1], DatenSpalte: [0.98, 1.02, 1.06, 1.11] },
{ SuchSpalte: [0.15], DatenSpalte: [0.98, 1.02, 1.06, 1.1] },
{ SuchSpalte: [0.2], DatenSpalte: [0.98, 1.02, 1.06, 1.1] },
{ SuchSpalte: [0.25], DatenSpalte: [0.98, 1.02, 1.06, 1.09] },
{ SuchSpalte: [0.3], DatenSpalte: [0.98, 1.02, 1.05, 1.09] },
{ SuchSpalte: [0.35], DatenSpalte: [0.98, 1.02, 1.05, 1.08] },
{ SuchSpalte: [0.4], DatenSpalte: [0.98, 1.02, 1.05, 1.08] },
{ SuchSpalte: [0.45], DatenSpalte: [0.99, 1.01, 1.04, 1.07] },
{ SuchSpalte: [0.5], DatenSpalte: [0.99, 1.01, 1.04, 1.07] },
{ SuchSpalte: [0.55], DatenSpalte: [0.99, 1.01, 1.04, 1.06] },
{ SuchSpalte: [0.6], DatenSpalte: [0.99, 1.01, 1.03, 1.05] },
{ SuchSpalte: [0.65], DatenSpalte: [0.99, 1.01, 1.03, 1.05] },
{ SuchSpalte: [0.7], DatenSpalte: [0.99, 1.01, 1.03, 1.04] },
{ SuchSpalte: [0.75], DatenSpalte: [0.99, 1.01, 1.02, 1.04] },
{ SuchSpalte: [0.8], DatenSpalte: [0.99, 1.01, 1.02, 1.03] },
{ SuchSpalte: [0.85], DatenSpalte: [1, 1, 1.01, 1.02] },
{ SuchSpalte: [0.9], DatenSpalte: [1, 1, 1.01, 1.01] },
{ SuchSpalte: [0.95], DatenSpalte: [1, 1, 1, 1.01] },
{ SuchSpalte: [1], DatenSpalte: [1, 1, 1, 1] }
];
const dataBoxCHP = [
{ SuchSpalte: [0.1], DatenSpalte: [0.99, 1, 1, 1.01] },
{ SuchSpalte: [0.15], DatenSpalte: [0.99, 1, 1.01, 1.02] },
{ SuchSpalte: [0.2], DatenSpalte: [0.99, 1, 1.01, 1.02] },
{ SuchSpalte: [0.25], DatenSpalte: [0.98, 1, 1.01, 1.03] },
{ SuchSpalte: [0.3], DatenSpalte: [0.98, 1, 1.01, 1.03] },
{ SuchSpalte: [0.35], DatenSpalte: [0.97, 1, 1.02, 1.04] },
{ SuchSpalte: [0.4], DatenSpalte: [0.97, 0.99, 1.02, 1.04] },
{ SuchSpalte: [0.45], DatenSpalte: [0.97, 0.99, 1.02, 1.05] },
{ SuchSpalte: [0.5], DatenSpalte: [0.96, 0.99, 1.02, 1.06] },
{ SuchSpalte: [0.55], DatenSpalte: [0.96, 0.99, 1.03, 1.06] },
{ SuchSpalte: [0.6], DatenSpalte: [0.95, 0.99, 1.03, 1.07] },
{ SuchSpalte: [0.65], DatenSpalte: [0.95, 0.99, 1.03, 1.08] },
{ SuchSpalte: [0.7], DatenSpalte: [0.94, 0.99, 1.04, 1.08] },
{ SuchSpalte: [0.75], DatenSpalte: [0.94, 0.99, 1.04, 1.09] },
{ SuchSpalte: [0.8], DatenSpalte: [0.93, 0.99, 1.04, 1.1] },
{ SuchSpalte: [0.85], DatenSpalte: [0.93, 0.99, 1.05, 1.11] },
{ SuchSpalte: [0.9], DatenSpalte: [0.92, 0.99, 1.05, 1.11] },
{ SuchSpalte: [0.95], DatenSpalte: [0.92, 0.99, 1.05, 1.12] },
{ SuchSpalte: [1], DatenSpalte: [0.91, 0.98, 1.06, 1.13] }
];
const dataZeile = [ { DatenZeile: [1.05,1.1,1.15,1.2] } ];
const KorrekturfaktorAbweichendeErzeugerAufwandszahlenHP = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBoxHP);
const KorrekturfaktorAbweichendeErzeugerAufwandszahlenCHP = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBoxCHP);
return {
KorrekturfaktorAbweichendeErzeugerAufwandszahlenHP,
KorrekturfaktorAbweichendeErzeugerAufwandszahlenCHP
}
}

View File

@@ -2,6 +2,11 @@ import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisW
export function funktionKorrekturfaktorHilfsenergieErzeugungHolzhackSchnitzelT86(suchSpalte: number, datenZeile: number) { export function funktionKorrekturfaktorHilfsenergieErzeugungHolzhackSchnitzelT86(suchSpalte: number, datenZeile: number) {
if (suchSpalte < 5) { suchSpalte = 5; }
if (suchSpalte > 400) { suchSpalte = 400; }
if (datenZeile < 0.1) { datenZeile = 0.1; }
if (datenZeile > 1) { datenZeile = 1; }
const dataBox = [ const dataBox = [
{ SuchSpalte: [5], DatenSpalte: [2.9, 3.1, 3.3, 2.3, 1.8, 1.5, 1.4, 1.3, 1.2, 1.1] }, { SuchSpalte: [5], DatenSpalte: [2.9, 3.1, 3.3, 2.3, 1.8, 1.5, 1.4, 1.3, 1.2, 1.1] },
{ SuchSpalte: [10], DatenSpalte: [2.3, 2.2, 2.2, 1.8, 1.6, 1.5, 1.4, 1.3, 1.2, 1.2] }, { SuchSpalte: [10], DatenSpalte: [2.3, 2.2, 2.2, 1.8, 1.6, 1.5, 1.4, 1.3, 1.2, 1.2] },

View File

@@ -2,6 +2,11 @@ import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisW
export function funktionKorrekturfaktorHilfsenergieErzeugungGasSpezialHeizkesselT84(suchSpalte: number, datenZeile: number) { export function funktionKorrekturfaktorHilfsenergieErzeugungGasSpezialHeizkesselT84(suchSpalte: number, datenZeile: number) {
if (suchSpalte < 5) { suchSpalte = 5; }
if (suchSpalte > 400) { suchSpalte = 400; }
if (datenZeile < 0.1) { datenZeile = 0.1; }
if (datenZeile > 1) { datenZeile = 1; }
const dataBox = [ const dataBox = [
{ SuchSpalte: [5], DatenSpalte: [0.808, 0.700, 0.631, 0.564, 0.521, 0.491, 0.469, 0.452, 0.439, 0.428] }, { SuchSpalte: [5], DatenSpalte: [0.808, 0.700, 0.631, 0.564, 0.521, 0.491, 0.469, 0.452, 0.439, 0.428] },
{ SuchSpalte: [15], DatenSpalte: [0.665, 0.526, 0.450, 0.405, 0.375, 0.355, 0.340, 0.329, 0.320, 0.313] }, { SuchSpalte: [15], DatenSpalte: [0.665, 0.526, 0.450, 0.405, 0.375, 0.355, 0.340, 0.329, 0.320, 0.313] },

View File

@@ -2,6 +2,11 @@ import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisW
export function funktionKorrekturfaktorTemperaturDifferenzWaermePumpeT90(suchSpalte: number, datenZeile: number) { export function funktionKorrekturfaktorTemperaturDifferenzWaermePumpeT90(suchSpalte: number, datenZeile: number) {
if (suchSpalte < 3) { suchSpalte = 3; }
if (suchSpalte > 10) { suchSpalte = 10; }
if (datenZeile < 3) { datenZeile = 3; }
if (datenZeile > 15) { datenZeile = 15; }
const dataBox = [ const dataBox = [
{ SuchSpalte: [3], DatenSpalte: [1.000, 0.990, 0.980, 0.969, 0.959, 0.949, 0.939, 0.928, 0.918, 0.908, 0.898, 0.887, 0.877] }, { SuchSpalte: [3], DatenSpalte: [1.000, 0.990, 0.980, 0.969, 0.959, 0.949, 0.939, 0.928, 0.918, 0.908, 0.898, 0.887, 0.877] },
{ SuchSpalte: [4], DatenSpalte: [1.010, 1.000, 0.990, 0.980, 0.969, 0.959, 0.949, 0.939, 0.928, 0.918, 0.908, 0.898, 0.887] }, { SuchSpalte: [4], DatenSpalte: [1.010, 1.000, 0.990, 0.980, 0.969, 0.959, 0.949, 0.939, 0.928, 0.918, 0.908, 0.898, 0.887] },

View File

@@ -1,74 +0,0 @@
// Interpolationsfunktion für Nennleistung des Wärmeerzeugers
interface DatasetNennleistung {
flaeche: number[];
Nennleistung: number[];
}
interface DatasetNutzwaermeBedarf {
NutzwaermeBedarf: number[];
}
const datasetNennleistung: DatasetNennleistung[] = [
{ flaeche: [50], Nennleistung: [7.5, 7.3, 7.1, 7, 6.8, 6.6, 6.4, 6.3, 6.1, 5.9, 5.7, 5.6, 5.4, 5.2, 5, 4.8] },
{ flaeche: [100], Nennleistung: [12.1, 11.8, 11.6, 11.3, 11, 10.8, 10.5, 10.2, 9.9, 9.6, 9.3, 9, 8.7, 8.4, 8.1, 7.8] },
{ flaeche: [150], Nennleistung: [16.1, 15.7, 15.4, 15, 14.6, 14.3, 13.9, 13.5, 13.1, 12.8, 12.4, 12, 11.6, 11.2, 10.8, 10.3] },
{ flaeche: [200], Nennleistung: [19.7, 19.2, 18.8, 18.4, 17.9, 17.5, 17, 16.5, 16.1, 15.6, 15.1, 14.6, 14.2, 13.7, 13.1, 12.6] },
{ flaeche: [300], Nennleistung: [26.1, 25.6, 25, 24.4, 23.8, 23.2, 22.6, 22, 21.4, 20.7, 20.1, 19.5, 18.8, 18.1, 17.5, 16.8] },
{ flaeche: [400], Nennleistung: [32, 31.3, 30.5, 29.8, 29.1, 28.4, 27.6, 26.9, 26.1, 25.4, 24.6, 23.8, 23, 22.2, 21.4, 20.5] },
{ flaeche: [500], Nennleistung: [37.4, 36.5, 35.7, 34.9, 34, 33.2, 32.3, 31.4, 30.5, 29.6, 28.7, 27.8, 26.9, 25.9, 25, 24] },
{ flaeche: [600], Nennleistung: [42.4, 41.5, 40.6, 39.6, 38.7, 37.7, 36.7, 35.7, 34.7, 33.7, 32.7, 31.6, 30.5, 29.5, 28.4, 27.3] },
{ flaeche: [700], Nennleistung: [47.3, 46.2, 45.2, 44.1, 43.1, 42, 40.9, 39.8, 38.7, 37.5, 36.4, 35.2, 34, 32.8, 31.6, 30.4] },
{ flaeche: [800], Nennleistung: [51.9, 50.8, 49.6, 48.5, 47.3, 46.1, 44.9, 43.7, 42.4, 41.2, 39.9, 38.7, 37.4, 36, 34.7, 33.3] },
{ flaeche: [900], Nennleistung: [56.4, 55.1, 53.9, 52.6, 51.3, 50.1, 48.7, 47.4, 46.1, 44.7, 43.4, 42, 40.6, 39.1, 37.7, 36.2] },
{ flaeche: [1000], Nennleistung: [60.7, 59.4, 58, 56.6, 55.3, 53.9, 52.5, 51.1, 49.6, 48.2, 46.7, 45.2, 43.7, 42.1, 40.6, 39] },
{ flaeche: [2000], Nennleistung: [98.6, 96.4, 94.2, 92, 89.8, 87.5, 85.3, 82.9, 80.6, 78.2, 75.8, 73.4, 71, 68.4, 65.9, 63.3] },
{ flaeche: [3000], Nennleistung: [130.9, 128.1, 125.2, 122.2, 119.3, 116.3, 113.2, 110.2, 107.1, 103.9, 100.7, 97.5, 94.2, 90.9, 87.5, 84.1] },
{ flaeche: [4000], Nennleistung: [160.2, 156.6, 153.1, 149.5, 145.9, 142.2, 138.5, 134.7, 130.9, 127.1, 123.2, 119.3, 115.3, 111.2, 107.1, 102.9] },
{ flaeche: [5000], Nennleistung: [187.2, 183.1, 179, 174.8, 170.5, 166.2, 161.9, 157.5, 153.1, 148.6, 144, 139.4, 134.7, 130, 125.2, 120.3] }
];
const datasetNutzwaermeBedarf: DatasetNutzwaermeBedarf[] = [
{ NutzwaermeBedarf: [16, 15.5, 15, 14.5, 14, 13.5, 13, 12.5, 12, 11.5, 11, 10.5, 10, 9.5, 9, 8.5] }
];
export function funktionNennleistungWaermeerzeugerWarmwasserA14(flaeche: number, nutzwaermeBedarf: number): number {
const findClosestDatasets = (flaeche: number) => {
let lower = datasetNennleistung[0];
let upper = datasetNennleistung[datasetNennleistung.length - 1];
for (let i = 0; i < datasetNennleistung.length - 1; i++) {
if (datasetNennleistung[i].flaeche[0] <= flaeche && datasetNennleistung[i + 1].flaeche[0] >= flaeche) {
lower = datasetNennleistung[i];
upper = datasetNennleistung[i + 1];
break;
}
}
return { lower, upper };
};
const interpolate = (x: number, x0: number, y0: number, x1: number, y1: number) => {
return y0 + ((y1 - y0) * (x - x0)) / (x1 - x0);
};
const { lower, upper } = findClosestDatasets(flaeche);
const indexLower = datasetNutzwaermeBedarf[0].NutzwaermeBedarf.findIndex((value) => value <= nutzwaermeBedarf);
const indexUpper = indexLower > 0 ? indexLower - 1 : indexLower;
const nennleistungLowerLower = lower.Nennleistung[indexLower];
const nennleistungLowerUpper = lower.Nennleistung[indexUpper];
const nennleistungUpperLower = upper.Nennleistung[indexLower];
const nennleistungUpperUpper = upper.Nennleistung[indexUpper];
const interpolatedLower = interpolate(nutzwaermeBedarf, datasetNutzwaermeBedarf[0].NutzwaermeBedarf[indexUpper], nennleistungLowerUpper, datasetNutzwaermeBedarf[0].NutzwaermeBedarf[indexLower], nennleistungLowerLower);
const interpolatedUpper = interpolate(nutzwaermeBedarf, datasetNutzwaermeBedarf[0].NutzwaermeBedarf[indexUpper], nennleistungUpperUpper, datasetNutzwaermeBedarf[0].NutzwaermeBedarf[indexLower], nennleistungUpperLower);
const NennleistungWaermeerzeugerWarmwasser = interpolate(flaeche, lower.flaeche[0], interpolatedLower, upper.flaeche[0], interpolatedUpper);
return NennleistungWaermeerzeugerWarmwasser;
}
const result = funktionNennleistungWaermeerzeugerWarmwasserA14(154.2, 8.79);
console.log(result);

View File

@@ -0,0 +1,35 @@
import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionDoppelteInterpolation.js";
export function funktionNennleistungWaermeerzeugerWarmwasserT139(suchSpalte: number, datenZeile: number) {
if (suchSpalte < 50) { suchSpalte = 50; }
if (suchSpalte > 5000) { suchSpalte = 5000; }
if (datenZeile < 8.5) { datenZeile = 8.5; }
if (datenZeile > 16) { datenZeile = 16; }
const dataBox = [
{ SuchSpalte: [50], DatenSpalte: [7.5, 7.3, 7.1, 7, 6.8, 6.6, 6.4, 6.3, 6.1, 5.9, 5.7, 5.6, 5.4, 5.2, 5, 4.8] },
{ SuchSpalte: [100], DatenSpalte: [12.1, 11.8, 11.6, 11.3, 11, 10.8, 10.5, 10.2, 9.9, 9.6, 9.3, 9, 8.7, 8.4, 8.1, 7.8] },
{ SuchSpalte: [150], DatenSpalte: [16.1, 15.7, 15.4, 15, 14.6, 14.3, 13.9, 13.5, 13.1, 12.8, 12.4, 12, 11.6, 11.2, 10.8, 10.3] },
{ SuchSpalte: [200], DatenSpalte: [19.7, 19.2, 18.8, 18.4, 17.9, 17.5, 17, 16.5, 16.1, 15.6, 15.1, 14.6, 14.2, 13.7, 13.1, 12.6] },
{ SuchSpalte: [300], DatenSpalte: [26.1, 25.6, 25, 24.4, 23.8, 23.2, 22.6, 22, 21.4, 20.7, 20.1, 19.5, 18.8, 18.1, 17.5, 16.8] },
{ SuchSpalte: [400], DatenSpalte: [32, 31.3, 30.5, 29.8, 29.1, 28.4, 27.6, 26.9, 26.1, 25.4, 24.6, 23.8, 23, 22.2, 21.4, 20.5] },
{ SuchSpalte: [500], DatenSpalte: [37.4, 36.5, 35.7, 34.9, 34, 33.2, 32.3, 31.4, 30.5, 29.6, 28.7, 27.8, 26.9, 25.9, 25, 24] },
{ SuchSpalte: [600], DatenSpalte: [42.4, 41.5, 40.6, 39.6, 38.7, 37.7, 36.7, 35.7, 34.7, 33.7, 32.7, 31.6, 30.5, 29.5, 28.4, 27.3] },
{ SuchSpalte: [700], DatenSpalte: [47.3, 46.2, 45.2, 44.1, 43.1, 42, 40.9, 39.8, 38.7, 37.5, 36.4, 35.2, 34, 32.8, 31.6, 30.4] },
{ SuchSpalte: [800], DatenSpalte: [51.9, 50.8, 49.6, 48.5, 47.3, 46.1, 44.9, 43.7, 42.4, 41.2, 39.9, 38.7, 37.4, 36, 34.7, 33.3] },
{ SuchSpalte: [900], DatenSpalte: [56.4, 55.1, 53.9, 52.6, 51.3, 50.1, 48.7, 47.4, 46.1, 44.7, 43.4, 42, 40.6, 39.1, 37.7, 36.2] },
{ SuchSpalte: [1000], DatenSpalte: [60.7, 59.4, 58, 56.6, 55.3, 53.9, 52.5, 51.1, 49.6, 48.2, 46.7, 45.2, 43.7, 42.1, 40.6, 39] },
{ SuchSpalte: [2000], DatenSpalte: [98.6, 96.4, 94.2, 92, 89.8, 87.5, 85.3, 82.9, 80.6, 78.2, 75.8, 73.4, 71, 68.4, 65.9, 63.3] },
{ SuchSpalte: [3000], DatenSpalte: [130.9, 128.1, 125.2, 122.2, 119.3, 116.3, 113.2, 110.2, 107.1, 103.9, 100.7, 97.5, 94.2, 90.9, 87.5, 84.1] },
{ SuchSpalte: [4000], DatenSpalte: [160.2, 156.6, 153.1, 149.5, 145.9, 142.2, 138.5, 134.7, 130.9, 127.1, 123.2, 119.3, 115.3, 111.2, 107.1, 102.9] },
{ SuchSpalte: [5000], DatenSpalte: [187.2, 183.1, 179, 174.8, 170.5, 166.2, 161.9, 157.5, 153.1, 148.6, 144, 139.4, 134.7, 130, 125.2, 120.3] }
];
const dataZeile = [ { DatenZeile: [16, 15.5, 15, 14.5, 14, 13.5, 13, 12.5, 12, 11.5, 11, 10.5, 10, 9.5, 9, 8.5] } ];
const NennleistungWaermeerzeugerWarmwasser = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox);
return NennleistungWaermeerzeugerWarmwasser;
}

View File

@@ -2,8 +2,13 @@ import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisW
export function funktionPrimaerenergieFaktorenKraftWaermekopplungT108(suchSpalte: number, datenZeile: number) { export function funktionPrimaerenergieFaktorenKraftWaermekopplungT108(suchSpalte: number, datenZeile: number) {
if (suchSpalte < 0.1) { suchSpalte = 0.1; }
if (suchSpalte > 1) { suchSpalte = 1; }
if (datenZeile < 0.1) { datenZeile = 0.1; }
if (datenZeile > 1) { datenZeile = 1; }
const dataBox = [ const dataBox = [
{ SuchSpalte: [0.10], DatenSpalte: [1.171, 1.155, 1.139, 1.123, 1.108, 1.092, 1.076, 1.06, 1.044, 1.029] }, { SuchSpalte: [0.1], DatenSpalte: [1.171, 1.155, 1.139, 1.123, 1.108, 1.092, 1.076, 1.06, 1.044, 1.029] },
{ SuchSpalte: [0.15], DatenSpalte: [1.165, 1.141, 1.117, 1.094, 1.07, 1.046, 1.023, 0.999, 0.975, 0.952] }, { SuchSpalte: [0.15], DatenSpalte: [1.165, 1.141, 1.117, 1.094, 1.07, 1.046, 1.023, 0.999, 0.975, 0.952] },
{ SuchSpalte: [0.2], DatenSpalte: [1.159, 1.127, 1.096, 1.064, 1.033, 1.001, 0.97, 0.938, 0.906, 0.875] }, { SuchSpalte: [0.2], DatenSpalte: [1.159, 1.127, 1.096, 1.064, 1.033, 1.001, 0.97, 0.938, 0.906, 0.875] },
{ SuchSpalte: [0.25], DatenSpalte: [1.153, 1.114, 1.074, 1.035, 0.995, 0.956, 0.916, 0.877, 0.837, 0.798] }, { SuchSpalte: [0.25], DatenSpalte: [1.153, 1.114, 1.074, 1.035, 0.995, 0.956, 0.916, 0.877, 0.837, 0.798] },
@@ -24,10 +29,6 @@ export function funktionPrimaerenergieFaktorenKraftWaermekopplungT108(suchSpalte
{ SuchSpalte: [1], DatenSpalte: [1.064, 0.907, 0.749, 0.591, 0.433, 0.275, 0.118, 0, 0, 0] } { SuchSpalte: [1], DatenSpalte: [1.064, 0.907, 0.749, 0.591, 0.433, 0.275, 0.118, 0, 0, 0] }
]; ];
const dataZeile = [ { DatenZeile: [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] } ]; const dataZeile = [ { DatenZeile: [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] } ];
const PrimaerenergieFaktorenKraftWaermekopplung = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox); const PrimaerenergieFaktorenKraftWaermekopplung = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox);