| |  | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: Solverabbruch (pisoFoam) (4930 mal gelesen)
|
Shor-ty Moderator
     

 Beiträge: 2466 Registriert: 27.08.2010 ESI-OpenCFD OpenFOAM v2312
|
erstellt am: 09. Mai. 2011 20:53 <-- editieren / zitieren --> Unities abgeben:         
Hey zusammen, ich teste und spiele gerade etwas mit OpenFOAM. Simuliere gerade eine Normblende. Ich habe an 2 Stellen Probes gesetzt, und mir dort den Druckverlauf plotten lassen. Wie man sieht, konvergieren diese an einen Endwert (ich finde sogar relativ gut). Jedoch bricht der Solver nach sehr vielen Zeitschritten ab. Ich suche gerade nach möglichen Fehlerquellen. Die letzten Iterationsschritte:
Code:
Time = 1.0375Courant Number mean: 0.138477 max: 7.48227 DILUPBiCG: Solving for Ux, Initial residual = 0.479702, Final residual = 8.97744e-06, No Iterations 21 DILUPBiCG: Solving for Uy, Initial residual = 0.506839, Final residual = 5.89144e-06, No Iterations 22 DICPCG: Solving for p, Initial residual = 0.74212, Final residual = 0.0731123, No Iterations 46 time step continuity errors : sum local = 0.0031656, global = -2.06562e-05, cumulative = -1.82535e-05 DICPCG: Solving for p, Initial residual = 0.510788, Final residual = 8.92839e-07, No Iterations 340 time step continuity errors : sum local = 7.79064e-08, global = 5.26068e-10, cumulative = -1.8253e-05 DILUPBiCG: Solving for epsilon, Initial residual = 0.641734, Final residual = 8.55515e-06, No Iterations 19 bounding epsilon, min: -19485.5 max: 3.34067e+06 average: 24409.1 DILUPBiCG: Solving for k, Initial residual = 0.433239, Final residual = 6.9842e-06, No Iterations 17 bounding k, min: -1.22442 max: 4427.11 average: 25.852 ExecutionTime = 984.92 s ClockTime = 986 s Time = 1.038 Courant Number mean: 0.217825 max: 13.1831 DILUPBiCG: Solving for Ux, Initial residual = 0.618419, Final residual = 5.27917e-06, No Iterations 29 DILUPBiCG: Solving for Uy, Initial residual = 0.594922, Final residual = 2.27867e-06, No Iterations 32 DICPCG: Solving for p, Initial residual = 0.644717, Final residual = 0.0613374, No Iterations 118 time step continuity errors : sum local = 0.00844963, global = 0.000107609, cumulative = 8.93565e-05 DICPCG: Solving for p, Initial residual = 0.592878, Final residual = 9.83663e-07, No Iterations 353 time step continuity errors : sum local = 2.3589e-07, global = 3.23207e-10, cumulative = 8.93568e-05 DILUPBiCG: Solving for epsilon, Initial residual = 0.818602, Final residual = 1.75316e-06, No Iterations 25 bounding epsilon, min: -2.59753e+06 max: 4.40292e+07 average: 331963 DILUPBiCG: Solving for k, Initial residual = 0.224323, Final residual = 4.09935e-06, No Iterations 18 bounding k, min: -4.49074 max: 20392.3 average: 105.888 ExecutionTime = 985.75 s ClockTime = 986 s Time = 1.0385 Courant Number mean: 0.416495 max: 39.6885 DILUPBiCG: Solving for Ux, Initial residual = 1, Final residual = 8.5174e-06, No Iterations 20 DILUPBiCG: Solving for Uy, Initial residual = 1, Final residual = 4.44225e-06, No Iterations 23 DICPCG: Solving for p, Initial residual = 0.759171, Final residual = 0.0685751, No Iterations 14 time step continuity errors : sum local = 0.0302376, global = -0.000134984, cumulative = -4.56267e-05 DICPCG: Solving for p, Initial residual = 0.0632487, Final residual = 9.45186e-07, No Iterations 320 time step continuity errors : sum local = 8.28398e-06, global = 1.08709e-08, cumulative = -4.56158e-05 DILUPBiCG: Solving for epsilon, Initial residual = 0.5904, Final residual = 1.25455e-06, No Iterations 28 bounding epsilon, min: -8.0945e+06 max: 5.83946e+08 average: 5.33522e+06 DILUPBiCG: Solving for k, Initial residual = 0.928641, Final residual = 3.91897e-06, No Iterations 62 bounding k, min: -1.23602e+09 max: 2.87604e+10 average: 2.77704e+07 ExecutionTime = 986.51 s ClockTime = 987 s Time = 1.039 Courant Number mean: 1.60459 max: 215.917 DILUPBiCG: Solving for Ux, Initial residual = 0.958704, Final residual = 7.79716e-06, No Iterations 11 DILUPBiCG: Solving for Uy, Initial residual = 0.759083, Final residual = 4.49116e-06, No Iterations 10 DICPCG: Solving for p, Initial residual = 0.999993, Final residual = 0.0410641, No Iterations 2 time step continuity errors : sum local = 45521.3, global = 0.000118987, cumulative = 7.33713e-05 DICPCG: Solving for p, Initial residual = 4.84648e-12, Final residual = 4.84648e-12, No Iterations 0 time step continuity errors : sum local = 1.79617e+06, global = 0.000120065, cumulative = 0.000193436 DILUPBiCG: Solving for epsilon, Initial residual = 0.999633, Final residual = 0.183569, No Iterations 1001 bounding epsilon, min: -2.91885e+16 max: 2.67773e+16 average: -1.87125e+11 DILUPBiCG: Solving for k, Initial residual = 1, Final residual = 6.97171e-06, No Iterations 13 bounding k, min: -3.10762e+16 max: 2.80601e+16 average: 7.858e+12 ExecutionTime = 988.88 s ClockTime = 990 s Time = 1.0395 Courant Number mean: 999661 max: 1.91723e+09 DILUPBiCG: Solving for Ux, Initial residual = 0.946732, Final residual = 9.91563e-06, No Iterations 152 DILUPBiCG: Solving for Uy, Initial residual = 0.908333, Final residual = 9.1033e-06, No Iterations 137 DICPCG: Solving for p, Initial residual = 0.999984, Final residual = 30.9124, No Iterations 1001 time step continuity errors : sum local = 7.04265e+23, global = -1.0349e+08, cumulative = -1.0349e+08 DICPCG: Solving for p, Initial residual = 4.14022e-16, Final residual = 4.14022e-16, No Iterations 0 time step continuity errors : sum local = 1.48324e+27, global = 5.02682e+11, cumulative = 5.02578e+11 #0 Foam::error: rintStack(Foam::Ostream&) in "/home/tobi/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so" #1 Foam::sigFpe::sigFpeHandler(int) in "/home/tobi/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so"
Wie man deutlich sieht, sind die Werte für epsilon und k am steigen. Anbei ein paar Bilder die mein Problem untermauern. Kann es vllt an meinem Netz liegen, dass an der Blende unter 45° verläuft? Das sieht nämlich gar nicht gut aus. Für mögliche Feedbacks wär ich dankbar. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
     

 Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 09. Mai. 2011 21:54 <-- editieren / zitieren --> Unities abgeben:         
