| |  | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: Steigende Courant-Zahl bei sinkender Geschwindigkeit (2729 mal gelesen)
|
MAopen Mitglied

 Beiträge: 10 Registriert: 11.09.2013 OpenFOAM 2.2
|
erstellt am: 11. Sep. 2013 10:11 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich untersuche zur Zeit Strömungen in Kavernen und habe dazu ein Modell in OpenFoam aufgestellt, welches aus einem Zylinder mit einem an der Seite angeschlossenem Diffusor besteht. Als Inlet ist der Diffusor definiert, wo das Fluid mit 10 m/s; 7.5 m/s; 5m/s und 2.5 m/s einströmen soll. In diesen 4 Modellen wird das selbe Netz verwendet, nur die RB für u am Inlet-Patch wird geändert. Die Berechnungen für 10 und 7,5 m/s laufen bisher stabil, somit gehe ich zur Zeit davon aus, dass das Netz in Ordnung ist. Bei 5 m/s, sowie 2,5 m/s kommt es schon nach ein paar Sekunden zum Abbruch, da die Coruant-Zahl in die hunderte steigt. Für mich ziemlich unverständlich, da eine niedrigere Geschwindigkeit eigentlich zu iener kleineren Courant-Zahl führen müsste. Verwendeter Solver: PIMPLE mit K-E-Modell Kann sich jemand dies erklären oder hat eine Idee zu einem möglichen Ansatz zur Problemlösung? Vielen Dank im voraus. Sollten noch weitere/detailierte Informationen notwendig sein einfach melden. Gruß MAopen [Diese Nachricht wurde von MAopen am 11. Sep. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
     

 Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 11. Sep. 2013 12:16 <-- editieren / zitieren --> Unities abgeben:          Nur für MAopen
Hallo und Willkommen im Forum, Ideen viele - Fehlermöglichkeiten viele  1. musst du instationär rechnen? 2. wie sieht deine Initialisierung aus? 3. Die Resultate von den zuvor berechneten Ergebnissen auf Plausibilität betrachtet? 4. checkMesh sagt was? 5. Welches dT gibst du vor? 6. suchst du nur die stationäre Lösung? 7. Möglichkeit dein Feld zu Mappen? Also die Lösung von 7,5 herzunehmen und dann auf 5 abzusetzen? 8. Welche Schemen verwendest du? 9. Bild deines Netzes? 10. Änderst du deine k-Eps. Werte? 11. Schon mal berechnet ob du mit 2,5 m/s noch Turbulent bist? Bei transienten Berechnungen ist die Initialisierung wichtig. Die Co-Zahl setzt sich aus deiner Gitterweite, der Geschwindigkeit und dem Zeitschritt zusammen. Jetzt kannst du ganz einfach ableiten an was es liegt. Wahrscheinlich erhältst du bei den ersten Berechnungen irgendwelche unsauberen U Werte (oder auch p); die wiederum hängen ab von U/p/k/Epsilon/... Gibt als jede menge Fehlermöglichkeiten. ------------------ Grüße Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MAopen Mitglied

 Beiträge: 10 Registriert: 11.09.2013 OpenFOAM 2.2
|
erstellt am: 11. Sep. 2013 14:16 <-- editieren / zitieren --> Unities abgeben:         
Danke für diese sehr schnelle Reaktion! zu 1): Ja es ist eine instationäre Berechnung erforderlich. Es geht um Strömungsverhalten beim entleeren und füllen des Zylinders. zu 2): Ich habe einen Initialwasserstand definiert. Die Initialwerte für k und Epsilon habe ich gemäß OpenFOAM Handbuch berechnet.
Code: FoamFile { version 2.0; format ascii; class volVectorField; location "0"; object U; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //dimensions [0 1 -1 0 0 0 0]; internalField uniform (0 0 0); boundaryField { defaultFaces { type empty; } Inlet { type fixedValue; value uniform (2.5 0 0); } atmosphere { type pressureInletOutletVelocity; value uniform (0 0 0); } diffusorWall { type fixedValue; value uniform (0 0 0); } kaverneWall { type fixedValue; value uniform (0 0 0); } bottom { type fixedValue; value uniform (0 0 0); } }
Code: FoamFile { version 2.0; format ascii; class volScalarField; location "0"; object k; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //dimensions [0 2 -2 0 0 0 0]; internalField uniform 0,0234375; boundaryField { Inlet { type fixedValue; intensity 0.05; value uniform 0,0234375; } diffusorWall { type kqRWallFunction; value uniform 0,0084378; } kaverneWall { type kqRWallFunction; value uniform 0,0009375; } bottom { type kqRWallFunction; value uniform 0,0009375; } atmosphere { type inletOutlet; inletValue uniform 0,0009375; value uniform 0,0009375; } defaultFaces { type empty; } }
Code: FoamFile { version 2.0; format ascii; class volScalarField; location "0"; object epsilon; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //dimensions [0 2 -3 0 0 0 0]; internalField uniform 0.00215287; boundaryField { Inlet { type fixedValue; value uniform 0.00215287; } kaverneWall { type epsilonWallFunction; value uniform 0,000017223; } diffusorWall { type epsilonWallFunction; value uniform 0,00046502; } bottom { type epsilonWallFunction; value uniform 0,000017223; } atmosphere { type inletOutlet; inletValue uniform 0,000017223; value uniform 0,000017223; } defaultFaces { type empty; } }
Code: FoamFile { version 2.0; format ascii; class volScalarField; location "0"; object nut; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //dimensions [0 2 -1 0 0 0 0]; internalField uniform 0.00001; boundaryField { Inlet { type fixedValue; value uniform 0,00001; } kaverneWall { type nutkRoughWallFunction; Ks uniform 0.03; Cs uniform 0.05; value uniform 0; } diffusorWall { type nutkRoughWallFunction; Ks uniform 0.001; Cs uniform 0.5; value uniform 0; } bottom { type nutkRoughWallFunction; Ks uniform 0.01; Cs uniform 0.05; value uniform 0; } atmosphere { type inletOutlet; inletValue uniform 5e-07 value uniform 5e-07; } defaultFaces { type empty; } }
Code: FoamFile { version 2.0; format ascii; class volScalarField; object p_rgh; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //dimensions [1 -1 -2 0 0 0 0]; internalField uniform 0; boundaryField { defaultFaces { type empty; } Inlet { type buoyantPressure; value uniform 0; } atmosphere { type totalPressure; p0 uniform 0; U U; phi phi; rho rho; psi none; gamma 1; value uniform 0; } diffusorWall { type buoyantPressure; value uniform 0; } kaverneWall { type buoyantPressure; value uniform 0; } bottom { type buoyantPressure; value uniform 0; } } } }
zu 3): Die Ergebnisse aus der Simulation mit 10 m/s sind bisher plausibel zu 4): Ausgabe von checkMesh:
Code: Create timeCreate polyMesh for time = 0 Time = 0 Mesh stats points: 1674235 faces: 4915035 internal faces: 4812062 cells: 1621287 faces per cell: 5.99961 boundary patches: 6 point zones: 0 face zones: 0 cell zones: 0 Overall number of cells of each type: hexahedra: 1599156 prisms: 14094 wedges: 0 pyramids: 0 tet wedges: 46 tetrahedra: 0 polyhedra: 7991 Breakdown of polyhedra by number of faces: faces number of cells 4 1166 5 1019 6 1643 7 52 8 46 9 2748 10 4 12 1109 15 198 18 6 Checking topology... Boundary definition OK. Cell to face addressing OK. Point usage OK. Upper triangular ordering OK. Face vertices OK. Number of regions: 1 (OK). Checking patch topology for multiply connected surfaces... Patch Faces Points Surface topology defaultFaces 0 0 ok (empty) atmosphere 19638 19773 ok (non-closed singly connected) kaverneWall 36186 36959 ok (non-closed singly connected) diffusorWall 27065 28347 ok (non-closed singly connected) Inlet 446 472 ok (non-closed singly connected) bottom 19638 19773 ok (non-closed singly connected) Checking geometry... Overall domain bounding box (49.9749 50.0097 530) (156.01 129.991 561.5) Mesh (non-empty, non-wedge) directions (1 1 1) Mesh (non-empty) directions (1 1 1) Boundary openness (-5.3222e-16 2.14015e-16 -3.19902e-14) OK. Max cell openness = 3.75754e-16 OK. Max aspect ratio = 5.39895 OK. Minimum face area = 0.000801674. Maximum face area = 0.387406. Face area magnitudes OK. Min volume = 0.000235464. Max volume = 0.179732. Total volume = 158365. Cell volumes OK. Mesh non-orthogonality Max: 46.8521 average: 2.33076 Non-orthogonality check OK. Face pyramids OK. Max skewness = 2.77105 OK. Coupled point location match (average 0) OK. Mesh OK. End
zu 5): deltaT mit 0.001 und adjustTimeStep yes; zu 7): Diese Funktion ist mir bisher noch nicht bekannt, von daher kann ich dazu auch nichts sagen. zu 8):
Code: FoamFile { version 2.0; format ascii; class dictionary; location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //ddtSchemes { default Euler; } gradSchemes { default cellMDLimited Gauss linear 1; grad(p) cellMDLimited Gauss linear 1; grad(U) cellMDLimited Gauss linear 1; } divSchemes { div(rho*phi,U) Gauss linearUpwindV grad(U); div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss interfaceCompression; div((muEff*dev(T(grad(U))))) Gauss linear; div(phi,U) Gauss linearUpwindV grad(U); div(phi,k) Gauss upwind; div(phi,epsilon) Gauss upwind; div(phi,R) Gauss upwind; div(R) Gauss linear; div(phi,nuTilda) Gauss upwind; } laplacianSchemes { default Gauss linear corrected; } interpolationSchemes { default linear; } snGradSchemes { default corrected; } fluxRequired { default no; p_rgh; pcorr; alpha1; }
zu 9) siehe Anhang zu 10) ja ich habe meine K-Epsilon entsprechend der Geschwindigkeit angepasst (Die Code-Beispiele sind aus dem Modell mit u=2.5 m/s zu 11) Nach meiner Berechnung ist dies noch eindeutig turbulent. Der Diffusor hat am Anfang (Inlet) einen Durchmesser von 3 m und öffnet sich zum Ende auf 6 m Zur weiteren Info: Der Zylinder hat einen Durchmesser von 80 m. Der Diffusor eine Länge von ungefähr 24 m. Wenn ich das Modell laminar rechne kommt es bisher auch nicht zu einem Abbruch (zu hohe CO-Zahl) Ich habe mir den letzten Zeitschritt der Berchnung angeschaut und festgestellt, dass der k-Wert auf einmal unverhältnismäßig zunimmt. Code:
Create timeCreate mesh for time = 0 PIMPLE: Operating solver in PISO mode
Reading field p_rgh Reading field U Reading/calculating face flux field phi Reading transportProperties Selecting incompressible transport model Newtonian Selecting incompressible transport model Newtonian Selecting turbulence model type RASModel Selecting RAS turbulence model kEpsilon bounding k, min: 0 max: 0 average: 0 bounding epsilon, min: 0 max: 0.00215287 average: 0.00215287 kEpsilonCoeffs { Cmu 0.09; C1 1.44; C2 1.92; sigmaEps 1.3; } ................... ... .. . .. ... ................... MULES: Solving for alpha1 Phase-1 volume fraction = 0.699407 Min(alpha1) = -1.57111e-27 Max(alpha1) = 1.12764 MULES: Solving for alpha1 Phase-1 volume fraction = 0.699406 Min(alpha1) = -3.26317e-26 Max(alpha1) = 1.1261 DICPCG: Solving for p_rgh, Initial residual = 1.23057e-05, Final residual = 5.65557e-07, No Iterations 2 time step continuity errors : sum local = 6.09002e-05, global = -1.42827e-08, cumulative = 0.000192769 DICPCG: Solving for p_rgh, Initial residual = 5.71347e-07, Final residual = 9.89904e-08, No Iterations 5 time step continuity errors : sum local = 1.06593e-05, global = 8.42145e-07, cumulative = 0.000193611 DICPCG: Solving for p_rgh, Initial residual = 1.01194e-07, Final residual = 8.32251e-08, No Iterations 1 time step continuity errors : sum local = 8.96172e-06, global = 8.73624e-07, cumulative = 0.000194485 DILUPBiCG: Solving for epsilon, Initial residual = 0.999948, Final residual = 2.02614e-10, No Iterations 2 bounding epsilon, min: -0.000200219 max: 0.00215287 average: -1.01316e-08 DILUPBiCG: Solving for k, Initial residual = 0.000532473, Final residual = 2.14988e-12, No Iterations 2 bounding k, min: 0 max: 0.000456849 average: 3.97344e-10 ExecutionTime = 315.54 s ClockTime = 373 s Courant Number mean: 0.000292291 max: 0.131306 Interface Courant Number mean: 1.4655e-07 max: 0.12659 deltaT = 0.00844156 Time = 0.132468 MULES: Solving for alpha1 Phase-1 volume fraction = 0.699406 Min(alpha1) = -4.66467e-25 Max(alpha1) = 1.11727 MULES: Solving for alpha1 Phase-1 volume fraction = 0.699406 Min(alpha1) = -5.42317e-26 Max(alpha1) = 1.10897 DICPCG: Solving for p_rgh, Initial residual = 1.30674e-05, Final residual = 5.87482e-07, No Iterations 2 time step continuity errors : sum local = 7.80785e-05, global = 2.45168e-06, cumulative = 0.000196936 DICPCG: Solving for p_rgh, Initial residual = 5.91596e-07, Final residual = 8.32278e-08, No Iterations 17 time step continuity errors : sum local = 1.10611e-05, global = 1.45545e-06, cumulative = 0.000198392 DICPCG: Solving for p_rgh, Initial residual = 8.63097e-08, Final residual = 8.63097e-08, No Iterations 0 time step continuity errors : sum local = 1.14708e-05, global = 1.45333e-06, cumulative = 0.000199845 DILUPBiCG: Solving for epsilon, Initial residual = 1, Final residual = 6.99783e-11, No Iterations 1 bounding epsilon, min: -9.58895e-07 max: 0.00215287 average: 1.01059e-12 DILUPBiCG: Solving for k, Initial residual = 0.913278, Final residual = 4.76022e-09, No Iterations 10 bounding k, min: 0 max: 93.5892 average: 0.00117975 ExecutionTime = 328.34 s ClockTime = 388 s Courant Number mean: 0.000294611 max: 0.690599 Interface Courant Number mean: 1.65333e-07 max: 0.690599 deltaT = 0.00844156 Time = 0.140909 MULES: Solving for alpha1 Phase-1 volume fraction = 0.699405 Min(alpha1) = -1.11723e-25 Max(alpha1) = 1.13522 MULES: Solving for alpha1 Phase-1 volume fraction = 0.699405 Min(alpha1) = -1.11723e-25 Max(alpha1) = 1.80117 DICPCG: Solving for p_rgh, Initial residual = 1.3349e-05, Final residual = 5.06078e-07, No Iterations 3 time step continuity errors : sum local = 6.72459e-05, global = 1.50862e-06, cumulative = 0.000201354 DICPCG: Solving for p_rgh, Initial residual = 9.3073e-08, Final residual = 9.3073e-08, No Iterations 0 time step continuity errors : sum local = 0.488187, global = 1.51003e-06, cumulative = 0.000202864 DICPCG: Solving for p_rgh, Initial residual = 9.30813e-08, Final residual = 9.30813e-08, No Iterations 0 time step continuity errors : sum local = 0.488231, global = 1.51003e-06, cumulative = 0.000204374 DILUPBiCG: Solving for epsilon, Initial residual = 0.113837, Final residual = 7.84368e-09, No Iterations 8 bounding epsilon, min: -0.00022209 max: 13440.8 average: 0.0296322 DILUPBiCG: Solving for k, Initial residual = 0.997575, Final residual = 1.40045e-09, No Iterations 40 bounding k, min: 0 max: 1.12096e+12 average: 938942 ExecutionTime = 345.29 s ClockTime = 407 s Courant Number mean: 0.346405 max: 2.54597e+06 Interface Courant Number mean: 4.63797e-07 max: 1.29299 deltaT = 2.65252e-09 --> FOAM Warning : From function Time: perator++() in file db/Time/Time.C at line 1029 Increased the timePrecision from 6 to 7 to distinguish between timeNames at time 0.140909 Time = 0.1409091
[Diese Nachricht wurde von MAopen am 11. Sep. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MAopen Mitglied

 Beiträge: 10 Registriert: 11.09.2013 OpenFOAM 2.2
|
erstellt am: 11. Sep. 2013 14:23 <-- editieren / zitieren --> Unities abgeben:         
|
Shor-ty Moderator
     

 Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 11. Sep. 2013 16:29 <-- editieren / zitieren --> Unities abgeben:          Nur für MAopen
Hallo, du verwendest den interFoam Solver ?  Ich dachte den PimpleFoam - für inkompressible Fluide. Du meintest wohl du verwendest den PIMPLE Algorithmus. Das klärt natürlich einiges. Die Werte k + epsilon und noch andere Files sind falsch. OpenFOAM erkennt kein Komata, ein Punkt muss her. 1. welche OF Version verwendest du? Ich hoffe >= 2.1 ------------------ Grüße Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MAopen Mitglied

 Beiträge: 10 Registriert: 11.09.2013 OpenFOAM 2.2
|
erstellt am: 11. Sep. 2013 19:46 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich nutze die Version OpenFOAM 2.2.0 Oh nein, die Kommata.... passiert, wenn man mit verschiedenen Rechnern arbeitet. Vielen Dank! Nach Korrektur durch Punkte läuft die Berechnung immerhin schon über den letzten Timestep hinaus. In der Tat nutze ich interFoam. Sorry für die Verwirrung, habe es durcheinander geworfen. Hast du noch andere Fehler entdeckt? DAnke und Gruß MAopen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
     

 Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 11. Sep. 2013 19:49 <-- editieren / zitieren --> Unities abgeben:          Nur für MAopen
|
MAopen Mitglied

 Beiträge: 10 Registriert: 11.09.2013 OpenFOAM 2.2
|
erstellt am: 11. Sep. 2013 19:58 <-- editieren / zitieren --> Unities abgeben:         
Richtig, habe keine defaultFaces. Vielen Dank für die schnelle Hilfe! Werde die Modelle jetzt mal ein paar Tage rechnen lassen und hoffen, dass alles funktioniert. Gebe dann ein kurzes Feedback. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
     

 Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 11. Sep. 2013 20:15 <-- editieren / zitieren --> Unities abgeben:          Nur für MAopen
|
MAopen Mitglied

 Beiträge: 10 Registriert: 11.09.2013 OpenFOAM 2.2
|
erstellt am: 12. Sep. 2013 10:48 <-- editieren / zitieren --> Unities abgeben:         
Ja es ist turbulent. Allerdings stimmt etwas immer noch nicht. k, Epsilon und nut steigen in manchen Zellen kontinuierlich über den normalen Bereich hinaus (k=9 // E=750 // nut=90) Und am meisten irritiert es mich, dass das alpha auf weit über 1 steigt. Dies dürfte doch eingetlich nur zwischen 0 und 1 liegen, oder? Dies betrifft vor allem die Zellen am Inlet/Outlet (Kreisquerschnitt am Diffusor) [Diese Nachricht wurde von MAopen am 12. Sep. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Nigirim Mitglied Student
 Beiträge: 5 Registriert: 28.09.2012
|
erstellt am: 12. Sep. 2013 12:34 <-- editieren / zitieren --> Unities abgeben:          Nur für MAopen
Hallo MAopen, Das Problem mit dem Ansteigen von alpha hatte ich auch vor einiger Zeit (noch in OpenFOAM 2.1.0). Das Problem damals war, dass das Netz nicht einwandfrei war. Überprüf mal dein Netz mit Code: checkMesh -allGeometry -allTopology
es könnte sein, dass die Tetraeder die du hast verzogen sind oder ein negatives Volumen haben, das wird im normalen checkMesh meines Wissens nach nicht geprüft. Grüße Nigirim Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MAopen Mitglied

 Beiträge: 10 Registriert: 11.09.2013 OpenFOAM 2.2
|
erstellt am: 12. Sep. 2013 12:50 <-- editieren / zitieren --> Unities abgeben:         
Hallo Nigirim, ich habe dies mal ausgeführt und tatsächlich solchen Zellen. Vielen Dank für den Hinweis! Code: Create timeCreate polyMesh for time = 0 Enabling all (cell, face, edge, point) topology checks. Enabling all geometry checks. Time = 0 Mesh stats points: 1674235 faces: 4915035 internal faces: 4812062 cells: 1621287 faces per cell: 5.99961 boundary patches: 6 point zones: 0 face zones: 0 cell zones: 0 Overall number of cells of each type: hexahedra: 1599156 prisms: 14094 wedges: 0 pyramids: 0 tet wedges: 46 tetrahedra: 0 polyhedra: 7991 Breakdown of polyhedra by number of faces: faces number of cells 4 1166 5 1019 6 1643 7 52 8 46 9 2748 10 4 12 1109 15 198 18 6 Checking topology... Boundary definition OK. Cell to face addressing OK. Point usage OK. Upper triangular ordering OK. Face vertices OK. Topological cell zip-up check OK. Face-face connectivity OK. Number of regions: 1 (OK). Checking patch topology for multiply connected surfaces... Patch Faces Points Surface topology Bounding box defaultFaces 0 0 ok (empty) atmosphere 19638 19773 ok (non-closed singly connected) (49.9762 50.0097 561.5) (129.896 129.991 561.5) kaverneWall 36186 36959 ok (non-closed singly connected) (49.9749 50.0097 530) (129.913 129.991 561.5) diffusorWall 27065 28347 ok (non-closed singly connected) (129.913 87.0004 538) (156.01 92.9996 544) Inlet 446 472 ok (non-closed singly connected) (156.009 88.5017 539.24) (156.01 91.4985 542.24) bottom 19638 19773 ok (non-closed singly connected) (49.9762 50.012 530) (129.896 129.988 530) Checking geometry... Overall domain bounding box (49.9749 50.0097 530) (156.01 129.991 561.5) Mesh (non-empty, non-wedge) directions (1 1 1) Mesh (non-empty) directions (1 1 1) Boundary openness (-5.3222e-16 2.14015e-16 -3.19902e-14) OK. Max cell openness = 3.75754e-16 OK. Max aspect ratio = 5.39895 OK. Minimum face area = 0.000801674. Maximum face area = 0.387406. Face area magnitudes OK. Min volume = 0.000235464. Max volume = 0.179732. Total volume = 158365. Cell volumes OK. Mesh non-orthogonality Max: 46.8521 average: 2.33076 Non-orthogonality check OK. Face pyramids OK. Max skewness = 2.77105 OK. Coupled point location match (average 0) OK. ***Error in face tets: 2 faces with low quality or negative volume decomposition tets. <<Writing 2 faces with low quality or negative volume decomposition tets to set lowQualityTetFaces Min/max edge length = 0.00574804 0.784608 OK. *There are 14 faces with concave angles between consecutive edges. Max concave angle = 51.3226 degrees. <<Writing 14 faces with concave angles to set concaveFaces Face flatness (1 = flat, 0 = butterfly) : average = 0.999952 min = 0.865946 All face flatness OK. Cell determinant (wellposedness) : minimum: 0.183428 average: 8.01477 Cell determinant check OK. ***Concave cells (using face planes) found, number of cells: 3719 <<Writing 3719 concave cells to set concaveCells Failed 2 mesh checks. End
Das Netz habe ich über eine STL und snappyHexMesh erstellt. Wie kann ich denn verhindern, dass solche Zellen entstehen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Nigirim Mitglied Student
 Beiträge: 5 Registriert: 28.09.2012
|
erstellt am: 12. Sep. 2013 13:46 <-- editieren / zitieren --> Unities abgeben:          Nur für MAopen
Hallo MAopen, ich habe damals einfach mit den Optionen von snappyHexMesh rumgespielt und das Netz immer wieder untersucht. Bei OpenFOAM 2.1.0 habe ich es durch ändern der Einstellungen unter meshQualityControls mit
Code: minTetQuality -1e30;
das entstehen von Tetraedern unterdrückt. Ich weiß dass sich bei snappy in der neuen Version was geändert hat. Daher kann ich nicht garantieren, ob das noch immer funktioniert und ob ich damals nicht nur Glück hatte. Bei dem Fehler mit den konkaven Zellen kann ich dir leider keine Tipps geben. Grüße Nigirim [Diese Nachricht wurde von Nigirim am 12. Sep. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MAopen Mitglied

 Beiträge: 10 Registriert: 11.09.2013 OpenFOAM 2.2
|
erstellt am: 12. Sep. 2013 16:23 <-- editieren / zitieren --> Unities abgeben:         
Hatte diese Einschränkung bereits bei mir in der SnappyHexMeshDict integiriert, allerdings anscheinend ohne Auswirkung. Habe nun unter meshQualitiyControl minVol einwenig raufgesetzt. Nun bekomme ich beim CheckMesh keine negative Volumina Fehlermeldung mehr, nur noch die Concarve. Diese sollen aber nach meine Recherchen nicht so ganz schlimm sein. Allerdings sind es genau die Zellen, die ein Alpha1 > 1 erreichen.. Gerade habe ich dann noch mal ne Rechnung gestarte, allerdings steigt alpha1 wieder weit über 1... [Diese Nachricht wurde von MAopen am 12. Sep. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
     

 Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 12. Sep. 2013 18:19 <-- editieren / zitieren --> Unities abgeben:          Nur für MAopen
Hallo, concave Zellen kannst du ignorieren. Ich würde an deiner Stelle definitiv ein anderes Verfahren für alpha verwenden. Auf meiner Homepage ist eine Gegenüberstellung der Verfahren in einem sehr einfachen Beispiel aufgezeigt. Selbst hier gibts extreme Abweichungen. Code:
div(phi,alpha) Gauss vanLeer;
Würd ich devinitiv in ein Limited Schema mit Grenzen ändern. Zudem: - in den Zellen in denen die Werte für Alpha >> 1 sind, ist dort auch p, U, k etc. groß oder physikalisch unsinnig? Dann liegt's am Netz. Aber ich würde zuvor immer mit Gauss upwind testen, denn dies ist das einzige konsistente Verfahren. ------------------ Grüße Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |