Autor
|
Thema: Periodische Ränder (3228 mal gelesen)
|
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 13. Jul. 2011 15:28 <-- editieren / zitieren --> Unities abgeben:
Hallo liebe FOAM'er Profis ich spiele gerade etwas mit Randfunktionen und Boundarytypen. Ich versuche gerade periodische Ränder zu generieren. Ich beziehe mich auf das Tutorial
Code:
tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/constant/polyMesh
Hier werden für alle Berandungsflächen periodische Ränder mittels "cyclic" gesetzt (meines Erachtens). Bitte korrigiert mich, wenn ich falsch liege. Wie in Ansys benötigt man für periodische Ränder immer gegenüberliegende Flächen, die identisch sind (vgl. Bild: cyclic_tutorial). Entsprechend dem Tutorial wollte ich auf meinen Anwendungsfall (Zylinderumströmung) periodische Ränder einsetzten (Vorder- und Rückseite). Dazu habe ich mir die Boundarydatei im Tutorial näher betrachtet und in meinem Case umgesetzt: Tutorial:
Code:
xPeriodic_half0 { type cyclic; nFaces 256; startFace 14464; matchTolerance 0.0001; neighbourPatch xPeriodic_half1; } xPeriodic_half1 { type cyclic; nFaces 256; startFace 14720; matchTolerance 0.0001; neighbourPatch xPeriodic_half0; }
Mein Case:
Code:
front { type cyclic; nFaces 46188; startFace 644352; neighbourPatch back; matchTolerance 0.1; } back { type cyclic; nFaces 46188; startFace 690540; neighbourPatch front; matchTolerance 0.1; }
Beim Starten des Solvers erhalte ich folgende Fehlermeldung: Code:
--> FOAM FATAL ERROR: face 0 area does not match neighbour by 195.161% -- possible face ordering problem. patch:front my area:7.0755e-06 neighbour area:8.664e-08 matching tolerance:0.1 Mesh face:644352 fc:(0.382063 0.465782 0) Neighbour fc:(0.446578 0.51629 0.1) If you are certain your matching is correct you can increase the 'matchTolerance' setting in the patch dictionary in the boundary file. Rerun with cyclic debug flag set for more information. From function cyclicPolyPatch::calcTransforms() in file meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C at line 220. FOAM exiting
Mit der Eingabe
Code:
matchTolerance 2;
läuft der Solver. Ich gehe schwer davon aus, dass dies falsche Ergebnisse liefert oder? Denn eine Toleranz von 2 ist schon extrem hoch oder? Das Netz habe ich mittels SALOME erzeugt. Alle Flächen sollten identisch und parallel sein. Vielleicht gibt es in SALOME auch eine Einstellung bei der man die Toleranz bezüglich diesen Ungenauigkeiten setzen kann. Hat hier jemand vielleicht Erfahrungswerte? Oder verwende ich auch einen falschen Boundarytyp für periodische Ränder?
Grüße Tobi
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Cobain83 Mitglied Maschbau Student
Beiträge: 28 Registriert: 08.12.2011 Catia V5 OpenFoam 2.1.0 Fluent Workbench
|
erstellt am: 26. Mrz. 2012 09:40 <-- editieren / zitieren --> Unities abgeben: Nur für Shor-ty
Hi, konntest du das Problem lösen? Ich hänge schon seit Tagen am gleichen Problem. Habe ein Mesh aus Ansys Workbench und alle Flächen bis auf kleine Kurven sind mit matchControl "verlinkt". Ich bekomme aber den gleichen Fehler wie du. Als ich ein altes Netz aus Gambit hatte bei dem alle Flächen verlinkt waren funktionierten die periodisches Bed. Jedoch war das auch noch mit OF 1.6 und die Verknüpfung wurde ja über ne patchDict umständlich erstellt, aber es hat zumindest funktioniert Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
t.schumacher Mitglied CFD Engineer
Beiträge: 184 Registriert: 03.05.2010
|
erstellt am: 26. Mrz. 2012 17:32 <-- editieren / zitieren --> Unities abgeben: Nur für Shor-ty
|
Cobain83 Mitglied Maschbau Student
Beiträge: 28 Registriert: 08.12.2011 Catia V5 OpenFoam 2.1.0 Fluent Workbench
|
erstellt am: 26. Mrz. 2012 18:49 <-- editieren / zitieren --> Unities abgeben: Nur für Shor-ty
das denk ich auch, ich hab das erste Netz auch mit den gleichen Bedingungen an den periodischen Flächen erstellt (per Number of Divisions in Workbench). Da es nen Hexaedernetz ist kann man eigentlich gut sehen das es passen sollte. Gut, auf die x'te Nachkommastelle kann ichs nicht sagen, aber zumindest diese Toleranz sollte man doch mit der matchTolerance ausgleichen können. Aber egal was man macht, es hilft nichts. Ausser auf >1 stellen und dann stürzt mir der Solver ab. Ich glaub der weiss garnicht was wirklich zusammengehört. Ich habe bei meinem Netz noch ähnliche Flächen die mit der gleichen Strategie erstellt worden. Dabei wird mit mappedWall Wärme vom Solid auf Fluid übertragen, das klappt super. Im Grunde ist das doch nichts anderes als meine translatorische periodic. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |