| |
| Xometry Europe erweitert das Angebot um Vakuumguss und Formpressen, eine Pressemitteilung
|
Autor
|
Thema: SnappyHexMesh (1720 / mal gelesen)
|
MARK123 Mitglied Student
Beiträge: 30 Registriert: 24.08.2016
|
erstellt am: 24. Aug. 2016 14:07 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich bin neu in OF, und bräuchte Hilfe. Als erstes mal eine Frage, ich arbeite unter Windwos und habe mir OF unter cygwin installiert. Seltsamerweise erkennt OF nun keine STL "Extention" ist das normal? Ich habe mir nun mein STL Format in obj umgewandelt. Zu meinen Ziel, ich habe eine STL-Datei, eine Topograpie von 2 Bergen und möchte gerne den Wind der darüber zieht simulieren. Ich habe mir über blockmeshdict ein Mesh definiert in dem ich meine obj.topograpie mit Hilfe von Snappyhexmesh einlese. SnHxMs läuft auch durch und generiert mir 2 neue Ordner 1 und 2 indem polymesh ordner enthalten sind. Mein problem an dem ich schon scheitere, wie kann ich mir das ergebnis in paraview anschauen. Soweit ich recherchiert habe muss ich die dateien zusmamensetzen (reconstructParMesh), ist das richtig?-Und wie genau mach ich das? Danke und Gruss, Markus ------------------ MAR Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010 ESI-OpenCFD OpenFOAM v2312
|
erstellt am: 05. Sep. 2016 12:16 <-- editieren / zitieren --> Unities abgeben: Nur für MARK123
Hallo Markus, da sich hier noch keiner dazu bekannt hat werde ich den Part mal (wieder) übernehmen ... Bezüglich Windows kann ich dir keine Ratschläge geben, da ich nur in Linux arbeite. Somit kann ich dir nicht weiterhelfen. Allerdings hat Windows ja oft die "Extensions" nicht als Code:
myGeo.stl
sondern die Extension wird üblicherweise mit einer Applikation verknüpft und dann verschwindet die einfach. Man sieht dann nur noch: Code:
myGeo
als Dateiname. Das kannst du natürlich über deinen Dateimanager wieder entfernen (also die Verlinkung). Gibt sicher auch noch andere Möglichkeiten aber wie erwähnt, seit über 7 Jahren kein Windows mehr. Daher solltest du immer acht geben ob die Dateinamen auch wirklich korrekt sind. Die zwei neuen Ordner 1 und 2, sind die Einzelschritte für castellation und snapping, die von snappyHexMesh zwei Arbeitsschritte darstellen (vgl. UserGuide). Die muss man nicht mergen. Entweder du kopierst das Netz von 2/polyMesh in constant/polyMesh oder du verwendest einfach folgenden Befehl:
Code:
snappyHexMesh -overwrite
Wie man sowas betrachtet steht im UserGuide. Dazu einfach paraFoam öffnen und fertig. Alternativ eine Datei mit Endung *.foam erstellen und diese in ParaView laden. Ob das alles seine Richtigkeit in Windows hat, kann ich dir nicht sagen. Zur Komplettierung: reconstructParMesh wird verwendet, wenn das Netz im parallel Modi erstellt wird. Sprich, man lässt die Applikation snappyHexMesh mit mehreren CPU's laufen. ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ocelot Mitglied Dipl-Ing. (BA) Maschinenbau
Beiträge: 172 Registriert: 29.04.2006 OpenSUSE Leap 42.2 x64 OpenFOAM-plus OpenFOAM-4.x
|
erstellt am: 05. Sep. 2016 13:01 <-- editieren / zitieren --> Unities abgeben: Nur für MARK123
Hallo Markus, zur "STL"-Dateiendung: Dass diese nicht von snappyHexMesh erkannt wird, ist tatsächlich richtig. Erkannt wird nämlich nur "stl". Die Berücksichtigung der Groß- und Kleinschreibung bei Dateinamen ist bei Linux generell der Standard und scheint offenbar auch bei der Cygwin-Version von Bedeutung zu sein. Viele Grüße Johannes Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 05. Sep. 2016 13:58 <-- editieren / zitieren --> Unities abgeben: Nur für MARK123
Hi Johannes, danke für die Antwort. In Linux ist es selbstverständlich, ja ... habs noch nie in Windows getestet aber es sollte doch möglich sein eine Datei namens MyGeometry.STL in sHM einzutragen. Gut wohlmöglich ist am Source-Code noch was gemacht worden um es für Windows kompatibel zu machen (nur eine Vermutung). Aber gut zu wissen. Kannst du mich bezüglich der Darstellung des Netzes bestätigen? Du scheinst ja in Windows zu arbeiten, oder? ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ocelot Mitglied Dipl-Ing. (BA) Maschinenbau
Beiträge: 172 Registriert: 29.04.2006 OpenSUSE Leap 42.2 x64 OpenFOAM-plus OpenFOAM-4.x
|
erstellt am: 05. Sep. 2016 15:40 <-- editieren / zitieren --> Unities abgeben: Nur für MARK123
Hi Tobias, ja, das Eintragen ist natürlich möglich, nur wird es leider nicht funktionieren: Code: --> FOAM FATAL ERROR: unknown file extension STL. Supported extensions are '.ftr', '.stl', '.stlb', '.gts', '.obj', '.ac', '.off', '.nas', '.tri' and '.vtk' From function bool Foam::triSurface::read(const Foam::fileName&, const Foam::word&, bool) in file triSurface/triSurface.C at line 411. FOAM exiting
Wenn man komplett unter Linux arbeitet, ist das wahrscheinlich nie ein Thema. Da ich in beiden Systemen unterwegs bin (OpenFOAM in einer OpenSUSE-VM unter Windows 7) war mir der "Fehler" bekannt, da bestimmte CAD-Programme unter Windows (u.a. SolidWorks, welches ich benutze) Dateiendungen generell in Großbuchstaben setzen. Viele Grüße Johannes Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MARK123 Mitglied Student
Beiträge: 30 Registriert: 24.08.2016
|
erstellt am: 12. Sep. 2016 07:21 <-- editieren / zitieren --> Unities abgeben:
Danke euch beiden für die Hilfe. Ich hatte meine Datei in obj. umgewandelt, diese wird unter windows erkannt. Ich werde das mit der Große -und Kleinschreibung mal testen Viele Gruüße Ma ------------------ MAR Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MARK123 Mitglied Student
Beiträge: 30 Registriert: 24.08.2016
|
erstellt am: 23. Sep. 2016 12:48 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich noch eine zusätzliche Frage zu SnHxM. Ich versuche ein STL File einzulesen. Blockmesh habe ich "erfolgreich" laufenlassen. Jetzt kommt bei snappy aber immer der Fehler: OAM FATAL ERROR: Point (9.23149 1.0025 1.0025) is not inside the mesh or on a face or edge. Bounding box of the mesh -6.62381e+007 -4.75454e+007 -210000) (6.62381e+007 4.75454e+007 210000). Es geht immer um den Punkt der im Snappy file + zeile 149 definiert ist:locationInMesh (9.23149 1.0025 1.0025) natürlich habe ich recherchiert, im englisch Sprachigen Forum findet man Vorschläge wie die Wand Notation zu ändern oder Kommazahlen. Beides funktioniert nicht. Weiß jemand wofür der "locationinMesh"-Punkt gut ist und wie ich mein problem lösen kann? Danke Mark ------------------ MAR Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cfdtobi Mitglied Student
Beiträge: 67 Registriert: 16.07.2015
|
erstellt am: 23. Sep. 2016 14:35 <-- editieren / zitieren --> Unities abgeben: Nur für MARK123
Hey Mark, locationInMesh gibt einen Punkt innerhalb deines Meshes an von dem aus shm arbeitet. (eventuell nicht fachlich einwandfrei ausgedrückt) Normalerweise sind mögliche Fehlerquellen wie du bereits geschrieben hast, falsche Positionierung des Punktes (außerhalb der boundingBox, was durch falsche Skalierungen recht schnell passieren kann)oder der Punkt liegt direkt auf einem Patch. Deine boundingBox ist eigentlich groß genug und dazu im Vergleich liegt dein locationInMesh ja nahe um den 0-Punkt - sollte von dem Punkt her also passen. Eventuell kann es auch sein (habe ich zumindest schon gelesen, nicht selbst erfahren), dass Probleme entstehen wenn bereits im blockMesh falsch gearbeitet wird. Hier die richtige Orientierung beachten. Stell doch mal die ersten Zeilen vom blockMeshDict rein bis zu den blocks Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ocelot Mitglied Dipl-Ing. (BA) Maschinenbau
Beiträge: 172 Registriert: 29.04.2006 OpenSUSE Leap 42.2 x64 OpenFOAM-plus OpenFOAM-4.x
|
erstellt am: 23. Sep. 2016 19:16 <-- editieren / zitieren --> Unities abgeben: Nur für MARK123
Hallo Markus, der locationInMesh-Punkt muss sich in dem Teil des Netzes befinden, das am Ende der SHM-Vernetzung behalten wird. Wenn eine geschlossene ("wasserdichte") STL-Geometrie verwendet wird - und das ist der Standard - entstehen zwei getrennte Netze: Eines innerhalb und eines außerhalb der STL-Geometrie. Je nachdem, wie der Simulationsfall aussieht, übernimmt man das innere (Beispiel: Rohrströmung) oder das äußere Netz (Beispiel: Fahrzeug-Aerodynamik). Die Definition des locationInMesh-Punktes wird erleichtert, indem man das Basis-BlockMesh und/oder eine oder mehrere der verwendeten STL-Dateien in ParaView öffnet, die Darstellungsoption Wireframe einstellt und anschließend über Menü Sources -> Point Source die Koordinaten des (beabsichtigten) locationInMesh-Punktes einträgt. Wenn ein Netz geladen wurde, diesem evtl. noch eine andere Farbe als Weiß zuweisen, spätestens dann sollte deutlich werden, wo der Punkt liegt und ob das so passt. Viele Grüße Johannes Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MARK123 Mitglied Student
Beiträge: 30 Registriert: 24.08.2016
|
erstellt am: 27. Sep. 2016 15:58 <-- editieren / zitieren --> Unities abgeben:
|
MARK123 Mitglied Student
Beiträge: 30 Registriert: 24.08.2016
|
erstellt am: 26. Okt. 2016 13:43 <-- editieren / zitieren --> Unities abgeben:
Ich muss diesen Thread doch nochmal öffnen. Ich habe mir inzwischen Openfoam-dev in eine Ubuntu VM installiert. Funktioniert alles wunderbar (bisher mit vtk file gearbeitet). Nun wollte ich wieder ein stl file einlesen und bekomme die gleiche Fehlermeldung wie unter Windows: "Unknown file extention stl for file...." Valid extentions are: (bdf eMesh featureEdgeMesh inp nas obj vtk) Ist das ein bug? Mark ------------------ MAR Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010 ESI-OpenCFD OpenFOAM v2312
|
erstellt am: 26. Okt. 2016 13:52 <-- editieren / zitieren --> Unities abgeben: Nur für MARK123
Nein das ist kein Bug weil tausende von FOAM-Usern STL's verwenden und wenn du die Tutorials angeschaut hast oder meine Tutorials, dann wäre die Frage überflüssig bezüglich Bug, da überall STL's verwendet werden . Ich empfehle dir deinen Case hochzuladen und dann können wir weiter diskutieren. Alles andere macht keinen großen Sinn. Übrigens verweis ich dich gleich mal auf den ersten gepinnten Thread. Deine Informationsangaben sind nämlich alles andere als spärlich. Wäre genauso wenn ich Fragen würde, das in meinem C++ Programm der Fehler kommt "Pointer Not Valid" und ich würde fragen wieso By the way, ich hoffe nicht das du die STL Datei nicht in der "featureEdges" verwenden möchtest. Das geht natürlich gar nicht. ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MARK123 Mitglied Student
Beiträge: 30 Registriert: 24.08.2016
|
erstellt am: 28. Okt. 2016 10:09 <-- editieren / zitieren --> Unities abgeben:
Die Frage nach dem Bug bezog sich eher auf die OF-Version "dev" da ich sonst niemanden kennen der damit arbeitet (was natürlich nichts heißen muss)! Ich dachte das ich in diesem Falle keine weiteren Angaben machen muss, ich führe Blockmesh aus, dann snHeyMesh. Mit anderen Formaten wie obj, oder vkt funktioniert das ohne probleme nur mit stl datei nicht! Auch wenn das etwas unbefriedigend ist,aber habe die Datei einfach in vtk konvertiert, dann flupt das! Güße Mark ------------------ MAR Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010 ESI-OpenCFD OpenFOAM v2312
|
erstellt am: 28. Okt. 2016 16:45 <-- editieren / zitieren --> Unities abgeben: Nur für MARK123
|