|
Shor-ty Moderator
     

 Beiträge: 2466 Registriert: 27.08.2010 ESI-OpenCFD OpenFOAM v2312
|
erstellt am: 09. Mai. 2011 23:03 <-- editieren / zitieren --> Unities abgeben:         
Am Netz liegts nicht,... ich hab gerade nochmals gerechnet und das Netz nochmals (vorallem an der Querschnittsverengung) verfeinert - nen Fehler bei den Randbedingungen? Wo könnte ich da was falsch gemacht haben? Mein Zeitschritt ist auf 0,0001 Die Co - Zahl (max 0,3)... und auf einmal geht se extrem nach oben. Grüße Tobi [Diese Nachricht wurde von Shor-ty am 09. Mai. 2011 editiert.] 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: 10. Mai. 2011 09:27 <-- editieren / zitieren --> Unities abgeben:          Nur für Shor-ty
Hi, poste doch einfach mal dein Case oder zumindest die Randbedingungen, dann kann man mal drüber schauen. Zwei Sachen sind mir gerade noch aufgefallen: 1.) Ich würde statt konstanten Zeitschritten lieber automatic time stepping verwenden, so dass die Schrittgröße automatisch reduziert wird, wenn es die Strömungsverhältnisse erfordern. 2.) Warum rechnest du überhaupt mit einem transienten Solver? Wenn du keine variablen Eingangsgrößen hast sollte für diesen eigentlich stationären Fall auch simpleFoam aussagekräftige Ergebnisse liefern... Viele Grüße Johannes Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gr3g0r Mitglied
 Beiträge: 1 Registriert: 27.04.2011
