Merge pull request #303 from IBCornelsen/Jens

Tabelle A12 überarbeitet, Tabelle A13 fertiggestellt
This commit is contained in:
Jens Cornelsen
2025-02-01 19:51:24 +01:00
committed by GitHub
6 changed files with 365 additions and 324 deletions

View File

@@ -89,7 +89,7 @@ $: result = A12BerechnungNutzenergiebedarfHeizung();
</td> </td>
<td class="border-2 border-gray-600 px-2 py-1">{Math.round(result.waermeSenken.März)}</td> <td class="border-2 border-gray-600 px-2 py-1">{Math.round(result.waermeSenken.März)}</td>
<td class="border border-gray-300 px-2 py-1 bg-yellow-100">{Math.round(result.waermeQuellen.März)}</td> <td class="border border-gray-300 px-2 py-1 bg-yellow-100">{Math.round(result.waermeQuellen.Maerz)}</td>
<td class="border-2 border-gray-600 px-2 py-1">{Math.round(result.waermequellensenkenverhaeltnisMärz*1000)/1000}</td> <td class="border-2 border-gray-600 px-2 py-1">{Math.round(result.waermequellensenkenverhaeltnisMärz*1000)/1000}</td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100">{Math.round(result.ausnutzungsgradMärz*1000)/1000}</td> <td class="border border-gray-300 px-2 py-1 bg-blue-100">{Math.round(result.ausnutzungsgradMärz*1000)/1000}</td>
<td class="border-2 border-gray-600 px-2 py-1">{Math.round(result.faktorBelastungMärz*1000)/1000}</td> <td class="border-2 border-gray-600 px-2 py-1">{Math.round(result.faktorBelastungMärz*1000)/1000}</td>

View File

