Merge remote-tracking branch 'origin/main' into dev-moritz
This commit is contained in:
@@ -1,14 +1,67 @@
|
||||
<script lang="ts">
|
||||
import { BedarfsausweisWohnenClient, GebaeudeAufnahmeClient } from "#components/Ausweis/types.js";
|
||||
import { funktionMonatlicherBelastungsgrad } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionMonatlicherBelastungsgrad.js";
|
||||
import { funktionBilanzInnentemperatur } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionBilanzInnentemperatur.js";
|
||||
import { funktionAusnutzungsgrad } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionAusnutzungsgrad.js";
|
||||
import { funktionMonatlicherBelastungsgrad } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionMonatlicherBelastungsgrad";
|
||||
import { funktionBilanzInnentemperatur } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionBilanzInnentemperatur";
|
||||
import { funktionAusnutzungsgrad } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionAusnutzungsgrad";
|
||||
|
||||
export let ausweis: BedarfsausweisWohnenClient;
|
||||
export let gebaeude_aufnahme: GebaeudeAufnahmeClient;
|
||||
|
||||
// Beispielwerte - müssen noch errechnet werden
|
||||
let heizlast = 25;
|
||||
let zeitkonstante = 110;
|
||||
let maximalerWaermestrom = 2500;
|
||||
|
||||
let waermeQuellen = {
|
||||
Januar: 400,
|
||||
Februar: 300,
|
||||
März: 340,
|
||||
April: 360,
|
||||
Mai: 400,
|
||||
Juni: 450,
|
||||
Juli: 450,
|
||||
August: 560,
|
||||
September: 400,
|
||||
Oktober: 350,
|
||||
November: 320,
|
||||
Dezember: 300
|
||||
};
|
||||
|
||||
|
||||
// Konstanten
|
||||
let minimaleAussentemperatur = -12;
|
||||
let innenTemperatur = 20;
|
||||
|
||||
let waermequellensenkenverhaeltnisJanuar = 0;
|
||||
let waermequellensenkenverhaeltnisFebruar = 0;
|
||||
let waermequellensenkenverhaeltnisMärz = 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 waermeSenken = {
|
||||
Januar: 0,
|
||||
Februar: 0,
|
||||
März: 0,
|
||||
April: 0,
|
||||
Mai: 0,
|
||||
Juni: 0,
|
||||
Juli: 0,
|
||||
August: 0,
|
||||
September: 0,
|
||||
Oktober: 0,
|
||||
November: 0,
|
||||
Dezember: 0
|
||||
};
|
||||
|
||||
|
||||
let belastungsgrade = {
|
||||
Januar: 0,
|
||||
@@ -53,22 +106,6 @@
|
||||
let ausnutzungsgradNovember = 0;
|
||||
let ausnutzungsgradDezember = 0;
|
||||
|
||||
// Beispielwerte - müssen noch errechnet werden
|
||||
|
||||
let waermequellensenkenverhaeltnisJanuar = 0.3;
|
||||
let waermequellensenkenverhaeltnisFebruar = 0.5;
|
||||
let waermequellensenkenverhaeltnisMärz = 0.7;
|
||||
let waermequellensenkenverhaeltnisApril = 0.9;
|
||||
let waermequellensenkenverhaeltnisMai = 1.1;
|
||||
let waermequellensenkenverhaeltnisJuni = 1.3;
|
||||
let waermequellensenkenverhaeltnisJuli = 1.5;
|
||||
let waermequellensenkenverhaeltnisAugust = 1.7;
|
||||
let waermequellensenkenverhaeltnisSeptember = 1.3;
|
||||
let waermequellensenkenverhaeltnisOktober = 1.1;
|
||||
let waermequellensenkenverhaeltnisNovember = 0.9;
|
||||
let waermequellensenkenverhaeltnisDezember = 0.6;
|
||||
|
||||
|
||||
$: {
|
||||
belastungsgrade.Januar = funktionMonatlicherBelastungsgrad(heizlast, zeitkonstante, "Januar");
|
||||
belastungsgrade.Februar = funktionMonatlicherBelastungsgrad(heizlast, zeitkonstante, "Februar");
|
||||
@@ -96,6 +133,33 @@
|
||||
bilanzinnentemperaturen.November = funktionBilanzInnentemperatur(heizlast, zeitkonstante, "November");
|
||||
bilanzinnentemperaturen.Dezember = funktionBilanzInnentemperatur(heizlast, zeitkonstante, "Dezember");
|
||||
|
||||
waermeSenken.Januar = maximalerWaermestrom * [bilanzinnentemperaturen.Januar - minimaleAussentemperatur] / [innenTemperatur - minimaleAussentemperatur] * belastungsgrade.Januar;
|
||||
waermeSenken.Februar = maximalerWaermestrom * [bilanzinnentemperaturen.Februar - minimaleAussentemperatur] / [innenTemperatur - minimaleAussentemperatur] * belastungsgrade.Februar;
|
||||
waermeSenken.März = maximalerWaermestrom * [bilanzinnentemperaturen.März - minimaleAussentemperatur] / [innenTemperatur - minimaleAussentemperatur] * belastungsgrade.März;
|
||||
waermeSenken.April = maximalerWaermestrom * [bilanzinnentemperaturen.April - minimaleAussentemperatur] / [innenTemperatur - minimaleAussentemperatur] * belastungsgrade.April;
|
||||
waermeSenken.Mai = maximalerWaermestrom * [bilanzinnentemperaturen.Mai - minimaleAussentemperatur] / [innenTemperatur - minimaleAussentemperatur] * belastungsgrade.Mai;
|
||||
waermeSenken.Juni = maximalerWaermestrom * [bilanzinnentemperaturen.Juni - minimaleAussentemperatur] / [innenTemperatur - minimaleAussentemperatur] * belastungsgrade.Juni;
|
||||
waermeSenken.Juli = maximalerWaermestrom * [bilanzinnentemperaturen.Juli - minimaleAussentemperatur] / [innenTemperatur - minimaleAussentemperatur] * belastungsgrade.Juli;
|
||||
waermeSenken.August = maximalerWaermestrom * [bilanzinnentemperaturen.August - minimaleAussentemperatur] / [innenTemperatur - minimaleAussentemperatur] * belastungsgrade.August;
|
||||
waermeSenken.September = maximalerWaermestrom * [bilanzinnentemperaturen.September - minimaleAussentemperatur] / [innenTemperatur - minimaleAussentemperatur] * belastungsgrade.September;
|
||||
waermeSenken.Oktober = maximalerWaermestrom * [bilanzinnentemperaturen.Oktober - minimaleAussentemperatur] / [innenTemperatur - minimaleAussentemperatur] * belastungsgrade.Oktober;
|
||||
waermeSenken.November = maximalerWaermestrom * [bilanzinnentemperaturen.November - minimaleAussentemperatur] / [innenTemperatur - minimaleAussentemperatur] * belastungsgrade.November;
|
||||
waermeSenken.Dezember = maximalerWaermestrom * [bilanzinnentemperaturen.Dezember - minimaleAussentemperatur] / [innenTemperatur - minimaleAussentemperatur] * belastungsgrade.Dezember;
|
||||
|
||||
|
||||
waermequellensenkenverhaeltnisJanuar = waermeQuellen.Januar / waermeSenken.Januar;
|
||||
waermequellensenkenverhaeltnisFebruar = waermeQuellen.Februar / waermeSenken.Februar;
|
||||
waermequellensenkenverhaeltnisMärz = waermeQuellen.März / waermeSenken.März;
|
||||
waermequellensenkenverhaeltnisApril = waermeQuellen.April / waermeSenken.April;
|
||||
waermequellensenkenverhaeltnisMai = waermeQuellen.Mai / waermeSenken.Mai;
|
||||
waermequellensenkenverhaeltnisJuni = waermeQuellen.Juni / waermeSenken.Juni;
|
||||
waermequellensenkenverhaeltnisJuli = waermeQuellen.Juli / waermeSenken.Juli;
|
||||
waermequellensenkenverhaeltnisAugust = waermeQuellen.August / waermeSenken.August;
|
||||
waermequellensenkenverhaeltnisSeptember = waermeQuellen.September / waermeSenken.September;
|
||||
waermequellensenkenverhaeltnisOktober = waermeQuellen.Oktober / waermeSenken.Oktober;
|
||||
waermequellensenkenverhaeltnisNovember = waermeQuellen.November / waermeSenken.November;
|
||||
waermequellensenkenverhaeltnisDezember = waermeQuellen.Dezember / waermeSenken.Dezember;
|
||||
|
||||
ausnutzungsgradJanuar = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisJanuar, zeitkonstante, "alleMonate");
|
||||
ausnutzungsgradFebruar = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisFebruar, zeitkonstante, "alleMonate");
|
||||
ausnutzungsgradMärz = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisMärz, zeitkonstante, "alleMonate");
|
||||
@@ -108,6 +172,7 @@
|
||||
ausnutzungsgradOktober = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisOktober, zeitkonstante, "alleMonate");
|
||||
ausnutzungsgradNovember = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisNovember, zeitkonstante, "alleMonate");
|
||||
ausnutzungsgradDezember = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisDezember, zeitkonstante, "alleMonate");
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -164,8 +229,8 @@
|
||||
<td class="border border-gray-300 px-2 py-1 bg-gray-100">1,0</td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-blue-100">{Math.round(belastungsgrade.Januar*1000)/1000}
|
||||
</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1"></td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-yellow-100"></td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1">{Math.round(waermeSenken.Januar)}</td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-yellow-100">{Math.round(waermeQuellen.Januar)}</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1">{waermequellensenkenverhaeltnisJanuar}</td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-blue-100">{Math.round(ausnutzungsgradJanuar*1000)/1000}</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1"></td>
|
||||
@@ -180,8 +245,8 @@
|
||||
<td class="border border-gray-300 px-2 py-1 bg-blue-100">{Math.round(belastungsgrade.Februar*1000)/1000}
|
||||
|
||||
</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1"></td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-yellow-100"></td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1">{Math.round(waermeSenken.Februar)}</td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-yellow-100">{Math.round(waermeQuellen.Februar)}</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1">{waermequellensenkenverhaeltnisFebruar}</td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-blue-100">{Math.round(ausnutzungsgradFebruar*1000)/1000}</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1"></td>
|
||||
@@ -196,8 +261,8 @@
|
||||
<td class="border border-gray-300 px-2 py-1 bg-blue-100">{Math.round(belastungsgrade.März*1000)/1000}
|
||||
|
||||
</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1"></td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-yellow-100"></td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1">{Math.round(waermeSenken.März)}</td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-yellow-100">{Math.round(waermeQuellen.März)}</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1">{waermequellensenkenverhaeltnisMärz}</td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-blue-100">{Math.round(ausnutzungsgradMärz*1000)/1000}</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1"></td>
|
||||
@@ -212,8 +277,8 @@
|
||||
<td class="border border-gray-300 px-2 py-1 bg-blue-100">{Math.round(belastungsgrade.April*1000)/1000}
|
||||
|
||||
</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1"></td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-yellow-100"></td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1">{Math.round(waermeSenken.April)}</td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-yellow-100">{Math.round(waermeQuellen.April)}</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1">{waermequellensenkenverhaeltnisApril}</td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-blue-100">{Math.round(ausnutzungsgradApril*1000)/1000}</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1"></td>
|
||||
@@ -228,8 +293,8 @@
|
||||
<td class="border border-gray-300 px-2 py-1 bg-blue-100">{Math.round(belastungsgrade.Mai*1000)/1000}
|
||||
|
||||
</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1"></td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-yellow-100"></td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1">{Math.round(waermeSenken.Mai)}</td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-yellow-100">{Math.round(waermeQuellen.Mai)}</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1">{waermequellensenkenverhaeltnisMai}</td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-blue-100">{Math.round(ausnutzungsgradMai*1000)/1000}</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1"></td>
|
||||
@@ -244,8 +309,8 @@
|
||||
<td class="border border-gray-300 px-2 py-1 bg-blue-100">{Math.round(belastungsgrade.Juni*1000)/1000}
|
||||
|
||||
</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1"></td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-yellow-100"></td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1">{Math.round(waermeSenken.Juni)}</td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-yellow-100">{Math.round(waermeQuellen.Juni)}</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1">{waermequellensenkenverhaeltnisJuni}</td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-blue-100">{Math.round(ausnutzungsgradJuni*1000)/1000}</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1"></td>
|
||||
@@ -260,8 +325,8 @@
|
||||
<td class="border border-gray-300 px-2 py-1 bg-blue-100">{Math.round(belastungsgrade.Juli*1000)/1000}
|
||||
|
||||
</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1"></td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-yellow-100"></td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1">{Math.round(waermeSenken.Juli)}</td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-yellow-100">{Math.round(waermeQuellen.Juli)}</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1">{waermequellensenkenverhaeltnisJuli}</td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-blue-100">{Math.round(ausnutzungsgradJuli*1000)/1000}</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1"></td>
|
||||
@@ -276,8 +341,8 @@
|
||||
<td class="border border-gray-300 px-2 py-1 bg-blue-100">{Math.round(belastungsgrade.August*1000)/1000}
|
||||
|
||||
</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1"></td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-yellow-100"></td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1">{Math.round(waermeSenken.August)}</td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-yellow-100">{Math.round(waermeQuellen.August)}</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1">{waermequellensenkenverhaeltnisAugust}</td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-blue-100">{Math.round(ausnutzungsgradAugust*1000)/1000}</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1"></td>
|
||||
@@ -292,8 +357,8 @@
|
||||
<td class="border border-gray-300 px-2 py-1 bg-blue-100">{Math.round(belastungsgrade.September*1000)/1000}
|
||||
|
||||
</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1"></td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-yellow-100"></td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1">{Math.round(waermeSenken.September)}</td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-yellow-100">{Math.round(waermeQuellen.September)}</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1">{waermequellensenkenverhaeltnisSeptember}</td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-blue-100">{Math.round(ausnutzungsgradSeptember*1000)/1000}</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1"></td>
|
||||
@@ -308,8 +373,8 @@
|
||||
<td class="border border-gray-300 px-2 py-1 bg-blue-100">{Math.round(belastungsgrade.Oktober*1000)/1000}
|
||||
|
||||
</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1"></td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-yellow-100"></td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1">{Math.round(waermeSenken.Oktober)}</td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-yellow-100">{Math.round(waermeQuellen.Oktober)}</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1">{waermequellensenkenverhaeltnisOktober}</td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-blue-100">{Math.round(ausnutzungsgradOktober*1000)/1000}</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1"></td>
|
||||
@@ -324,8 +389,8 @@
|
||||
<td class="border border-gray-300 px-2 py-1 bg-blue-100">{Math.round(belastungsgrade.November*1000)/1000}
|
||||
|
||||
</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1"></td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-yellow-100"></td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1">{Math.round(waermeSenken.November)}</td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-yellow-100">{Math.round(waermeQuellen.November)}</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1">{waermequellensenkenverhaeltnisNovember}</td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-blue-100">{Math.round(ausnutzungsgradNovember*1000)/1000}</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1"></td>
|
||||
@@ -340,8 +405,8 @@
|
||||
<td class="border border-gray-300 px-2 py-1 bg-blue-100">{Math.round(belastungsgrade.Dezember*1000)/1000}
|
||||
|
||||
</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1"></td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-yellow-100"></td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1">{Math.round(waermeSenken.Dezember)}</td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-yellow-100">{Math.round(waermeQuellen.Dezember)}</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1">{waermequellensenkenverhaeltnisDezember}</td>
|
||||
<td class="border border-gray-300 px-2 py-1 bg-blue-100">{Math.round(ausnutzungsgradDezember*1000)/1000}</td>
|
||||
<td class="border-2 border-gray-600 px-2 py-1"></td>
|
||||
|
||||
@@ -2,8 +2,6 @@
|
||||
|
||||
import { nevillePolynomialInterpolation } from "js-interpolate";
|
||||
|
||||
let waermequellensenkenverhaeltnis = 3.4; // Beispielwert - muss noch errechnet werden
|
||||
|
||||
const dataset = {
|
||||
alleMonate: {
|
||||
30: [ 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
|
||||
@@ -80,5 +78,3 @@ export function funktionAusnutzungsgrad(waermequellensenkenverhaeltnis: number,
|
||||
|
||||
return interpolate(zeitkonstane)
|
||||
}
|
||||
|
||||
console.log(funktionAusnutzungsgrad(waermequellensenkenverhaeltnis, 30, "alleMonate"))
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
import { nevillePolynomialInterpolation } from "js-interpolate";
|
||||
import { any } from "node_modules/cypress/types/bluebird/index.js";
|
||||
|
||||
// aus Eingabeformular
|
||||
let wohneinheiten = 3;
|
||||
|
||||
const datasetEinfamilienHaus = {
|
||||
|
||||
Reference in New Issue
Block a user