|
erstellt am: 10. Mai. 2011 09:31 <-- editieren / zitieren --> Unities abgeben:          Nur für Shor-ty
|
t.schumacher Mitglied CFD Engineer
 
 Beiträge: 184 Registriert: 03.05.2010
|
erstellt am: 10. Mai. 2011 10:57 <-- editieren / zitieren --> Unities abgeben:          Nur für Shor-ty
|
Shor-ty Moderator
     

 Beiträge: 2466 Registriert: 27.08.2010 ESI-OpenCFD OpenFOAM v2312
|
erstellt am: 10. Mai. 2011 11:08 <-- editieren / zitieren --> Unities abgeben:         
Hey,... ich hab gestern den simpleFoam laufen lassen. Die Ergebnisse sind ziemlich genial. (total unsinnig). Ich denke es liegt an meinem k & epsilon, dass ich gestern mal geändert habe. Aber her mal die Files: epsilon
Code:
dimensions [0 2 -3 0 0 0 0]; // epsilon = 1.8498103e-3internalField uniform 1.849e-3; boundaryField { inlet { //type fixedValue; type turbulentIntensityKineticEnergyInlet; intensity 0.05; value $internalField; } outlet { type inletOutlet; inletValue $internalField; value $internalField; } wall { type epsilonWallFunction; value $internalField; } frontAndBack { type empty; } symmetryPlane { type symmetryPlane; } }
k
Code:
dimensions [0 2 -2 0 0 0 0]; // U = 1.0097315 --> k=3.8233e-3internalField uniform 3.8e-5; boundaryField { inlet { //type fixedValue; type turbulentIntensityKineticEnergyInlet; intensity 0.05; value $internalField; } outlet { type inletOutlet; inletValue $internalField; value $internalField; } wall { type kqRWallFunction; value $internalField; } frontAndBack { type empty; } symmetryPlane { type symmetryPlane; } }
p
Code:
dimensions [0 2 -2 0 0 0 0];internalField uniform 0; boundaryField { outlet { type fixedValue; value uniform 0; } wall { type zeroGradient; value uniform 0; } inlet { type zeroGradient; value uniform 0; } frontAndBack { type empty; } symmetryPlane { type symmetryPlane; } }
U
Code:
dimensions [0 1 -1 0 0 0 0];internalField uniform (0 0 0); boundaryField { inlet { type fixedValue; value uniform (1.0097315 0 0); } outlet { type inletOutlet; inletValue uniform (0 0 0); value uniform (0 0 0); } wall { type fixedValue; value uniform (0 0 0); } frontAndBack { type empty; } symmetryPlane { type symmetryPlane; } }
Anbei noch n Bild von meinem simpleFOAM,... er bricht zwar nicht ab, ab die Ergebnisse (siehe Geschwindigkeitsprofil) kann auch nicht stimmen. Wie gesagt, ich hab glaub nen Fehler in der k bzw. epsilon - Datei.
Grüße Tobi
PS: Verwende pisoFOAM und simpleFOAM,
Automatischer Zeitschritt... via controlDict, --> adjustTimeStep yes und mit der Co - Zahl meinst du? 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: 10. Mai. 2011 15:38 <-- editieren / zitieren --> Unities abgeben:          Nur für Shor-ty
Hallo Tobi, du hast ein "bounding"-Fehler bei deinem Turbulenzmodell. Ich würde mal versuchen die Relaxionsfaktoren für k und Epsilon (ca. 0.1 oder kleiner) zu erst sehr klein zu halten und dann mal schauen, ob er durchrechnet. Gruß thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
     

 Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 10. Mai. 2011 15:53 <-- editieren / zitieren --> Unities abgeben:         
