Zum Inhalt

PyADM1ODE Dokumentation

Willkommen bei PyADM1ODE - Einem Python-Framework zur Modellierung, Simulation und Optimierung von landwirtschaftlichen Biogasanlagen basierend auf dem Anaerobic Digestion Model No. 1 (ADM1).

Was ist PyADM1ODE?

PyADM1ODE ist ein umfassendes Python-Framework fΓΌr die Modellierung landwirtschaftlicher Biogasanlagen, das Folgendes kombiniert:

  • Wissenschaftliche Genauigkeit: Basierend auf dem ADM1-Modell der IWA, dem internationalen Standard fΓΌr die anaerobe VergΓ€rung.
  • Modulare Architektur: Kombinieren Sie Komponenten (Fermenter, BHKW, Pumpen, RΓΌhrwerke), um jede beliebige Anlagenkonfiguration zu erstellen.
  • PraxisnΓ€he: Validiert mit Daten von in Betrieb befindlichen Biogasanlagen.
  • Python-Γ–kosystem: Integriert mit NumPy, SciPy, Pandas und Visualisierungsbibliotheken.

Hauptmerkmale

✨ Umfassende Komponentenbibliothek

  • Biologisch: Ein-/mehrstufige Fermenter, Hydrolysetanks, Separatoren
  • Energie: BHKW-Einheiten, Heizsysteme, Gasspeicher, Fackeln
  • Mechanisch: Pumpen, RΓΌhrwerke mit realistischem Stromverbrauch
  • FΓΌtterung: Substratlagerung, automatisierte Dosiersysteme

πŸ”§ Flexible Anlagenkonfiguration

  • Erstellen Sie komplexe Anlagen programmatisch oder ΓΌber Vorlagen
  • Automatische Komponentenverbindung und Validierung
  • Speichern/Laden von Konfigurationen als JSON

πŸ“Š Fortgeschrittene Simulation

  • Parallele AusfΓΌhrung fΓΌr Parameterstudien und Monte-Carlo-Analysen
  • Adaptive ODE-Solver, optimiert fΓΌr steife Biogassysteme
  • Zeitreihen-Datenverarbeitung und Ergebnisanalyse

πŸŽ“ Bildung & Professionell

  • Geeignet fΓΌr die Lehre im Bereich Biogasanlagendesign
  • Forschungswerkzeug zur Prozessoptimierung
  • Engineering-Anwendungen fΓΌr die Anlagenplanung

Systemarchitektur

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                     PyADM1ODE Framework                          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”‚
β”‚  β”‚ Biologische  β”‚  β”‚   Energie-   β”‚  β”‚ Mechanische  β”‚         β”‚
β”‚  β”‚ Komponenten  β”‚  β”‚ Komponenten  β”‚  β”‚ Komponenten  β”‚         β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€         β”‚
β”‚  β”‚ β€’ Fermenter  β”‚  β”‚ β€’ BHKW       β”‚  β”‚ β€’ Pumpen     β”‚         β”‚
β”‚  β”‚ β€’ Hydrolyse  β”‚  β”‚ β€’ Heizung    β”‚  β”‚ β€’ RΓΌhrwerke  β”‚         β”‚
β”‚  β”‚ β€’ Separatorenβ”‚  β”‚ β€’ Speicher   β”‚  β”‚              β”‚         β”‚
β”‚  β”‚              β”‚  β”‚ β€’ Fackeln    β”‚  β”‚              β”‚         β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β”‚
β”‚                                                                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”‚
β”‚  β”‚   FΓΌtterung  β”‚  β”‚   Sensoren   β”‚  β”‚ Konfigurator β”‚         β”‚
β”‚  β”‚ Komponenten  β”‚  β”‚  (geplant)   β”‚  β”‚              β”‚         β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€         β”‚
β”‚  β”‚ β€’ Lagerung   β”‚  β”‚ β€’ pH         β”‚  β”‚ β€’ Builder    β”‚         β”‚
β”‚  β”‚ β€’ Dosierer   β”‚  β”‚ β€’ VFA        β”‚  β”‚ β€’ Vorlagen   β”‚         β”‚
β”‚  β”‚              β”‚  β”‚ β€’ Gas        β”‚  β”‚ β€’ Validator  β”‚         β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β”‚
β”‚                                                                  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                       Kern-ADM1-Engine                           β”‚
β”‚  β€’ 37 Zustandsvariablen β€’ pH-Dynamik β€’ Gas-FlΓΌssig-Transfer     β”‚
β”‚  β€’ TemperaturabhΓ€ngige Kinetik β€’ Inhibitionsmodellierung        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                    Substratmanagement                            β”‚
β”‚  β€’ 10 vorkonfigurierte landwirtschaftliche Substrate            β”‚
β”‚  β€’ Automatische ADM1-Input-Strom-Generierung                    β”‚
β”‚  β€’ Zeitlich variierende FΓΌtterungsplΓ€ne                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Kurzes Beispiel

Erstellen und simulieren Sie eine komplette Biogasanlage in nur wenigen Zeilen:

from pyadm1.configurator import BiogasPlant, PlantConfigurator
from pyadm1.substrates import Feedstock

# Anlage erstellen
feedstock = Feedstock(feeding_freq=48)
plant = BiogasPlant("Meine Biogasanlage")
configurator = PlantConfigurator(plant, feedstock)

# Fermenter hinzufΓΌgen (erstellt automatisch Gasspeicher)
configurator.add_digester(
    digester_id="main_digester",
    V_liq=2000.0,              # 2000 mΒ³ FlΓΌssigvolumen
    V_gas=300.0,               # 300 mΒ³ Gasraum
    T_ad=308.15,               # 35Β°C mesophil
    Q_substrates=[15, 10, 0, 0, 0, 0, 0, 0, 0, 0]  # Maissilage + GΓΌlle
)

# BHKW und Heizung hinzufΓΌgen (erstellt automatisch Fackel)
configurator.add_chp("chp_main", P_el_nom=500.0)
configurator.add_heating("heating_main", target_temperature=308.15)

# Komponenten verbinden
configurator.auto_connect_digester_to_chp("main_digester", "chp_main")
configurator.auto_connect_chp_to_heating("chp_main", "heating_main")

# Simulieren
plant.initialize()
results = plant.simulate(duration=30, dt=1/24, save_interval=1.0)

# Analysieren
final = results[-1]["components"]["main_digester"]
print(f"Biogas: {final['Q_gas']:.1f} mΒ³/d")
print(f"Methan: {final['Q_ch4']:.1f} mΒ³/d")
print(f"pH: {final['pH']:.2f}")

Ausgabe:

Biogas: 1245.3 mΒ³/d
Methan: 748.2 mΒ³/d
pH: 7.28

Typische Anwendungen

1. Anlagendesign und Optimierung

2. Substratoptimierung

3. Energiebilanzanalyse

4. Zweistufiges Prozessdesign

(Details siehe englische Version oder Unterseiten)