Skip to content

heating_system

Architecture of the calculation

Per il calcolo dell'energia finale, il processo segue il seguente flusso:

Step 0

la funzione run_timeseries(...) utilizza:

  • qh = Q_H_kWh (o alias),
  • θint = T_op (o default),
  • θext = T_ext (o default).

Se qh <= 0 e calc_when_QH_positive_only=True, gestisce la riga con modalità off_compute_mode:

  • idle: output vuoto (NaN/0) + calculated=False
  • temps: calcola solo temperature coerenti con zero scambio

full: calcolo completo anche a carico nullo

1) perchè viene calcolato il fattore di carico del sistema di emissione βH_em? Serve per vedere quanto vicino al potenziale nominale sta lavorando l'emettitore in quel timestep. di seguito le funzioni principali:

  • 1. Collegare energia oraria e potenza nominale (dimensionamento/limitazione)

    in calculate_common_emission_parameters: si calcola una potenza media richiesta nell’ora:

    ΦH_em_eff_initial = QH_em_i_out / tH_em_i_ON (kWh/h → kW)

    tale potenza viene confrontata con la potenza nominale emettitore ΦH_em_n per ottenere: BetaH_em = min(ΦH_em_eff_initial / ΦH_em_n, 1.0)

    Cosa vuol dire a livello fisico:

    βH_em = 0.3 ⇒ nell’ora si sta richiedendo circa il 30% della potenza nominale (in media). βH_em = 1 ⇒ pieno carico (o oltre, ma tagliato a 1).

    Questo è utile per capire se il sistema è sottodimensionato/sovradimensionato, e per legare i calcoli al “nominale” definito nella tabella dell prestazione del sistaema di emissione (TB14).

  • 2. Stimare il tempo di funzionamento effettivo (ON-time) e quindi il consumo degli ausiliari

    Sempre nel common:

    tH_cr_i_ON = tH_em_i_ON * BetaH_em WH_em_i_aux = tH_cr_i_ON * auxiliars_power / 1000

    gli ausiliari (pompe, attuatori, ventilatori terminali) consumano energia quando il circuito è attivo. Se il carico è basso, il sistema potrebbe funzionare meno tempo (o modulare), quindi gli ausiliari vengono ridotti proporzionalmente.

    βH_em è usato come proxy semplice del “duty cycle” per stimare energia ausiliaria.

    Esempio numerico

    timestep = 1 h auxiliars_power = 40 W βH_em = 0,25

    Allora:

    t_ON = 1h * 0,25 = 0,25 h E_aux = 40 W * 0,25 h = 10 Wh = 0,01 kWh


    Per quali condizioni va bene: funziona bene se vale almeno una di queste ipotesi:

    • il sistema è ON/OFF (quindi davvero esiste un duty cycle),
    • i consumi ausiliari sono proporzionali al “grado di utilizzo” (approssimazione).

    Per quali condizioni non va bene:

    • la pompa gira comunque anche a basso carico (duty cycle ~1),
    • la potenza ausiliaria non è costante ma varia con la portata (pompe a inverter: 𝑃∼𝑉3),
    • l’emissione modula potenza senza “spegnersi” (duty cycle non coincide con carico).


    Cos'è il duty-cycle? Per duty-cycle si intende la frazione di tempo in cui un componente o un sistema è acceso (ON) rispetto al tempo totale considerato.

    Esempi (timestep = 1 ora)

    • acceso 60 minuti → duty-cycle = 60/60 = 1.0 (100%)
    • acceso 30 minuti → duty-cycle = 30/60 = 0.5 (50%)
    • acceso 15 minuti → duty-cycle = 15/60 = 0.25 (25%)

  • 3. Modellare correttamente i casi intermittenti (C.4) e il duty-cycle finale

    Nel circuito C.4 (ON/OFF), βH_em diventa direttamente un indicatore di “quanto dell’ora” il sistema deve essere ON per consegnare l’energia richiesta:

    • si calcola una potenza quando ON (ΦH_em_ON)
    • poi il tempo ON necessario: t_H_cr_ON = QH_sys_out_hz_i / ΦH_em_ON
    • infine: βH_em = t_H_cr_ON / tH_em_i_ON

    Significato fisico:

    βH_em = 0.25 ⇒ in quell’ora il terminale deve funzionare ~15 minuti (se timestep 1h) alla potenza ON calcolata.