|
Shor-ty Moderator
     

 Beiträge: 2466 Registriert: 27.08.2010 ESI-OpenCFD OpenFOAM v2312
|
erstellt am: 10. Mai. 2011 16:02 <-- editieren / zitieren --> Unities abgeben:         
Bei "k" hab ich die Potenz in meinem Case noch geändert - da hatte ich nämlich anstatt e-3 e-5 stehen. Die Rechnung mit dem simpleFoam hat nun geklappt, nachdem ich ein paar Änderungen in k & epsilon gemacht habe -> pisoFoam gibt nach n paar Iterationen nen Fehler aus. Anhang sind Bilder vom simpleFoam meinen Piso Case stell ich noch hoch - vielleicht könnt da jemand ganz kurz drüberschauen. Case: --> http://www.file-upload.net/download-3420643/pisoFoam.tar.gz.html [Diese Nachricht wurde von Shor-ty am 10. Mai. 2011 editiert.] 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: 12. Mai. 2011 07:01 <-- editieren / zitieren --> Unities abgeben:          Nur für Shor-ty
Hallo Tobi, mit "bounding"-Fehler meine ich, das du Werte für die Turbulenz bekommst, die kein Sinn machen. Du hast ja weit Werte über e+16 für Epsilon. Ich habe mir dein Fall angesehen. Du brauchst evtl. nur 2 Dinge ändern und dein Fall läuft ohne Probleme mit pisoFoam durch. a) nNonOrthogonalCorrectors auf mind. 1 setzen. b) Um Bounding zu verhindern, kann man die Divergenzschemata auf "upwind" setzen -> div(phi,k) Gauss upwind; div(phi,epsilon) Gauss upwind; Gruß Thomas 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. Mai. 2011 09:32 <-- editieren / zitieren --> Unities abgeben:         
|
Shor-ty Moderator
     

 Beiträge: 2466 Registriert: 27.08.2010 ESI-OpenCFD OpenFOAM v2312
|
erstellt am: 14. Mai. 2011 01:12 <-- editieren / zitieren --> Unities abgeben:         
Noch ne Frage,... wenn der SimpleFOAM durchläuft aber der Piso abbricht, hab ich dann generell n Problem irgendwo? Ich hab nämlich beim SimpleFoam falsche Ergbenisse ... wie auf den Bildern ersichtlich, stellt das ein Rohr mit ner Blende da (1/4) davon und ich sollte eben vor der blende und nach der blende den druck bestimmen und das mit dem analytischen Wert vergleichen... sollten fast exakt die selben Werte rauskommen, nur bei mir kommt biespielsweiße bei Re=20000 -> deltaP_analytisch ~ 22Pa; Simulation = 6 Pa ... Hab die Geometrie schon geprüft und es passt alles. WEnn ich in Paraview in den Infos die Bounds anschaue steht dort 0,9 für x und für y und z 0,148 Das sind doch "Meter" Angaben oder? Weil sonst passt es nicht. Die Geschwindigkeit passt soweit auch und ich hab alles nochmals nachgerechnet :/
Grüße Tobi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
     

 Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 14. Mai. 2011 12:05 <-- editieren / zitieren --> Unities abgeben:         
Deine Angaben über die Upwind berechnung sind bereits so eingestellt gewesen (simpleFoam)... werd die jetz beim Piso noch ändern und mal schauen was rauskommt. Hinweis: via chtMultiRegionSimpleFoam bekomm ich die Ergebnisse raus, die ich haben sollte. Falsche Angaben in den transportProperties?
Code:
transportModel Newtonian;nu nu [ 0 2 -1 0 0 0 0 ] 1.003e-06; // kinematische Viskosität Wasser (20°C)
Sind die richtig ? Normal doch schon - korrigiert mich wenn ich falsch liege.
[Diese Nachricht wurde von Shor-ty am 14. Mai. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |