diff --git a/README.md b/README.md index eccc100..59dc207 100644 --- a/README.md +++ b/README.md @@ -453,35 +453,56 @@ er gjengitt i `eksempler/referansebygg/`, og `tests/referansebygg_2015.rs` regne | Bygg | enok | Publisert | Avvik | | --- | ---: | ---: | ---: | -| Småhus | 85,3 | 107,5 | −20,6 % | -| Boligblokk | 77,6 | 91,8 | −15,5 % | -| Barnehage | 80,1 | 132,0 | −39,3 % | -| Kontorbygning | 93,5 | 115,3 | −18,9 % | -| Skolebygning | 72,8 | 106,8 | −31,8 % | -| Idrettsbygning | 106,7 | 144,3 | −26,0 % | -| Kulturbygning | 73,2 | 128,0 | −42,8 % | -| **Snitt** | | | **−27,9 %** | +| Småhus | 87,7 | 107,5 | −18,4 % | +| Boligblokk | 79,7 | 91,8 | −13,1 % | +| Barnehage | 81,1 | 132,0 | −38,6 % | +| Kontorbygning | 93,9 | 115,3 | −18,6 % | +| Skolebygning | 73,6 | 106,8 | −31,1 % | +| Idrettsbygning | 111,1 | 144,3 | −23,0 % | +| Kulturbygning | 74,2 | 128,0 | −42,0 % | +| **Snitt** | | | **−26,4 %** | Netto energibehov, kWh/(m²·år), Oslo-klima. Kjør `cargo test --release --test referansebygg_2015 -- --nocapture` for tabellen. -**enok regner gjennomgående for lavt.** Avviket er systematisk og går én vei, så det kommer -neppe av inndataene for den enkelte kategorien. Dette er kontrollert: +**enok regner gjennomgående for lavt.** Avviket er systematisk og går én vei. Dette er +kontrollert, og selve beregningen ser ut til å være i orden: - Varmetapstallet for småhuset blir 0,70 W/(m²K) mot publisert 0,69, så geometri og U-verdier i modellene er riktig gjengitt. - De faste postene, varmtvann, belysning og teknisk utstyr, treffer de normerte verdiene - nøyaktig. -- Solinnstrålingen avviker under 1 % fra pvlib, og energibalansen går opp. + nøyaktig, og solinnstrålingen avviker under 1 % fra pvlib. +- Endres en enkelt komponent, svarer beregningen som den skal: en U-verdi som gir 40 W/K mer + varmetap, gir 105 % av det varmetapet tilsier over året. +- En uavhengig bin-beregning rett av klimafilen, med NS 3031s internlaster og + varmetapstallet for referansebygget, gir 51,5 kWh/(m²·år) romoppvarming. Under de samme + forutsetningene gir enok 49,5, altså 4 % lavere, og forskjellen er varmekapasiteten og + grunnkoblingen som bin-beregningen ser bort fra. -Avviket ligger dermed i den dynamiske delen: romoppvarming og ventilasjonsvarme. De to mest -sannsynlige årsakene er hvor stor del av sol- og internvarmen som regnes nyttiggjort, der -NS 3031:2025 Tillegg A gir timesprofiler og solfaktorer som ikke er offentlig tilgjengelige, -og luftmengdene i NS 3031 tabell B.1, som er anslått for flere yrkesbyggkategorier. +Avviket kommer dermed av hva som regnes som varmetilskudd, ikke av varmetapet. For +TEK17-småhuset er de enkeltvis målt til: -Standard Norges lanseringseksempel for NS 3031:2025 peker samme vei: det oppgir 46,2 -kWh/(m²·år) romoppvarming og 106,4 kWh/(m²·år) netto energibehov for et TEK17-småhus, mot -enoks 27,1 og 86,6. +| Varmetilskudd | Romoppvarming, kWh/(m²·år) | +| --- | ---: | +| Sol gjennom vinduene | 10,8 | +| Vifteeffekt til lufta | 4,4 | +| Systemtap fra tappevann | 5,0 | +| Nattsenking 21 → 19 °C | 4,1 | + +Til sammenligning oppgir Standard Norges lanseringseksempel for NS 3031:2025 46,2 +kWh/(m²·år) romoppvarming for et TEK17-småhus. Bin-beregningen med litt solvarme lander på +43,8, altså nær det publiserte tallet, mens enok med alle tilskuddene over lander på 22,9. + +Det ene punktet som er avklart, er systemtapet: energirammene er netto energibehov, som ikke +skal avhenge av varmeanlegget. Referansebyggene settes derfor opp med +`systemtap_som_tilskudd = false`, og det flyttet snittavviket fra −27,9 % til −26,4 %. +ISO 52000-1 og NS 3031:2025 regner gjenvinnbart systemtap som internt varmetilskudd, så for +et bygg som skal beskrive faktisk energibruk, står valget på `true`, som er standardverdien. + +Luftmengdene forklarer 3–5 kWh/(m²·år) for yrkesbyggene: full tabellverdi i stedet for +80 % for behovsstyring gir barnehagen 84,7 i stedet for 81,1. Resten, og særlig avviket for +barnehage, skole og kulturbygg, ligger i normerte inndata vi ikke har: NS 3031 Tillegg A og +tabell B.1 for disse kategoriene. ### Hva tallene kan brukes til diff --git a/eksempler/ExportReport_Nordhusstykket 5.txt b/eksempler/ExportReport_Nordhusstykket 5.txt new file mode 100644 index 0000000..4402097 --- /dev/null +++ b/eksempler/ExportReport_Nordhusstykket 5.txt @@ -0,0 +1,190 @@ + Exported entities 10 + IfcBuilding 1 + IfcBuildingStorey 3 + IfcDoor 1 + IfcSite 1 + IfcWall 1 + IfcWindow 3 + +Warnings 233 + Object was not exported, because it belongs to an excluded phase. 55 + Object was not exported, because it belongs to an excluded phase. 178 + IFC GUID: 2j4Yjl2uv7sAeJeoHqLzOy Uuid: {AD122B6F-0B8E-47D8-AA13-A3247457D63C} 1 + IfcColumn IFC GUID: 1fliq0k71CkvF_mRWfcoAd Uuid: {69BECD00-B870-4CBB-93FE-C1B8299B22A7} 1 + IfcColumn IFC GUID: 1LiqBcL3T7HRT2rLj0iN41 Uuid: {55B342E6-5437-4745-B742-D55B40B17101} 1 + IfcColumn IFC GUID: 1SGckJVn9CNwTsAh2trrN3 Uuid: {5C426B93-7F12-4C5F-A776-2AB0B7D755C3} 1 + IfcFurniture IFC GUID: 07i2O$aInFKPL16JlimA0l Uuid: {07B0263F-912C-4F51-9541-193BECC0A02F} 1 + IfcFurniture IFC GUID: 0881MCh9XAu9b7ODJoGiBW Uuid: {0820158C-AC98-4AE0-9947-60D4F242C2E0} 1 + IfcFurniture IFC GUID: 0bkAxYHlb6HxlpRkisdGZO Uuid: {25B8AEE2-46F9-4647-BBF3-6EEB369D08D8} 1 + IfcFurniture IFC GUID: 0DdaYNJJj2AgGn$D1C$9e$ Uuid: {0D9E4897-4D3B-422A-A431-FCD04CFC9A3F} 1 + IfcFurniture IFC GUID: 0GCNozZfTC0x2AqfbyLGT$ Uuid: {10317CBD-8E97-4C03-B08A-D2997C55077F} 1 + IfcFurniture IFC GUID: 0ikhlLsLT9V9e3GeZr6bKD Uuid: {2CBABBD5-D957-497C-9A03-4288F51A550D} 1 + IfcFurniture IFC GUID: 0uJwVeXDf2Ae$lWC26mEld Uuid: {384FA7E8-84DA-422A-8FEF-80C086C0EBE7} 1 + IfcFurniture IFC GUID: 16Vi0lhy95$ArNBwqZB1Mx Uuid: {467EC02F-AFC2-45FC-AD57-2FAD232C15BB} 1 + IfcFurniture IFC GUID: 1cfXJq2WTEkf1E3AKOBPNx Uuid: {66A614F4-0A07-4EBA-904E-0CA5182D95FB} 1 + IfcFurniture IFC GUID: 1Hlrjn6afFYwEUOmqRybbR Uuid: {51BF5B71-1A4A-4F8B-A39E-630D1BF2595B} 1 + IfcFurniture IFC GUID: 1KkrEE3Br8NOdyeNFJ_04x Uuid: {54BB538E-0CBD-485D-89FC-A173D3F8013B} 1 + IfcFurniture IFC GUID: 1lZY1xG4D1vQ39Y33HFhZv Uuid: {6F8E207B-4043-41E5-A0C9-8830D13EB8F9} 1 + IfcFurniture IFC GUID: 1pILNCHHP3buWC53YI72n$ Uuid: {734955CC-4516-4397-880C-1438921C2C7F} 1 + IfcFurniture IFC GUID: 1T$HvvGBPBv8LPOCUPozPA Uuid: {5DFD1E79-40B6-4BE4-8559-60C799CBD64A} 1 + IfcFurniture IFC GUID: 1TTIAne1zFj8fBUDD_uCwZ Uuid: {5D7522B1-A01F-4FB4-8A4B-78D37EE0CEA3} 1 + IfcFurniture IFC GUID: 1XHmn4qxzD38xK0PcrbtEN Uuid: {61470C44-D3BF-4D0C-8ED4-0199B5977397} 1 + IfcFurniture IFC GUID: 1zk6f_iVT4nOcUJF2aN4nE Uuid: {7DB86A7E-B1F7-44C5-899E-4CF0A45C4C4E} 1 + IfcFurniture IFC GUID: 24DrY7XwnBjg1ajG0eIf_I Uuid: {84375887-87AC-4BB6-A064-B500284A9F92} 1 + IfcFurniture IFC GUID: 28V7kvBB543eb7i_y_X3RS Uuid: {887C7BB9-2CB1-440E-8947-B3EF3E8436DC} 1 + IfcFurniture IFC GUID: 2DdhKSgrTCZApSm3H_sFCD Uuid: {8D9EB51C-AB57-4C8C-ACDC-C0347ED8F30D} 1 + IfcFurniture IFC GUID: 2f3EyoPZL9AA3TmLvysd4O Uuid: {A90CEF32-6635-4928-A0DD-C15E7CDA7118} 1 + IfcFurniture IFC GUID: 2Op4EchD1DjhrHD$posAgv Uuid: {98CC43A6-ACD0-4DB6-BD51-37FCF2D8AAB9} 1 + IfcFurniture IFC GUID: 2t53ebDxX8IRqP3RhvSlDa Uuid: {B7143A25-37B8-4849-BD19-0DBAF972F364} 1 + IfcFurniture IFC GUID: 32DWUyO6L5q8sG8C9mIBd7 Uuid: {C23607BC-6065-45D0-8D90-20C27048B9C7} 1 + IfcFurniture IFC GUID: 3B7VHvrSv1j8tZ$IvGVnew Uuid: {CB1DF479-D5CE-41B4-8DE3-FD2E507F1A3A} 1 + IfcFurniture IFC GUID: 3LhPbhSO95I8r5giBkMTY9 Uuid: {D5AD996B-7182-4548-8D45-AAC2EE59D889} 1 + IfcFurniture IFC GUID: 3tBET3kwP5hQ3qXJDeFaGF Uuid: {F72CE743-BBA6-45AD-A0F4-8533683E440F} 1 + IfcFurniture IFC GUID: 3VuLLdIwz64BofO0GqriXB Uuid: {DFE15567-4BAF-4610-BCA9-600434D6C84B} 1 + IfcFurniture IFC GUID: 3VynC$RT16qx_qG0fBkA_b Uuid: {DFF3133F-6DD0-46D3-BFB4-400A4BB8AFA5} 1 + IfcFurniture IFC GUID: 3ylIyQzeLFug2xXgCoMPs7 Uuid: {FCBD2F1A-F685-4FE2-A0BB-86A332599D87} 1 + IfcRailing IFC GUID: 3og_HkvSHECgyd9k9__l6B Uuid: {F2ABE46E-E5C4-4E32-AF27-26E27EFAF18B} 1 + IfcRoof IFC GUID: 3fJ48mjj5EhuM7zh$IBhSO Uuid: {E94C4230-B6D1-4EAF-8587-F6BFD22EB718} 1 + IfcSanitaryTerminal IFC GUID: 1yp7yRIff1tO8dFDKhlLlB Uuid: {7CCC7F1B-4A9A-41DD-8227-3CD52BBD5BCB} 1 + IfcSanitaryTerminal IFC GUID: 3fK_Pl8kz0leAbJ2cH0B7x Uuid: {E953E66F-22EF-40BE-82A5-4C299100B1FB} 1 + IfcSlab IFC GUID: 07WSyapvrC1xDeRL0MNUFy Uuid: {0781CF24-CF9D-4C07-B368-6D50165DE3FC} 1 + IfcSlab IFC GUID: 0b7APUG_HFs8YjQbZfhell Uuid: {251CA65E-43E4-4FD8-88AD-6A58E9AE8BEF} 1 + IfcSlab IFC GUID: 0MBiUrI$91xB0CQiMk$BVo Uuid: {162EC7B5-4BF2-41EC-B00C-6AC5AEFCB7F2} 1 + IfcSlab IFC GUID: 0N3tCvYin8TuisG5BsOPy_ Uuid: {170F7339-8ACC-4877-8B36-4052F6619F3E} 1 + IfcSlab IFC GUID: 0trzognO50txskx6BnXPYy Uuid: {37D7DCAA-C581-40DF-BDAE-EC62F18598BC} 1 + IfcSlab IFC GUID: 13vwcqdIT1jg7$huALfsZ0 Uuid: {43E7A9B4-9D27-41B6-A1FF-AF8295A768C0} 1 + IfcSlab IFC GUID: 14UX849r15EvLBl6SufiwR Uuid: {447A1204-2750-453B-954B-BC6738A6CE9B} 1 + IfcSlab IFC GUID: 19dxmR2dj9KPUH$it9udCS Uuid: {499FBC1B-0A7B-4951-9791-FECDC9E2731C} 1 + IfcSlab IFC GUID: 1D$pzp6zXCtB8QJLmd_SaH Uuid: {4DFF3F73-1BD8-4CDC-B21A-4D5C27F9C911} 1 + IfcSlab IFC GUID: 1nAMi735j5wfH4nAMDuPiD Uuid: {71296B07-0C5B-45EA-9444-C4A58DE19B0D} 1 + IfcSlab IFC GUID: 2vnxgFvyLEPuNXMWZCX6VU Uuid: {B9C7BA8F-E7C5-4E67-85E1-5A08CC8467DE} 1 + IfcSlab IFC GUID: 3nS3eMCPP6eeCeLd_Dh21d Uuid: {F1703A16-3196-46A2-8328-567F8DAC2067} 1 + IfcSpace IFC GUID: 0dwvJCIuPDIus0RmdkWAuo Uuid: {27EB94CC-4B86-4D4B-8D80-6F09EE80AE32} 1 + IfcSpace IFC GUID: 0qa$ZWkLb6RQBL4tIH2EeF Uuid: {3493F8E0-B959-466D-A2D5-13749108EA0F} 1 + IfcSpace IFC GUID: 0usL7gvbLCvhlmAATYEcze Uuid: {38D951EA-E655-4CE6-BBF0-28A7623A6F68} 1 + IfcSpace IFC GUID: 0WVjr0$FL7UQmfdHSTSFPm Uuid: {207EDD40-FCF5-4779-AC29-9D171D70F670} 1 + IfcSpace IFC GUID: 0ZhDNFKnf3ewzYK6IEMAz2 Uuid: {23ACD5CF-531A-43A3-AF62-50648E58AF42} 1 + IfcSpace IFC GUID: 1gKdzkjYjCHOvt3BXrQuYS Uuid: {6A527F6E-B62B-4C45-8E77-0CB8756B889C} 1 + IfcSpace IFC GUID: 1i1xAQbUPBkgkgldj4PJaM Uuid: {6C07B29A-95E6-4BBA-ABAA-BE7B44653916} 1 + IfcSpace IFC GUID: 1iqXr6MHTAhApQyP9ABqGt Uuid: {6CD21D46-5917-4AAC-ACDA-F1924A2F4437} 1 + IfcSpace IFC GUID: 1mjz_b_l9689hXrLvA_qCF Uuid: {70B7DFA5-FAF2-4620-9AE1-D55E4AFB430F} 1 + IfcSpace IFC GUID: 1Rz76e1Ur2LeeYek8vPOpj Uuid: {5BF471A8-05ED-4256-8A22-A2E239658CED} 1 + IfcSpace IFC GUID: 1vPuSAYJXEyvEh6_lfanzU Uuid: {7967870A-8938-4EF3-93AB-1BEBE9931F5E} 1 + IfcSpace IFC GUID: 1wlwZ24mHDMA0SuaP2weC8 Uuid: {7ABFA8C2-1304-4D58-A01C-E24642EA8308} 1 + IfcSpace IFC GUID: 1ZczeQg_LFHOVnxdRtnvBp Uuid: {639BDA1A-ABE5-4F45-87F1-EE76F7C792F3} 1 + IfcSpace IFC GUID: 2bvP5SFC99rAnCjiB3Vax7 Uuid: {A5E5915C-3CC2-49D4-AC4C-B6C2C37E4EC7} 1 + IfcSpace IFC GUID: 2ISw8ATsD889cHLclxPMrB Uuid: {9273A20A-7763-4820-9991-566BFB656D4B} 1 + IfcSpace IFC GUID: 2SL_maT5PD7fTXfWmMND02 Uuid: {9C57EC24-7456-4D1E-9761-A60C165CD002} 1 + IfcSpace IFC GUID: 2Wo7U6wCL9AvGd0$ILQCDN Uuid: {A0C87786-E8C5-492B-9427-03F49568C357} 1 + IfcSpace IFC GUID: 2zfleS6QL0zhwE$RSCjkDr Uuid: {BDA6FA1C-19A5-40F6-BE8E-FDB70CB6E375} 1 + IfcSpace IFC GUID: 3AflZrmK9C$8PKEtkGO_ML Uuid: {CAA6F8F5-C142-4CFC-8654-3B7B9063E595} 1 + IfcSpace IFC GUID: 3CeXrio2zCEPt$KBvdFpmF Uuid: {CCA21D6C-C82F-4C39-9DFF-50BE673F3C0F} 1 + IfcSpace IFC GUID: 3CMUtjbUf2VQXEOd6JcDdg Uuid: {CC59EDED-95EA-427D-A84E-62719398D9EA} 1 + IfcSpace IFC GUID: 3Gh4YW4F1AUR7DPEkB$S0y Uuid: {D0AC48A0-10F0-4A79-B1CD-64EB8BFDC03C} 1 + IfcSpace IFC GUID: 3tyuOb6mHBJe73AW673PJC Uuid: {F7F38625-1B04-4B4E-81C3-2A01870D94CC} 1 + IfcStair IFC GUID: 0d9nk8JXHFz9MplvJSaVN1 Uuid: {27271B88-4E14-4FF4-95B3-BF94DC91F5C1} 1 + IfcStair IFC GUID: 2Gm90FvwP5dQy5ZCcQN5$Y Uuid: {90C0900F-E7A6-459D-AF05-8CC99A5C5FE2} 1 + IfcStair IFC GUID: 2j4Yjl2uv7sAeJeoHqLzOy Uuid: {AD122B6F-0B8E-47D8-AA13-A3247457D63C} 1 + IfcSystemFurnitureElement IFC GUID: 3_6Dkn0FL1DPC3gj4oI9_9 Uuid: {FE18DBB1-00F5-4135-9303-AAD132489F89} 1 + IfcWall IFC GUID: 011fIifbf5UgD0m1Qs22ji Uuid: {010694AC-A65A-457A-A340-C016B6082B6C} 1 + IfcWall IFC GUID: 02hbt$XObCMhjMiw8qYvzd Uuid: {02AE5DFF-8589-4C5A-BB56-B3A2348B9F67} 1 + IfcWall IFC GUID: 02XNHduN50YuESKrAx$_nO Uuid: {02857467-E171-408B-839C-5352BBFFEC58} 1 + IfcWall IFC GUID: 04LdJolI5APgS8PG8J4osy Uuid: {045674F2-BD21-4A66-A708-650213132DBC} 1 + IfcWall IFC GUID: 08B2OV3LP3Yht2keSZOd95 Uuid: {082C261F-0D56-438A-BDC2-BA8723627245} 1 + IfcWall IFC GUID: 08YvDPgmL918r349XGIpF_ Uuid: {088B9359-AB05-4904-8D43-1098504B33FE} 1 + IfcWall IFC GUID: 0aQby46hz1ofJr7lINZUgh Uuid: {246A5F04-1ABF-41CA-94F5-1EF4978DEAAB} 1 + IfcWall IFC GUID: 0CF9aUjkf8xR8g8bhnHdYt Uuid: {0C3C991E-B6EA-48ED-B22A-225AF14678B7} 1 + IfcWall IFC GUID: 0DwscUXi9ErhcYX8Rl53mD Uuid: {0DEB699E-86C2-4ED6-B9A2-8486EF143C0D} 1 + IfcWall IFC GUID: 0hfSpV4gnC7f6M4o4Rle_n Uuid: {2BA5CCDF-12AC-4C1E-9196-13211BBE8FB1} 1 + IfcWall IFC GUID: 0I2icW51fAUQFRDh11gpFT Uuid: {120AC9A0-141A-4A79-A3DB-36B041AB33DD} 1 + IfcWall IFC GUID: 0jkimVUM16_9yuxUsCGS6c Uuid: {2DBACC1F-7960-46F8-9F38-EDED8C41C1A6} 1 + IfcWall IFC GUID: 0KLWSwjcDAa9H04VNlq1XS Uuid: {1456073A-B663-4A90-9440-11F5EFD0185C} 1 + IfcWall IFC GUID: 0LzcILtAzChPEDa6RC58AU Uuid: {15F66495-DCAF-4CAD-938D-9066CC14829E} 1 + IfcWall IFC GUID: 0m0RH0XkD2Puhx2cT$y7JF Uuid: {3001B440-86E3-4267-8AFB-0A677FF074CF} 1 + IfcWall IFC GUID: 0m3q1eK6X9oPySmHfZ0nf3 Uuid: {300F4068-5068-49C9-9F1C-C11A63031A43} 1 + IfcWall IFC GUID: 0MrV9CxDn9PvsyUZsIE9ri Uuid: {16D5F24C-ECDC-4967-9DBC-7A3D92389D6C} 1 + IfcWall IFC GUID: 0n60zBeln5KOZPA574pf50 Uuid: {31180F4B-A2FC-4551-88D9-2851C4CE9140} 1 + IfcWall IFC GUID: 0ocqH4R$1Ed9vkkxG4d1_E Uuid: {329B4444-6FF0-4E9C-9E6E-BBB4049C1F8E} 1 + IfcWall IFC GUID: 0oT03VbwP2uh9BVBoxo7sp Uuid: {327400DF-97A6-42E2-B24B-7CBCBBC87DB3} 1 + IfcWall IFC GUID: 0QXfLvMOzEmOLWs2JGF3jr Uuid: {1A869579-598F-4EC1-8560-D824D03C3B75} 1 + IfcWall IFC GUID: 0S2f2$43f1OxT3sf7frdES Uuid: {1C0A90BF-103A-4163-B743-DA91E9D6739C} 1 + IfcWall IFC GUID: 0tK0htVT55gOJEVTJ6disc Uuid: {37500AF7-7DD1-45A9-84CE-7DD4C69ECDA6} 1 + IfcWall IFC GUID: 0uzkec7W90cghnoiyRcp63 Uuid: {38F6EA26-1E02-409A-AAF1-CACF1B9B3183} 1 + IfcWall IFC GUID: 0w9FhDQDf8vg_4uNleaP_4 Uuid: {3A24FACD-68DA-48E6-AF84-E17BE8919F84} 1 + IfcWall IFC GUID: 0yV2Wuo095KvmjzYPiGboU Uuid: {3C7C2838-C802-4553-9C2D-F6266C425C9E} 1 + IfcWall IFC GUID: 1$stJY5wb5mBVEIKlc4uyS Uuid: {7FDB74E2-17A9-45C0-B7CE-494BE6138F1C} 1 + IfcWall IFC GUID: 11RKbz6q11A8Cw0lePezyh Uuid: {416D497D-1B40-4128-833A-02FA19A3DF2B} 1 + IfcWall IFC GUID: 13LryRtC53dfQnBC9whwW9 Uuid: {43575F1B-DCC1-439E-96B1-2CC27AAFA809} 1 + IfcWall IFC GUID: 14h9RrHSbFI8FWYNYQI2AE Uuid: {44AC96F5-45C9-4F48-83E0-89789A48228E} 1 + IfcWall IFC GUID: 16G9$5Xjn7hOfRsMYVpdte Uuid: {46409FC5-86DC-47AD-8A5B-D9689FCE7DE8} 1 + IfcWall IFC GUID: 18sNyWNPv27As03Mr45n$Q Uuid: {48D97F20-5D9E-421C-AD80-0D6D44171FDA} 1 + IfcWall IFC GUID: 18vDJap959aeAOjEVJRuBN Uuid: {48E4D4E4-CC91-4992-8298-B4E7D36F82D7} 1 + IfcWall IFC GUID: 1AxKOyS4j92fopMhhjpIAO Uuid: {4AED463C-704B-490A-9CB3-5ABAEDCD2298} 1 + IfcWall IFC GUID: 1bBTC9vJ52Ggqk1hdeQNbq Uuid: {652DD309-E531-4242-AD2E-06B9E8697974} 1 + IfcWall IFC GUID: 1d1zMVqdP7Ee6PHmbP725o Uuid: {6707D59F-D276-473A-8199-4709591C2172} 1 + IfcWall IFC GUID: 1Dg5OAQtf6hO$vY0cufbsP Uuid: {4DA8560A-6B7A-46AD-8FF9-8809B8A65D99} 1 + IfcWall IFC GUID: 1fa24_JofDF8iVG8ytsCOa Uuid: {6990213E-4F2A-4D3C-8B1F-408F37D8C624} 1 + IfcWall IFC GUID: 1Fs72RH1PF58caUTkuC4vS Uuid: {4FD8709B-4416-4F14-89A4-79DBB8304E5C} 1 + IfcWall IFC GUID: 1IPo9dHJb1WQTgQ88HDYtp Uuid: {52672267-4539-4181-A76A-688211362DF3} 1 + IfcWall IFC GUID: 1lEd3sjuD5RQKIBJeTekta Uuid: {6F3A70F6-B783-456D-A512-2D3A1DA2EDE4} 1 + IfcWall IFC GUID: 1mPD6JNVH8mBcZ15CIkpNa Uuid: {7064D193-5DF4-48C0-B9A3-045312BB35E4} 1 + IfcWall IFC GUID: 1N$wEw8o941vlEeTZwiDY6 Uuid: {57FFA3BA-2322-4407-9BCE-A1D8FAB0D886} 1 + IfcWall IFC GUID: 1O1dHRR8L61ewoIaqPnn4R Uuid: {5806745B-6C85-4606-8EB2-4A4D19C7111B} 1 + IfcWall IFC GUID: 1p_S6HkW93_f8HGgqt4yMg Uuid: {73F9C191-BA02-43FA-9211-42AD3713C5AA} 1 + IfcWall IFC GUID: 1Pnfun7Yr46wZEEuAHGalE Uuid: {59C69E31-1E2D-441B-A8CE-3B8291424BCE} 1 + IfcWall IFC GUID: 1poPXhDi9CwBw25OSe0LtO Uuid: {73C9986B-36C2-4CE8-BE82-158728015DD8} 1 + IfcWall IFC GUID: 1q1GX0aLDBlg$K09nBI5ZY Uuid: {74050840-9153-4BBE-AFD4-009C4B4858E2} 1 + IfcWall IFC GUID: 1uGlLfKcPBdRSVLJXY0BtQ Uuid: {7842F569-5266-4B9D-B71F-55386200BDDA} 1 + IfcWall IFC GUID: 1Uuo_cb4D0oAvfq8EVz8la Uuid: {5EE32FA6-9443-40C8-AE69-D0839FF48BE4} 1 + IfcWall IFC GUID: 1Uy_mHl35FtRbl3EuuzLvp Uuid: {5EF3EC11-BC31-4FDD-B96F-0CEE38F55E73} 1 + IfcWall IFC GUID: 1W9OwQ4jn83O68vfXjAYc5 Uuid: {60258E9A-12DC-480D-8188-E6986D2A2985} 1 + IfcWall IFC GUID: 1WbCjyS9DCPvvkJF7rtT2V Uuid: {6094CB7C-7093-4C67-9E6E-4CF1F5DDD09F} 1 + IfcWall IFC GUID: 20XqXEyqb0wxwmfO1Q7$_r Uuid: {8087484E-F349-40EB-BEB0-A5805A1FFFB5} 1 + IfcWall IFC GUID: 24xi793Ub3NuS1WwIbBuUW Uuid: {84EEC1C9-0DE9-435F-8701-83A4A52F87A0} 1 + IfcWall IFC GUID: 25cdmVbMr2tekzO__aeP1K Uuid: {859A7C1F-956D-42DE-8BBD-63EFA4A19054} 1 + IfcWall IFC GUID: 26vkWJTKr7yPnAkyzn1whT Uuid: {86E6E813-754D-47F1-9C4A-BBCF7107AADD} 1 + IfcWall IFC GUID: 27K4SwxDf7CQTo_bdD1ita Uuid: {8750473A-ECDA-4731-A772-FA59CD06CDE4} 1 + IfcWall IFC GUID: 2_TkJTwoTE4Ri0B5ws4gOy Uuid: {BE76E4DD-EB27-4E11-BB00-2C5EB612A63C} 1 + IfcWall IFC GUID: 2C0FlaHcr4bPJ6ivLUAxwf Uuid: {8C00FBE4-466D-4495-94C6-B3955E2BBEA9} 1 + IfcWall IFC GUID: 2dAQd57XnAN8wcPs2xrIr9 Uuid: {A729A9C5-1E1C-4A5C-8EA6-6760BBD52D49} 1 + IfcWall IFC GUID: 2EPNtdYV50AO9il_nn3StI Uuid: {8E657DE7-89F1-4029-826C-BFEC710DCDD2} 1 + IfcWall IFC GUID: 2FzPwSYSj0nO1lmZRq9dy0 Uuid: {8FF59E9C-89CB-40C5-806F-C236F4267F00} 1 + IfcWall IFC GUID: 2GE8t9jZT4mPIU_Cex_u5C Uuid: {90388DC9-B637-44C1-949E-F8CA3BFB814C} 1 + IfcWall IFC GUID: 2h9nahZ4D6o84C_zaietNq Uuid: {AB27192B-8C43-46C8-810C-FBD92CA375F4} 1 + IfcWall IFC GUID: 2Hd6ParQDDO8b6P3WvsCvk Uuid: {919C6664-D5A3-4D60-8946-643839D8CE6E} 1 + IfcWall IFC GUID: 2KBkO13kbFO8vxYftMUhop Uuid: {942EE601-0EE9-4F60-8E7B-8A9DD67ABCB3} 1 + IfcWall IFC GUID: 2KXJG437XFeRghjfUAuwe6 Uuid: {94853404-0C78-4FA1-BAAB-B6978AE3AA06} 1 + IfcWall IFC GUID: 2NJLfDIaHE0xy4hUHI88Q8 Uuid: {974D5A4D-4A44-4E03-BF04-ADE452208688} 1 + IfcWall IFC GUID: 2pkmaeTon3mP841EO$XKr_ Uuid: {B3BB0928-772C-43C1-9204-04E63F854D7E} 1 + IfcWall IFC GUID: 2qnL88IP18KOC46_zM$3Q6 Uuid: {B4C55208-4990-4851-8304-1BEF56FC3686} 1 + IfcWall IFC GUID: 2QPqhAlwv5z8fnxL7FclU3 Uuid: {9A674ACA-BFAE-45F4-8A71-ED51CF9AF783} 1 + IfcWall IFC GUID: 2wTrE5Qr95XvTYD_pf4efL Uuid: {BA775385-6B52-4587-9762-37ECE9128A55} 1 + IfcWall IFC GUID: 2XlScs8fz0vgAXQK$RjwGp Uuid: {A1BDC9B6-229F-40E6-A2A1-694FDBB7A433} 1 + IfcWall IFC GUID: 33f9lwxs5C$gzA_tv8Q_ty Uuid: {C3A49BFA-EF61-4CFE-AF4A-FB7E486BEDFC} 1 + IfcWall IFC GUID: 34pktMu3vB1fqQG6Kdp0wt Uuid: {C4CEEDD6-E03E-4B06-9D1A-406527CC0EB7} 1 + IfcWall IFC GUID: 36tKbQYvf1igzF3NzYcukf Uuid: {C6DD495A-8B9A-41B2-AF4F-0D7F629B8BA9} 1 + IfcWall IFC GUID: 37l0C1$6n5FORQUe6hzilq Uuid: {C7BC0301-FC6C-453D-86DA-7A81ABF6CBF4} 1 + IfcWall IFC GUID: 38XL6G2IL6BOFb9_hicIy$ Uuid: {C8855190-0925-462D-83E5-27EAEC992F3F} 1 + IfcWall IFC GUID: 3B0ibynjT0ZwbBLjydckcJ Uuid: {CB02C97C-C6D7-408F-A94B-56DF279AE993} 1 + IfcWall IFC GUID: 3FGDF39YvDMP_dWSedAdf1 Uuid: {CF40D3C3-262E-4D59-9FA7-81CA272A7A41} 1 + IfcWall IFC GUID: 3GGCttPXP9691A4fYqYPVS Uuid: {D040CDF7-6616-4918-904A-1298B48997DC} 1 + IfcWall IFC GUID: 3H_C$m8hHEM9GeEJKFROVn Uuid: {D1F8CFF0-22B4-4E58-9428-39350F6D87F1} 1 + IfcWall IFC GUID: 3J6PC0OvjFZv2JopH5$HYo Uuid: {D3199300-639B-4F8F-9093-CB3445FD18B2} 1 + IfcWall IFC GUID: 3kH8pDoSv3RwPJWxMAg8Cf Uuid: {EE448CCD-C9CE-436F-A653-83B58AA88329} 1 + IfcWall IFC GUID: 3LLVg6vfH9Fg0TOjWfPjSE Uuid: {D555FA86-E694-493E-A01D-62D82966D70E} 1 + IfcWall IFC GUID: 3Lt8TYxN54TfuAQi8WlGVW Uuid: {D5DC8762-ED71-4476-9E0A-6AC220BD07E0} 1 + IfcWall IFC GUID: 3lyfiiGsbEhO3r_B9BGd5E Uuid: {EFF29B2C-4369-4EAD-80F5-F8B24B42714E} 1 + IfcWall IFC GUID: 3mPddsu3PFMB4_fMci6SmG Uuid: {F06679F6-E036-4F58-B13E-A569AC19CC10} 1 + IfcWall IFC GUID: 3oWKwr91D9yu9735ujDBCa Uuid: {F2814EB5-2413-49F3-8247-0C5E2D34B324} 1 + IfcWall IFC GUID: 3p_eBcR25BUgLRUoU6ZSnU Uuid: {F3FA82E6-6C21-4B7A-A55B-7B27868DCC5E} 1 + IfcWall IFC GUID: 3QjKbLZ_98h8RV_F9ogZY7 Uuid: {DAB54955-8FE2-48AC-86DF-F8F272AA3887} 1 + IfcWall IFC GUID: 3Qne0sjAnA0hQIQyS31ndY Uuid: {DAC68036-B4AC-4A02-B692-6BC7030719E2} 1 + IfcWall IFC GUID: 3rqsGKaSTAuAEQWrJR4N1_ Uuid: {F5D36414-91C7-4AE0-A39A-8354DB11707E} 1 + IfcWall IFC GUID: 3ToDumCrT09RkujRr0n7RV Uuid: {DDC8DE30-3357-4025-BBB8-B5BD40C476DF} 1 + IfcWall IFC GUID: 3VLKXM2CP7BuXDwuPkca7E Uuid: {DF554856-08C6-472F-884D-EB866E9A41CE} 1 + IfcWall IFC GUID: 3w4c71wE12$88mIOeAWyZf Uuid: {FA1261C1-E8E0-42FC-8230-498A0A83C8E9} 1 + IfcWall IFC GUID: 3y0_1eYoLBtga8fxTCRIjM Uuid: {FC03E068-8B25-4BDE-A908-A7B74C6D2B56} 1 + IfcWall IFC GUID: 3ybT5jnE59UR352P6n2wLg Uuid: {FC95D16D-C4E1-4979-B0C5-0991B10BA56A} 1 + IfcWall IFC GUID: 3YKPwIInjEWx9bpZjWJpmq Uuid: {E2519E92-4B1B-4E83-B265-CE3B604F3C34} 1 + IfcWall IFC GUID: 3YqWhqTnP7JvnIq8aGASpZ Uuid: {E2D20AF4-7716-474F-9C52-D0891029CCE3} 1 + diff --git a/eksempler/referansebygg/barnehage.toml b/eksempler/referansebygg/barnehage.toml index e146638..6a251a3 100644 --- a/eksempler/referansebygg/barnehage.toml +++ b/eksempler/referansebygg/barnehage.toml @@ -88,6 +88,9 @@ gjenvinning = 0.85 sfp = 1.5 [drift] +# Energirammene er regnet som netto energibehov, uavhengig av varmeanlegget, så +# systemtapet fra tappevann og varmedistribusjon teller ikke som varmetilskudd her. +systemtap_som_tilskudd = false belysning_effekt = 6.4 [distribusjon] diff --git a/eksempler/referansebygg/boligblokk.toml b/eksempler/referansebygg/boligblokk.toml index 17b4f6b..9f477c1 100644 --- a/eksempler/referansebygg/boligblokk.toml +++ b/eksempler/referansebygg/boligblokk.toml @@ -72,6 +72,9 @@ gjenvinning = 0.8 sfp = 1.5 [drift] +# Energirammene er regnet som netto energibehov, uavhengig av varmeanlegget, så +# systemtapet fra tappevann og varmedistribusjon teller ikke som varmetilskudd her. +systemtap_som_tilskudd = false belysning_effekt = 1.95 [distribusjon] diff --git a/eksempler/referansebygg/idrettsbygg.toml b/eksempler/referansebygg/idrettsbygg.toml index abcd15d..6ebb25e 100644 --- a/eksempler/referansebygg/idrettsbygg.toml +++ b/eksempler/referansebygg/idrettsbygg.toml @@ -93,6 +93,9 @@ sfp = 1.5 kjolebatteri = true [drift] +# Energirammene er regnet som netto energibehov, uavhengig av varmeanlegget, så +# systemtapet fra tappevann og varmedistribusjon teller ikke som varmetilskudd her. +systemtap_som_tilskudd = false belysning_effekt = 6.4 [distribusjon] diff --git a/eksempler/referansebygg/kontorbygg.toml b/eksempler/referansebygg/kontorbygg.toml index 52aa7af..238dfa7 100644 --- a/eksempler/referansebygg/kontorbygg.toml +++ b/eksempler/referansebygg/kontorbygg.toml @@ -93,6 +93,9 @@ sfp = 1.5 kjolebatteri = true [drift] +# Energirammene er regnet som netto energibehov, uavhengig av varmeanlegget, så +# systemtapet fra tappevann og varmedistribusjon teller ikke som varmetilskudd her. +systemtap_som_tilskudd = false belysning_effekt = 6.4 [distribusjon] diff --git a/eksempler/referansebygg/kulturbygg.toml b/eksempler/referansebygg/kulturbygg.toml index cb19879..1b7ba69 100644 --- a/eksempler/referansebygg/kulturbygg.toml +++ b/eksempler/referansebygg/kulturbygg.toml @@ -93,6 +93,9 @@ sfp = 1.5 kjolebatteri = true [drift] +# Energirammene er regnet som netto energibehov, uavhengig av varmeanlegget, så +# systemtapet fra tappevann og varmedistribusjon teller ikke som varmetilskudd her. +systemtap_som_tilskudd = false belysning_effekt = 6.4 [distribusjon] diff --git a/eksempler/referansebygg/skolebygg.toml b/eksempler/referansebygg/skolebygg.toml index f89a729..e5cbb33 100644 --- a/eksempler/referansebygg/skolebygg.toml +++ b/eksempler/referansebygg/skolebygg.toml @@ -93,6 +93,9 @@ sfp = 1.5 kjolebatteri = true [drift] +# Energirammene er regnet som netto energibehov, uavhengig av varmeanlegget, så +# systemtapet fra tappevann og varmedistribusjon teller ikke som varmetilskudd her. +systemtap_som_tilskudd = false belysning_effekt = 8.0 [distribusjon] diff --git a/eksempler/referansebygg/smaahus.toml b/eksempler/referansebygg/smaahus.toml index 2c7fd36..b629319 100644 --- a/eksempler/referansebygg/smaahus.toml +++ b/eksempler/referansebygg/smaahus.toml @@ -88,6 +88,9 @@ gjenvinning = 0.8 sfp = 1.5 [drift] +# Energirammene er regnet som netto energibehov, uavhengig av varmeanlegget, så +# systemtapet fra tappevann og varmedistribusjon teller ikke som varmetilskudd her. +systemtap_som_tilskudd = false belysning_effekt = 1.95 [distribusjon] diff --git a/src/kjor.rs b/src/kjor.rs index ab12de1..88d2000 100644 --- a/src/kjor.rs +++ b/src/kjor.rs @@ -173,18 +173,29 @@ pub fn kjor_med_klima( .map(|s| s.andel_tappevannstap) .sum::() .min(1.0); + // Uten gjenvinnbart systemtap blir netto energibehov uavhengig av varmeanlegget, slik + // energirammene i TEK er regnet. Med, slik ISO 52000-1 og NS 3031:2025 beskriver det, + // varmer tapet rommene det står i. + let med = if lost.systemtap_som_tilskudd { + 1.0 + } else { + 0.0 + }; let tilskudd = Systemtilskudd { - tappevann: tappevannstap * systemer_oppsett.tappevann_tap_i_sone * (1.0 - sone_tappevann), + tappevann: med + * tappevannstap + * systemer_oppsett.tappevann_tap_i_sone + * (1.0 - sone_tappevann), sone_fast: lost .soner .iter() - .map(|s| s.fast_effekt + tappevannstap * s.andel_tappevannstap) + .map(|s| s.fast_effekt + med * tappevannstap * s.andel_tappevannstap) .collect(), sone_andel_romvarme: lost .soner .iter() .map(|s| { - s.andel_distribusjonstap * systemer_oppsett.distribusjon_tap_ut + med * s.andel_distribusjonstap * systemer_oppsett.distribusjon_tap_ut / (1.0 - systemer_oppsett.distribusjon_tap_ut).max(1e-6) }) .collect(), diff --git a/src/modell/lost.rs b/src/modell/lost.rs index 83b4f76..e2680cf 100644 --- a/src/modell/lost.rs +++ b/src/modell/lost.rs @@ -114,6 +114,8 @@ pub struct Lost { pub lufting: Option<(f64, f64)>, pub regulering: Regulering, pub innvendig_varmekapasitet: f64, + /// Teller systemtapet fra tappevann og varmedistribusjon som varmetilskudd i sonene? + pub systemtap_som_tilskudd: bool, pub maks_varmeeffekt: Option, pub maks_kjoleeffekt: Option, pub albedo: f64, @@ -334,6 +336,7 @@ impl Lost { }; let innvendig_varmekapasitet = b.drift.innvendig_varmekapasitet.unwrap_or(10_000.0); + let systemtap_som_tilskudd = b.drift.systemtap_som_tilskudd.unwrap_or(true); // Vinduslufting brukes når bygningen ikke har kjøleanlegg. let lufting = if b.lufting.ingen @@ -402,6 +405,7 @@ impl Lost { lufting, regulering: Regulering::Operativ, innvendig_varmekapasitet, + systemtap_som_tilskudd, maks_varmeeffekt: b.oppvarming.maks_effekt, maks_kjoleeffekt: b.kjoling.maks_effekt, albedo: b.klima.albedo.unwrap_or(0.2), diff --git a/src/modell/mod.rs b/src/modell/mod.rs index 6545c55..ee2f027 100644 --- a/src/modell/mod.rs +++ b/src/modell/mod.rs @@ -668,6 +668,13 @@ pub struct Drift { /// Effektiv innvendig varmekapasitet for luft og inventar, J/(m²K). Utelatt: 10 000 (ISO 52016-1). #[serde(default, skip_serializing_if = "Option::is_none")] pub innvendig_varmekapasitet: Option, + /// Skal varmetapet fra tappevanns- og varmeanlegget telle som varmetilskudd i rommene? + /// + /// Utelatt: ja, slik ISO 52000-1 og NS 3031:2025 beskriver gjenvinnbart systemtap. Sett + /// den til `false` for et netto energibehov som er uavhengig av varmeanlegget, slik + /// energirammene i TEK er regnet. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub systemtap_som_tilskudd: Option, } #[derive(Deserialize, Serialize, Clone, Debug)] diff --git a/tests/referansebygg_2015.rs b/tests/referansebygg_2015.rs index 423acc9..1dd061d 100644 --- a/tests/referansebygg_2015.rs +++ b/tests/referansebygg_2015.rs @@ -17,13 +17,13 @@ use std::path::Path; /// Fil, publisert netto energibehov, og enoks verdi slik den er i dag, kWh/(m²·år). const BYGG: [(&str, f64, f64); 7] = [ - ("smaahus", 107.5, 85.3), - ("boligblokk", 91.8, 77.6), - ("barnehage", 132.0, 80.1), - ("kontorbygg", 115.3, 93.5), - ("skolebygg", 106.8, 72.8), - ("idrettsbygg", 144.3, 106.7), - ("kulturbygg", 128.0, 73.2), + ("smaahus", 107.5, 87.7), + ("boligblokk", 91.8, 79.7), + ("barnehage", 132.0, 81.1), + ("kontorbygg", 115.3, 93.9), + ("skolebygg", 106.8, 73.6), + ("idrettsbygg", 144.3, 111.1), + ("kulturbygg", 128.0, 74.2), ]; fn netto(navn: &str) -> f64 {