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

Konvektion

Konvektion 1d stationär

Die Luft ist ein schlechter Wärmeleiter und in der Erdatmosphäre geschieht ein erheblich größerer Teil des Wärmetransportes über Konvektion. Dieses Programm stellt eine Erweiterung des Programmes für die stationäre 1d Wärmeleitung dar. Der Stab wird durch ein mit einem Fluid durchströmtes Rohr ersetzt.

Durchströmtes Rohr mit Randbedingungen

Anwenden des Programms

  1. Zuerst erstellen Sie ein Verzeichnis, in dem Sie das Programm "fluisa_konvektion_stat_1d" laufen lassen wollen.
  2. In diesem Verzeichnis benötigen Sie die Quelldateien, d.h. die python3-Dateien "fluisa_konvektion_stat_1d_haupt.py", "steuer.py", "gitter.py", "rand_bed.py", "stroemungs_feld.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.gz-Archiv herunterladen und im Zielverzeichnis zu entpacken. Das können Sie z.B. mit dem Konsolenbefehl tar -xzf fluisa_konvektion_1d_stat.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 den Punkt - also "." - im Dateinamen vor py ergänzen. Sie müssen die Dateinamen von "fluisa_konvektion_stat_1d_haupt.pytxt" in "fluisa_konvektion_stat_1d_haupt.py", "steuer.pytxt" in "steuer.py", "gitter.pytxt" in "gitter.py", "rand_bed.pytxt" in "rand_bed.py", "stroemungs_feld.pytxt" in "stroemungs_feld.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 mit dem Konsolanbefehl python3 fluisa_konvektion_stat_1d_haupt.py 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
Einheit für das Strömungsfeld in python3
Koeffizientenmatrix in python3
Löser des LGS in python3
Ausgabeeinheit in python3
Steuerdatei
Gitterdatei
Randbedbedingungsdatei
Randbedbedingungsdatei

Physikalisch sinnvolle Rechnung

Wenn man nach Punkt 6 die Defaultwerte in folgende Werte ändert:
  • Rand_bed_datei: rand_neuman_ost_0.dat
  • Ausgabedatei: temperatur_c_2.5_neuman_ost.dat
  • Name der Graphikdatei: temperatur_c_2.5_neuman_ost
  • Graphiktitel: Temperaturverteilung bei u=2.5 m/s, cds-Schema, Neuman-RB im Osten
ergibt die Rechnung folgendes Bild:

Die Steigung Null am Ostrand setzt sich durch das Rechengebiet bis zum Ostrand durch. Die Temperatur im ganzen Rechengebiet ist 10 Kelvin, die Temperatur des Westrandes - ein etwas langweiliger Graph.

Mit den vorgegebenen Eingabewerten, vorhanden in den Dateien steuer_default.txt, rand_dirichlet_10_0.dat, gitter_fvm_11_mit_indizes.dat, errechnet das Programm folgendes Bild:

Man sieht: Bei Konvektion zusätzlich zur Wärmeleitung ändert sich der Graph, der bei der reinen Leitung eine Gerade ist. Die Geschwindigkeit u "nimmt die Temperaturwerte in Strömungsrichtung mit", damit wird die Gerade zu einer Kurve verzerrt. Wenn Sie die Geschwindigkeit u verzehnfachen, d.h. und folgende Werte ändern:

  • u_init [m/s]: 25.0
  • Ausgabedatei: temperatur_c_25_dirichlet.dat
  • Name der Graphikdatei: temperatur_c_25_dirichlet
  • Graphiktitel: Temperaturverteilung. bei u=25 m/s, cds-Schema, Dirichlet-Randbedn.
und das Programm startet, dann konvergiert die Rechnung nicht.

Bei einer Geschwindigkeit von u=20 m/s, die Eingabewerte werden wie folgt geändert:

  • u_init [m/s]: 20.0
  • Ausgabedatei: temperatur_c_20_dirichlet.dat
  • Name der Graphikdatei: temperatur_c_20_dirichlet
  • Graphiktitel: Temperaturverteilung. bei u=20 m/s, cds-Schema, Dirichlet-Randbedn.

Man sieht ein leichtes Überschießen über 10 K kurz vor dem Ostrand, dieses ist natürlich unphysikalisch. Wir haben den Bereich der numerischen Instabilitäten erreicht.

Eine Rechnung mit einem etwas ungenauereren Konvektionsschema konvergiert auch bei höeren Geschwindigkeiten, wir lassen das Programm noch einmal laufen, allerdings mit dem Upwind-Konvektionsschema, wir klicken das uds-Schema an:

  • u_init [m/s]: 25.0
  • Konvektionsschema: u
  • Ausgabedatei: temperatur_u_25_dirichlet.dat
  • Name der Graphikdatei: temperatur_u_25_dirichlet
  • Graphiktitel: Temperaturverteilung. bei u=25 m/s, uds-Schema, Dirichlet-Randbedn.

Eine erneute Rechnung mit der Geschwindigkeit 20m/s und dem Upwind-Konvektionsschema (uds-Schema anklicken!) ergibt

  • u_init [m/s]: 20.0
  • Konvektionsschema: u
  • Ausgabedatei: temperatur_u_20_dirichlet.dat
  • Name der Graphikdatei: temperatur_u_20_dirichlet
  • Graphiktitel: Temperaturverteilung. bei u=20 m/s, uds-Schema, Dirichlet-Randbedn.

Man sieht, die numerische Instabilität verschwand.