Contents — find the section you need
Change parameters and verify
Open the panel, then press Run to load Python. You can stop execution and reset parameters. Results are computed on this device. No Python installation is required.
Local execution steps below are optional for reproducing the source results; they are not required for the browser experiment.
The experiment controls are in English.
Tre esperimenti nel browser
Il pannello sopra esegue il bilancio del calore. Modifica il carico dei LED, la capacità di rimozione del calore del raffreddamento, la temperatura media esterna, la ventilazione e il setpoint di raffreddamento. Umidità e CO₂ vengono eseguite come modelli separati nei pannelli sottostanti. Non è richiesta alcuna installazione di Python; le istruzioni locali più avanti nell'articolo sono facoltative.
Tutti e tre mantengono gli input sintetici originali e passi espliciti di 60 secondi nell'arco di 24 ore a partire dalla mezzanotte. Le luci restano accese dalle 08:00 alle 24:00. I grafici superiori collegano i campioni iniziali e orari, non l'intera cronologia di commutazione o dei valori estremi; le metriche minimo/massimo usano ogni minuto. I campioni orari esterni del modello termico mantengono il valore del codice originale a un minuto prima di ogni ora visualizzata. Le barre inferiori mostrano i termini integrati giornalieri. Una ventilazione positiva indica un trasferimento netto verso l'esterno; negativa indica un trasferimento verso l'interno. Usa il confronto A/B, la tabella e le condizioni condivise per esaminare i risultati.
Costanti termiche: capacità termica di 12 MJ/K, UA dell'involucro di 450 W/K, 800 W di altro calore, 22 °C iniziali, ampiezza esterna di 6 °C con picco alle 15:00. Il raffreddamento commuta al setpoint ±0,5 °C. Tutta la potenza dei LED diventa calore. I kWh termici del raffreddamento non sono consumo elettrico.
Costanti dell'umidità: 300 m³ a 24 °C, RH iniziale 65%, deumidificatore acceso al 75% e spento al 65%. L'acqua in eccesso rispetto alla saturazione viene conteggiata separatamente come condensa. La traspirazione è prescritta anziché prevista a partire dall'RH. Il carico latente non è consumo elettrico. Anche l'aria esterna si assume a 24 °C.
Costanti della CO₂: 300 m³, 24 °C, 101325 Pa, 600 ppm iniziali, iniezione accesa a 700 e spenta a 900 ppm. La semplificazione originale usa l'assorbimento solo durante la luce e la respirazione solo durante il buio. I limiti del browser di ventilazione ≥0,03 m³/s e assorbimento ≤0,08 kg/h mantengono la CO₂ non negativa negli intervalli esposti. Questi sono limiti didattici, non standard per colture, ventilazione o sicurezza.
Questi modelli non sono accoppiati: la temperatura di umidità/CO₂ non deriva dal modello del calore. Non prevedono l'idoneità delle apparecchiature, le prestazioni reali dell'impianto o la resa della coltura. Gli archivi ZIP originali e i risultati attesi restano invariati. Salva insieme ogni punto di ingresso del browser, kernel e configurazione per riprodurre localmente i valori predefiniti.
thermal: experiment.py · thermal_kernel.py · config.json
moisture: experiment.py · moisture_kernel.py · config.json
co2: experiment.py · co2_kernel.py · config.json
Laboratorio del bilancio termico della stanza di coltivazione — separare LED, ventilazione, involucro e raffreddamento
Partiamo dal risultato
Nell'arco delle 24 ore sintetiche, la temperatura della stanza va da 18,884 a 24,547 °C. I LED aggiungono 192,0 kWh di calore al confine della stanza e il raffreddamento rimuove 184,333 kWh di energia termica. Non si tratta di misurazioni o parametri identificati provenienti da una vera azienda agricola indoor. Sono input didattici per verificare se il calore in ingresso, in uscita e accumulato usa un unico registro energetico coerente.
| Modifica | Effetto atteso | Mantenuto costante |
|---|---|---|
| Dimezza la potenza dei LED | Metà del calore dell'illuminazione; minor carico di raffreddamento | Meteo e involucro |
| Raddoppia la capacità termica | Variazione di temperatura più lenta | Bilancio allo stato stazionario |
| Aumenta la ventilazione | Maggiore scambio in base alla differenza interno-esterno | UA dell'involucro |
| Imposta a zero la capacità di raffreddamento | Nessuna soppressione dell'aumento da parte dell'apparecchiatura | Calore dei LED |
La panoramica del CEA ha definito il confine pianta-ambiente-apparecchiatura, e il laboratorio VPD/DLI ha derivato grandezze dalle osservazioni. Questo passo successivo costruisce il più piccolo modello dinamico che collega l'apparecchiatura alla temperatura della stanza.
Diagramma: Duskcoil. Un confine di calcolo schematico per un modello a zona singola aggregata. Piante, umidità, CO₂, calore latente e gradienti spaziali di temperatura sono esclusi.
Aggiungi i flussi di calore prima di aggiornare la temperatura
Assumi una zona perfettamente mescolata con capacità termica effettiva C [J/K] e temperatura della stanza T [°C]. Esprimi ogni flusso di calore in watt (J/s):
Usa K=UA+\rho c_p\dot V [W/K]. L'involucro è aggregato in UA, mentre \rho c_p\dot V rappresenta lo scambio sensibile dalla ventilazione esterna. Quando l'esterno è più caldo, T-T_{out} è negativo e questo termine aggiunge calore all'interno. La sua direzione segue la differenza di temperatura; non è sempre una perdita.
La guida alle serre di Oklahoma State University Extension collega allo stesso modo la capacità di riscaldamento all'area esposta, all'isolamento e alla differenza di temperatura interno-esterno, e spiega il ruolo della ventilazione nel controllo di temperatura e umidità. La panoramica del DOE statunitense sulla modellazione energetica degli edifici descrive combinazioni basate sulla fisica di involucro, illuminazione, HVAC, orari e meteo, incluse le loro interazioni.
Fissa il confine didattico
| Grandezza | Valore sintetico | Significato in questo modello |
|---|---|---|
| Capacità termica C | 12 MJ/K | Aggregato fittizio di aria e massa interna |
| Involucro UA | 450 W/K | Pareti e soffitto ridotti a un unico valore |
| Ventilazione \dot V | 0,08 m³/s | Scambio sensibile con aria alla temperatura esterna |
| Potenza LED | 12 kW, 08:00–24:00 | Alla fine diventa calore all'interno di questo confine |
| Altri guadagni | 0,8 kW | Aggregato costante di pompe, ventole e apparecchiature |
| Capacità di raffreddamento | 14 kW | Calore rimosso mentre è ACCESO, non domanda elettrica |
| Temperatura esterna | 21±6 °C | Sinusoide con picco alle 15:00 |
La luce raggiunge prima foglie e superfici prima di degradarsi in calore. Poiché questo modello non separa radiazione, convezione o massa vegetale, la base assegna una frazione di calore di 1,0 all'illuminazione elettrica all'interno del confine della stanza. Anche le linee guida del DOE sull'illuminazione trattano l'illuminazione come un guadagno di calore interno che incide sul carico di raffreddamento. Un confine reale deve riconsiderare la radiazione che lascia la stanza, i driver remoti e il calore latente usato per l'evaporazione.
Il valore di 14 kW per il raffreddamento è rimozione termica, non elettricità del compressore. Non viene assunto alcun COP, quindi questo risultato non può essere convertito direttamente in una bolletta elettrica.
Integra a passi di un minuto
L'Eulero esplicito fa avanzare lo stato da n a n+1:
Il raffreddamento usa un setpoint di 24 °C e un'isteresi di 0,5 °C: ACCESO a 24,5 °C o oltre, SPENTO a 23,5 °C o sotto. Questa è una regola di commutazione minima, non un PID o un MPC. Un passo temporale più grande cambia i tempi di commutazione e le escursioni di temperatura, quindi confronta le dimensioni del passo prima di fidarti del risultato numerico.
Esegui il codice e l'input
Estrai lo ZIP dell'esperimento ed eseguilo all'interno di quella directory. Richiede Python 3.10+ e solo la libreria standard; non viene usato alcun accesso di rete.
python3 experiment.py config.json > result.json
python3 -m unittest -v
Vedi config.json, expected.json, e l'experiment.py completo. manifest.json registra il contratto di input e gli hash SHA-256.
conductance = envelope_ua + air_density * air_cp * ventilation
net_heat = led_heat + other_heat - conductance * (indoor - outside) - cooling
indoor_next = indoor + net_heat * dt / thermal_capacitance
Modifica, interrompi e verifica
- Imposta
led_power_wa 6000. Il calore dei LED diventa 96 kWh e la rimozione di raffreddamento dovrebbe diminuire. - Raddoppia
thermal_capacitance_j_per_k. La variazione di temperatura a breve termine rallenta, mentre l'energia sorgente in kWh resta invariata. - Imposta interno ed esterno a 20 °C e tutti i guadagni, raffreddamento, ventilazione e UA a zero. La stanza deve restare a 20 °C dopo un'ora.
- Aumenta
time_step_secondse confronta gli estremi. Non rivendicare prestazioni di controllo quando i risultati dipendono fortemente dal passo numerico. - Elimina una chiave, aggiungi una chiave sconosciuta, oppure inserisci NaN o una capacità negativa. Il programma dovrebbe rifiutare anziché indovinare.
I dieci test coprono la base, la conservazione a flusso zero, una soluzione analitica del primo ordine, il riscaldamento proporzionale dei LED, il residuo energetico e gli input malformati. Superarli non convalida un impianto.
Cosa non può rispondere questo modello
- Temperatura fogliare, traspirazione, calore latente di deumidificazione, umidità o VPD
- Concentrazione di CO₂ e bilancio di massa della ventilazione
- Gradienti tra ripiani, cortocircuiti del flusso d'aria o posizionamento dei sensori
- Efficienza a carico parziale dell'HVAC, sbrinamento, elettricità di ventole o pompe
- Crescita, qualità, resa o temperatura ottimale della coltura
Una successiva estensione all'umidità dovrebbe aggiungere la conservazione del vapore acqueo e il calore latente, mantenendo il controllo del residuo di energia termica. Prima di confrontare i controllori, specifica quali coefficienti sono misurati e quali output sono usati per l'identificazione.
Riferimenti
- About Building Energy Modeling (U.S. Department of Energy)
- Chapter 5: Lighting, HVAC, and Plumbing (U.S. Department of Energy)
- The Hobby Greenhouse (Oklahoma State University Extension)
Laboratorio del bilancio di umidità della stanza di coltivazione — conservare la massa di vapore, non l'RH
Partiamo dal risultato
Per una stanza sintetica di 300 m³ fissata a 24 °C, il calcolo su 24 ore dà 64,817–75,269% di RH, 34,8 kg di vapore vegetale prescritto, 12,793 kg di rimozione netta per ventilazione e 21,542 kg di rimozione tramite deumidificatore. Il residuo del bilancio idrico resta sotto 10^{-12} kg. Questi sono input didattici, non traspirazione della coltura misurata o prestazioni dell'impianto.
Diagramma: Duskcoil. Sintetico, ben mescolato e a temperatura fissa; l'RH stessa non è integrata come stato conservato.
Non sommare le percentuali
L'umidità relativa è un rapporto rispetto alla saturazione alla temperatura corrente. La stessa massa di vapore può quindi produrre un'RH diversa quando la temperatura cambia. Memorizza invece la massa di vapore m_v [kg]:
Usa \rho_v=e/(R_vT_K) e e=RH\,e_s(T)/100, con la relazione di saturazione dell'equazione 11 di FAO-56. Il vapore oltre la saturazione viene trasferito esplicitamente alla condensa anziché tagliare silenziosamente l'RH.
Confine sintetico
| Input | Valore | Ambito |
|---|---|---|
| Temperatura interna/esterna | fissa a 24 °C | Nessun accoppiamento termico dinamico |
| RH iniziale/esterna | 65% / 60% | Convertita in densità a 24 °C |
| Ventilazione | 0,08 m³/s | Scambio netto ben mescolato |
| Sorgente di vapore | con luce 2,0, al buio 0,35 kg/h | Prescritta, non un modello di coltura |
| Deumidificazione | 2,5 kg/h | Rimozione d'acqua, non elettricità |
| Soglie ACCESO/SPENTO | 75% / 65% | Isteresi semplice |
Penn State Extension tratta condensa, umidità, ventilazione e circolazione dell'aria come questioni collegate della gestione delle serre. Questo laboratorio non prevede malattie.
Leggi il carico latente dalla massa d'acqua
Usando l'approssimazione FAO \lambda=2,45 MJ/kg vicino a 20 °C, la sorgente sintetica di 34,8 kg corrisponde a 23,683 kWh di energia di cambiamento di fase. Questo carico latente è distinto dal calore dei LED e dal raffreddamento sensibile. Il carico latente derivato dall'acqua rimossa non è elettricità del compressore; COP e rigetto termico del deumidificatore sono esclusi.
Esegui e verifica
Estrai lo ZIP ed esegui con Python 3.10+:
python3 experiment.py config.json > result.json
python3 -m unittest -v
Il pacchetto espone config.json, expected.json, e experiment.py. Dieci test coprono andate e ritorni RH-densità, conservazione a stanza chiusa, una sorgente nota, la conversione latente e input rifiutati.
Modifica ventilazione, deumidificazione e traspirazione una alla volta. Cambia anche la temperatura mantenendo fissa la massa di vapore e osserva la variazione dell'RH. Il modello non può rispondere su condensa fogliare, flusso d'aria locale, traspirazione reattiva, malattie, crescita o CO₂. Il posizionamento dei sensori e misurazioni indipendenti di traspirazione e condensa raccolta sono prerequisiti per un'identificazione reale.
Riferimenti
Laboratorio del bilancio di CO₂ della stanza di coltivazione — tracciare ventilazione, assorbimento, respirazione e apporto
Partiamo dal risultato
Per una stanza sintetica di 300 m³ fissata a 24 °C e 101325 Pa, la CO₂ va da 600 a 906,209 ppm nell'arco di 24 ore. L'assorbimento prescritto è 1,28 kg, la respirazione aggiunge 0,16 kg, l'apporto aggiunge 2,967 kg, e la ventilazione rimuove 1,756 kg netti. Il residuo del bilancio molare resta sotto 10^{-10} mol. Non si tratta di misurazioni della coltura o delle prestazioni dell'apparecchiatura.
Diagramma: Duskcoil. Un modello a gas ideale ben mescolato a temperatura e pressione fisse.
Conserva la quantità, non i ppm
Sia l'aria totale della stanza n_{air}=PV/(RT) mol e la CO₂ immagazzinata n mol, con ppm=10^6n/n_{air}:
La ventilazione segue la differenza di concentrazione interno-esterno e il flusso d'aria molare. Cambiare temperatura, pressione o volume cambia i ppm corrispondenti alla stessa quantità di CO₂.
L'Oklahoma State University Extension collega l'uso fotosintetico diurno, la respirazione notturna, la ventilazione e l'integrazione. Un calcolo dell'USDA ARS usa allo stesso modo il volume della serra e l'assorbimento assunto per stimare l'esaurimento. I flussi di questo laboratorio sono sintetici e non riproducono effetti sulla resa o impostazioni raccomandate.
Esegui e verifica
Estrai lo ZIP, quindi usa Python 3.10+:
python3 experiment.py config.json > result.json
python3 -m unittest -v
Il pacchetto include config.json, expected.json, e experiment.py. L'apporto si attiva a 700 ppm e si disattiva a 900 ppm. Otto test coprono la conservazione a stanza chiusa, una sorgente nota da una mole, il residuo del bilancio e input non validi.
Imposta a zero ventilazione, assorbimento e apporto uno alla volta. Un'identificazione reale richiede lo scambio gassoso della chioma, le perdite, il posizionamento/calibrazione dei sensori e misurazioni del flusso di apporto. Questo modello non può determinare limiti di sicurezza, risposta della coltura, contaminanti da combustione, costo della CO₂ o controllo accoppiato di temperatura/umidità.

Commenti
Accedi per continuare.
Nessun dato disponibile.