Autor
|
Thema: snappyhexMesh wrongFaces (2861 mal gelesen)
|
schingel Mitglied Student
Beiträge: 23 Registriert: 15.08.2015
|
erstellt am: 28. Okt. 2015 16:05 <-- editieren / zitieren --> Unities abgeben:
Hi, arbeite nun schon eine weile mit shm und es kommen immer wieder neue Probleme, die ich einfach nicht durchblicke! habe meine Geometrie mittels autodesk erstellt, in Salome importiert und die STL-Dateien dann in openFOAM importiert! surfaceCheck und checkMesh alles fein und gut, aber nach dem ich snappy durchlaufen lasse, erhalte ich ein set case mit wrongFaces, habe mir diese auch mittels foamToVTK in ParaView anzeigen lassen... manchmal ist es nur eine kleine Stelle an der Geometrie, aber oftmals wird mir einfach die komplette Geometrie als wrong face angezeigt ich muss ehrlich gestehen, hab kein Plan, was mir snappy bzw. openFoam damit sagen will... könnte mir evtl jemand erklären, was ich hier falsch gemacht habe? außerdem bekomme ich von snappy auch immer die meldung: Checking faces in error : non-orthogonality > 65 degrees : 0 faces with face pyramid volume < 1e-13 : 29117 faces with face-decomposition tet quality < 1e-15 : 0 faces with concavity > 80 degrees : 0 faces with skewness > 4 (internal) or 20 (boundary) : 0 faces with interpolation weights (0..1) < 0.05 : 0 faces with volume ratio of neighbour cells < 0.01 : 0 faces with face twist < 0.02 : 0 faces on cells with determinant < 0.001 : 0 auch hier weiss ich nicht was mit "faces with face pyramid volume < 1e-13" gemeint ist! wär sehr sehr cool, wenn mich hier jemand ml aufklären könnte vielen herzlichen dank schonmal!!
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: 28. Okt. 2015 21:17 <-- editieren / zitieren --> Unities abgeben: Nur für schingel
Hi, - http://openfoamwiki.net/images/f/f0/Final-AndrewJacksonSlidesOFW7.pdf
- Ich denk aus dem Link solltest du schlau werden, ansonsten kurzum: du versuchst extreme Zellen zu erstellen das den Qualitätsanforderungen nicht entspricht. Das kann mehrere Ursachen haben
- Bilder sagen mehr als 100 Worte, ein Case sagt noch mehr
------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
schingel Mitglied Student
Beiträge: 23 Registriert: 15.08.2015
|
erstellt am: 29. Okt. 2015 19:01 <-- editieren / zitieren --> Unities abgeben:
hey Tobi, erstmal danke für deine Antwort! Ich hab jetzt einfach das qualityMeshDict angepasst und somit die wrong faces unterbunden, am Ergebnis hat es qualitativ nicht sehr viel verändert, mein Mesh lässt immer noch zu wünschen übrig hab jetzt auch viel mit den castellatedMeshControls und snapControls rumgespielt, ohne wirklichen Erfolg! ich verzweifel langsam an snappy!!! anbei mein case, wäre ziemlich nice, wenn du ihn dir mal anschauen könntest vielen dank! 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: 29. Okt. 2015 23:03 <-- editieren / zitieren --> Unities abgeben: Nur für schingel
Hey, ist ja schön das du die gleiche Ordnerstruktur hast wie ich. Da weiß ich sofort wo was ist. Also erstens kannst du deine STL ruhig feiner machen. Vor allem deine Rundungen sind wirklich nich schön approximiert. Dann sollte dein Hintergrundnetz noch feiner sein; ich bevorzuge das BG mesh immer um Faktor 2 oder 1.5 zu vergrößern. (Salome -> Center of Mass -> Scale -> fertig). Die Qualitätskriterien sind nicht dazu da um diese auszuschalten Im Anhang ist dein funktionsfähger Case ohne Problemfaces oder sonstigen Sachen. In dem Sinn, gute Nacht euch allen. ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
schingel Mitglied Student
Beiträge: 23 Registriert: 15.08.2015
|
erstellt am: 30. Okt. 2015 12:55 <-- editieren / zitieren --> Unities abgeben:
heyhey, vielen dank für deine Hilfe und dein Case! bin grad dabei meine STL zu verfeiern! ich verstehe nicht wirklich was du mit Center of Mass meinst. Finde zwar dieses Tool in Salome, dann dort aber nichts verändern! und meinst du mit backgroundMesh vergrößern, dass die boundingBox nicht unbedingt die Größe der Geometrie haben muss, sondern besser etwas größer ist? 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: 30. Okt. 2015 14:00 <-- editieren / zitieren --> Unities abgeben: Nur für schingel
Hi, also du erstellst dein Backgroundmesh sicher mit der Boundingbox, welche du um deine Geometrie legen kannst, oder? Auf diese Box wendest du dann das "Centre of Mass" an, sodass du den Mittelpunkt der Box bekommst. Beim Skalieren, nimmst du als Zentrum dann diesen Mittelpunkt, sodass du eine gleichmäßig - ausgehend vom Schwerpunkt der Box - Vergrößerung in alle 3 Raumrichtungen bekommst. Das BG-Mesh soll die Geometrie einschließen. Heißt aber nicht das man nicht direkt die Boundingbox nehmen kann. Persönlich skaliere ich das Hintergrundnetz in Salome immer um einen gewissen Faktor; das hat diverse Gründe. Man kanns auch via "transformPoints" machen, sofern man diesen Weg gehen möchte. Wie du letzten Endes dein Hintergrundnetz orientierst, in der Größe definierst und die Anzahl der Netzzellen auslegst, ist dir überlassen. Viele Wege führen nach Rom und das trifft vor allem bei FOAM zu. ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
schingel Mitglied Student
Beiträge: 23 Registriert: 15.08.2015
|
erstellt am: 30. Okt. 2015 18:32 <-- editieren / zitieren --> Unities abgeben:
erstmal vielen dank für deine Erklärung, die war sehr verständlich! habs jetzt auch hinbekommen habe mir deine Tipps zur Herzen genommen und die STLs noch einmal feiner gemacht aber sobald ich es versuche mit Snappy zu meshen, tauchen wieder Fehler auf Die Spitze von meiner Spritze wird mir einfach weggesnappt... (s. Anhang), habe mir auch deinen Case angeschaut und versucht einige Sachen zu übernehmen... aber keine Chance, snappy ist da echt stur... bitte korrigier mich wenn ich da ein Verständnisfehler habe: wenn ich einen Zylinder habe der die Länge 0.02 m und den Radius 0.00015 m hat und ich einen searchable Cylinder um den Zylinder herumlege um ihn zu refinen, ist es doch richtig wenn ich für den searchable Cylinder die Punkte (0 0 0) (0 0 0.02) und den Radius 0.00015 wähle... oder? eine andere Frage: ist es möglich das Mesh mit Salome direkt als unv-Datei in OpenFOAM zu importieren und so snappyHexMesh umgehen? tut mir leid, dass ich vllt manchmal blöde Fragen stelle, mache im Moment meine Masterarrbeit mit Openfoam und mein Betreuer bzw. keiner der Mitarbeiter am Lehrstuhl hat schonmal intensiv mit Openfoam gearbeitet und kann mir weiterhelfen! Bin auch sehr sehr sehr froh, dass ich in diesem Forum immer Leute finde, die mir weiterhelfen
schönen Abend und schänes Wochenende! 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: 30. Okt. 2015 23:51 <-- editieren / zitieren --> Unities abgeben: Nur für schingel
Zitat: Original erstellt von schingel: [i]erstmal vielen dank für deine Erklärung, die war sehr verständlich! habs jetzt auch hinbekommen
Gerne Zitat:
habe mir deine Tipps zur Herzen genommen und die STLs noch einmal feiner gemacht aber sobald ich es versuche mit Snappy zu meshen, tauchen wieder Fehler auf
Nicht wirklich... deine STL ist zwar an der großen Rundung besser aber unten ist das ja noch genauso schlecht wie zuvor und das ist ja die interessante Stelle (also die Nadel).
Zitat:
Die Spitze von meiner Spritze wird mir einfach weggesnappt... (s. Anhang), habe mir auch deinen Case angeschaut und versucht einige Sachen zu übernehmen... aber keine Chance, snappy ist da echt stur...
Du machst Fehler und zwar schneidet sHM deine Spitze weg, weil sHM die nicht findet. Siehe das Bild im Anhang. Du hast hier überhaupt keine Intersektion von deiner Surface mit irgendwelchen Zellen! Bitte lies dir dazu sHM im User-Guide an wenn du da noch Verständisprobleme hast.
Zitat:
wenn ich einen Zylinder habe der die Länge 0.02 m und den Radius 0.00015 m hat und ich einen searchable Cylinder um den Zylinder herumlege um ihn zu refinen, ist es doch richtig wenn ich für den searchable Cylinder die Punkte (0 0 0) (0 0 0.02) und den Radius 0.00015 wähle... oder?
Richtig aber sHM wird dir in diesem Fall nix verfeinern weil der Zylinder dein BG-Mesh nicht schneidet und somit keine Intersektion gibt. Ergo keine Verfeinerung, ergo deine Spitze wird nicht erkannt und einfach weggeschnitten. Zitat:
eine andere Frage: ist es möglich das Mesh mit Salome direkt als unv-Datei in OpenFOAM zu importieren und so snappyHexMesh umgehen?
Ja ist es. Entweder du machst ein Tetraedernetz -> unv und dann konvertieren oder du machst betreibst wesentlich mehr Aufwand und machst ein Hexmesh. Ist dann ähnlich aufzubauen wie in ICEM. Heißt also du brauchst Würfelähnliche Volumine (immer 6 Seitenflächen). Das geht bei einfachen Geometrien aber bei Komplexen wirds schwer bis gar nich machbar. Zitat:
tut mir leid, dass ich vllt manchmal blöde Fragen stelle, mache im Moment meine Masterarrbeit mit Openfoam und mein Betreuer bzw. keiner der Mitarbeiter am Lehrstuhl hat schonmal intensiv mit Openfoam gearbeitet und kann mir weiterhelfen! Bin auch sehr sehr sehr froh, dass ich in diesem Forum immer Leute finde, die mir weiterhelfen
Das kenn ich,... Bachelorarbeit Wärmeübertragung mit FOAM, keine Hilfe außer vom Thomas Tian. Danach Masterarbeit in der Verbrennung mit OpenFOAM,... auch ohne Hilfe anderer. Allerdings konnte ich da so viel Wissen sammeln das ich jetzt viele Bereiche kenne/kann/weis. Allerdings ist die CFD ein zu großes Themengebiet, sodass ich bspw. mit turbulenten Ablösungen noch keine Erfahrung gemacht habe. Grüße und gutes Gelingen
PS: Verwende bei der Vernetzung ein um den Faktor 1000 oder größer skalierte STL. Dadurch kannst du schon mal einige Qualitätskriterien umgehen. Am Schluss natürlich zurückskalieren. ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
schingel Mitglied Student
Beiträge: 23 Registriert: 15.08.2015
|
erstellt am: 31. Okt. 2015 10:54 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Shor-ty:
Du machst Fehler und zwar schneidet sHM deine Spitze weg, weil sHM die nicht findet. Siehe das Bild im Anhang. Du hast hier überhaupt keine Intersektion von deiner Surface mit irgendwelchen Zellen! Bitte lies dir dazu sHM im User-Guide an wenn du da noch Verständisprobleme hast.
woran seh ich denn überhaupt, was snappy macht, oder welche Regionen sie mir verfeinert oder nicht? ich kenn nur, dass ich mir meinen blockMesh bzw. backgroundMesh in paraView laden kann und mir anschauen kann, ob der Block meine Geometrie umschliesst... Zitat: Original erstellt von Shor-ty:
PS: Verwende bei der Vernetzung ein um den Faktor 1000 oder größer skalierte STL. Dadurch kannst du schon mal einige Qualitätskriterien umgehen. Am Schluss natürlich zurückskalieren.
habe bisher immer vor snappyhexMesh in meine Endeinheit mittels surfaceTransformPoints skaliert, wusste gar nicht, dass nach dem Snappen das Skalieren auch noch möglich ist... wird das dann auch mit surfaceTransformPoints gemacht? 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: 31. Okt. 2015 11:16 <-- editieren / zitieren --> Unities abgeben: Nur für schingel
Hi, woran du das siehst -> snappen und layering auf false setzen. SnappyHexMesh laufen lassen und dann das Netz anschauen. Dann weißt du was sHM verfeinert und wegschneidet. Zudem hilft die Ausgabe von sHM. Verzeihung das ich das Bild vergessen habe. Liefere ich vllt später nach. Wieso sollte das skalieren nicht gehen? Dein Netz besteht im Allgmeinen nur aus Punkten, deren Koordinaten in einer Liste zusammengefasst sind. Ob du jetzt ein Punkt hast mit P1(3,5,2) [m] oder P1(0.003,0.005,0.002) spielt ja für das Netz keine Rolle. Zusätzlich ist surfaceTransformPoints, allgemein alles was mit "surface*" zu tun hat für deine STL und nicht für das numerische Netz. Hierfür wird transformPoints verwendet. ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
schingel Mitglied Student
Beiträge: 23 Registriert: 15.08.2015
|
erstellt am: 03. Nov. 2015 15:00 <-- editieren / zitieren --> Unities abgeben:
|
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 03. Nov. 2015 17:28 <-- editieren / zitieren --> Unities abgeben: Nur für schingel
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|