Autor
|
Thema: snappyMultiRegionHeater nachgebaut (2707 mal gelesen)
|
Gora1000 Mitglied Ingenieur
Beiträge: 23 Registriert: 21.08.2013
|
erstellt am: 08. Okt. 2013 21:04 <-- editieren / zitieren --> Unities abgeben:
Hallo ich versuche seit einigen Tagen, den snappyMultiRegionHeater mit snappyHexMesh zu meshen. Leider bis jetzt ohne erfolg. Ich habe mich soweit am Beispiel von OpenFOAM mit sHM orientiert. Den kopletten Simulationsfall habe ich im Anhang abgelegt. In den stl-Dateien sollten keine Leerräume vorhanden sein. Meshvorgang wird soweit korrekt durchgeführt. Ich erhalte, aber nicht das richtige Gitter. Ich hoffe einer kann mir vielleicht helfen. 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. Okt. 2013 11:15 <-- editieren / zitieren --> Unities abgeben: Nur für Gora1000
Hallo und willkommen im Forum, Hast du deine Geschlossenheit der STL geprüft? Sicherlich hast du mehrere Regionen, oder? Entsprechend musst du mit cellZones arbeiten und diese am Schluss noch separieren. ------------------ Grüße Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Gora1000 Mitglied Ingenieur
Beiträge: 23 Registriert: 21.08.2013
|
erstellt am: 09. Okt. 2013 21:24 <-- editieren / zitieren --> Unities abgeben:
Hallo Tobias danke für die Antwort. Ich habe die einzelnen stl-Dateien mit surfaceCheck soweit überprüft und bei allen drei war das gleiche Ergebnis zu finden. hier mal ein Ausschnitt aus der Prüfung für die airSide.stl:
Code:
Reading surface from "airSide.stl" ...Statistics: Triangles : 20488 Vertices : 10244 Bounding Box : (0 0 0) (0.4 0.3 0.4) Region Size ------ ---- air_inlet 2728 air_outlet 2800 air_wall 14960 Surface has no illegal triangles.
Triangle quality (equilateral=1, collapsed=0): 0 .. 0.05 : 0 0.05 .. 0.1 : 0 0.1 .. 0.15 : 0 0.15 .. 0.2 : 0 0.2 .. 0.25 : 0 0.25 .. 0.3 : 0 0.3 .. 0.35 : 0 0.35 .. 0.4 : 0 0.4 .. 0.45 : 0 0.45 .. 0.5 : 9.76181e-05 0.5 .. 0.55 : 0.00112261 0.55 .. 0.6 : 0.00209879 0.6 .. 0.65 : 0.0503709 0.65 .. 0.7 : 0.0064916 0.7 .. 0.75 : 0.0132273 0.75 .. 0.8 : 0.26025 0.8 .. 0.85 : 0.047296 0.85 .. 0.9 : 0.0932253 0.9 .. 0.95 : 0.17254 0.95 .. 1 : 0.35328 min 0.488023 for triangle 6729 max 0.999989 for triangle 2817 Edges: min 0.00365585 for edge 14300 points (0.07231 0 0.335352)(0.075725 0 0.334047) max 0.0141422 for edge 17758 points (0.27 0.27 0)(0.26 0.26 0) Checking for points less than 1e-6 of bounding box ((0.4 0.3 0.4) meter) apart. Found 0 nearby points. Surface is closed. All edges connected to two faces. Number of unconnected parts : 1 Number of zones (connected area with consistent normal) : 2 More than one normal orientation. End
dass ich die einzelnen Teilflächen separieren muss ist mir klar. Wenn ich das richtig verstanden habe mache ich es mit paraFoam -touchAll. Ich habe gerade gesehen dass ich noch eine änderung in der sHM-Datei nicht rückgängig gemacht habe. Hier nochmal die korrigierte gekürzte(ohne Kommentare) Version:
Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.2.1 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object autoHexMeshDict; }// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Which of the steps to run castellatedMesh true; snap false; addLayers false; // Geometry. Definition of all surfaces. All surfaces are of class // searchableSurface. // Surfaces are used // - to specify refinement for any mesh cell intersecting it // - to specify refinement for any mesh cell inside/outside/near // - to 'snap' the mesh boundary to the surface geometry { airSide.stl { type triSurfaceMesh; name airSide; regions { air_inlet { name air_inlet; } air_outlet { name air_outlet; } air_wall { name air_wall; } } }/**/
waterSide.stl { type triSurfaceMesh; name waterSide; regions { water_inlet { name water_inlet; } water_outlet { name water_outlet; } water_wall { name water_wall; } } } heaterwall.stl { type triSurfaceMesh; name heaterwall; }/**/ }; castellatedMeshControls { // Refinement parameters // ~~~~~~~~~~~~~~~~~~~~~ maxLocalCells 100000; maxGlobalCells 2000000; minRefinementCells 1; nCellsBetweenLevels 2; // Explicit feature edge refinement // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ features ( { file "airSide.eMesh"; level 2; }/**/ { file "waterSide.eMesh"; level 2; } { file "heaterwall.eMesh"; level 2; } ); // Surface based refinement refinementSurfaces { airSide { // Surface-wise min and max refinement level level (3 4); faceZone airSide; cellZone airSide; cellZoneInside inside; }/**/ waterSide { // Surface-wise min and max refinement level level (4 5); faceZone waterSide; cellZone waterSide; cellZoneInside inside; } heaterwall { // Surface-wise min and max refinement level level (4 5); faceZone heaterwall; cellZone heaterwall; cellZoneInside inside; } } resolveFeatureAngle 30; refinementRegions { } locationInMesh (0.01 0.0102513214 0.010222122); allowFreeStandingZoneFaces false; } snapControls { nSmoothPatch 3; tolerance 1.0; nSolveIter 30; nRelaxIter 5; nFeatureSnapIter 10; } addLayersControls { relativeSizes true; layers { water_wall // a_surface_name { nSurfaceLayers 6; } air_wall// a_surface_name { nSurfaceLayers 6; } } expansionRatio 1.3; finalLayerThickness 1; minThickness 0.1; nGrow 0; featureAngle 30; nRelaxIter 3; nSmoothSurfaceNormals 1; nSmoothNormals 3; nSmoothThickness 2; maxFaceThicknessRatio 0.5; maxThicknessToMedialRatio 1; minMedianAxisAngle 90; nBufferCellsNoExtrude 0; nLayerIter 50; } meshQualityControls { maxNonOrtho 65; maxBoundarySkewness 20; maxInternalSkewness 4; maxConcave 80; minVol 0; minTetQuality 1e-30; minArea -1; minTwist 0.02; minDeterminant 0.001; minFaceWeight 0.02; minVolRatio 0.01; minTriangleTwist -1; nSmoothScale 4; errorReduction 0.75; } debug 0; mergeTolerance 1e-6; // ************************************************************************* //
Das Ergebnis sollte den drei Dateien aus dem Anhang ähnlich sein. Polymesh sieht aber gar nicht so aus. Der Parameter locationInMesh sollte aber soweit richtig sein. Die Dateien airSide.stl und waterSide.stl enthalten 3 Flächen: inlet, outlet und wall. heatereall.stl besteht aus nur einer Fläche. Hast jemand vielleicht noch einen Tipp? Gruß Gora [Diese Nachricht wurde von Gora1000 am 09. Okt. 2013 editiert.] 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: 10. Okt. 2013 22:25 <-- editieren / zitieren --> Unities abgeben: Nur für Gora1000
Hi, also deine Simulation ist eigentlich ein alter Hut So einen ähnlichen Simulationsfall habe ich schon viele male aufgebaut. Auch hier im Forum gibts einige Threads darüber. Wo liegt den dein Problem genau? Du sagst nur das dein Netz nicht so ist wie es sein sollte ?!
------------------ Grüße Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Gora1000 Mitglied Ingenieur
Beiträge: 23 Registriert: 21.08.2013
|
erstellt am: 15. Okt. 2013 21:54 <-- editieren / zitieren --> Unities abgeben:
Hallo Tobias danke für deine Antwort. Ich glaube mein Problem sind meine stl-Dateien. Ich kann dir leider zur Zeit nicht mein Ergebnis zeigen welches falsch ist. Ich werde jetzt noch mal versuchen meine Dateien zu überprüfen und das ganze nicht mit gmsh sondern mit salome erstellen und werde mich in ein paar Tagen, wegen der Ergebnisse melden. Ich hoffe dass es klappt und wenn nicht, hoffe ich auf deine Hilfe. Gruß Gora [Diese Nachricht wurde von Gora1000 am 15. Okt. 2013 editiert.] 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: 16. Okt. 2013 08:56 <-- editieren / zitieren --> Unities abgeben: Nur für Gora1000
|
Gora1000 Mitglied Ingenieur
Beiträge: 23 Registriert: 21.08.2013
|
erstellt am: 30. Okt. 2013 18:16 <-- editieren / zitieren --> Unities abgeben:
Hallo Tobias, leider bin ich bis jetzt ohne Erfolg geblieben und hoffe jetzt auf deine Hilfe. Du hast zu Anfang diesen Beitrags doch gesagt, dass dieses Thema schon vielfach diskutiert worden ist. Kannst mir einen Tipp geben, wo ich am besten anfangen muss zu suchen. Ich habe schon im Forum diverse Beträge gelesen, die helfen bei meinem Problem nicht oder ich verstehe es einfach nicht. Ich bräuchte etwas wo es von anfang an erklärt wird, wie man die stl- Dateien/Geometrie für HX erzeugt. Am besten vielleicht ein Beispiel, den ich selbst erstellen bzw. nachvollziehen könnte. Gruß Gora 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. 2013 21:52 <-- editieren / zitieren --> Unities abgeben: Nur für Gora1000
|
Gora1000 Mitglied Ingenieur
Beiträge: 23 Registriert: 21.08.2013
|
erstellt am: 02. Nov. 2013 13:34 <-- editieren / zitieren --> Unities abgeben:
Hallo, wenn du snappyMultiRegionHeater meist, dann ja. Deine Seite habe ich auch schon gesehen (hab die aber zuerst nicht mit dir in verbindung gebracht) und soweit durchgearbeitet. Insbesondere den Fall mit den separierten Regionen fand ich gut, denn diesen werde ich später auch brauchen, da ich ja nicht ein Rohr sondern später mehrere haben will. Vielleicht könnten wir das Meshen Schritt für Schritt durchgehen. 1. ich habe drei verschiedene stl-Dateien a) Innenrohr b) Rohr c) Luftkanal alle drei sollten in sich geschlossen sein. D.h. für mich Innenrohr beinhaltet die Rohrwand und die beiden Öffnungen als inlet und outlet. Das gleiche gilt für das Rohr selbst wobei hier die Rohrwände, Vorder- und die Rückseite in einem solid der stl-Datein zusammengefasst sind. Der Luftkanal beinhaltet die Kanalwände, den Ein- und Austritt sowie die Wohrwand. Ich habe vor dem Meshen auch versucht die Dateien mit netfab zu reparieren. surfaceCheck habe ich durchgeführt. Hier die letzten vier Zeilen für das Innenrohr:
Code:
Surface is closed. All edges connected to two faces.Number of unconnected parts : 1 Number of zones (connected area with consistent normal) : 2 More than one normal orientation.
Wobei ich hier nur mit der ersten Zeile was Anfangen kann. Wenn das soweit O.K. sein sollte, könnten wir vielleicht mit SHM-Datei weitermachen. 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. Nov. 2013 15:17 <-- editieren / zitieren --> Unities abgeben: Nur für Gora1000
Hi, ja das ist soweit gut. Die Frage die du dir stellen solltest ist folgende: - möchtest du mit Regionen arbeiten - möchtest du mit mehreren STL`s arbeiten
Soll heißen:
Mit Regionen hast du in deiner STL für dein Luftkanal folgendes: - inlet - outlet - luft_to_rohr Ansonsten hast du eben drei einzelne STL Files. Allgemein solltest du immer mit einem Vernetzer deine Oberflächen vernetzen und den Algorithmus nicht ändern. Ansonsten kann es passieren das am Inlet eine andere Triangulation stattfindet wie an der Wand. Dies führt dazu das die Verbindungspunkte von diesen beiden STL Files nicht aufeinanderliegen. Entsprechend erhältst du "Löcher". Das kann dann hin und wieder ziemlich ärgerlich sein. ------------------ Grüße Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Gora1000 Mitglied Ingenieur
Beiträge: 23 Registriert: 21.08.2013
|
erstellt am: 10. Nov. 2013 17:54 <-- editieren / zitieren --> Unities abgeben:
Hallo Tobias, danke für deine Antwort. Wenn ich es richtig verstehe, dann muss das Gitter vom Rohr wo die Strömung stattfindet das gleiche sein wie das von dem tatsächlichen Rohr (Wärmeübergang)? Gruß Gora 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: 11. Nov. 2013 12:14 <-- editieren / zitieren --> Unities abgeben: Nur für Gora1000
|
Gora1000 Mitglied Ingenieur
Beiträge: 23 Registriert: 21.08.2013
|
erstellt am: 15. Nov. 2013 17:20 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe in Nachricht vom 09. Okt. 2013 21:24 oder der dritte Beitrag, die drei Gitter dargestellt. Wir betrachten mal hier das heaterwall und waterSide. Mit meiner letzten Frage meine ich, dass das Gitter von heaterwall (innen) mit dem waterSide (außen) übereinstimmen müsste. Gruß Gora 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: 15. Nov. 2013 17:53 <-- editieren / zitieren --> Unities abgeben: Nur für Gora1000
|
bacengeugn Mitglied Konstrukteur
Beiträge: 181 Registriert: 10.11.2011
|
erstellt am: 10. Sep. 2014 16:06 <-- editieren / zitieren --> Unities abgeben: Nur für Gora1000
|