@@ -1,4 +1,9 @@
<script lang="ts">
import { A13BerechnungRechnerischeLaufzeitHeizung } from "#lib/Berechnungen/BedarfsausweisWohnen/A13BerechnungRechnerischeLaufzeitHeizung.js";
$: result = A13BerechnungRechnerischeLaufzeitHeizung();
</script>
<div class="overflow-x-auto mt-16"> <div class="overflow-x-auto mt-16">
@@ -14,7 +19,7 @@
Rechnerische Laufzeit Heizung Rechnerische Laufzeit Heizung
</th> </th>
</tr> </tr>
<tr> <tr class="text-center">
<th class="border border-gray-300 px-4 py-2">Monat</th> <th class="border border-gray-300 px-4 py-2">Monat</th>
<th class="border border-gray-300 px-4 py-2">t<sub>h</sub> [h] (aus Tabelle A.12)<br>(1)</th> <th class="border border-gray-300 px-4 py-2">t<sub>h</sub> [h] (aus Tabelle A.12)<br>(1)</th>
<th class="border border-gray-300 px-4 py-2">f<sub>WE</sub> [-]<br>(2)</th> <th class="border border-gray-300 px-4 py-2">f<sub>WE</sub> [-]<br>(2)</th>
@@ -24,109 +29,109 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr> <tr class="text-center">
<td class="border border-gray-300 px-4 py-2">Januar</td> <td class="border border-gray-300 px-4 py-2">Januar</td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td> <td class="border border-gray-300 px-4 py-2 bg-yellow-100">{Math.round(result.heizstunden.Januar)}</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">0,042</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">0,042</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">19,86</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">19,86</td>
<td class="border-2 border-gray-600 px-4 py-2"></td> <td class="border-2 border-gray-600 px-4 py-2">{Math.round(result.rechnerischeLaufzeiten[0])}</td>
</tr> </tr>
<tr> <tr class="text-center">
<td class="border border-gray-300 px-4 py-2">Februar</td> <td class="border border-gray-300 px-4 py-2">Februar</td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td> <td class="border border-gray-300 px-4 py-2 bg-yellow-100">{Math.round(result.heizstunden.Februar)}</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">0,042</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">0,042</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">18,58</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">18,58</td>
<td class="border-2 border-gray-600 px-4 py-2"></td> <td class="border-2 border-gray-600 px-4 py-2">{Math.round(result.rechnerischeLaufzeiten[1])}</td>
</tr> </tr>
<tr> <tr class="text-center">
<td class="border border-gray-300 px-4 py-2">März</td> <td class="border border-gray-300 px-4 py-2">März</td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td> <td class="border border-gray-300 px-4 py-2 bg-yellow-100">{Math.round(result.heizstunden.Maerz)}</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">0,042</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">0,042</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">18,69</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">18,69</td>
<td class="border-2 border-gray-600 px-4 py-2"></td> <td class="border-2 border-gray-600 px-4 py-2">{Math.round(result.rechnerischeLaufzeiten[2])}</td>
</tr> </tr>
<tr> <tr class="text-center">
<td class="border border-gray-300 px-4 py-2">April</td> <td class="border border-gray-300 px-4 py-2">April</td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td> <td class="border border-gray-300 px-4 py-2 bg-yellow-100">{Math.round(result.heizstunden.April)}</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">0,042</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">0,042</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100 ">17,25</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">17,25</td>
<td class="border-2 border-gray-600 px-4 py-2"></td> <td class="border-2 border-gray-600 px-4 py-2">{Math.round(result.rechnerischeLaufzeiten[3])}</td>
</tr> </tr>
<tr> <tr class="text-center">
<td class="border border-gray-300 px-4 py-2">Mai</td> <td class="border border-gray-300 px-4 py-2">Mai</td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td> <td class="border border-gray-300 px-4 py-2 bg-yellow-100">{Math.round(result.heizstunden.Mai)}</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">0,042</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">0,042</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td>
<td class="border-2 border-gray-600 px-4 py-2"></td> <td class="border-2 border-gray-600 px-4 py-2">{Math.round(result.rechnerischeLaufzeiten[4])}</td>
</tr> </tr>
<tr> <tr class="text-center">
<td class="border border-gray-300 px-4 py-2">Juni</td> <td class="border border-gray-300 px-4 py-2">Juni</td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td> <td class="border border-gray-300 px-4 py-2 bg-yellow-100">{Math.round(result.heizstunden.Juni)}</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">0,042</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">0,042</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td>
<td class="border border-gray-300 px-4 py-2b bg-gray-100">17,00</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td>
<td class="border-2 border-gray-600 px-4 py-2"></td> <td class="border-2 border-gray-600 px-4 py-2">{Math.round(result.rechnerischeLaufzeiten[5])}</td>
</tr> </tr>
<tr> <tr class="text-center">
<td class="border border-gray-300 px-4 py-2">Juli</td> <td class="border border-gray-300 px-4 py-2">Juli</td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td> <td class="border border-gray-300 px-4 py-2 bg-yellow-100">{Math.round(result.heizstunden.Juli)}</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">0,042</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">0,042</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td>
<td class="border-2 border-gray-600 px-4 py-2"></td> <td class="border-2 border-gray-600 px-4 py-2">{Math.round(result.rechnerischeLaufzeiten[6])}</td>
</tr> </tr>
<tr> <tr class="text-center">
<td class="border border-gray-300 px-4 py-2">August</td> <td class="border border-gray-300 px-4 py-2">August</td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td> <td class="border border-gray-300 px-4 py-2 bg-yellow-100">{Math.round(result.heizstunden.August)}</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">0,042</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">0,042</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td>
<td class="border-2 border-gray-600 px-4 py-2"></td> <td class="border-2 border-gray-600 px-4 py-2">{Math.round(result.rechnerischeLaufzeiten[7])}</td>
</tr> </tr>
<tr> <tr class="text-center">
<td class="border border-gray-300 px-4 py-2">September</td> <td class="border border-gray-300 px-4 py-2">September</td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td> <td class="border border-gray-300 px-4 py-2 bg-yellow-100">{Math.round(result.heizstunden.September)}</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">0,042</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">0,042</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td>
<td class="border-2 border-gray-600 px-4 py-2"></td> <td class="border-2 border-gray-600 px-4 py-2">{Math.round(result.rechnerischeLaufzeiten[8])}</td>
</tr> </tr>
<tr> <tr class="text-center">
<td class="border border-gray-300 px-4 py-2">Oktober</td> <td class="border border-gray-300 px-4 py-2">Oktober</td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td> <td class="border border-gray-300 px-4 py-2 bg-yellow-100">{Math.round(result.heizstunden.Oktober)}</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">0,042</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">0,042</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">17,16</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">17,16</td>
<td class="border-2 border-gray-600 px-4 py-2"></td> <td class="border-2 border-gray-600 px-4 py-2">{Math.round(result.rechnerischeLaufzeiten[9])}</td>
</tr> </tr>
<tr> <tr class="text-center">
<td class="border border-gray-300 px-4 py-2">November</td> <td class="border border-gray-300 px-4 py-2">November</td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td> <td class="border border-gray-300 px-4 py-2 bg-yellow-100">{Math.round(result.heizstunden.November)}</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">0,042</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">0,042</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">18,88</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">18,88</td>
<td class="border-2 border-gray-600 px-4 py-2"></td> <td class="border-2 border-gray-600 px-4 py-2">{Math.round(result.rechnerischeLaufzeiten[10])}</td>
</tr> </tr>
<tr> <tr class="text-center">
<td class="border border-gray-300 px-4 py-2">Dezember</td> <td class="border border-gray-300 px-4 py-2">Dezember</td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td> <td class="border border-gray-300 px-4 py-2 bg-yellow-100">{Math.round(result.heizstunden.Dezember)}</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">0,042</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">0,042</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">17,00</td>
<td class="border border-gray-300 px-4 py-2 bg-gray-100">19,90</td> <td class="border border-gray-300 px-4 py-2 bg-gray-100">19,90</td>
<td class="border-2 border-gray-600 px-4 py-2"></td> <td class="border-2 border-gray-600 px-4 py-2">{Math.round(result.rechnerischeLaufzeiten[11])}</td>
</tr> </tr>
<tr> <tr class="text-center">
<td class="border border-gray-300 px-4 py-2">Jahressumme</td> <td class="border border-gray-300 px-4 py-2">Jahressumme</td>
<td class="border-2 border-gray-600 px-4 py-2"></td> <td class="border-2 border-gray-600 px-4 py-2">{Math.round(result.heizstundenGesamt)}</td>
<td class="border border-gray-300 px-4 py-2"></td> <td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2"></td> <td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2"></td> <td class="border border-gray-300 px-4 py-2"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td> <td class="border-2 border-gray-600 px-4 py-2">{Math.round(result.rechnerischeLaufzeitGesamt)}</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@@ -1,88 +1,20 @@
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 { funktionAusnutzungsgrad } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionAusnutzungsgrad.js";
import { A6BerechnungWaermeTransferMaxStroemeLueftungGesamt } from "#lib/Berechnungen/BedarfsausweisWohnen/A6BerechnungWaermeTransferMaxStroemeLueftungGesamt.js"; import { funktionWaermesenken } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionWaermesenken.js";
import { A5BerechnungWaermeTransferMaxStroemeBauteile } from "#lib/Berechnungen/BedarfsausweisWohnen/A5BerechnungWaermeTransferMaxStroemeBauteile.js";
import { A11BerechnungWaermequellenZusammenstellung } from "#lib/Berechnungen/BedarfsausweisWohnen/A11BerechnungWaermequellenZusammenstellung.js"; import { A11BerechnungWaermequellenZusammenstellung } from "#lib/Berechnungen/BedarfsausweisWohnen/A11BerechnungWaermequellenZusammenstellung.js";
export function A12BerechnungNutzenergiebedarfHeizung() { export function A12BerechnungNutzenergiebedarfHeizung() {
const resultBauteile = A5BerechnungWaermeTransferMaxStroemeBauteile(); const result = funktionWaermesenken();
const minimaleAussentemperatur = resultBauteile.minimaleAussentemperatur; const belastungsgrade = result.belastungsgrade;
const innenTemperatur = resultBauteile.innenTemperatur; const bilanzInnenTemperaturen = result.bilanzInnenTemperaturen;
const waermeSenken = result.waermeSenken;
const result = A6BerechnungWaermeTransferMaxStroemeLueftungGesamt();
const maximalerWaermestromGesamt = result.maximalerWaermestromGesamt; const maximalerWaermestromGesamt = result.maximalerWaermestromGesamt;
const FlaechgenbezogeneHeizlast = result.FlaechgenbezogeneHeizlast; const minimaleAussentemperatur = result.minimaleAussentemperatur;
const innenTemperatur = result.innenTemperatur;
const ZeitKonstante = result.ZeitKonstante; const ZeitKonstante = result.ZeitKonstante;
const resultWaermeQuellen = A11BerechnungWaermequellenZusammenstellung();
let waermeQuellen = { const waermeQuellen = resultWaermeQuellen.WaermeQuellenGesamtLeistung;
Januar: 100,
Februar: 100,
März: 100,
April: 650,
Mai: 400,
Juni: 450,
Juli: 450,
August: 560,
September: 400,
Oktober: 350,
November: 320,
Dezember: 300
};
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 faktorBelastungJanuar = 0;
let faktorBelastungFebruar = 0;
let faktorBelastungMärz = 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 monatlicheBelastungJanuar = 0;
let monatlicheBelastungFebruar = 0;
let monatlicheBelastungMärz = 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 heizstundenJanuar = 0;
let heizstundenFebruar = 0;
let heizstundenMärz = 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 nutzenergieHeizungJanuar = 0; let nutzenergieHeizungJanuar = 0;
let nutzenergieHeizungFebruar = 0; let nutzenergieHeizungFebruar = 0;
@@ -97,51 +29,18 @@ let nutzenergieHeizungOktober = 0;
let nutzenergieHeizungNovember = 0; let nutzenergieHeizungNovember = 0;
let nutzenergieHeizungDezember = 0; let nutzenergieHeizungDezember = 0;
let waermeSenken = { let waermequellensenkenverhaeltnisJanuar = 0;
Januar: 0, let waermequellensenkenverhaeltnisFebruar = 0;
Februar: 0, let waermequellensenkenverhaeltnisMärz = 0;
März: 0, let waermequellensenkenverhaeltnisApril = 0;
April: 0, let waermequellensenkenverhaeltnisMai = 0;
Mai: 0, let waermequellensenkenverhaeltnisJuni = 0;
Juni: 0, let waermequellensenkenverhaeltnisJuli = 0;
Juli: 0, let waermequellensenkenverhaeltnisAugust = 0;
August: 0, let waermequellensenkenverhaeltnisSeptember = 0;
September: 0, let waermequellensenkenverhaeltnisOktober = 0;
Oktober: 0, let waermequellensenkenverhaeltnisNovember = 0;
November: 0, let waermequellensenkenverhaeltnisDezember = 0;
Dezember: 0
};
let belastungsgrade = {
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 bilanzInnenTemperaturen = {
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 ausnutzungsgradJanuar = 0; let ausnutzungsgradJanuar = 0;
let ausnutzungsgradFebruar = 0; let ausnutzungsgradFebruar = 0;
@@ -156,50 +55,48 @@ let ausnutzungsgradOktober = 0;
let ausnutzungsgradNovember = 0; let ausnutzungsgradNovember = 0;
let ausnutzungsgradDezember = 0; let ausnutzungsgradDezember = 0;
let faktorBelastungJanuar = 0;
let faktorBelastungFebruar = 0;
let faktorBelastungMärz = 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;
belastungsgrade.Januar = funktionMonatlicherBelastungsgrad(FlaechgenbezogeneHeizlast, ZeitKonstante, "Januar"); let heizstundenJanuar = 0;
belastungsgrade.Februar = funktionMonatlicherBelastungsgrad(FlaechgenbezogeneHeizlast, ZeitKonstante, "Februar"); let heizstundenFebruar = 0;
belastungsgrade.März = funktionMonatlicherBelastungsgrad(FlaechgenbezogeneHeizlast, ZeitKonstante, "März"); let heizstundenMärz = 0;
belastungsgrade.April = funktionMonatlicherBelastungsgrad(FlaechgenbezogeneHeizlast, ZeitKonstante, "April"); let heizstundenApril = 0;
belastungsgrade.Mai = funktionMonatlicherBelastungsgrad(FlaechgenbezogeneHeizlast, ZeitKonstante, "Mai"); let heizstundenMai = 0;
belastungsgrade.Juni = funktionMonatlicherBelastungsgrad(FlaechgenbezogeneHeizlast, ZeitKonstante, "Juni"); let heizstundenJuni = 0;
belastungsgrade.Juli = funktionMonatlicherBelastungsgrad(FlaechgenbezogeneHeizlast, ZeitKonstante, "Juli"); let heizstundenJuli = 0;
belastungsgrade.August = funktionMonatlicherBelastungsgrad(FlaechgenbezogeneHeizlast, ZeitKonstante, "August"); let heizstundenAugust = 0;
belastungsgrade.September = funktionMonatlicherBelastungsgrad(FlaechgenbezogeneHeizlast, ZeitKonstante, "September"); let heizstundenSeptember = 0;
belastungsgrade.Oktober = funktionMonatlicherBelastungsgrad(FlaechgenbezogeneHeizlast, ZeitKonstante, "Oktober"); let heizstundenOktober = 0;
belastungsgrade.November = funktionMonatlicherBelastungsgrad(FlaechgenbezogeneHeizlast, ZeitKonstante, "November"); let heizstundenNovember = 0;
belastungsgrade.Dezember = funktionMonatlicherBelastungsgrad(FlaechgenbezogeneHeizlast, ZeitKonstante, "Dezember"); let heizstundenDezember = 0;
bilanzInnenTemperaturen.Januar = funktionBilanzInnentemperatur(FlaechgenbezogeneHeizlast, ZeitKonstante, "Januar");
bilanzInnenTemperaturen.Februar = funktionBilanzInnentemperatur(FlaechgenbezogeneHeizlast, ZeitKonstante, "Februar");
bilanzInnenTemperaturen.März = funktionBilanzInnentemperatur(FlaechgenbezogeneHeizlast, ZeitKonstante, "März");
bilanzInnenTemperaturen.April = funktionBilanzInnentemperatur(FlaechgenbezogeneHeizlast, ZeitKonstante, "April");
bilanzInnenTemperaturen.Mai = funktionBilanzInnentemperatur(FlaechgenbezogeneHeizlast, ZeitKonstante, "Mai");
bilanzInnenTemperaturen.Juni = funktionBilanzInnentemperatur(FlaechgenbezogeneHeizlast, ZeitKonstante, "Juni");
bilanzInnenTemperaturen.Juli = funktionBilanzInnentemperatur(FlaechgenbezogeneHeizlast, ZeitKonstante, "Juli");
bilanzInnenTemperaturen.August = funktionBilanzInnentemperatur(FlaechgenbezogeneHeizlast, ZeitKonstante, "August");
bilanzInnenTemperaturen.September = funktionBilanzInnentemperatur(FlaechgenbezogeneHeizlast, ZeitKonstante, "September");
bilanzInnenTemperaturen.Oktober = funktionBilanzInnentemperatur(FlaechgenbezogeneHeizlast, ZeitKonstante, "Oktober");
bilanzInnenTemperaturen.November = funktionBilanzInnentemperatur(FlaechgenbezogeneHeizlast, ZeitKonstante, "November");
bilanzInnenTemperaturen.Dezember = funktionBilanzInnentemperatur(FlaechgenbezogeneHeizlast, ZeitKonstante, "Dezember");
waermeSenken.Januar = maximalerWaermestromGesamt * (bilanzInnenTemperaturen.Januar - minimaleAussentemperatur) / (innenTemperatur - minimaleAussentemperatur) * belastungsgrade.Januar;
waermeSenken.Februar = maximalerWaermestromGesamt * (bilanzInnenTemperaturen.Februar - minimaleAussentemperatur) / (innenTemperatur - minimaleAussentemperatur) * belastungsgrade.Februar;
waermeSenken.März = maximalerWaermestromGesamt * (bilanzInnenTemperaturen.März - minimaleAussentemperatur) / (innenTemperatur - minimaleAussentemperatur) * belastungsgrade.März;
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;
let monatlicheBelastungJanuar = 0;
let monatlicheBelastungFebruar = 0;
let monatlicheBelastungMärz = 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;
waermequellensenkenverhaeltnisJanuar = waermeQuellen.Januar / waermeSenken.Januar; waermequellensenkenverhaeltnisJanuar = waermeQuellen.Januar / waermeSenken.Januar;
waermequellensenkenverhaeltnisFebruar = waermeQuellen.Februar / waermeSenken.Februar; waermequellensenkenverhaeltnisFebruar = waermeQuellen.Februar / waermeSenken.Februar;
waermequellensenkenverhaeltnisMärz = waermeQuellen.März / waermeSenken.März; waermequellensenkenverhaeltnisMärz = waermeQuellen.Maerz / waermeSenken.März;
waermequellensenkenverhaeltnisApril = waermeQuellen.April / waermeSenken.April; waermequellensenkenverhaeltnisApril = waermeQuellen.April / waermeSenken.April;
waermequellensenkenverhaeltnisMai = waermeQuellen.Mai / waermeSenken.Mai; waermequellensenkenverhaeltnisMai = waermeQuellen.Mai / waermeSenken.Mai;
waermequellensenkenverhaeltnisJuni = waermeQuellen.Juni / waermeSenken.Juni; waermequellensenkenverhaeltnisJuni = waermeQuellen.Juni / waermeSenken.Juni;
@@ -210,19 +107,6 @@ let ausnutzungsgradDezember = 0;
waermequellensenkenverhaeltnisNovember = waermeQuellen.November / waermeSenken.November; waermequellensenkenverhaeltnisNovember = waermeQuellen.November / waermeSenken.November;
waermequellensenkenverhaeltnisDezember = waermeQuellen.Dezember / waermeSenken.Dezember; waermequellensenkenverhaeltnisDezember = waermeQuellen.Dezember / waermeSenken.Dezember;
ausnutzungsgradJanuar = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisJanuar, ZeitKonstante, "alleMonate");
ausnutzungsgradFebruar = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisFebruar, ZeitKonstante, "alleMonate");
ausnutzungsgradMärz = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisMärz, ZeitKonstante, "alleMonate");
ausnutzungsgradApril = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisApril, ZeitKonstante, "alleMonate");
ausnutzungsgradMai = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisMai, ZeitKonstante, "alleMonate");
ausnutzungsgradJuni = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisJuni, ZeitKonstante, "alleMonate");
ausnutzungsgradJuli = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisJuli, ZeitKonstante, "alleMonate");
ausnutzungsgradAugust = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisAugust, ZeitKonstante, "alleMonate");
ausnutzungsgradSeptember = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisSeptember, ZeitKonstante, "alleMonate");
ausnutzungsgradOktober = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisOktober, ZeitKonstante, "alleMonate");
ausnutzungsgradNovember = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisNovember, ZeitKonstante, "alleMonate");
ausnutzungsgradDezember = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisDezember, ZeitKonstante, "alleMonate");
faktorBelastungJanuar = Math.max(1 - (waermequellensenkenverhaeltnisJanuar * ausnutzungsgradJanuar), 0); faktorBelastungJanuar = Math.max(1 - (waermequellensenkenverhaeltnisJanuar * ausnutzungsgradJanuar), 0);
faktorBelastungFebruar = Math.max(1 - (waermequellensenkenverhaeltnisFebruar * ausnutzungsgradFebruar), 0); faktorBelastungFebruar = Math.max(1 - (waermequellensenkenverhaeltnisFebruar * ausnutzungsgradFebruar), 0);
faktorBelastungMärz = Math.max(1 - (waermequellensenkenverhaeltnisMärz * ausnutzungsgradMärz), 0); faktorBelastungMärz = Math.max(1 - (waermequellensenkenverhaeltnisMärz * ausnutzungsgradMärz), 0);
@@ -236,31 +120,44 @@ let ausnutzungsgradDezember = 0;
faktorBelastungNovember = Math.max(1 - (waermequellensenkenverhaeltnisNovember * ausnutzungsgradNovember), 0); faktorBelastungNovember = Math.max(1 - (waermequellensenkenverhaeltnisNovember * ausnutzungsgradNovember), 0);
faktorBelastungDezember = Math.max(1 - (waermequellensenkenverhaeltnisDezember * ausnutzungsgradDezember), 0); faktorBelastungDezember = Math.max(1 - (waermequellensenkenverhaeltnisDezember * ausnutzungsgradDezember), 0);
monatlicheBelastungJanuar = belastungsgrade.Januar * faktorBelastungJanuar; monatlicheBelastungJanuar = belastungsgrade.Januar * faktorBelastungJanuar;
monatlicheBelastungFebruar = belastungsgrade.Februar * faktorBelastungFebruar; monatlicheBelastungFebruar = belastungsgrade.Februar * faktorBelastungFebruar;
monatlicheBelastungMärz = belastungsgrade.März * faktorBelastungMärz; monatlicheBelastungMärz = belastungsgrade.März * faktorBelastungMärz;
monatlicheBelastungApril = belastungsgrade.April * faktorBelastungApril; monatlicheBelastungApril = belastungsgrade.April * faktorBelastungApril;
monatlicheBelastungMai = belastungsgrade.Mai * faktorBelastungMai; monatlicheBelastungMai = belastungsgrade.Mai * faktorBelastungMai;
monatlicheBelastungJuni = belastungsgrade.Juni * faktorBelastungJuni; monatlicheBelastungJuni = belastungsgrade.Juni * faktorBelastungJuni;
monatlicheBelastungJuli = belastungsgrade.Juli * faktorBelastungJuli; monatlicheBelastungJuli = belastungsgrade.Juli * faktorBelastungJuli;
monatlicheBelastungAugust = belastungsgrade.August * faktorBelastungAugust; monatlicheBelastungAugust = belastungsgrade.August * faktorBelastungAugust;
monatlicheBelastungSeptember = belastungsgrade.September * faktorBelastungSeptember; monatlicheBelastungSeptember = belastungsgrade.September * faktorBelastungSeptember;
monatlicheBelastungOktober = belastungsgrade.Oktober * faktorBelastungOktober; monatlicheBelastungOktober = belastungsgrade.Oktober * faktorBelastungOktober;
monatlicheBelastungNovember = belastungsgrade.November * faktorBelastungNovember; monatlicheBelastungNovember = belastungsgrade.November * faktorBelastungNovember;
monatlicheBelastungDezember = belastungsgrade.Dezember * faktorBelastungDezember; monatlicheBelastungDezember = belastungsgrade.Dezember * faktorBelastungDezember;
if (monatlicheBelastungJanuar > 0.05) {heizstundenJanuar = 31 * 24;} else {heizstundenJanuar = (monatlicheBelastungJanuar / 0.05) * 31 * 24;} 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 (monatlicheBelastungFebruar > 0.05) {heizstundenFebruar = 28 * 24;} else {heizstundenFebruar = (monatlicheBelastungFebruar / 0.05) * 28 * 24;}
if (monatlicheBelastungMärz > 0.05) {heizstundenMärz = 31 * 24;} else {heizstundenMärz = (monatlicheBelastungMärz / 0.05) * 31 * 24;} if (monatlicheBelastungMärz > 0.05) {heizstundenMärz = 31 * 24;} else {heizstundenMärz = (monatlicheBelastungMärz / 0.05) * 31 * 24;}
if (monatlicheBelastungApril > 0.05) {heizstundenApril = 30 * 24;} else {heizstundenApril = (monatlicheBelastungApril / 0.05) * 30 * 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 (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 (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 (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 (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 (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 (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 (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;} if (monatlicheBelastungDezember > 0.05) {heizstundenDezember = 31 * 24;} else {heizstundenDezember = (monatlicheBelastungDezember / 0.05) * 31 * 24;}
ausnutzungsgradJanuar = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisJanuar, ZeitKonstante, "alleMonate");
ausnutzungsgradFebruar = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisFebruar, ZeitKonstante, "alleMonate");
ausnutzungsgradMärz = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisMärz, ZeitKonstante, "alleMonate");
ausnutzungsgradApril = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisApril, ZeitKonstante, "alleMonate");
ausnutzungsgradMai = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisMai, ZeitKonstante, "alleMonate");
ausnutzungsgradJuni = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisJuni, ZeitKonstante, "alleMonate");
ausnutzungsgradJuli = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisJuli, ZeitKonstante, "alleMonate");
ausnutzungsgradAugust = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisAugust, ZeitKonstante, "alleMonate");
ausnutzungsgradSeptember = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisSeptember, ZeitKonstante, "alleMonate");
ausnutzungsgradOktober = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisOktober, ZeitKonstante, "alleMonate");
ausnutzungsgradNovember = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisNovember, ZeitKonstante, "alleMonate");
ausnutzungsgradDezember = funktionAusnutzungsgrad(waermequellensenkenverhaeltnisDezember, ZeitKonstante, "alleMonate");
nutzenergieHeizungJanuar = waermeSenken.Januar * faktorBelastungJanuar * heizstundenJanuar / 1000; nutzenergieHeizungJanuar = waermeSenken.Januar * faktorBelastungJanuar * heizstundenJanuar / 1000;
nutzenergieHeizungFebruar = waermeSenken.Februar * faktorBelastungFebruar * heizstundenFebruar / 1000; nutzenergieHeizungFebruar = waermeSenken.Februar * faktorBelastungFebruar * heizstundenFebruar / 1000;
@@ -283,87 +180,87 @@ let ausnutzungsgradDezember = 0;
nutzenergieHeizungOktober + nutzenergieHeizungNovember + nutzenergieHeizungDezember; nutzenergieHeizungOktober + nutzenergieHeizungNovember + nutzenergieHeizungDezember;
return { return {
nutzenergieHeizungJanuar, nutzenergieHeizungJanuar,
nutzenergieHeizungFebruar, nutzenergieHeizungFebruar,
nutzenergieHeizungMärz, nutzenergieHeizungMärz,
nutzenergieHeizungApril, nutzenergieHeizungApril,
nutzenergieHeizungMai, nutzenergieHeizungMai,
nutzenergieHeizungJuni, nutzenergieHeizungJuni,
nutzenergieHeizungJuli, nutzenergieHeizungJuli,
nutzenergieHeizungAugust, nutzenergieHeizungAugust,
nutzenergieHeizungSeptember, nutzenergieHeizungSeptember,
nutzenergieHeizungOktober, nutzenergieHeizungOktober,
nutzenergieHeizungNovember, nutzenergieHeizungNovember,
nutzenergieHeizungDezember, nutzenergieHeizungDezember,
belastungsgrade, waermeQuellen,
bilanzInnenTemperaturen, waermequellensenkenverhaeltnisJanuar,
waermeSenken, waermequellensenkenverhaeltnisFebruar,
waermeQuellen, waermequellensenkenverhaeltnisMärz,
waermequellensenkenverhaeltnisJanuar, waermequellensenkenverhaeltnisApril,
waermequellensenkenverhaeltnisFebruar, waermequellensenkenverhaeltnisMai,
waermequellensenkenverhaeltnisMärz, waermequellensenkenverhaeltnisJuni,
waermequellensenkenverhaeltnisApril, waermequellensenkenverhaeltnisJuli,
waermequellensenkenverhaeltnisMai, waermequellensenkenverhaeltnisAugust,
waermequellensenkenverhaeltnisJuni, waermequellensenkenverhaeltnisSeptember,
waermequellensenkenverhaeltnisJuli, waermequellensenkenverhaeltnisOktober,
waermequellensenkenverhaeltnisAugust, waermequellensenkenverhaeltnisNovember,
waermequellensenkenverhaeltnisSeptember, waermequellensenkenverhaeltnisDezember,
waermequellensenkenverhaeltnisOktober, ausnutzungsgradJanuar,
waermequellensenkenverhaeltnisNovember, ausnutzungsgradFebruar,
waermequellensenkenverhaeltnisDezember, ausnutzungsgradMärz,
ausnutzungsgradJanuar, ausnutzungsgradApril,
ausnutzungsgradFebruar, ausnutzungsgradMai,
ausnutzungsgradMärz, ausnutzungsgradJuni,
ausnutzungsgradApril, ausnutzungsgradJuli,
ausnutzungsgradMai, ausnutzungsgradAugust,
ausnutzungsgradJuni, ausnutzungsgradSeptember,
ausnutzungsgradJuli, ausnutzungsgradOktober,
ausnutzungsgradAugust, ausnutzungsgradNovember,
ausnutzungsgradSeptember, ausnutzungsgradDezember,
ausnutzungsgradOktober, gesamtHeizstunden,
ausnutzungsgradNovember, gesamtNutzenergieHeizung,
ausnutzungsgradDezember, belastungsgrade,
faktorBelastungJanuar, bilanzInnenTemperaturen,
faktorBelastungFebruar, waermeSenken,
faktorBelastungMärz, faktorBelastungJanuar,
faktorBelastungApril, faktorBelastungFebruar,
faktorBelastungMai, faktorBelastungMärz,
faktorBelastungJuni, faktorBelastungApril,
faktorBelastungJuli, faktorBelastungMai,
faktorBelastungAugust, faktorBelastungJuni,
faktorBelastungSeptember, faktorBelastungJuli,
faktorBelastungOktober, faktorBelastungAugust,
faktorBelastungNovember, faktorBelastungSeptember,
faktorBelastungDezember, faktorBelastungOktober,
monatlicheBelastungJanuar, faktorBelastungNovember,
monatlicheBelastungFebruar, faktorBelastungDezember,
monatlicheBelastungMärz, monatlicheBelastungJanuar,
monatlicheBelastungApril, monatlicheBelastungFebruar,
monatlicheBelastungMai, monatlicheBelastungMärz,
monatlicheBelastungJuni, monatlicheBelastungApril,
monatlicheBelastungJuli, monatlicheBelastungMai,
monatlicheBelastungAugust, monatlicheBelastungJuni,
monatlicheBelastungSeptember, monatlicheBelastungJuli,
monatlicheBelastungOktober, monatlicheBelastungAugust,
monatlicheBelastungNovember, monatlicheBelastungSeptember,
monatlicheBelastungDezember, monatlicheBelastungOktober,
heizstundenJanuar, monatlicheBelastungNovember,
heizstundenFebruar, monatlicheBelastungDezember,
heizstundenMärz, heizstundenJanuar,
heizstundenApril, heizstundenFebruar,
heizstundenMai, heizstundenMärz,
heizstundenJuni, heizstundenApril,
heizstundenJuli, heizstundenMai,
heizstundenAugust, heizstundenJuni,
heizstundenSeptember, heizstundenJuli,
heizstundenOktober, heizstundenAugust,
heizstundenNovember, heizstundenSeptember,
heizstundenDezember, heizstundenOktober,
gesamtHeizstunden, heizstundenNovember,
gesamtNutzenergieHeizung, heizstundenDezember,
maximalerWaermestromGesamt, maximalerWaermestromGesamt,
minimaleAussentemperatur, minimaleAussentemperatur,
innenTemperatur innenTemperatur
}; };

View File

@@ -1,9 +1,27 @@
import { A12BerechnungNutzenergiebedarfHeizung } from "#lib/Berechnungen/BedarfsausweisWohnen/A12BerechnungNutzenergiebedarfHeizung.js";
import { BedarfsausweisWohnenClient, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types.js"; import { BedarfsausweisWohnenClient, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types.js";
import { FixedLengthArray } from "./types.js"; import { FixedLengthArray } from "./types.js";
export function berechnungRechnerischeLauzeitHeizung(ausweis: VerbrauchsausweisWohnenClient) { export function A13BerechnungRechnerischeLaufzeitHeizung() {
// TODO Tabelle A.12 (Berechnung Nutzenergiebedarf) const result = A12BerechnungNutzenergiebedarfHeizung();
const zeitkonstanteHeizung; const heizstunden = {
Januar: result.heizstundenJanuar,
Februar: result.heizstundenFebruar,
Maerz: result.heizstundenMärz,
April: result.heizstundenApril,
Mai: result.heizstundenMai,
Juni: result.heizstundenJuni,
Juli: result.heizstundenJuli,
August: result.heizstundenAugust,
September: result.heizstundenSeptember,
Oktober: result.heizstundenOktober,
November: result.heizstundenNovember,
Dezember: result.heizstundenDezember
};
const gebaeudetyp = "Einfamilienhaus";
const faktorWochenendAbschaltung = 0.042; const faktorWochenendAbschaltung = 0.042;
const zeitkonstanteRechnerischeLaufzeitEinfamilienhaus: FixedLengthArray<number, 12> = [17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17]; const zeitkonstanteRechnerischeLaufzeitEinfamilienhaus: FixedLengthArray<number, 12> = [17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17];
@@ -11,18 +29,22 @@ export function berechnungRechnerischeLauzeitHeizung(ausweis: VerbrauchsausweisW
let rechnerischeLaufzeiten = new Array(12).fill(0) as unknown as FixedLengthArray<number, 12> let rechnerischeLaufzeiten = new Array(12).fill(0) as unknown as FixedLengthArray<number, 12>
if (ausweis.gebaeude_aufnahme_allgemein.gebaeudetyp === "Einfamilienhaus") { if (gebaeudetyp === "Einfamilienhaus") {
for (let i = 0; i < 12; i++) { for (let i = 0; i < 12; i++) {
rechnerischeLaufzeiten[i] = zeitkonstanteHeizung * faktorWochenendAbschaltung * zeitkonstanteRechnerischeLaufzeitEinfamilienhaus[i] rechnerischeLaufzeiten[i] = heizstunden[Object.keys(heizstunden)[i]] * faktorWochenendAbschaltung * zeitkonstanteRechnerischeLaufzeitEinfamilienhaus[i]
} }
} else { } else {
for (let i = 0; i < 12; i++) { for (let i = 0; i < 12; i++) {
rechnerischeLaufzeiten[i] = zeitkonstanteHeizung * faktorWochenendAbschaltung * zeitkonstanteRechnerischeLaufzeitMehrfamilienhaus[i] rechnerischeLaufzeiten[i] = heizstunden[Object.keys(heizstunden)[i]] * faktorWochenendAbschaltung * zeitkonstanteRechnerischeLaufzeitMehrfamilienhaus[i]
} }
} }
const heizstundenGesamt = Object.values(heizstunden).reduce((acc, value) => acc + value, 0);
return { return {
rechnerischeLaufzeitGesamt: rechnerischeLaufzeiten.reduce((acc, curr) => acc + curr, 0), rechnerischeLaufzeitGesamt: rechnerischeLaufzeiten.reduce((acc, curr) => acc + curr, 0),
rechnerischeLaufzeiten rechnerischeLaufzeiten,
heizstunden,
heizstundenGesamt
} }
} }

View File

@@ -1,10 +1,10 @@
import { A12BerechnungNutzenergiebedarfHeizung } from "#lib/Berechnungen/BedarfsausweisWohnen/A12BerechnungNutzenergiebedarfHeizung.js"; import { funktionWaermesenken } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionWaermesenken.js";
import { A7A2BerechnungWaermequellenSolareEinstrahlung } from "#lib/Berechnungen/BedarfsausweisWohnen/A7A2BerechnungWaermequellenSolareEinstrahlung.js"; import { A7A2BerechnungWaermequellenSolareEinstrahlung } from "#lib/Berechnungen/BedarfsausweisWohnen/A7A2BerechnungWaermequellenSolareEinstrahlung.js";
import { funktionInterneWaermequellen } from "./funktionInterneWaermequellen.js"; import { funktionInterneWaermequellen } from "./funktionInterneWaermequellen.js";
export function A8BerechnungWaermequellenAusAnlagentechnikHeizung() { export function A8BerechnungWaermequellenAusAnlagentechnikHeizung() {
const result = A12BerechnungNutzenergiebedarfHeizung(); const result = funktionWaermesenken();
const waermeSenken = result.waermeSenken; const waermeSenken = result.waermeSenken;
const belastungsgrade = result.belastungsgrade; const belastungsgrade = result.belastungsgrade;

View File

@@ -0,0 +1,117 @@
import { funktionMonatlicherBelastungsgrad } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionMonatlicherBelastungsgrad.js";
import { funktionBilanzInnentemperatur } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionBilanzInnentemperatur.js";
import { A5BerechnungWaermeTransferMaxStroemeBauteile } from "#lib/Berechnungen/BedarfsausweisWohnen/A5BerechnungWaermeTransferMaxStroemeBauteile.js";
import { A6BerechnungWaermeTransferMaxStroemeLueftungGesamt } from "#lib/Berechnungen/BedarfsausweisWohnen/A6BerechnungWaermeTransferMaxStroemeLueftungGesamt.js";
export function funktionWaermesenken() {
const resultBauteile = A5BerechnungWaermeTransferMaxStroemeBauteile();
const minimaleAussentemperatur = resultBauteile.minimaleAussentemperatur;
const innenTemperatur = resultBauteile.innenTemperatur;
const result = A6BerechnungWaermeTransferMaxStroemeLueftungGesamt();
const maximalerWaermestromGesamt = result.maximalerWaermestromGesamt;
const FlaechgenbezogeneHeizlast = result.FlaechgenbezogeneHeizlast;
const ZeitKonstante = result.ZeitKonstante;
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,
Februar: 0,
März: 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,
März: 0,
April: 0,
Mai: 0,
Juni: 0,
Juli: 0,
August: 0,
September: 0,
Oktober: 0,
November: 0,
Dezember: 0
};
belastungsgrade.Januar = funktionMonatlicherBelastungsgrad(FlaechgenbezogeneHeizlast, ZeitKonstante, "Januar");
belastungsgrade.Februar = funktionMonatlicherBelastungsgrad(FlaechgenbezogeneHeizlast, ZeitKonstante, "Februar");
belastungsgrade.März = funktionMonatlicherBelastungsgrad(FlaechgenbezogeneHeizlast, ZeitKonstante, "März");
belastungsgrade.April = funktionMonatlicherBelastungsgrad(FlaechgenbezogeneHeizlast, ZeitKonstante, "April");
belastungsgrade.Mai = funktionMonatlicherBelastungsgrad(FlaechgenbezogeneHeizlast, ZeitKonstante, "Mai");
belastungsgrade.Juni = funktionMonatlicherBelastungsgrad(FlaechgenbezogeneHeizlast, ZeitKonstante, "Juni");
belastungsgrade.Juli = funktionMonatlicherBelastungsgrad(FlaechgenbezogeneHeizlast, ZeitKonstante, "Juli");
belastungsgrade.August = funktionMonatlicherBelastungsgrad(FlaechgenbezogeneHeizlast, ZeitKonstante, "August");
belastungsgrade.September = funktionMonatlicherBelastungsgrad(FlaechgenbezogeneHeizlast, ZeitKonstante, "September");
belastungsgrade.Oktober = funktionMonatlicherBelastungsgrad(FlaechgenbezogeneHeizlast, ZeitKonstante, "Oktober");
belastungsgrade.November = funktionMonatlicherBelastungsgrad(FlaechgenbezogeneHeizlast, ZeitKonstante, "November");
belastungsgrade.Dezember = funktionMonatlicherBelastungsgrad(FlaechgenbezogeneHeizlast, ZeitKonstante, "Dezember");
bilanzInnenTemperaturen.Januar = funktionBilanzInnentemperatur(FlaechgenbezogeneHeizlast, ZeitKonstante, "Januar");
bilanzInnenTemperaturen.Februar = funktionBilanzInnentemperatur(FlaechgenbezogeneHeizlast, ZeitKonstante, "Februar");
bilanzInnenTemperaturen.März = funktionBilanzInnentemperatur(FlaechgenbezogeneHeizlast, ZeitKonstante, "März");
bilanzInnenTemperaturen.April = funktionBilanzInnentemperatur(FlaechgenbezogeneHeizlast, ZeitKonstante, "April");
bilanzInnenTemperaturen.Mai = funktionBilanzInnentemperatur(FlaechgenbezogeneHeizlast, ZeitKonstante, "Mai");
bilanzInnenTemperaturen.Juni = funktionBilanzInnentemperatur(FlaechgenbezogeneHeizlast, ZeitKonstante, "Juni");
bilanzInnenTemperaturen.Juli = funktionBilanzInnentemperatur(FlaechgenbezogeneHeizlast, ZeitKonstante, "Juli");
bilanzInnenTemperaturen.August = funktionBilanzInnentemperatur(FlaechgenbezogeneHeizlast, ZeitKonstante, "August");
bilanzInnenTemperaturen.September = funktionBilanzInnentemperatur(FlaechgenbezogeneHeizlast, ZeitKonstante, "September");
bilanzInnenTemperaturen.Oktober = funktionBilanzInnentemperatur(FlaechgenbezogeneHeizlast, ZeitKonstante, "Oktober");
bilanzInnenTemperaturen.November = funktionBilanzInnentemperatur(FlaechgenbezogeneHeizlast, ZeitKonstante, "November");
bilanzInnenTemperaturen.Dezember = funktionBilanzInnentemperatur(FlaechgenbezogeneHeizlast, ZeitKonstante, "Dezember");
waermeSenken.Januar = maximalerWaermestromGesamt * (bilanzInnenTemperaturen.Januar - minimaleAussentemperatur) / (innenTemperatur - minimaleAussentemperatur) * belastungsgrade.Januar;
waermeSenken.Februar = maximalerWaermestromGesamt * (bilanzInnenTemperaturen.Februar - minimaleAussentemperatur) / (innenTemperatur - minimaleAussentemperatur) * belastungsgrade.Februar;
waermeSenken.März = maximalerWaermestromGesamt * (bilanzInnenTemperaturen.März - minimaleAussentemperatur) / (innenTemperatur - minimaleAussentemperatur) * belastungsgrade.März;
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;
return {
belastungsgrade,
bilanzInnenTemperaturen,
waermeSenken,
maximalerWaermestromGesamt,
ZeitKonstante,
minimaleAussentemperatur,
innenTemperatur
}
}