Legg til barnehage, kontor-, skole-, idretts- og kulturbygg
Driftstidene har nå dager per uke og uker per år, og lastene gjelder bare på driftsdager. Normerte verdier for de nye kategoriene er hentet fra publiserte Simien-utskrifter og DiBK-utredninger og kontrollert mot energibudsjettene i de samme kildene. Boligblokk har fått egne verdier i stedet for en kopi av småhus. Balanserte anlegg kan ha kjølebatteri, og varmegjenvinneren reguleres ned når den ellers ville varmet tilluften over settpunktet. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015GeH3y8fwTaTudaD88P57o
This commit is contained in:
@@ -33,9 +33,14 @@ pub fn infiltrasjonsluftmengde(l: &Lost) -> f64 {
|
||||
n_inf * v
|
||||
}
|
||||
|
||||
/// Ventilasjonsluftmengde for en klokketime, m³/h.
|
||||
pub fn luftmengde(l: &Lost, klokketime: usize) -> f64 {
|
||||
let spesifikk = if l.ventilasjon.driftstid.aktiv(klokketime) {
|
||||
/// Om ventilasjonen går med driftsluftmengde i time `t` av året.
|
||||
pub fn i_drift(l: &Lost, t: usize) -> bool {
|
||||
l.laster.driftsdag(t) && l.ventilasjon.driftstid.aktiv(t % 24)
|
||||
}
|
||||
|
||||
/// Ventilasjonsluftmengde i time `t` av året, m³/h.
|
||||
pub fn luftmengde(l: &Lost, t: usize) -> f64 {
|
||||
let spesifikk = if i_drift(l, t) {
|
||||
l.ventilasjon.luftmengde
|
||||
} else {
|
||||
l.ventilasjon.luftmengde_natt
|
||||
@@ -44,18 +49,29 @@ pub fn luftmengde(l: &Lost, klokketime: usize) -> f64 {
|
||||
}
|
||||
|
||||
/// Tilluftstemperatur etter varmegjenvinner (uten ettervarming), °C.
|
||||
///
|
||||
/// Gjenvinneren reguleres ned når den ellers ville varmet tilluften over settpunktet, slik
|
||||
/// en roterende gjenvinner med turtallsregulering eller et omløpsspjeld gjør. Når det er
|
||||
/// varmere ute enn inne, kjøler gjenvinneren tilluften og går for fullt.
|
||||
pub fn tilluftstemperatur(l: &Lost, t_ute: f64, t_avtrekk: f64) -> f64 {
|
||||
match l.ventilasjon.typ {
|
||||
VentilasjonType::Balansert => t_ute + l.ventilasjon.gjenvinning * (t_avtrekk - t_ute),
|
||||
VentilasjonType::Balansert => {
|
||||
let gjenvunnet = t_ute + l.ventilasjon.gjenvinning * (t_avtrekk - t_ute);
|
||||
if gjenvunnet > t_ute {
|
||||
gjenvunnet.min(l.ventilasjon.tilluft_settpunkt.max(t_ute))
|
||||
} else {
|
||||
gjenvunnet
|
||||
}
|
||||
}
|
||||
_ => t_ute,
|
||||
}
|
||||
}
|
||||
|
||||
/// Vifteeffekt for en klokketime, W.
|
||||
pub fn vifteeffekt(l: &Lost, klokketime: usize) -> f64 {
|
||||
/// Vifteeffekt i time `t` av året, W.
|
||||
pub fn vifteeffekt(l: &Lost, t: usize) -> f64 {
|
||||
if matches!(l.ventilasjon.typ, VentilasjonType::Naturlig) {
|
||||
return 0.0;
|
||||
}
|
||||
let q = luftmengde(l, klokketime) / 3600.0; // m³/s
|
||||
let q = luftmengde(l, t) / 3600.0; // m³/s
|
||||
l.ventilasjon.sfp * 1000.0 * q
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user