| |
| 17 Optionen für korrosionsbeständige Teile: Metalle und Nachbearbeitungen, ein Fachartikel
|
Autor
|
Thema: timeVaryingMappedFixedValue (1665 / mal gelesen)
|
RNL9 Mitglied
Beiträge: 5 Registriert: 24.01.2018 OpenFoam v1706
|
erstellt am: 24. Jan. 2018 15:14 <-- editieren / zitieren --> Unities abgeben:
Halli Hallo zusammen, ich bin neu hier im Forum und auch noch nicht lange in OpenFOAM dabei. Ich arbeite an einem case für das ich einen zeitlich variablen Temperaturverlauf in der Umgebung bzw. domain erstellen will. Ich bin auf die Randbedingung timeVaryingMappedFixedValue gestoßen und denke, dass das die richtige sein könnte. Bloß weis ich nicht so ganz wie man diese korrekt anwendet. Ich würde diese Temperaturen gerne auf alle Wände aufprägen. Ich weis, dass ich in constant/boundaryData eine Datei T und eine Datei points anlegen muss. Doch wie setze ich das am schlausten um? Ich würde ungern eine endlos lange Liste erstellen und jeden Punkt einzeln vergeben. Weis einer wie man das am Besten lösen könnte oder hat vllt selbst sogar einen ähnlichen Fall, den er mir bereitstellen würde? Hoffe ihr versteht was ich meine bzw. was ich haben will Liebe Grüße RNL Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RNL9 Mitglied
Beiträge: 5 Registriert: 24.01.2018 OpenFoam v1706
|
erstellt am: 29. Jan. 2018 07:39 <-- editieren / zitieren --> Unities abgeben:
|
hulli Mitglied
Beiträge: 54 Registriert: 20.11.2017 openFoam
|
erstellt am: 29. Jan. 2018 19:18 <-- editieren / zitieren --> Unities abgeben: Nur für RNL9
Moin, also ich kenne mich jetzt nicht mit Temperatur aus . Aber timeVaryingMappedFixedValue habe ich schonmal verwendet um eine Strömungsfeld, dass ich in einem case mit cyclic boundaries berechnet hatte, auf einen case mit einem inlet zu mappen. Somit konnte ich das turbulente feld vom cyclischen case auf den case mit inlet mappen... Ich bin mir jetzt nur nicht sicher ob Du das meinst. Falls ja schau Dir "Recycling method" oder diesen thread an https://www.cfd-online.com/Forums/openfoam-solving/123889-lund-recycled-method-les-flat-plate.html an ... Wenn das das ist was Du suchst kann ich dir gerne weiter helfen habe das mal gemacht aber nicht all zu elegant ... und mit den Temperaturen leider schon garnicht ... vg h Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 29. Jan. 2018 19:36 <-- editieren / zitieren --> Unities abgeben: Nur für RNL9
Hallo zusammen, ich würde diesbezüglich die codedFixedValue BC nehmen, mir eine neue Datei erstellen in denen eine Liste von Vektoren enthalten ist, wobei jeder Vektor eine Zeit-Temperatur-Null Eintag enthält: Code:
3 ( (0 234 0) (1 232 0) (4 353 0) );
Dieses File würde ich in der RB laden, alles in eine Vekorliste schreiben und damit arbeiten. Der Header-Zufolge ist deine RB ggf. nicht die Beste. Aber was wäre wenn du nur einen Wert angibst? Dann vermute ich mal das dieser überall hin interpoliert wird. Testen. Gutes gelingen. ------------------ Viele Grüße, Tobias Holzmann OpenFOAM® Tutorials | Training | Publikationen | Für Anfänger wiki.openfoam.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cfdtobi Mitglied Student
Beiträge: 67 Registriert: 16.07.2015
|
erstellt am: 30. Jan. 2018 08:50 <-- editieren / zitieren --> Unities abgeben: Nur für RNL9
Die BC uniformFixedValue mit einer angehängten Tabelle wäre auch ne Alternative um fixe Werte zu bestimmten Zeitpunkten den patches zuzuweisen. Code:
patch { type uniformFixedValue; uniformValue table ( (t1 T1) (t2 T2) ... ); }
Hier ist nur wichtig, dass zwischen den einzelnen Temperaturen gerampt wird, daher für konstante Temperaturen Start und End-Zeit angeben... [Diese Nachricht wurde von cfdtobi am 30. Jan. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RNL9 Mitglied
Beiträge: 5 Registriert: 24.01.2018 OpenFoam v1706
|
erstellt am: 30. Jan. 2018 11:28 <-- editieren / zitieren --> Unities abgeben:
Erstmal Vielen Dank euch allen. Ich werde das alles mal in Ruhe durchgehen und schauen, ob es mich weiterbringt. Vor allem die zwei BC codedFixedValue und uniformFixedValue sehen interessant aus und könnten womöglich die Antwort auf mein Problem sein. Wobei uniformFixedValue mir in der Anwendung simpler erscheint als codedFixedValue. Werde die Tage mal mit beiden herumprobieren und schauen obs was wird. Werde mich wahrscheinlich dann nochmal melden falls es klappt oder Probleme gibt... Zitat: Hier ist nur wichtig, dass zwischen den einzelnen Temperaturen gerampt wird, daher für konstante Temperaturen Start und End-Zeit angeben...
Aber eine Frage hätte ich noch. Was heißt gerampt? Hab das jetzt schon 1,2 mal gelesen, aber kann nicht wirklich was damit anfangen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cfdtobi Mitglied Student
Beiträge: 67 Registriert: 16.07.2015
|
erstellt am: 30. Jan. 2018 12:16 <-- editieren / zitieren --> Unities abgeben: Nur für RNL9
Im Anhang ein Bsp. Links:
Code:
patch { type uniformFixedValue; uniformValue table ( (0 300) (20 400) (40 500) (60 300) ); }
Rechts:
Code:
patch { type uniformFixedValue; uniformValue table ( (0 300) (19 300) (20 400) (39 400) (40 500) (59 500) (60 300) ); }
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RNL9 Mitglied
Beiträge: 5 Registriert: 24.01.2018 OpenFoam v1706
|
erstellt am: 30. Jan. 2018 12:35 <-- editieren / zitieren --> Unities abgeben:
|
RNL9 Mitglied
Beiträge: 5 Registriert: 24.01.2018 OpenFoam v1706
|
erstellt am: 13. Feb. 2018 09:09 <-- editieren / zitieren --> Unities abgeben:
Hallo nochmal ich habe jetzt etwas herumprobiert und kriege es irgendwie nicht gebacken. Wie muss ich beispielsweise bei einem einfach BlockMesh mit inlet, outlet und 4 Wänden die Randbedingungen setzten, dass sich die Temperatur in dem Block mit der Zeit ändert. Habs jetzt folgendermaßen versucht Code: dimensions [ 0 0 0 1 0 0 0 ];internalField uniform 291.95; boundaryField { inlet { type uniformFixedValue; uniformValue table ( ( 0 291.95 ) ( 3600 290.35 ) ( 7200 290.15 ) ( 10800 289.35 ) ( 14400 288.15 ) ( 18000 287.95 ) ( 21600 289.65 ) ( 25200 293.15 ) ( 28800 297.25 ) ( 32400 301.35 ) ( 36000 302.95 ) ( 39600 303.65 ) ( 43200 303.55 ) ( 46800 303.85 ) ( 50400 304.15 ) ( 54000 305.25 ) ( 57600 305.65 ) ( 61200 304.75 ) ( 64800 304.15 ) ( 68400 303.25 ) ( 72000 300.55 ) ( 75600 299.25 ) ( 79200 298.05 ) ( 82800 296.05 ) ( 86400 294.85 ) ); } outlet { type zeroGradient; } floor { type zeroGradient; } ceiling { type zeroGradient; } frontAndBack { type zeroGradient; }
Scheint aber nicht zu klappen Das Inlet nimmt die Temperaturen an, aber der Rest hat den Startwert. Es ist vielleicht noch zu erwähnen, dass mein U=0 ist und das erstmal so bleiben soll. Gibt es eventuell eine andere Möglichkeit, das internalField zeitlich variabel zu gestalten? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |