Klimaskepsis mit dem PC
Who dares wins!
Startseite Navigation Fehler von Skeptikern Kosten der Klimapolitik Schönheit der Atmosphäre Spenden Impressum

Konvektion 2d

Konvektion 2d stationär

Im Gegensatz zur Wärmekonvektion im eindimensionalen Fall kann man im 2d-Fall wesentlich besser plausible Fälle erzeugen. Hier sind z.B. eine Eintritts- und eine Austrittsfläche für die Strömung und Ränder mit einer Temperaturverteilung möglich. Das Fluid kommt vom Westrand her mit einer Temperatur 0 K (Dirichlet-Randbedingung im Westen) und verläßt im Osten das Rechengebiet mit der Neumann-Randbedingung Temperaturgradient = 0. Wie schon beim eindimensionalen Fall werden Simulationen mit den zwei Diskreditierungsschemata cds und uds und zwei verschiedenen Strömungsgeschwindigkeiten durchgeführt.

Anwenden des Programms

  1. Zuerst erstellen Sie ein Verzeichnis, in dem Sie das Programm "fluisa_konvektion_stat_2d" laufen lassen wollen.
  2. In diesem Verzeichnis benötigen Sie die Quelldateien, d.h. die python3-Dateien "fluisa_konvektion_stat_2d_haupt.py", "steuer.py", "gitter.py", "rand_bed.py", "stroemungs_feld.py","koeff_matrix.py","loeser_lgs_5diag.py" und "ausgabe.py" sowie die Steuerdatei "steuer.txt", die Gitterdateien "gitter_fvm_11_11.dat" und "gitter_fvm_41_21.dat" sowie die Dateien mit den Randbedingungen "rand_11_11_neumann_ost.dat" und "rand_41_21_neumann_ost.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_konvektion_2d_stat.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_konvektion_stat_2d_hauptpy" in "fluisa_konvektion_stat_2d_haupt.py", "steuerpy" in "steuer.py", "gitterpy" in "gitter.py", "rand_bedpy" in "rand_bed.py", "stroemungs_feldpy" in "stroemungs_feld.py", "koeff_matrixpy" in "koeff_matrix.py", "loeser_lgs_5diagpy" in "loeser_lgs_5diag.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_konvektion_stat_2d_haupt.py geschehen.
    • oder Sie starten die Python-Umgebung IDLE in der Konsole mit idle, öffnen die Datei "fluisa_konvektion_stat_2d_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
Einheit für das Strömungsfeld in python3
Koeffizientenmatrix in python3
Löser des LGS in python3
Ausgabeeinheit in python3
Steuerdatei
Gitterdatei 11 11
Gitterdatei 41 21
Randbedbedingungsdatei21 21 neumann ost
Randbedbedingungsdatei 41 21 neumann ost

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

Temperaturverteilung in Kanal unter Konvektion u=2.5 m/s, cds-Schema

Temperaturverteilung in Kanal unter Konvektion u=2.5 m/s, cds-Schema
Temperaturverteilung in Kanal unter Konvektion u=2.5 m/s, cds-Schema

Man sieht: Bei Konvektion zusätzlich zur Wärmeleitung ändert sich der Graph, der bei der reinen Leitung aus einer Menge schwach gekrümmten Kurven besteht. Die Geschwindigkeit u "nimmt die Temperaturwerte in Strömungsrichtung mit", damit werden die Kurven in Strömungsrichtung verzerrt. Wenn Sie die Geschwindigkeit u in der Steuerdatei "steuer.txt" den Wert unter "Geschwindigkeit u [m/s]" von 2.5 auf 38.35 ändern (und natürlich auch die Namen der Ausgabedatei "temp_c_2.5.dat" in "temp_c_38.35.dat" sowie die Graphikdatei "temp_c_2.5" in "temp_c_38.35" und den Graphiktitel von "Temperaturverteilung bei u=2.5 m/s, cds-Schema" in "Temperaturverteilung bei u=38.35 m/s, cds-Schema") und die Rechnung noch einmal starten (d.h. bei Punkt 5 noch einmal weitermachen), dann werden diese Bilder errechnet:

Temperaturverteilung in Kanal unter Konvektion u=38.35 m/s, cds-SchemaTemperaturverteilung in Kanal unter Konvektion u=38.35 m/s, cds-Schema
Temperaturverteilung in Kanal unter Konvektion u=38.35 m/s, cds-Schema

Man sieht, daß sich einerseits der Effekt der Strömung verstärkte - die 0K Temperatur wird weiter zum Ostrand transportiert, andererseits sich eine numerische Instabilität einstellt: Es gibt eine Zone mit einer Temperatur < 0.0 K, was unphysikalisch ist. Dieses liegt am Konvergenzverhalten der cds-Diskretisierung. Bei weiterer Erhöhung der Strömungsgeschwindigkeit wird die Rechnung komplett instabil, es ergeben sich keine sinnvollen Werte mehr, in der Ausgabedatei steht dann NAN: not a number.

Wenn man in der Steuerdatei unter dem Punkt "Konvektionsschema:" das c zum u ändert (und wie oben die Ausgabedatei "temp_c_38.35.dat" in "temp_u_38.35.dat" sowie die Graphikdatei "temp_c_38.35" in "temp_u_38.35" und den Graphiktitel von "Temperaturverteilung bei u=38.35 m/s, cds-Schema" in "Temperaturverteilung bei u=38.35 m/s, uds-Schema"), dann ergibt eine erneute Rechnung (wieder bei Punkt 5 starten) diese Bilder:

Temperaturverteilung in Kanal unter Konvektion u=38.35 m/s, uds-SchemaTemperaturverteilung in Kanal unter Konvektion u=38.35 m/s, uds-Schema
Temperaturverteilung in Kanal unter Konvektion u=38.35 m/s, uds-Schema

Man sieht, die numerische Instabilität verschwand.

Zum Abschluß kann man eine Rechnung mit einem realistischeren parabelförmigen Strömungsprofil laufenlassen. Hierzu müssen die Namen der Ausgabedateien erneut geändert werden, wie oben die Ausgabedatei "temp_u_38.35.dat" in "temp_u_50_p.dat" sowie die Graphikdatei "temp_u_38.35.dat" in "temp_u_50_p.dat" und den Graphiktitel von "Temperaturverteilung bei u=50 m/s, uds-Schema, p". Außerdem muß das Programm auf andere Gitter- und Randdateien zugreifen: die Gitterdatei wird in der Steuerdatei von "gitter_fvm_11_11.dat" in "gitter_fvm_11_11.dat" und die Datei mit den Randbedingungen von "rand_11_11_neumann_ost.dat" in "rand_41_21_neumann_ost.dat" geändert.

Temperaturverteilung in Kanal unter Konvektion u=50 m/s, uds-Schema, ParabelprofilTemperaturverteilung in Kanal unter Konvektion u=50 m/s, uds-Schema, Parabelprofil
Temperaturverteilung in Kanal unter Konvektion u=50 m/s, uds-Schema, Parabelprofil