Klimaskepsis mit dem PC
Who dares wins!
Startseite Navigation Skeptiker- fehler Kosten der Klimapolitik Schönheit der Atmosphäre Spenden

Blick in die Zukunft

Kann man mit dem Computer in die Zukunft sehen? Man kann, vorrausgesetzt
  • das betrachtete physikalische Problem ist einfach genug für den Rechner,
  • die Randbedingungen sind für den betrachteten Zeitraum bekannt und
  • die Anfangsbedingungen sind für den Anfangszeitpunkt des Vorganges bekannt.
Unser erstes Beispiel ist wieder die Wärmeleitung in einem Stab, hier aber als ein eindimensionales, instationäres Randwertproblem, d.h. wir bringen die Zeit mit ins Spiel. Wir lösen hier eine partielle Diffferentialgleichung, wir verwenden wieder mit der Methode der Finiten Volumen.

Stab mit Randbedingungen

Anwenden des Programms

  1. Zuerst erstellen Sie ein Verzeichnis, in dem Sie das Programm "fluisa_wlgl_inst_1d" laufen lassen wollen.
  2. In diesem Verzeichnis benötigen Sie die Quelldateien, d.h. die python3-Dateien "fluisa_wlgl_inst_1d_haupt.py", "steuer.py", "gitter.py", "rand_bed.py", "koeff_matrix.py", "loeser_lgs_3diag.py" und "ausgabe.py" sowie die Steuerdatei "steuer.txt", die Gitterdatei "gitter_fvm_11.dat" und die Datei mit den Randbedingungen "rand.dat".
    • Am einfachsten ist es, das *.tar-Archiv herunterladen und im Zielverzeichnis zu entpacken. Das können Sie z.B. mit dem Konsolenbefehl tar -xf fluisa_wlgl_1d_inst.tar oder mit einem Entpackprogramm wie Xarchiver machen. Das Archiv enthält die Quelldateien, die Steuerdatei und die Dokumentation des Programms als *.pdf.
    • Sie können aber auch jede Datei einzeln herunterladen. Dann müssen Sie jeweils den Punkt - also "." - im Dateinamen vor py ergänzen. Sie müssen die Dateinamen von "fluisa_wlgl_inst_1d_hauptpy" in "fluisa_wlgl_inst_1d_haupt.py", "steuerpy" in "steuer.py", "gitterpy" in "gitter.py", "rand_bedpy" in "rand_bed.py", "koeff_matrixpy" in "koeff_matrix.py", "loeser_lgs_3diagpy" in "loeser_lgs_3diag.py" und "ausgabepy" in "ausgabe.py" ändern. Leider war es nicht möglich, die funktionierendem Dateiendungen beizubehalten, da der Server eine Fehlermeldung beim Anklicken ausgibt.
    Im *.tar-Archiv sind alle Dateiendungen richtig, die Programme sind sofort nach dem Entpacken lauffähig.
  3. Dann öffnen Sie ein Konsolenfenster in diesem Verzeichnis (rechter Mausklick im Fenster des Verzeichnisses, dann "Terminal hier öffnen" klicken).
  4. Führen Sie zur Sicherheit einen Virenscan über dieses Verzeichnis durch. Z.B. ich benutze clamscan mit dem Befehl clamscan -r -i. Sie können natürlich einen anderen Virenscanner benutzen.
  5. Dann wird das Programm gestartet:
    • Das kann mit dem Konsolanbefehl python3 fluisa_wlgl_inst_1d_haupt.py geschehen.
    • oder Sie starten die Python-Umgebung IDLE in der Konsole mit idle, öffnen die Datei "fluisa_wlgl_inst_1d_haupt.py" über den Menüpunkt File -> Open. Dann öffnet sich ein weiteres Fenster mit dem Hauptprogramm. Dieses wird dann mit dem Menüpunkt run module gestartet.
  6. Das Programm listet dem Benutzer die Steuerparameter, die in der Steuerdatei enthalten sind, auf und gibt dem Benutzer die Möglichkeit, die Steuerdaten mit einem Klick auf den "Eingabe ändern"-Button zu ändern.
  7. Ein Klick auf den "weiter"-Button läßt das Programm die Temperaturverteilung zu verschiedenen Zeiten ausrechnen.
  8. Die Temperaturverteilung zur Ausgabezeit 1 wird in der Konsole ausgegeben, in eine Datei geschrieben und als Graphik angezeigt.
  9. Nach dem Wegklicken der Graphik (Kreuz oben rechts) rechnet das Programm weiter bis zur Ausgabezeit 2.
  10. Jetzt wird die Temperaturverteilung zur Ausgabezeit 2 in der Konsole ausgegeben, in eine Datei geschrieben und als Graphik angezeigt.
  11. Nach dem Wegklicken der 2. Graphik (wieder: Kreuz oben rechts) rechnet das Programm weiter bis zur Ausgabezeit 3.
  12. Jetzt wird die Temperaturverteilung zur Ausgabezeit 3 in der Konsole ausgegeben, in eine Datei geschrieben und als Graphik angezeigt.
  13. Nach dem Wegklicken der 3. Graphik (wieder: Kreuz oben rechts) rechnet das Programm weiter bis zur Zeit t_end.
  14. Jetzt wird die Temperaturverteilung zur Zeit t_end in der Konsole ausgegeben, in eine Datei geschrieben und als Graphik angezeigt.
  15. Ein Wegklicken der Graphik (großes Kreuz oben rechts) beendet das Programm.

Dokumentation

Archiv Python
Hauptprogramm in python3
Steuereinheit in python3
Gittereinheit in python3
Randbedingungseinheit in python3
Koeffizientenmatrix in python3
Löser des LGS in python3
Ausgabeeinheit in python3
Steuerdatei
Gitterdatei
Randbedbedingungsdatei

Im folgenden sind diese 4 Graphiken gezeigt:

Die Randbedingungen in der Datei "rand.dat" legen die Dirichlet-Randbedingungen "0 Kelvin am West- und Ostrand" fest. Es ist davon auszugehen, daß sich die Temperaturen im Stab an diese Randtemperatur annähert, und zwar im Zentrum am langsamsten. Dieses ergibt auch die Simulation. Die Temperaturverläufe sehen ähnlich aus, die Information steckt in der Skalierung der Graphiken.

Daß sich die Temperaturen innerhalb des Stabes an die Randtemperaturen angleichen, überrascht uns nicht groß. Immerhin kann der zeitliche Verlauf der Temperaturen quantitativ angegeben werden. Ein Experiment zur Überprüfung der Simulation ließe sich mit einem Metallstab und darin eingelassenen Thermoelementen sowie zwei Temperaturreservoiren an den Rändern (=Stabstirnflächen) aufbauen. Hierbei gilt es allerdings zu beachten:

  1. Die Seitenflächen (Quaderstab) bzw. die Mantelfläche (zylindrischer Stab) ist besonders bei einem dünnen und langen Stab schlecht adiabat hinzubekommen.
  2. Naturgemäß ist ein mit Thermoelementen versehener Stab nicht mehr homogen. Auch dieses stört das Experiment bei einem dünnen, langen Stab besonders. Je mehr Sensoren sich im Stab befinden, desto inhomogener ist er. Dazu kommt noch, daß der Wärmekontakt zwischen Thermoelementen und Stabmaterial gegeben sein muß, d.h. die Thermoelemente werden mit dem Stab verlötet oder verklebt, was den Stab noch inhomogener macht.
  3. Das Temperaturreservoir wirkt nicht nur auf den Stab, sondern der Stab wirkt auch in das Temperaturfeld des Reservoirs hinein, so daß die Randbedingungen nicht mehr exakt eingehalten werden. Dieser Effekt vergrößert sich bei dicken, kurzen Stäben.
  4. Der wärmeleitende Stab ist wohl eines der simpelsten Simulationsprobleme. Trotzdem ist der Programmieraufwand hoch.

Trotzdem ist die Idee, auf Simulationen zurückzugreifen, verlockend, da sie in der Technik teure Experimente einspart. Eine zu betrachtende Fragestellung wird daher sein, ob und wie die Simulation des weitaus komplexeren Erdklimas auch mit den modernsten Großrechnern überhaupt möglich ist.