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

Wärmeleitung

In der Klimadiskussion begegnet man sehr oft dem Begriff Simulation. Leider ist es äußert selten, daß dabei erklärt wird, wie diese Simulation denn nun funktioniert. Strömungs-, Wärmetransport- oder mechanische Simulationen sind äußert komplex.

Kann man überhaupt mit dem Computer etwas simulieren? Diese Frage wird hier beantwortet, an einem einfachen Beispiel, der Wärmeleitung in einem Stab, ein eindimensionales, stationäres Randwertproblem ohne Wärmequellen. Das Programm heißt "fluisa_wlgl_st_1d" und verwendet zur Lösung die Finite Volumen Methode.

Stab mit Randbedingungen

Später wollen wir die Transportvorgänge Konvektion und Strahlung in weitere Programme einbauen.

Anwenden des Programms

  1. Zuerst erstellen Sie ein Verzeichnis, in dem Sie das Programm "fluisa_wlgl_stat_1d" laufen lassen wollen.
  2. In diesem Verzeichnis benötigen Sie die Quelldateien, d.h. die python3-Dateien "fluisa_wlgl_stat_1d_haupt.py", "steuer.py", "gitter.py", "rand_bed.py", "koeff_matrix.py", "loeser_lgs_3diag.py" und "ausgabe.py" sowie die Steuerdatei "steuer_default.txt", die Gitterdatei "gitter_fvm_11_mit_indices.dat" und die Datei mit den Randbedingungen "rand.dat".
    • Am einfachsten ist es, das *.tar.gz-Archiv herunterladen und im Zielverzeichnis zu entpacken. Das können Sie z.B. mit dem Konsolenbefehl tar -xzf fluisa_wlgl_stat_1d.tar.gz 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 die Endung ".pytxt" im Dateinamen um die letzten drei Buchstaben "txt" kürzen. Sie müssen die Dateinamen von "fluisa_wlgl_stat_1d_haupt.pytxt" in "fluisa_wlgl_stat_1d_haupt.py", "steuer.pytxt" in "steuer.py", "gitter.pytxt" in "gitter.py", "rand_bed.pytxt" in "rand_bed.py", "koeff_matrix.pytxt" in "koeff_matrix.py", "loeser_lgs_3diag.pytxt" in "loeser_lgs_3diag.py" und "ausgabe.pytxt" 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_st_1d_haupt.py geschehen.
    • oder Sie starten die Python-Umgebung IDLE in der Konsole mit idle, öffnen die Datei "fluisa_wlgl_stat_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 ausrechnen.
  8. Die Temperaturverteilung wird als Graphik angezeigt, die Temperaturen werden in die Konsole geschrieben und in einer Datei und als Graphik gespeichert.
  9. 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

Mit den vorgegebenen Eingabewerten, vorhanden in den Dateien steuer.txt, rand.dat, gitter_fvm_11.dat, errechnet das Programm folgendes Bild:

Man sieht: die errechneten Temperaturen in den jeweiligen Knotenpunkten liegen - wie zu erwarten ist, da es keine Wärmequellen gibt - auf einer Geraden.