Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  OpenFOAM
  Temperaturprofile übertragen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Temperaturprofile übertragen (1089 / mal gelesen)
tauby
Mitglied
Verfahrenstechniker


Sehen Sie sich das Profil von tauby an!   Senden Sie eine Private Message an tauby  Schreiben Sie einen Gästebucheintrag für tauby

Beiträge: 16
Registriert: 25.10.2016

Ubuntu 16.04
OpenFoam-4.1
Salome 8.4.0
Helyx-OS 2.4.0

erstellt am: 25. Okt. 2016 12:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Skizze.jpg

 
Hallo!

Mit Hilfe von chtMultiRegionFoam möchte ich folgende Berechnungen im 2D-Modell durchführen:
In der betrachteten Region "air" (siehe Skizze im Anhang) soll an der rechten Seite "inlet" kalte Luft einströmen und auf der linken Seite "outlet" wieder ausströmen. Im diesen Bereich befinden sich drei Stäbe (bar1, bar2, bar3) mit gleichem Durchmesser und einer vorgegebenen Anfangstemperatur. Nach einer vorgegebenen Zeit wird die Berechnung unterbrochen. Es bildet sich in dieser Zeit in allen Stäben ein Temperaturprofil aus. Diese Temperaturprofile sollen nun von einem Stab auf den anderen Stab übertragen werden. D.h. das Temperaturprofil von bar1 wird auf bar2 übertragen und das Temperaturprofil von bar2 wird auf bar3 übertragen und bar1 bekommt eine neue Starttemperatur. Danach wird die Berechnung mit den neuen Temperaturprofilen weitergeführt. Dies soll sich in bestimmten Intervallen wiederholen. Der Sinn und Zweck dieser Vorgangsweise ist der, dass damit eine Bewegung von Stäben von links nach rechts gegen den Luftstrom simuliert werden soll. Im linken Bereich von "air" wird ein neuer Stab mit der Anfangstemperatur aufgegeben und im rechten Bereich wieder weggenommen. Da ich annehme, dass dieses Problem mit chtMultiRegionFoam nicht direkt simuliert werden kann, habe ich mich für oben beschriebene Vorgangsweise entschieden.

Das Problem bei der Übertragung der Temperaturprofile liegt jedoch darin, dass man die Temperaturwerte in den T-Dateien nicht direkt kopieren und wieder einfügen kann, auch wenn die Zellenzahl in den jeweiligen Stäben die gleiche ist, da die Zellennummerierung bei den jeweiligen regions (bar1, bar2 und bar3) unterschiedlich sind, d.h. dass der Temperaturwert der n-ten Zelle in bar1 nicht unbedingt an der gleichen Position in bar2 liegt.

Würde mich auf eure Hilfestellung freuen. 
Vielen Dank und liebe Grüße

Herbert

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Shor-ty
Moderator





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2463
Registriert: 27.08.2010

OpenFOAM-dev (Foundation)
OpenFOAM-xxxx (ESI)

erstellt am: 25. Okt. 2016 19:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für tauby 10 Unities + Antwort hilfreich

Grüß dich Herbert und willkommen im Forum,

ich entdecke die Sinnhaftigkeit in deinem Vorhaben zwar nicht aber das steht ja erstmal außen vor. Bezüglich deiner Fragestellung hätte ich derzeit zwei Möglichkeiten im Kopf.

Idee 1
Nachdem die Rechnung steht, eine Kopie von bar1 (mesh + values des letzten Zeitschritts) erzeugen (am besten einen neuen OF case erstellen), dann eine Kopie von bar2 erzeugen (anderer OF case). Danach, bar1 über transformPoints auf die Position von bar2 setzen und dann via mapFields die Felder mappen. Dann kannst du das gemappte T-File wieder verwenden. Analog dann zu bar2 - bar3.  Das alles natürlich mit nem Bash Skript.

Idee 2
Du versetzt via transformPoints einfach bar1 auf bar2, bar2 auf bar3 und bar3 auf bar1. Reinitialisierst bar3 und änderst die Kopplungsbeziehung in der boundary Datei. Fertig.

