Autor
|
Thema: snappyHexMesh (2374 mal gelesen)
|
Bistor Mitglied Entwicklungsingenieurin
Beiträge: 96 Registriert: 12.04.2011 OpenFoam 2.1.x Salome
|
erstellt am: 04. Apr. 2013 15:38 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich weiß es gibt hier schon einen Tread darüber und einige Tutorials. Aber ich kapiers einfach nicht Wie bestimme ich ob snappyHexMesh meine Geometrie vernetzt oder ein Netz um meine Geometrie herumlegt????? Wenn ich die Geometrie mit Salome aufbereite gebe ich die Boundary Conditions als Fläche in Form von einer stl-file raus. Korrekt? Vielen Dank.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
User1000 Mitglied Student
Beiträge: 163 Registriert: 07.06.2011
|
erstellt am: 04. Apr. 2013 16:05 <-- editieren / zitieren --> Unities abgeben: Nur für Bistor
Der wichtigste Punkte ist location in Mesh. Vom dort definierten punkt arbeitet sich sHM bis zum STL Rand vor. Befindet sich nun der definierte Punkt Außerhalb der Geometrie vernetzt und liegt der Punkt innerhalb der Stl Datei wird die Geometrie vernetzt. Hoffe das war so richtig habe fast noch nie die Geometrie vernetzt. Versuch doch einfach eine Kugel mit Salome zu erstellen und leg ein blcokMesh darum. definiere einmal ein Punkt in der Kugel und einmal außerhalb. Es sollte dann der beschriebene Effekt auftreten. Die zweite Frage verstehe ich nicht ganz. Prinziepiell ist es so, dass sHM für jede eingesetzte STL eine patch erstellt die du dann innerhalb der boundary Datei definieren kannst. Es kommt also darauf an in viele einzelne STL du deine Geometrie zerlegst. MfG Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bistor Mitglied Entwicklungsingenieurin
Beiträge: 96 Registriert: 12.04.2011 OpenFoam 2.1.x Salome
|
erstellt am: 05. Apr. 2013 11:48 <-- editieren / zitieren --> Unities abgeben:
Danke für die Antwort. Ich hatte einige Geometrien ausprobiert. Ausser mit einem Quader hatte ich mit jeder Geometrie Schwierigkeiten "surfaceFeatureExtract" auszuführen. Nun ist meine Geometrie ein Rohr. Wie kann ich dann xxx.eMesh für die sHM erstellen???? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
TTB Mitglied CFD Engineer
Beiträge: 353 Registriert: 02.10.2008 BIM HVACTool für Windows OpenFOAM-2.2.x
|
erstellt am: 05. Apr. 2013 18:41 <-- editieren / zitieren --> Unities abgeben: Nur für Bistor
Hallo Bistor, es sollte mit folgendem Befehl funktionieren: "surfaceFeatureExtract "STLname + Endung" -includeAngle <degree>" Wobei der Winkel zwischen 0 und 180 Grad sein sollte. Du könntest auch SnappyHexMesh es überlassen: snapControls { ... implicitFeatureSnap true; ... } Gruß Thomas ------------------ Unsere Software: HVAC TOOL Ein graphisches Interface für OpenFOAM® und TRNSYS Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 05. Apr. 2013 18:59 <-- editieren / zitieren --> Unities abgeben: Nur für Bistor
|
Ay Mitglied
Beiträge: 36 Registriert: 20.02.2013
|
erstellt am: 06. Apr. 2013 17:49 <-- editieren / zitieren --> Unities abgeben: Nur für Bistor
Ich frage mal hier nach, da es zum Thema passt. Ich habe ein Hintergrundnetz erzeugt, dass alle BC's beinhaltet, als *.unv rausgeschrieben und konvertiert. Keine Fehler. Dann habe ich mir eine einfache Geometrie mit Salome gebastelt (Kegel), als *stl (Cone.stl) rausgeschrieben, und es in /constant/triSurface abgelegt. Ich möchte mit sonicFoam rechnen. Die Startfiles habe ich mir aus dem Tutorial rauskopiert. Daneben habe ich aus der Brückensimulation von Shorty die Dateien "decomposeParDict" und "snappyHexMeshDict" in /system reinkopiert. Im "snappyHexMeshDict" habe den entsprechenden Namen "Bruecke" mit "Cone" ersetzt: geometry { Cone.stl { type triSurfaceMesh; name Cone; } }; . . features ( { file "Cone.eMesh"; level 0; } ); Nach dem ich "snappyHexMesh" im Terminal ausführe, kommt aber folgender Fehler: nProcs : 1 sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). fileModificationChecking : Monitoring run-time modified files using timeStampMaster allowSystemOperations : Disallowing user-supplied system call operations // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0 Read mesh in = 0 s Overall mesh bounding box : (0 -125 -125) (1500 125 125) Relative tolerance : 1e-06 Absolute matching distance : 0.0015411 Reading refinement surfaces. Read refinement surfaces in = 0.02 s Reading refinement shells. Read refinement shells in = 0 s Setting refinement level of surface to be consistent with shells. Checked shell refinement in = 0 s Reading features. --> FOAM FATAL IO ERROR: cannot find file
file: /home/ay/OpenFOAM/ay-2.2.0/run/FirstCase_Step/constant/triSurface/Cone.eMesh at line 0. From function regIOobject::readStream() in file db/regIOobject/regIOobjectRead.C at line 73. FOAM exiting Kann mir vielleicht sagen, wo der Fehler ist? [Diese Nachricht wurde von Ay am 06. Apr. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bartholomew83 Mitglied Student
Beiträge: 62 Registriert: 20.08.2012
|
erstellt am: 06. Apr. 2013 22:35 <-- editieren / zitieren --> Unities abgeben: Nur für Bistor
|
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 07. Apr. 2013 01:11 <-- editieren / zitieren --> Unities abgeben: Nur für Bistor
Nicht ganz. du musst nur "surfaceFeatureExtract" ausführen aber dabei noch eine surfaceFeatureExtractDict oder surfaceFeatureEdgeDict im Systemordner haben. Weiß grad nicht auswendig, wie der Befehl lautet. -> OF-2.2. arbeitet anders in einigen Dingen. ------------------ Grüße Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ay Mitglied
Beiträge: 36 Registriert: 20.02.2013
|
erstellt am: 07. Apr. 2013 14:06 <-- editieren / zitieren --> Unities abgeben: Nur für Bistor
Ah ok danke! Ich hab mir so ein File aus einem Tutorial rausgezogen. Ich hab jetzt surfaceFeatureExtract und snappyHexMesh ausführen lassen. Es läuft auch ohne Fehler durch. Jedoch hat er meine Geometrie außer Acht gelassen und einfach das Hintergrundnetz bearbeitet und aus einem Hexaedernetz ein Tetraedernetz gemacht. Woran könnte denn das liegen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 07. Apr. 2013 17:20 <-- editieren / zitieren --> Unities abgeben: Nur für Bistor
1. wenn sHM keine Geometrie findet, dann wird das Netz auch nicht verändert. 2. sHM erzeugt keine Tetnetze, insofern nichts ein gemacht wird; das ist ein Anzeigeproblem von Paraview. Mit geeigneten Filtern oder entsprechendem Vorgehen kann man das Netz richtig darstellen lassen. 3. Hintergrundnetz erstellen, Case laden und STL File laden. Entsprechend sollte diese vom Hintergrundnetz umschlossen sein. 4. Ausgabe am Bildschirm betrachten; findet sHM eine Geomterie ? ------------------ Grüße Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ay Mitglied
Beiträge: 36 Registriert: 20.02.2013
|
erstellt am: 08. Apr. 2013 09:35 <-- editieren / zitieren --> Unities abgeben: Nur für Bistor
Muss ich eigentlich bei dem Export der Geometrie etwas beachten? Aus irgendeinem Grund erkennt er meine Geometrie nicht. Wenn ich mir den Aufbau des stl-Files in Tutorials anschaue, sehe ich keine Unterschied zu meinem erstellten stl-File. Muss ich vielleicht im snappyHexMeshDict noch was ändern? Namen und die Location, in dem er ein Netz legen soll, habe ich angepasst. Gibt es noch etwas, was ich in /system beachten muss? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bartholomew83 Mitglied Student
Beiträge: 62 Registriert: 20.08.2012
|
erstellt am: 08. Apr. 2013 11:31 <-- editieren / zitieren --> Unities abgeben: Nur für Bistor
Hallo Ay, was meinst Du damit, dass der Deine STL nicht erkennt? Kannst Du diese nicht in paraview laden? Lade die STL mal direkt in paraview. Oder gibt sHM bei der STL eine Fehlermeldung aus? Oder meinst Du, dass nach dem (erfolgreichem) Ausführen von sHM kein Netz vorliegt?! Wenn das nicht vorliegt, überprüfe mal die Ursprungskoordinaten von Hintergrundnetz und STL. Kannst Du beide gleichzeitig (unabhängig voneinander) in paraview reinladen, dann siehst Du, ob die verschoben sind, oder direkt übereinanderliegen. Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
User1000 Mitglied Student
Beiträge: 163 Registriert: 07.06.2011
|
erstellt am: 08. Apr. 2013 12:36 <-- editieren / zitieren --> Unities abgeben: Nur für Bistor
|
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 08. Apr. 2013 13:28 <-- editieren / zitieren --> Unities abgeben: Nur für Bistor
Zitat: Original erstellt von User1000: Hallo, hast du deine Datei als ASCII STL oder als binary STL exportiert? Ich glaube es geht nur ASCII STL! Gruß
Beides geht. Der Vorteil von binär ist einfach die Dateigröße.
------------------ Grüße Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 08. Apr. 2013 13:50 <-- editieren / zitieren --> Unities abgeben: Nur für Bistor
Ach ja, so wie sich das immer anhört, denkst du das sHM das Hintergrundnetz irgendwie so hin schiebt, dass es die Geometrie umschließt. Dem ist aber nicht so. Heißt: Hintergrundnetz + STL müssen koordinatentechnisch passen. ------------------ Grüße Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ay Mitglied
Beiträge: 36 Registriert: 20.02.2013
|
erstellt am: 08. Apr. 2013 21:47 <-- editieren / zitieren --> Unities abgeben: Nur für Bistor
Also ich habe beides in paraview geladen und die Geometrie liegt 100pro im Hintergrundnetz. Darf ich vielleicht jemandem von euch die Dateien schicken und ihr schaut es kurz an? Und wieso hat snappyHexMesh mir Ordner mit den Namen "0.002" und "0.004" erstellt? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
TTB Mitglied CFD Engineer
Beiträge: 353 Registriert: 02.10.2008 BIM HVACTool für Windows OpenFOAM-2.2.x
|
erstellt am: 09. Apr. 2013 07:19 <-- editieren / zitieren --> Unities abgeben: Nur für Bistor
Hi, vielleicht macht ja snappy etwas und dir fällt es bloß nicht auf, weil deine Geometrie ein Loch hat. Dann vernetzt snappy den ganzen Raum. In deiner ControlDict hast du ein DeltaT von 0,002s eingestellt. Daher auch die Ordner: 0, 0.002, 00.004. Viele Grüße Thomas ------------------ Unsere Software: HVAC TOOL Ein graphisches Interface für OpenFOAM® und TRNSYS Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ay Mitglied
Beiträge: 36 Registriert: 20.02.2013
|
erstellt am: 09. Apr. 2013 11:53 <-- editieren / zitieren --> Unities abgeben: Nur für Bistor
Das ist ja nervig, dass ich bei sowas einfachem schon hänge. Meine Geometrie ist mit Salome erstellt. Es ist ein Kegel mit den Radien r1 und r2 sowie einer Höhe. Und ohne noch ins Mesh-Tool zu gehen, habe ich das als stl-File rausgeschrieben. Ich wüsste jetzt nicht, wie sich da ein Loch bilden kann. In Paraview ist ein teilweise sehr verzertes Netz zu sehen, aber ich nehme an, dass das nur eine Darstellung von PV ist. Ok, das habe ich mir schon gedacht, aber wieso erstellt er überhaupt Netze für die ersten zwei Zeitschritte? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 09. Apr. 2013 12:05 <-- editieren / zitieren --> Unities abgeben: Nur für Bistor
Du kannst mir den Case gerne schicken, ich bin jedoch nur noch heute im Lande, dann gehts nach Berlin. -> SnappyHexMesh schreibt für die drei Schritte einzelne Ornder raus 0 (Originalnetz) 0.01 (castellatedMesh) 0.02 (snappedMesh) 0.03 (layerMesh) Die Zeitordner korrelieren zu deiner controlDict. Du kannst das unterdrücken mit snappyHexMesh -overwrite. Hier wird dann dein Netz in constant/polyMesh überschrieben. ------------------ Grüße Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 09. Apr. 2013 12:35 <-- editieren / zitieren --> Unities abgeben: Nur für Bistor
|
Ay Mitglied
Beiträge: 36 Registriert: 20.02.2013
|
erstellt am: 09. Apr. 2013 13:15 <-- editieren / zitieren --> Unities abgeben: Nur für Bistor
Hmm... dann mache ich die Visualierung in paraView anscheinend falsch. Ich habe ebenfalls einen Schnitt reingelegt, aber so sah das dann nicht aus. Noch eine andere Frage: Wie kann ich denn auf meinem angeströmten Objekt einen Wärmefluss definieren? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 09. Apr. 2013 13:22 <-- editieren / zitieren --> Unities abgeben: Nur für Bistor
|
Ay Mitglied
Beiträge: 36 Registriert: 20.02.2013
|
erstellt am: 09. Apr. 2013 13:33 <-- editieren / zitieren --> Unities abgeben: Nur für Bistor
Naja, da ich eine supersonische Strömung simulieren will, sonicFoam aus dem Tutorial. Dh. ich kriege an der Kegelspitze die adiabate Temperatur und habe keine Möglichkeit einen konstanten Wärmeübergang von Fluid auf Solid zu definieren? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 09. Apr. 2013 14:28 <-- editieren / zitieren --> Unities abgeben: Nur für Bistor
|