| |
 | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: Mehrphasenströmung/Fehlermeldung (2493 mal gelesen)
|
User1000 Mitglied Student
 
 Beiträge: 163 Registriert: 07.06.2011
|
erstellt am: 16. Feb. 2013 21:08 <-- editieren / zitieren --> Unities abgeben:         
Hallo Zusammen, im Zuge einer Simulation (Mehrkomponenten Strömung), bekomme ich immer wieder die nachfolgende Fehlermeldung: Courant Number mean: 2.53294e+20 max: 4.14993e+22 Interface Courant Number mean: 0 max: 0 deltaT = 5.17962e-36 --> FOAM Warning : From function Time: perator++() in file db/Time/Time.C at line 1010 Increased the timePrecision from 15 to 16 to distinguish between timeNames at time 8.39581e-05 Time = 8.395808817107145e-05 --> FOAM Warning : From function Time: perator++() in file db/Time/Time.C at line 1010 Increased the timePrecision from 16 to 17 to distinguish between timeNames at time 8.39581e-05 Kann mir jemand vielleicht Anregungen zum Beheben dieser Fehlermeldung geben. Was ich komisch finde, ich habe die ControlDict so eingestellt, dass die Zeitschritte sich selbst einstellen sollen , auf Basis einer max. Courant Zahl von 0,5 bis 0,05 (je nach Versuch). Darüber hinaus läuft die gleiche Simulation mit identischen Parameter/Randbedingungen mit lediglich leicht verändertem Gitter. Hat jemand vielleicht ein paar Anregungen und Grundsätzliches zum Thema Mehrphasenströmung und Stabilität. Ansonsten an alle ein schönes Wochenende
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bistor Mitglied Entwicklungsingenieurin

 Beiträge: 96 Registriert: 12.04.2011 OpenFoam 2.1.x Salome
|
erstellt am: 18. Feb. 2013 09:39 <-- editieren / zitieren --> Unities abgeben:          Nur für User1000
|
User1000 Mitglied Student
 
 Beiträge: 163 Registriert: 07.06.2011
|
erstellt am: 18. Feb. 2013 10:15 <-- editieren / zitieren --> Unities abgeben:         
|
Bistor Mitglied Entwicklungsingenieurin

 Beiträge: 96 Registriert: 12.04.2011 OpenFoam 2.1.x Salome
|
erstellt am: 18. Feb. 2013 14:17 <-- editieren / zitieren --> Unities abgeben:          Nur für User1000
|
Shor-ty Moderator
     

 Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 18. Feb. 2013 14:56 <-- editieren / zitieren --> Unities abgeben:          Nur für User1000
Eine gute Initialisierung von deinem Strömungsfeld hilft. Wie Bistor schon sagte solltest du am Inlet vernünftige Werte angeben. Ggf. mit turbulentIntensityKineticEnergyInlet und turbulentMixingLengthDissipationRateInlet (bin nicht sicher obs genau so geschrieben wird) arbeiten. Ansonsten noch eine weitere Frage: - ab wann bricht dir der Solver ab? Wenn du das gleich nach den ersten 5 Zeitschritten bekommst, dann würd ich dein start dt stark herabsetzen. Wie man erkennt ist deine Co-Zahl extrem hoch. Ggf. liegts auch an einem schlechten Netz. ------------------ Grüße Tobias H. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
User1000 Mitglied Student
 
 Beiträge: 163 Registriert: 07.06.2011
|
erstellt am: 18. Feb. 2013 15:07 <-- editieren / zitieren --> Unities abgeben:         
Hallo und danke für die Antworten, habe nun den ersten Vorschlag von Bistor mal probiert und dies hat auch eine deutliche Verbesserung gebracht, sprich der Case lief länger. Bei der genauen Initialisierung tue ich mir ein wenig schwer. Was gebe ich bspw. für das internalField vor, wenn ich Bereich mit stark unterschiedlichen Geschwindigkeitsbereichen hab. Und wie bestimme ich k und epsilon wenn ich keine Geschwindigkeiten vorgebe sondern Drücke? Shorty sind das Randbedingungen die du vorschlägst? Und was tun Sie. Beheben Sie meine zuvor gestellten Fragen/Probleme und passen k und Epsilon an? Ist ein das einer starker Einfluss? Bezüglich des Netzes ergibt sich auch noch eine weitere Frage. Ich wollte eigentlich das Netz mit sHM bauen. nur bekomme ich dann in die zRichtung mehrere Zellen, da ich aber zunächst lediglich 2D simulieren wollte dachte ich, dies wäre unvorteilhaft oder macht dies nichts. Habe nun einfach mit blockMesh ein Netz gebaut, was mich aber ein wenig einschränkt, da die Übergänge von verschiedenen Zellengrößen mir schwer fällt. Dank für die Antworten und Anregungen 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: 18. Feb. 2013 15:13 <-- editieren / zitieren --> Unities abgeben:          Nur für User1000
1. sHM -> 3D | ohne Refinement könntest du auch ein 2D schaffen aber davon würd ich abraten. 2. Ich arbeite bei einem Einlass + Turbulenzmodellen immer mit diesen RB (siehe auch diverse tutorials in OpenFOAM oder in /src/). Diese berechnen dir dann dein k, epsilon oder omega am Inlet. 3. Initialisierung im internalField würd ich so wie am Inlet machen oder etwas höher. Man sollte sich eben in der Größenordnung bewegen wobei das k-epsilon Modell sehr robust gegenüber Falscheingaben ist. 4. Wenn du Drücke vorgibst, dann kannst du dir ja über die Kontigleichung ungefähre Geschwindigkeitswerte berechnen. Diese würd ich dann für die Initialisierung verwenden. ------------------ Grüße Tobias H. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
User1000 Mitglied Student
 
 Beiträge: 163 Registriert: 07.06.2011
|
erstellt am: 18. Feb. 2013 15:20 <-- editieren / zitieren --> Unities abgeben:         
Danke für die schnelle Antwort, werde dies mal alles ausprobieren, denke dauert jedoch ein wenig. noch eine letzte FRage was ist in etwa ein Richtwert zur Berechnung von k. Ich nehme zurzeit meist 10 % Turbulenz in jede Raumrichtung, auch wenn ich eine Strömung habe die klar in eine Raumrichtung dominant ist bspw. Strömung in x Richtung. Gibt es dort andere bzw. bessere Richtwerte? 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: 18. Feb. 2013 15:25 <-- editieren / zitieren --> Unities abgeben:          Nur für User1000
|
Bistor Mitglied Entwicklungsingenieurin

 Beiträge: 96 Registriert: 12.04.2011 OpenFoam 2.1.x Salome
|
erstellt am: 19. Feb. 2013 11:35 <-- editieren / zitieren --> Unities abgeben:          Nur für User1000
ich weiß nicht obs wirklich korrekt ist, aber es hat mir sehr geholfen: wenn ich Drücke statt Geschwindigkeiten vorgebe, lass ich einige Schritte mit "turbulenz off;" laufen, lasse dann mit foamCalc die Geschwindigkeiten ausrechnen und patchAverage ausgeben, rechne mir k und epsilon für in- und outlet aus und rechne dann mit "turbelenz on;" weiter.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
     

 Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 19. Feb. 2013 11:38 <-- editieren / zitieren --> Unities abgeben:          Nur für User1000
|
Bistor Mitglied Entwicklungsingenieurin

 Beiträge: 96 Registriert: 12.04.2011 OpenFoam 2.1.x Salome
|
erstellt am: 19. Feb. 2013 11:42 <-- editieren / zitieren --> Unities abgeben:          Nur für User1000
epsilon: .... { inlet_extruded { type turbulentMixingLengthDissipationRateInlet; mixingLength 0.05; // 0.5m - half channel height value uniform 6.00708e-10; } outlet_extruded { type inletOutlet; inletValue uniform 4.69476e-7; } ..... k: .... boundaryField { inlet_extruded { type turbulentIntensityKineticEnergyInlet; intensity 0.1; value uniform 1.415336e-7; } outlet_extruded { type inletOutlet; inletValue uniform 0.000004; } ...
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
     

 Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 19. Feb. 2013 12:11 <-- editieren / zitieren --> Unities abgeben:          Nur für User1000
Joa so mach ich das auch immer. Aber die Werte von k und epsilon die du vorgibst werden sowieso nach dem ersten Iterationsschritt überschrieben. Ach jetzt versteh ich dich. Du rechnest erstmal in den ersten Iterationen nen ~~ Geschwindigkeitsfeld dann k und epsilon. Aber muss das so umständlich sein? Meinen Erfahrungen nach ist das kEpsilon sehr robust. Man sollte zwar schon ne Näherung der Initialisierung haben aber ganz genau kann mans ja sowieso nicht berechnen. Aber definiv eine interessnte Vorgehensweise
------------------ Grüße Tobias H. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bistor Mitglied Entwicklungsingenieurin

 Beiträge: 96 Registriert: 12.04.2011 OpenFoam 2.1.x Salome
|
erstellt am: 19. Feb. 2013 13:03 <-- editieren / zitieren --> Unities abgeben:          Nur für User1000
keine Ahnung. Ich bin leider hier Einzelkämpfer. Da kann schon sein, dass ich eine sehr umständliche Idee habe. Ich bin froh, dass ich inzwischen überhaupt klar damit komme. Ich kenne nur jemand wo das mit Fluent ähnlich betreibt wie ich mit OpenFoam. Wobei es in Fluent eigentlich super easy geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
User1000 Mitglied Student
 
 Beiträge: 163 Registriert: 07.06.2011
|
erstellt am: 19. Feb. 2013 13:38 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich glaube ich habe eine Ahnung weshalb der case instabil ist. Ich habe mich die ganze Zeit nur an einem Fluid orientiert und zwar Wasser. Diesem habe ich einen Druck von 2000 Pa gegeben, was wenn ich nicht ganz Falsch liege, einer Geschwindigkeit von 2 m/s entspricht. Nur habe ich nicht bedacht, dass die Luft dem gleichen Druck ausgesetzt ist und somit bei gleichem Druck etwa 60 m/s erreicht und aufgrund einer Rohrverengung noch eine zusätzliche Beschleunigung erfährt. Eine Frage wäre nun gibt es eine Möglichkeit diesen Zustand zu stabilisieren außer den Zeitschritt so klein zu machen, dass man 100 Tage für die Simulation braucht. Und stimmt ihr meiner Einschätzung zu oder können noch weitere Dinge Grund des Abbruchs sein? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
User1000 Mitglied Student
 
 Beiträge: 163 Registriert: 07.06.2011
|
erstellt am: 26. Feb. 2013 16:12 <-- editieren / zitieren --> Unities abgeben:         
Hallo Zusammen, ich hätte noch eine Frage bezüglich der Randbedingungen, die Ihr mir zuvor vorgeschlagen habt. 1. Bezüglich der Randbedingung von k: type turbulentIntensityKineticEnergyInlet; intensity 0.1; value uniform 1.415336e-7; Gehe ich richtig der Annahme, dass hier 0.1, bzw. die Intensität, der Faktor zur Bestimmung der Turbulenzanteile ist, bspw. bei einer Geschwindigkeit von 1 m/s, folgen 0,1 m/s an Fluktuation, in die drei Raumrichtungen, so dass mit Hilfe der Festgelegten Intensität und der berechneten Geschwindigkeit U, dass entsprechende k berechnet werden kann. Es gilt doch die folgende Gleichung k = 3/2*((u*0,1)²? mit 0,1 = Intensität und U wird berechnet bzw. aus der Felddatei u entnommen. Nur was bedeutet bzw. definiert dann das Value (hier: 1.4 e-7)? 2. Die zweite Frage bezieht sich auf epsilon und hat den gleichen Hintergrund: Auf was bezieht sich das value:
Epsilon wird doch mit cµ^0,75*k^1,5/l berechnet. type turbulentMixingLengthDissipationRateInlet; mixingLength 0.05; // 0.5m - half channel height value uniform 6.00708e-10; L wird ja wieder angeben wenn ich das richtig sehe und für was steht nun value? 3. Meine dritte Frage bezieht sich auf die grundsätzliche Klassifikation von Randbedingungen. Ich habe in einem Buch die Unterscheidung von numerischen und physiklaischen Randbedingungen gesehen. Die beiden zuvor gezeigten Randbedingungen werden doch als physikalische Randbedingungen angesehen, oder? Für eine Antwort, vor allem eine Beschreibung der value-Werte wäre ich sehr dankbar. 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. Feb. 2013 16:46 <-- editieren / zitieren --> Unities abgeben:          Nur für User1000
|
User1000 Mitglied Student
 
 Beiträge: 163 Registriert: 07.06.2011
|
erstellt am: 27. Feb. 2013 14:00 <-- editieren / zitieren --> Unities abgeben:         
|