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.
Trois expériences dans le navigateur
Le panneau ci-dessus exécute le bilan thermique. Modifiez la charge LED, la capacité de retrait de chaleur du refroidissement, la température extérieure moyenne, la ventilation et la consigne de refroidissement. L'humidité et le CO₂ s'exécutent comme des modèles distincts dans les panneaux ci-dessous. Aucune installation de Python n'est nécessaire ; les instructions locales plus loin dans l'article sont facultatives.
Les trois modèles conservent les entrées synthétiques d'origine et des pas explicites de 60 secondes sur 24 heures à partir de minuit. L'éclairage reste allumé de 08:00 à 24:00. Les graphiques du haut relient les échantillons initiaux et horaires, et non l'historique complet des commutations ou des valeurs extrêmes ; les indicateurs minimum/maximum utilisent chaque minute. Les échantillons horaires extérieurs du modèle thermique conservent la valeur du code d'origine, prise une minute avant chaque heure affichée. Les barres du bas montrent les termes intégrés quotidiens. Une ventilation positive signifie un transfert net vers l'extérieur ; négative signifie vers l'intérieur. Utilisez la comparaison A/B, le tableau et les conditions partagées pour examiner les résultats.
Constantes thermiques : capacité thermique de 12 MJ/K, UA d'enveloppe de 450 W/K, 800 W d'autre chaleur, 22 °C initiaux, amplitude extérieure de 6 °C culminant à 15:00. Le refroidissement commute à la consigne ±0,5 °C. Toute la puissance LED devient chaleur. Les kWh thermiques de refroidissement ne représentent pas la consommation électrique.
Constantes d'humidité : 300 m³ à 24 °C, HR initiale de 65 %, déshumidificateur activé à 75 % et désactivé à 65 %. L'excès d'eau au-delà de la saturation est comptabilisé séparément comme condensation. La transpiration est prescrite plutôt que prédite à partir de l'HR. La charge latente ne représente pas la consommation électrique. L'air extérieur est également supposé être à 24 °C.
Constantes de CO₂ : 300 m³, 24 °C, 101325 Pa, 600 ppm initiaux, injection activée à 700 et désactivée à 900 ppm. La simplification d'origine utilise l'absorption uniquement pendant l'éclairage et la respiration uniquement dans l'obscurité. Les limites du navigateur, ventilation ≥0,03 m³/s et absorption ≤0,08 kg/h, maintiennent le CO₂ non négatif dans les plages exposées. Ce sont des limites pédagogiques, non des normes de culture, de ventilation ou de sécurité.
Ces modèles ne sont pas couplés : la température d'humidité/CO₂ ne provient pas du modèle thermique. Ils ne prédisent ni l'adéquation des équipements, ni la performance réelle d'une installation, ni le rendement des cultures. Les fichiers ZIP d'origine et les résultats attendus sont inchangés. Enregistrez ensemble chaque point d'entrée navigateur, noyau et configuration pour reproduire les valeurs par défaut en local.
thermal: experiment.py · thermal_kernel.py · config.json
moisture: experiment.py · moisture_kernel.py · config.json
co2: experiment.py · co2_kernel.py · config.json
Laboratoire du bilan thermique de la salle de culture — séparer LED, ventilation, enveloppe et refroidissement
Commencer par le résultat
Sur les 24 heures synthétiques, la température de la pièce varie de 18,884 à 24,547 °C. Les LED ajoutent 192,0 kWh de chaleur à la limite de la pièce et le refroidissement retire 184,333 kWh d'énergie thermique. Il ne s'agit pas de mesures ni de paramètres identifiés d'une ferme intérieure réelle. Ce sont des entrées pédagogiques permettant de vérifier si la chaleur entrante, sortante et accumulée utilise un registre énergétique cohérent.
| Changement | Effet attendu | Maintenu constant |
|---|---|---|
| Diviser par deux la puissance LED | Moitié moins de chaleur d'éclairage ; moins de charge de refroidissement | Météo et enveloppe |
| Doubler la capacitance | Changement de température plus lent | Bilan à l'état stationnaire |
| Augmenter la ventilation | Plus d'échange selon la différence intérieur-extérieur | UA de l'enveloppe |
| Mettre la capacité de refroidissement à zéro | Aucune suppression de la hausse par l'équipement | Chaleur LED |
La présentation du CEA a défini la limite plante-environnement-équipement, et le laboratoire VPD/DLI a dérivé des grandeurs à partir d'observations. Cette étape suivante construit le plus petit modèle dynamique reliant l'équipement à la température de la pièce.
Diagramme : Duskcoil. Une limite de calcul schématique pour un modèle à une zone regroupée. Les plantes, l'humidité, le CO₂, la chaleur latente et les gradients spatiaux de température sont exclus.
Additionner les flux de chaleur avant de mettre à jour la température
Supposons une zone parfaitement mélangée avec une capacitance thermique effective C [J/K] et une température de pièce T [°C]. Exprimez chaque flux de chaleur en watts (J/s) :
Utilisez K=UA+\rho c_p\dot V [W/K]. L'enveloppe est agrégée dans UA, tandis que \rho c_p\dot V représente l'échange sensible dû à la ventilation extérieure. Quand l'extérieur est plus chaud, T-T_{out} est négatif et ce terme ajoute de la chaleur à l'intérieur. Sa direction suit la différence de température ; ce n'est pas toujours une perte.
Le guide sur les serres de l'Oklahoma State University Extension relie de même la capacité de chauffage à la surface exposée, à l'isolation et à la différence de température intérieur-extérieur, et explique le rôle de la ventilation dans le contrôle de la température et de l'humidité. La présentation du U.S. DOE sur la modélisation énergétique des bâtiments décrit des combinaisons basées sur la physique de l'enveloppe, de l'éclairage, du CVC, des horaires et de la météo, y compris leurs interactions.
Fixer la limite pédagogique
| Grandeur | Valeur synthétique | Signification dans ce modèle |
|---|---|---|
| Capacitance C | 12 MJ/K | Agrégat fictif de l'air et de la masse intérieure |
| Enveloppe UA | 450 W/K | Murs et plafond regroupés en une seule valeur |
| Ventilation \dot V | 0,08 m³/s | Échange sensible avec l'air à température extérieure |
| Puissance LED | 12 kW, 08:00–24:00 | Devient finalement chaleur à l'intérieur de cette limite |
| Autres gains | 0,8 kW | Agrégat constant des pompes, ventilateurs et équipements |
| Capacité de refroidissement | 14 kW | Chaleur retirée pendant l'activation, non la demande électrique |
| Température extérieure | 21±6 °C | Sinusoïde culminant à 15:00 |
La lumière atteint d'abord les feuilles et les surfaces avant de se dégrader en chaleur. Comme ce modèle ne sépare pas le rayonnement, la convection ou la masse végétale, la référence attribue une fraction de chaleur de 1,0 à l'éclairage électrique à l'intérieur de la limite de la pièce. Les recommandations du DOE sur l'éclairage traitent aussi l'éclairage comme un gain de chaleur intérieur affectant la charge de refroidissement. Une limite réelle doit reconsidérer le rayonnement quittant la pièce, les pilotes déportés et la chaleur latente utilisée pour l'évaporation.
La valeur de 14 kW de refroidissement est un retrait thermique, non l'électricité du compresseur. Aucun COP n'est supposé, donc ce résultat ne peut pas être converti directement en facture d'électricité.
Intégrer par pas d'une minute
Euler explicite fait avancer l'état de n à n+1 :
Le refroidissement utilise une consigne de 24 °C et une hystérésis de 0,5 °C : activation à 24,5 °C ou plus et désactivation à 23,5 °C ou moins. C'est une règle de commutation minimale, non un PID ni une MPC. Un pas de temps plus grand modifie les instants de commutation et les excursions de température ; comparez donc les tailles de pas avant de faire confiance au résultat numérique.
Exécuter le code et l'entrée
Extrayez le ZIP de l'expérience et exécutez-le dans ce répertoire. Il nécessite Python 3.10+ et uniquement la bibliothèque standard ; aucun accès réseau n'est utilisé.
python3 experiment.py config.json > result.json
python3 -m unittest -v
Voir config.json, expected.json, et le fichier experiment.py complet. manifest.json enregistre le contrat d'entrée et les hachages 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
Modifier, casser et vérifier
- Réglez
led_power_wà 6000. La chaleur LED devient 96 kWh et le retrait par refroidissement doit diminuer. - Doublez
thermal_capacitance_j_per_k. Le changement de température à court terme ralentit, tandis que l'énergie source en kWh reste inchangée. - Réglez l'intérieur et l'extérieur à 20 °C et tous les gains, le refroidissement, la ventilation et l'UA à zéro. La pièce doit rester à 20 °C après une heure.
- Augmentez
time_step_secondset comparez les extrêmes. Ne prétendez pas à une performance de contrôle quand les résultats dépendent fortement du pas numérique. - Supprimez une clé, ajoutez une clé inconnue, ou saisissez NaN ou une capacité négative. Le programme doit rejeter plutôt que deviner.
Les dix tests couvrent la référence, la conservation à flux nul, une solution analytique du premier ordre, le chauffage LED proportionnel, le résidu énergétique et les entrées mal formées. Les réussir ne valide pas une installation.
Ce que ce modèle ne peut pas déterminer
- Température foliaire, transpiration, chaleur latente de déshumidification, humidité ou VPD
- Concentration de CO₂ et bilan massique de ventilation
- Gradients d'un rack à l'autre, court-circuitage du flux d'air ou emplacement des capteurs
- Efficacité à charge partielle du CVC, dégivrage, électricité des ventilateurs ou des pompes
- Croissance, qualité, rendement ou température optimale des cultures
Une extension future sur l'humidité devrait ajouter la conservation de la vapeur d'eau et la chaleur latente tout en conservant le contrôle de résidu énergétique thermique. Avant de comparer des régulateurs, précisez quels coefficients sont mesurés et quelles sorties servent à l'identification.
Références
- 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)
Laboratoire du bilan d'humidité de la salle de culture — conserver la masse de vapeur, pas l'HR
Commencer par le résultat
Pour une pièce synthétique de 300 m³ fixée à 24 °C, le calcul sur 24 heures donne 64,817–75,269 % HR, 34,8 kg de vapeur végétale prescrite, 12,793 kg de retrait net par ventilation et 21,542 kg de retrait par déshumidificateur. Le résidu du bilan hydrique reste inférieur à 10^{-12} kg. Ce sont des entrées pédagogiques, non des mesures de transpiration réelle des cultures ni de performance d'installation.
Diagramme : Duskcoil. Synthétique, bien mélangé et à température fixe ; l'HR elle-même n'est pas intégrée comme un état conservé.
Ne pas additionner les pourcentages
L'humidité relative est un rapport à la saturation à la température actuelle. La même masse de vapeur peut donc produire une HR différente quand la température change. Stockez plutôt la masse de vapeur m_v [kg] :
Utilisez \rho_v=e/(R_vT_K) et e=RH\,e_s(T)/100, avec la relation de saturation de la FAO-56 équation 11. La vapeur au-delà de la saturation est explicitement transférée vers le condensat plutôt que d'écrêter silencieusement l'HR.
Limite synthétique
| Entrée | Valeur | Portée |
|---|---|---|
| Température intérieure/extérieure | 24 °C fixe | Aucun couplage thermique dynamique |
| HR initiale/extérieure | 65 % / 60 % | Convertie en densité à 24 °C |
| Ventilation | 0,08 m³/s | Échange net bien mélangé |
| Source de vapeur | éclairé 2,0, obscur 0,35 kg/h | Prescrite, non un modèle de culture |
| Déshumidification | 2,5 kg/h | Retrait d'eau, non électricité |
| Seuils activation/désactivation | 75 % / 65 % | Hystérésis simple |
Penn State Extension traite la condensation, l'humidité, la ventilation et la circulation d'air comme des préoccupations liées de gestion de serre. Ce laboratoire ne prédit pas les maladies.
Lire la charge latente à partir de la masse d'eau
En utilisant l'approximation de la FAO \lambda=2,45 MJ/kg proche de 20 °C, la source synthétique de 34,8 kg correspond à 23,683 kWh d'énergie de changement de phase. Cette charge latente est distincte de la chaleur LED et du refroidissement sensible. La charge latente dérivée de l'eau retirée n'est pas l'électricité du compresseur ; le COP et le rejet de chaleur du déshumidificateur sont exclus.
Exécuter et vérifier
Extrayez le ZIP et exécutez avec Python 3.10+ :
python3 experiment.py config.json > result.json
python3 -m unittest -v
Le paquet expose config.json, expected.json, et experiment.py. Dix tests couvrent les allers-retours HR-densité, la conservation en pièce fermée, une source connue, la conversion latente et les entrées rejetées.
Modifiez la ventilation, la déshumidification et la transpiration une à la fois. Modifiez aussi la température en maintenant la masse de vapeur fixe et observez le changement d'HR. Le modèle ne peut pas répondre sur la condensation foliaire, le flux d'air local, la transpiration réactive, les maladies, la croissance ou le CO₂. L'emplacement des capteurs et des mesures indépendantes de la transpiration et du condensat collecté sont des prérequis pour une identification réelle.
Références
Laboratoire du bilan de CO₂ de la salle de culture — suivre ventilation, absorption, respiration et apport
Commencer par le résultat
Pour une pièce synthétique de 300 m³ fixée à 24 °C et 101325 Pa, le CO₂ varie de 600 à 906,209 ppm sur 24 heures. L'absorption prescrite est de 1,28 kg, la respiration ajoute 0,16 kg, l'apport ajoute 2,967 kg, et la ventilation retire 1,756 kg net. Le résidu du bilan molaire reste inférieur à 10^{-10} mol. Ce ne sont pas des mesures de performance de culture ou d'équipement.
Diagramme : Duskcoil. Un modèle de gaz idéal bien mélangé à température et pression fixes.
Conserver la quantité, pas le ppm
Soit l'air total de la pièce n_{air}=PV/(RT) mol et le CO₂ stocké n mol, avec ppm=10^6n/n_{air} :
La ventilation suit la différence de concentration intérieur-extérieur et le débit d'air molaire. Changer la température, la pression ou le volume change le ppm correspondant à la même quantité de CO₂.
L'Oklahoma State University Extension relie l'usage photosynthétique diurne, la respiration nocturne, la ventilation et la supplémentation. Un calcul de l'USDA ARS utilise de même le volume de serre et une absorption supposée pour estimer l'épuisement. Les flux de ce laboratoire sont synthétiques et ne reproduisent pas les effets sur le rendement ni les réglages recommandés.
Exécuter et vérifier
Extrayez le ZIP, puis utilisez Python 3.10+ :
python3 experiment.py config.json > result.json
python3 -m unittest -v
Le paquet inclut config.json, expected.json, et experiment.py. L'apport s'active à 700 ppm et se désactive à 900 ppm. Huit tests couvrent la conservation en pièce fermée, une source connue d'une mole, le résidu de bilan et les entrées invalides.
Mettez la ventilation, l'absorption et l'apport à zéro un à la fois. Une identification réelle nécessite les échanges gazeux de la canopée, les fuites, l'emplacement/étalonnage des capteurs et les mesures de débit d'apport. Ce modèle ne peut pas déterminer les limites de sécurité, la réponse de la culture, les contaminants de combustion, le coût du CO₂ ni le contrôle couplé de température/humidité.

Commentaires
Veuillez vous connecter.
Aucune entrée pour le moment.