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.
Drei Browser-Experimente
Das Panel oben führt die Wärmebilanz aus. Ändern Sie LED-Last, Kühlkapazität, mittlere Außentemperatur, Belüftung und Kühl-Sollwert. Feuchtigkeit und CO₂ laufen als separate Modelle in den Panels unten. Es wird keine Python-Installation benötigt; die lokalen Anweisungen später im Artikel sind optional.
Alle drei behalten die ursprünglichen synthetischen Eingaben und expliziten 60-Sekunden-Schritte über 24 Stunden ab Mitternacht bei. Die Beleuchtung bleibt von 08:00 bis 24:00 Uhr eingeschaltet. Die oberen Diagramme verbinden Anfangs- und Stundenwerte, nicht die vollständige Schalt- oder Extremwerthistorie; Minimum-/Maximum-Kennzahlen verwenden jede Minute. Die stündlichen Außenwerte des Thermikmodells behalten den Wert des ursprünglichen Codes eine Minute vor jeder angezeigten Stunde bei. Die unteren Balken zeigen täglich integrierte Größen. Positive Belüftung bedeutet Nettotransfer nach außen; negativ bedeutet nach innen. Verwenden Sie den A/B-Vergleich, die Tabelle und gemeinsame Bedingungen, um Ergebnisse zu prüfen.
Thermische Konstanten: 12 MJ/K Wärmekapazität, 450 W/K Gebäudehülle (UA), 800 W sonstige Wärme, anfänglich 22 °C, Außenamplitude 6 °C mit Spitzenwert um 15:00 Uhr. Die Kühlung schaltet bei Sollwert ±0,5 °C. Die gesamte LED-Leistung wird zu Wärme. Die thermische kWh der Kühlung ist kein elektrischer Verbrauch.
Feuchtigkeitskonstanten: 300 m³ bei 24 °C, anfänglich 65 % RH, Entfeuchter an bei 75 % und aus bei 65 %. Überschüssiges Wasser oberhalb der Sättigung wird separat als Kondensation gezählt. Transpiration ist vorgegeben und nicht aus der relativen Luftfeuchtigkeit vorhergesagt. Die latente Last ist kein elektrischer Verbrauch. Es wird auch angenommen, dass die Außenluft 24 °C hat.
CO₂-Konstanten: 300 m³, 24 °C, 101325 Pa, anfänglich 600 ppm, Injektion an bei 700 und aus bei 900 ppm. Die ursprüngliche Vereinfachung verwendet Aufnahme nur bei Licht und Atmung nur bei Dunkelheit. Browser-Grenzwerte von Belüftung ≥0,03 m³/s und Aufnahme ≤0,08 kg/h halten CO₂ innerhalb der freigegebenen Bereiche nichtnegativ. Dies sind Lehrgrenzwerte, keine Kultur-, Belüftungs- oder Sicherheitsstandards.
Diese Modelle sind nicht gekoppelt: Die Temperatur für Feuchtigkeit/CO₂ stammt nicht aus dem Wärmemodell. Sie sagen weder Geräteeignung, reale Anlagenleistung noch Kulturertrag voraus. Die ursprünglichen ZIP-Dateien und erwarteten Ergebnisse sind unverändert. Speichern Sie jeden Browser-Einstiegspunkt, Kernel und die Konfiguration zusammen, um die Standardwerte lokal zu reproduzieren.
thermal: experiment.py · thermal_kernel.py · config.json
moisture: experiment.py · moisture_kernel.py · config.json
co2: experiment.py · co2_kernel.py · config.json
Wärmebilanz-Labor für den Anbauraum — LEDs, Belüftung, Gebäudehülle und Kühlung getrennt betrachten
Beginnen Sie mit dem Ergebnis
Über die synthetischen 24 Stunden bewegt sich die Raumtemperatur zwischen 18,884–24,547 °C. LEDs fügen der Raumgrenze 192,0 kWh Wärme hinzu, und die Kühlung entfernt 184,333 kWh thermische Energie. Dies sind keine Messungen oder identifizierten Parameter einer realen Indoor-Farm. Es sind Lehreingaben, um zu prüfen, ob eintretende, austretende und akkumulierte Wärme eine konsistente Energiebilanz verwendet.
| Änderung | Erwarteter Effekt | Konstant gehalten |
|---|---|---|
| LED-Leistung halbieren | Halbe Beleuchtungswärme; geringere Kühllast | Wetter und Gebäudehülle |
| Kapazität verdoppeln | Langsamere Temperaturänderung | Stationäre Bilanz |
| Belüftung erhöhen | Mehr Austausch entsprechend der Innen-Außen-Differenz | Gebäudehülle UA |
| Kühlkapazität auf null setzen | Keine gerätebedingte Unterdrückung des Anstiegs | LED-Wärme |
Die CEA-Übersicht definierte die Grenze zwischen Pflanze, Umgebung und Ausrüstung, und das VPD/DLI-Labor leitete Größen aus Beobachtungen ab. Dieser nächste Schritt baut das kleinstmögliche dynamische Modell auf, das Ausrüstung mit der Raumtemperatur verbindet.
Diagramm: Duskcoil. Eine schematische Berechnungsgrenze für ein gelumptes Einzonenmodell. Pflanzen, Luftfeuchtigkeit, CO₂, latente Wärme und räumliche Temperaturgradienten sind ausgeschlossen.
Wärmeraten hinzufügen, bevor die Temperatur aktualisiert wird
Nehmen Sie eine perfekt durchmischte Zone mit effektiver thermischer Kapazität C [J/K] und Raumtemperatur T [°C] an. Drücken Sie jede Wärmerate in Watt (J/s) aus:
Verwenden Sie K=UA+\rho c_p\dot V [W/K]. Die Gebäudehülle wird zu UA zusammengefasst, während \rho c_p\dot V den sensiblen Austausch durch Außenluftbelüftung darstellt. Wenn es draußen wärmer ist, ist T-T_{out} negativ, und dieser Term fügt drinnen Wärme hinzu. Seine Richtung folgt der Temperaturdifferenz; er ist nicht immer ein Verlust.
Der Gewächshausleitfaden der Oklahoma State University Extension verbindet ebenfalls die Heizkapazität mit exponierter Fläche, Isolierung und der Innen-Außen-Temperaturdifferenz und erklärt die Rolle der Belüftung bei der Temperatur- und Feuchtigkeitsregelung. Die Übersicht des U.S. DOE zur Gebäudeenergiemodellierung beschreibt physikbasierte Kombinationen aus Gebäudehülle, Beleuchtung, HLK, Zeitplänen und Wetter, einschließlich ihrer Wechselwirkungen.
Die Lehrgrenze festlegen
| Größe | Synthetischer Wert | Bedeutung in diesem Modell |
|---|---|---|
| Kapazität C | 12 MJ/K | Fiktives Aggregat aus Luft und Innenraummasse |
| Gebäudehülle UA | 450 W/K | Wände und Decke zu einem Wert zusammengefasst |
| Belüftung \dot V | 0,08 m³/s | Sensibler Austausch mit Luft auf Außentemperatur |
| LED-Leistung | 12 kW, 08:00–24:00 Uhr | Wird innerhalb dieser Grenze schließlich zu Wärme |
| Sonstige Gewinne | 0,8 kW | Konstantes Aggregat aus Pumpen, Ventilatoren und Geräten |
| Kühlkapazität | 14 kW | Entzogene Wärme bei EIN, nicht elektrischer Bedarf |
| Außentemperatur | 21±6 °C | Sinuskurve mit Spitzenwert um 15:00 Uhr |
Licht erreicht zunächst Blätter und Oberflächen, bevor es zu Wärme abgebaut wird. Da dieses Modell Strahlung, Konvektion oder Pflanzenmasse nicht trennt, weist die Baseline elektrischer Beleuchtung innerhalb der Raumgrenze einen Wärmeanteil von 1,0 zu. Die DOE-Beleuchtungsrichtlinie behandelt Beleuchtung ebenfalls als internen Wärmegewinn, der die Kühllast beeinflusst. Eine reale Grenze muss aus dem Raum austretende Strahlung, entfernte Treiber und für die Verdunstung genutzte latente Wärme neu berücksichtigen.
Der Wert 14 kW für die Kühlung ist thermischer Entzug, nicht Kompressorstrom. Es wird kein COP angenommen, sodass dieses Ergebnis nicht direkt in eine Stromrechnung umgerechnet werden kann.
In Ein-Minuten-Schritten integrieren
Das explizite Euler-Verfahren führt den Zustand von n nach n+1 weiter:
Die Kühlung verwendet einen Sollwert von 24 °C und eine Hysterese von 0,5 °C: EIN bei oder über 24,5 °C und AUS bei oder unter 23,5 °C. Dies ist eine minimale Schaltregel, kein PID oder MPC. Eine größere Schrittweite verändert Schaltzeiten und Temperaturausschläge; vergleichen Sie daher Schrittweiten, bevor Sie dem numerischen Ergebnis vertrauen.
Führen Sie den Code aus und prüfen Sie die Eingabe
Entpacken Sie das Experiment-ZIP und führen Sie es in diesem Verzeichnis aus. Es benötigt Python 3.10+ und nur die Standardbibliothek; es wird kein Netzwerkzugriff verwendet.
python3 experiment.py config.json > result.json
python3 -m unittest -v
Siehe config.json, expected.json und die vollständige experiment.py. manifest.json erfasst den Eingabevertrag und die SHA-256-Hashes.
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
Ändern, brechen und überprüfen
- Setzen Sie
led_power_wauf 6000. Die LED-Wärme wird zu 96 kWh, und der Kühlentzug sollte sinken. - Verdoppeln Sie
thermal_capacitance_j_per_k. Die kurzfristige Temperaturänderung verlangsamt sich, während die Quellenergie in kWh unverändert bleibt. - Setzen Sie Innen- und Außentemperatur auf 20 °C und alle Gewinne, Kühlung, Belüftung und UA auf null. Der Raum muss nach einer Stunde bei 20 °C bleiben.
- Erhöhen Sie
time_step_secondsund vergleichen Sie die Extremwerte. Beanspruchen Sie keine Regelleistung, wenn Ergebnisse stark vom numerischen Schritt abhängen. - Löschen Sie einen Schlüssel, fügen Sie einen unbekannten Schlüssel hinzu, oder geben Sie NaN oder eine negative Kapazität ein. Das Programm sollte ablehnen, anstatt zu raten.
Die zehn Tests decken die Baseline, Nullfluss-Erhaltung, eine analytische Lösung erster Ordnung, proportionale LED-Heizung, Energie-Restwert und fehlerhafte Eingaben ab. Ihr Bestehen validiert keine Anlage.
Was dieses Modell nicht beantworten kann
- Blatttemperatur, Transpiration, Entfeuchtungs-Latentwärme, Luftfeuchtigkeit oder VPD
- CO₂-Konzentration und Belüftungsmassenbilanz
- Gefälle zwischen Regalen, Luftstrom-Kurzschlüsse oder Sensorplatzierung
- HLK-Teillasteffizienz, Abtauung, Ventilator- oder Pumpenstrom
- Kulturwachstum, Qualität, Ertrag oder Optimaltemperatur
Eine spätere Feuchtigkeitserweiterung sollte die Wasserdampf-Erhaltung und latente Wärme hinzufügen, während die thermische Energie-Restwertprüfung erhalten bleibt. Bevor Sie Regler vergleichen, legen Sie fest, welche Koeffizienten gemessen werden und welche Ausgaben zur Identifikation verwendet werden.
Referenzen
- 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)
Feuchtigkeitsbilanz-Labor für den Anbauraum — Dampfmasse erhalten, nicht relative Luftfeuchtigkeit
Beginnen Sie mit dem Ergebnis
Für einen synthetischen, fest auf 24 °C gehaltenen 300-m³-Raum ergibt die 24-Stunden-Berechnung 64,817–75,269 % RH, 34,8 kg vorgegebenen Pflanzendampf, 12,793 kg Netto-Entzug durch Belüftung und 21,542 kg Entzug durch den Entfeuchter. Der Wasserbilanz-Restwert bleibt unter 10^{-12} kg. Dies sind Lehreingaben, keine gemessene Kulturtranspiration oder Anlagenleistung.
Diagramm: Duskcoil. Synthetisch, gut durchmischt und bei fester Temperatur; die relative Luftfeuchtigkeit selbst wird nicht als erhaltener Zustand integriert.
Prozentsätze nicht addieren
Die relative Luftfeuchtigkeit ist ein Verhältnis zur Sättigung bei der aktuellen Temperatur. Dieselbe Dampfmasse kann daher bei Temperaturänderung eine andere relative Luftfeuchtigkeit ergeben. Speichern Sie stattdessen die Dampfmasse m_v [kg]:
Verwenden Sie \rho_v=e/(R_vT_K) und e=RH\,e_s(T)/100, mit der Sättigungsbeziehung aus FAO-56, Gleichung 11. Dampf oberhalb der Sättigung wird explizit als Kondensat übertragen, anstatt die relative Luftfeuchtigkeit stillschweigend zu begrenzen.
Synthetische Grenze
| Eingabe | Wert | Umfang |
|---|---|---|
| Innen-/Außentemperatur | fest 24 °C | Keine dynamische thermische Kopplung |
| Anfangs-/Außen-RH | 65 % / 60 % | Bei 24 °C in Dichte umgerechnet |
| Belüftung | 0,08 m³/s | Gut durchmischter Nettoaustausch |
| Dampfquelle | hell 2,0, dunkel 0,35 kg/h | Vorgegeben, kein Kulturmodell |
| Entfeuchtung | 2,5 kg/h | Wasserentzug, kein Strom |
| EIN-/AUS-Schwellenwerte | 75 % / 65 % | Einfache Hysterese |
Penn State Extension behandelt Kondensation, Luftfeuchtigkeit, Belüftung und Luftzirkulation als verbundene Anliegen des Gewächshausmanagements. Dieses Labor sagt keine Krankheiten voraus.
Latente Last aus der Wassermasse ablesen
Mit der FAO-Näherung \lambda=2,45 MJ/kg nahe 20 °C entspricht die synthetische Quelle von 34,8 kg 23,683 kWh Phasenwechselenergie. Diese latente Last unterscheidet sich von LED-Wärme und sensibler Kühlung. Aus entzogenem Wasser abgeleitete latente Last ist kein Kompressorstrom; COP und Wärmeabgabe des Entfeuchters sind ausgeschlossen.
Ausführen und überprüfen
Entpacken Sie das ZIP und führen Sie es mit Python 3.10+ aus:
python3 experiment.py config.json > result.json
python3 -m unittest -v
Das Paket stellt config.json, expected.json und experiment.py bereit. Zehn Tests decken RH-Dichte-Rückumrechnungen, Erhaltung im geschlossenen Raum, eine bekannte Quelle, latente Umrechnung und abgelehnte Eingaben ab.
Ändern Sie Belüftung, Entfeuchtung und Transpiration einzeln. Ändern Sie auch die Temperatur bei fester Dampfmasse und beobachten Sie die Änderung der relativen Luftfeuchtigkeit. Das Modell kann Blattkondensation, lokalen Luftstrom, reaktive Transpiration, Krankheiten, Wachstum oder CO₂ nicht beantworten. Sensorplatzierung sowie unabhängige Messungen von Transpiration und aufgefangenem Kondensat sind Voraussetzungen für eine reale Identifikation.
Referenzen
CO₂-Bilanz-Labor für den Anbauraum — Belüftung, Aufnahme, Atmung und Zufuhr verfolgen
Beginnen Sie mit dem Ergebnis
Für einen synthetischen, fest auf 24 °C und 101325 Pa gehaltenen 300-m³-Raum bewegt sich CO₂ über 24 Stunden zwischen 600–906,209 ppm. Die vorgegebene Aufnahme beträgt 1,28 kg, die Atmung fügt 0,16 kg hinzu, die Zufuhr fügt 2,967 kg hinzu, und die Belüftung entfernt 1,756 kg netto. Der Restwert der Stoffmengenbilanz bleibt unter 10^{-10} mol. Dies sind keine Messungen der Kultur- oder Anlagenleistung.
Diagramm: Duskcoil. Ein gut durchmischtes Idealgasmodell bei fester Temperatur und festem Druck.
Menge erhalten, nicht ppm
Sei die gesamte Raumluft n_{air}=PV/(RT) mol und das gespeicherte CO₂ n mol, mit ppm=10^6n/n_{air}:
Die Belüftung folgt der Innen-Außen-Konzentrationsdifferenz und dem molaren Luftstrom. Eine Änderung von Temperatur, Druck oder Volumen ändert die ppm, die derselben CO₂-Menge entsprechen.
Die Oklahoma State University Extension verbindet photosynthetische Nutzung am Tag, nächtliche Atmung, Belüftung und Zufuhr. Eine USDA-ARS-Berechnung verwendet ebenfalls Gewächshausvolumen und angenommene Aufnahme, um den Rückgang abzuschätzen. Die Flüsse dieses Labors sind synthetisch und bilden weder Ertragseffekte noch empfohlene Einstellungen ab.
Ausführen und überprüfen
Entpacken Sie das ZIP, dann verwenden Sie Python 3.10+:
python3 experiment.py config.json > result.json
python3 -m unittest -v
Das Paket enthält config.json, expected.json und experiment.py. Die Zufuhr schaltet bei 700 ppm ein und bei 900 ppm aus. Acht Tests decken die Erhaltung im geschlossenen Raum, eine bekannte Ein-Mol-Quelle, den Bilanzrestwert und ungültige Eingaben ab.
Setzen Sie Belüftung, Aufnahme und Zufuhr einzeln auf null. Eine reale Identifikation erfordert den Gasaustausch des Blattdachs, Leckagen, Sensorplatzierung/-kalibrierung und Messungen des Zufuhrstroms. Dieses Modell kann keine Sicherheitsgrenzen, Kulturreaktion, Verbrennungsschadstoffe, CO₂-Kosten oder gekoppelte Temperatur-/Feuchtigkeitsregelung bestimmen.

Kommentare
Bitte zuerst anmelden.
Noch keine Einträge.