Gutes Gelingen

------------------
Viele Grüße,
Tobias Holzmann

Diverse OpenFOAM Tutorials gibt es auf www.Holzmann-cfd.de
Veröffentlichungen und ein Buch gibt es auf www.Holzmann-cfd.de
Für Anfänger empfiehlt es sich die neue OpenFOAM Wiki Seite zu betrachten: wiki.openfoam.com

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tauby
Mitglied
Verfahrenstechniker


Sehen Sie sich das Profil von tauby an!   Senden Sie eine Private Message an tauby  Schreiben Sie einen Gästebucheintrag für tauby

Beiträge: 16
Registriert: 25.10.2016

Ubuntu 16.04
OpenFoam-4.1
Salome 8.4.0
Helyx-OS 2.4.0

erstellt am: 27. Okt. 2016 11:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Tobias,
danke für die freundliche Aufnahme ins Forum und die prompte Antwort auf mein Problem. 

Ich habe deine zweite Idee umgesetzt und es hat wunderbar funktioniert. Der einzige Schönheitsfehler liegt darin, dass sich beim Betrachten in paraFoam die Temperaturfelder der regions (bar1, bar2 und bar3) an der Position befinden, wo sie sich im letzten berechneten Zeitabschnitt befunden haben. D.h. in den anderen Zeitabschnitten werden sie in paraFoam nicht an der richtigen Position gezeigt. Damit könnte ich aber leben, denn die Temperaturen werden in den jeweiligen regions zu jedem Zeitpunkt richtig gerechnet.

Ein merkwürdiges Verhalten ist mir bei der Berechnung bzgl. Wandstrahlung noch aufgefallen. Da dies aber nicht direkt mit diesem Problem zu tun hat, ist die Frage, ob es in einem eigenen Beitrag gepostet werden soll ?

Nochmals herzlichen Dank für deine Lösungsvorschläge und
viele Grüße
Herbert

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Shor-ty
Moderator





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2463
Registriert: 27.08.2010

OpenFOAM-dev (Foundation)
OpenFOAM-xxxx (ESI)

erstellt am: 30. Okt. 2016 20:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für tauby 10 Unities + Antwort hilfreich

Hi,

wunderbar das es gleich geklappt hat. Zu dem Problem mit den Regionen und der Visualisierung gibt es ggf. Abhilfe, wenn du die alten und neuen Netze in deine Zeitordner rein kopierst. Das macht man bei dynamischen Netzen und könnte ggf. auch bei dem CHT funktionieren (habs aber noch nie probiert).

Eine neue Frage die keinen Bezug zum Thema hat, bitte in ein neuen Thread.

------------------
Viele Grüße,
Tobias Holzmann

Diverse OpenFOAM Tutorials gibt es auf www.Holzmann-cfd.de
Veröffentlichungen und ein Buch gibt es auf www.Holzmann-cfd.de
Für Anfänger empfiehlt es sich die neue OpenFOAM Wiki Seite zu betrachten: wiki.openfoam.com

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tauby
Mitglied
Verfahrenstechniker


Sehen Sie sich das Profil von tauby an!   Senden Sie eine Private Message an tauby  Schreiben Sie einen Gästebucheintrag für tauby

Beiträge: 16
Registriert: 25.10.2016

Ubuntu 16.04
OpenFoam-4.1
Salome 8.4.0
Helyx-OS 2.4.0

erstellt am: 02. Nov. 2016 15:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Tobias,

habe nun laut deinem Vorschlag die polyMesh-Dateien der entsprechendenn regions in die letzten Zeitordner der jeweiligen regions hineinkopiert.
Mit dem Befehl:

$transformPoints -translate '(dx dy dz)' -region regionName

habe ich die Positionen der regions verändert und auch die Kopplungsbeziehung angepasst. Danach habe ich das Programm ab latestTime weiterrechnen lassen. Das Programm lief fehlerfrei und auch in paraFoam werden jetzt die richtigen Positionen der bewegten regions angezeigt.

Vielen Dank nochmals für deine Hilfe
Grüße, Herbert

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz