Energiberegning etter NS 3031:2025 med timesmetode og energirapport

enok leser en bygningsbeskrivelse i TOML, henter typisk klimaår for kommunen,
simulerer 8760 timer etter NS-EN ISO 52016-1 og skriver energirapport, CSV og JSON.

Motor
- Femnodemodell for opake bygningsdeler, tonodemodell for vinduer, luftnode og
  strålingsnode per sone, implisitt løsning per time med egen tett LU-løser.
- Varme- og kjølebehov ved eksakt interpolasjon mellom to løsninger, siden systemet
  er lineært. Vinduslufting for bygninger uten kjøleanlegg.
- Solberegning etter ISO 52010-1, kontrollert mot pvlib med avvik under 1 prosent.

Beregningsgang
- Beregningspunktene A til E: netto, brutto, tilført, levert per energibærer og
  vektet levert energi, med solceller, klimakorrigering og effektbehov.
- Energikarakter etter Enovas skala fra 1.1.2026, med arealkorreksjon.

Inndata
- TOML med scenarier for tiltak, og import fra IFC, gbXML og regneark.
- Normerte verdier, karakterskala, vektingsfaktorer og klimadata i data/,
  som kan overstyres med --data.

Kontroll
- Stasjonært varmetap mot U·A·ΔT innenfor 2 prosent, energibalansen innenfor
  2 prosent, varmetapsbudsjettet for TEK17-referansebygget identisk med publisert
  tabell. Kjent avvik i romoppvarming mot Simien 8 er dokumentert i README.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015GeH3y8fwTaTudaD88P57o
This commit is contained in:
bl
2026-09-14 18:03:00 +02:00
co-authored by Claude Opus 5
commit 0964cacba3
51 changed files with 10309 additions and 0 deletions
+141
View File
@@ -0,0 +1,141 @@
# Materialdata (λ W/(mK), ρ kg/m³, c J/(kgK)) og typiske U-verdier per byggeperiode.
# Kilder: SINTEF Byggforsk 471.010 (typiske verdier), TEK-krav 1969/1987/1997/2007/2010/2017.
[[materiale]]
navn = "tre"
lambda = 0.13
rho = 500.0
c = 1600.0
[[materiale]]
navn = "mineralull"
lambda = 0.037
rho = 30.0
c = 1030.0
[[materiale]]
navn = "mineralull_gammel"
lambda = 0.045
rho = 30.0
c = 1030.0
[[materiale]]
navn = "sagflis"
lambda = 0.08
rho = 150.0
c = 1600.0
[[materiale]]
navn = "betong"
lambda = 1.7
rho = 2300.0
c = 1000.0
[[materiale]]
navn = "lettklinker"
lambda = 0.25
rho = 700.0
c = 1000.0
[[materiale]]
navn = "tegl"
lambda = 0.7
rho = 1700.0
c = 900.0
[[materiale]]
navn = "gips"
lambda = 0.25
rho = 900.0
c = 1000.0
[[materiale]]
navn = "eps"
lambda = 0.038
rho = 20.0
c = 1450.0
[[materiale]]
navn = "xps"
lambda = 0.034
rho = 35.0
c = 1450.0
[[materiale]]
navn = "treullsement"
lambda = 0.09
rho = 400.0
c = 1600.0
[[materiale]]
navn = "luftspalte"
lambda = 0.18
rho = 1.2
c = 1000.0 # ekvivalent for ~20 mm luftsjikt
[[materiale]]
navn = "papp"
lambda = 0.2
rho = 1000.0
c = 1500.0
# Typiske U-verdier (W/m²K) for bygg uten senere etterisolering, brukt som forslag når
# konstruksjonen ikke er kjent. [vegg, tak, gulv, vindu, kuldebro W/(m²K BRA), n50]
[[periode]]
navn = "før 1955"
fra = 0
til = 1955
vegg = 1.0
tak = 0.8
gulv = 0.8
vindu = 2.8
kuldebro = 0.15
n50 = 8.0
[[periode]]
navn = "19561970"
fra = 1956
til = 1970
vegg = 0.6
tak = 0.5
gulv = 0.5
vindu = 2.6
kuldebro = 0.12
n50 = 6.0
[[periode]]
navn = "TEK69 19711986"
fra = 1971
til = 1986
vegg = 0.45
tak = 0.3
gulv = 0.4
vindu = 2.6
kuldebro = 0.10
n50 = 5.0
[[periode]]
navn = "TEK87 19871997"
fra = 1987
til = 1997
vegg = 0.30
tak = 0.20
gulv = 0.30
vindu = 2.4
kuldebro = 0.08
n50 = 4.0
[[periode]]
navn = "TEK97 19982010"
fra = 1998
til = 2010
vegg = 0.22
tak = 0.15
gulv = 0.15
vindu = 1.6
kuldebro = 0.05
n50 = 3.0
[[periode]]
navn = "TEK10 20112017"
fra = 2011
til = 2017
vegg = 0.18
tak = 0.13
gulv = 0.15
vindu = 1.2
kuldebro = 0.03
n50 = 2.5
[[periode]]
navn = "TEK17 2018"
fra = 2018
til = 9999
vegg = 0.18
tak = 0.13
gulv = 0.10
vindu = 0.8
kuldebro = 0.05
n50 = 0.6