| |
| Materialien für den 3D-Druck im Hochtemperaturbereich, eine Pressemitteilung
|
Autor
|
Thema: chtMultiRegionFoam + UNV-Mesh = Fehler (2061 mal gelesen)
|
Umis Mitglied
Beiträge: 21 Registriert: 15.10.2015 OpenFoam 3.0.1 Salome 7.7.1
|
erstellt am: 03. Dez. 2015 17:10 <-- editieren / zitieren --> Unities abgeben:
Hallo an alle ich habe mit Salome zwei Rechteckrohre und einen dazwischenliegenden Festkörper erstellt. Durch die Rohre geht ein warmes und ein kaltes Fluid. Die Netze habe ich für jede Geometrie erstellt und dann zu einem Compound in Salome zusammen gefasst. Über ideasUNVtoFoam habe ich das Netz eingelesen und mit splitMeshRegions in unterschiedliche Regionen aufgeteilt. Das Mesh scheint soweit in Ordnung, da es über checkMesh keine Fehlermeldung gibt und in ParaView alles gut aussieht. Will ich den Case nun ausführen erhalte ich aber folgende Fehlermeldung: " Selecting radiationModel opaqueSolid Selecting absorptionEmissionModel constantAbsorptionEmission Selecting scatterModel none Adding fvOptions No finite volume options present #0 Foam::error: rintStack(Foam::Ostream&) at ??:? #1 Foam::sigFpe::sigHandler(int) at ??:? #2 ? in "/lib/x86_64-linux-gnu/libc.so.6" #3 Foam::divide(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) at ??:? #4 Foam: perator/(Foam::UList<double> const&, Foam::UList<double> const&) at ??:? #5 ? at ??:? #6 ? at ??:? #7 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" #8 ? at ??:? Gleitkomma-Ausnahme (Speicherabzug geschrieben) " Habe mir nun einige Threads durchgelesen, jedoch komme ich alleine nicht weiter Liegt es an den Boundaries oder doch am Netz? Den Case habe ich mal angehängt. Ich hoffe Ihr könnt mir helfen, da ich echt nicht mehr weiter weiß... Gruß Max Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 03. Dez. 2015 17:42 <-- editieren / zitieren --> Unities abgeben: Nur für Umis
Hey Max, also zuerstmal danke für die Info das es mit UNV geht. Wusst ich noch gar nicht und hab ich noch gar nicht versucht. Zu deinem Case.
- Allrun ist wohl nicht das was du wirklich machst, da unv gar nich dabei ist aber ich weiß schon wie du das gemacht hast
- Problem ist, du hast keine Interfaces definiert. Das ist in polyMesh/boundary zu finden. Normalerweise macht das FOAM selber wenn du das mit sHM machst aber weiß nicht wieso er es hier nicht macht.
- Kannst du mal ein Allrun reinsetzen das wirklich das macht was du ausführst ?
- Nach ideasUnv... erhältst du nämlich keine cellZones mit denen du splitten könntest
Mein Vorschlag: a) Unv b) cellZonen definieren c) Splitten Zudem, das Netz von beidne Fluidräumen ist alles andere als optimal für eine Wärmeübertragung. Stickwort Grenzschicht und diskretisierung. ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Umis Mitglied
Beiträge: 21 Registriert: 15.10.2015 OpenFoam 3.0.1 Salome 7.7.1
|
erstellt am: 03. Dez. 2015 18:39 <-- editieren / zitieren --> Unities abgeben:
Hallo Tobias, danke für die schnelle Antwort. Das Allrun-Skript habe ich ganz übersehen. Das ist noch das aus dem Tutorial von chtMultiRegionFoam. Einfach nicht beachten Also meine manuelle Eingabereihenfolge lautet wie folgt: ideasUnv... splitMeshRegions -cellZones -overwrite changeDictionary -region... Dadurch werden mir die Domains und alle notwendigen Ordner erstellt. Laut ParaView und checkMesh gibt es keine Probleme damit. Das Netz ist recht grob gestrickt und ich werde es noch verfeinern. Jedoch war mir erst einmal wichtig, dass der Case überhaupt läuft und ich alle Einstellungen verstanden habe. Wenn ich die cellZonen händisch definiere, muss ich mich dort auf das Koordinatensystem beziehen oder gibt es eine effizientere Variante? Da ich es mir sehr mühselig bei komplexeren Geometrien vorstelle die Zonen zu definieren. Gruß Max Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 03. Dez. 2015 19:30 <-- editieren / zitieren --> Unities abgeben: Nur für Umis
Also ich persönlich empfehle sowieso immer snappyHeyMesh. Was du machen musst, ist die Definition der Interfaces in den boundary. Wenn du cellZones hast, macht das das Tool splitMeshRegions selber. Da du die aber nicht hast, musst du entweder die cellzones erstellen oder du musst die Interfaces selber erstellen. Patchtyp ist mappedWall oder so. Musst mal in die cht tut's reinschauen. CellZones kannst mit setSet erstellen oder topo ... Letztere hat glaub auch die Möglichkeit mit stl Files Zonen zu erstellen. ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Umis Mitglied
Beiträge: 21 Registriert: 15.10.2015 OpenFoam 3.0.1 Salome 7.7.1
|
erstellt am: 05. Dez. 2015 12:09 <-- editieren / zitieren --> Unities abgeben:
Hallo, danke für die schnelle Antwort Tobias. Habe es nun einmal mit snappyHexMesh versucht, da ich mit den UNV's nicht weiter kam. Da ich noch nie was mit sHM gemacht habe, habe ich mich an Dein "snappyMultiRegion"-Tutorial gehalten, für das Backgroundmesh verwende ich allerdings blockMesh. Das Mesh sieht soweit ganz gut aus und auch checkMesh sagt, alles sei in Ordnung. Starte ich den Case nun kommt die selbe Fehlermeldung wie Anfangs. Meine Eingabereihengfolge lautet: blockMesh surfaceFeatureExtract snappyHexMesh -overwrite splitMeshRegions -cellZones -overwrite Umbenennen von "domain1" und "domain3" in "Cold" und "Warm" Die Dateien aus den Ordnern Fluid und Solid in die Ordner der entsprechenden Zonen einsortieren changeDictionary -region.... chtMultiRegionFoam (Ich hoffe man kann das nachvollziehen ) Also irgendwo ist da der Wurm drin... Könnte da was in den changeDictionaryDicts faul sein? Wäre nett, wenn Ihr euch das anschauen könntet, da es mir dort einfach noch an Wissen fehlt. Vielen Dank im Voraus und einen schönen Samstag Max
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 06. Dez. 2015 12:07 <-- editieren / zitieren --> Unities abgeben: Nur für Umis
|
Umis Mitglied
Beiträge: 21 Registriert: 15.10.2015 OpenFoam 3.0.1 Salome 7.7.1
|
erstellt am: 06. Dez. 2015 14:14 <-- editieren / zitieren --> Unities abgeben:
Die Boundary Datei im polyMesh Ordner (ich hoffe das ist die richtige) sagt: Code: 9 ( top { type patch; nFaces 10000; startFace 919284; } bottom { type patch; nFaces 10000; startFace 929284; } Inlet { type patch; nFaces 4066; startFace 939284; } Outlet { type patch; nFaces 4066; startFace 943350; } frontAndBack { type patch; nFaces 20000; startFace 947416; } ChannelBottom { type wall; inGroups 1(wall); nFaces 0; startFace 967416; } ChannelBottom_slave { type wall; inGroups 1(wall); nFaces 0; startFace 967416; } ChannelTop { type wall; inGroups 1(wall); nFaces 0; startFace 967416; } ChannelTop_slave { type wall; inGroups 1(wall); nFaces 0; startFace 967416; } )
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 06. Dez. 2015 14:39 <-- editieren / zitieren --> Unities abgeben: Nur für Umis
Ist das eine Boundary Datei von einem deiner Netze? Das Netz unter constant/polyMesh wird nämlich beim CHT nicht verwendet. Falls dir das alles noch zu kompliziert ist --> Tutorials von chtMulti durchsehen oder das von mir auf der Homepage (hast ja schon gemacht anscheinend). Allerdings sieht das ja nicht so aus als würdest du die Schritte nachvollzogen haben. ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Umis Mitglied
Beiträge: 21 Registriert: 15.10.2015 OpenFoam 3.0.1 Salome 7.7.1
|
erstellt am: 06. Dez. 2015 17:12 <-- editieren / zitieren --> Unities abgeben:
Leider weiß ich nicht genau welche Boundary Datei du meinst. Hier wäre mal der Inhalt aus der Boundary Datei für ChannelTop:
Code: 6 ( top { type patch; nFaces 10000; startFace 87808; } Inlet { type patch; nFaces 392; startFace 97808; } Outlet { type patch; nFaces 392; startFace 98200; } frontAndBack { type patch; nFaces 10000; startFace 98592; } ChannelTop_to_domain3 { type mappedWall; inGroups 1(wall); nFaces 28800; startFace 108592; sampleMode nearestPatchFace; sampleRegion domain3; samplePatch domain3_to_ChannelTop; } ChannelTop_to_ChannelBottom { type mappedWall; inGroups 1(wall); nFaces 10000; startFace 137392; sampleMode nearestPatchFace; sampleRegion ChannelBottom; samplePatch ChannelBottom_to_ChannelTop; } )
Habe der Einfachheit halber alle relevanten Boundaries in einen Ordner getan und angehängt. Mit den Tutorials für cht habe ich mich lange beschäftigt und Simulationen mit anderen Solvern und mit bloß einer Region bekomme ich auch hin. Nur irgendwie will es nicht mit mehreren Regionen funktionieren. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 07. Dez. 2015 15:41 <-- editieren / zitieren --> Unities abgeben: Nur für Umis
Hi, Code:
ChannelTop_to_ChannelBottom { type mappedWall; inGroups 1(wall); nFaces 10000; startFace 137392; sampleMode nearestPatchFace; sampleRegion ChannelBottom; samplePatch ChannelBottom_to_ChannelTop; }
Diese meinte ich. Da siehst du ja welche Regionen miteinander gekoppelt sind (: Die Patches und Regionnamen müssen natürlich übereinstimmen sonst geth da nichts. Normalerweiße macht das splitMeshRegions selber aber wenn man nachsträglich irgendwelche Namen ändert, so muss man da die Konsistenz selber überprüfen und korrigieren. Du kannst ja dein derzeitigen Case zur Verfügung stellen. Wenn ich Zeit finde schau ich mal drüber. ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Umis Mitglied
Beiträge: 21 Registriert: 15.10.2015 OpenFoam 3.0.1 Salome 7.7.1
|
erstellt am: 09. Dez. 2015 20:19 <-- editieren / zitieren --> Unities abgeben:
Hallo, vielen Dank für die Hilfe und Geduld. Auch wenn man die Tutorials durchgearbeitet hat, finde ich es immer noch sehr schwer als Einsteiger einen Case selber zu erstellen. Der Einfachheit halber habe ich nun die Namen erst einmal so gelassen um zu schauen, ob sonst noch Fehler auftreten. Und ja, es gibt welche... Erhalte bei dem angehängten Case aktuell die folgende Errormeldung:
Leider kann ich da nicht herauslesen wo es Probleme gibt. Könnt Ihr mir da helfen? Viele Grüße Max 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. Dez. 2015 09:36 <-- editieren / zitieren --> Unities abgeben: Nur für Umis
Hi, bei Fehlermeldungen immer etwas weiter oben anfangen (: ansonsten kann ich da nicht beurteilen wo das Programm stehen geblieben ist. Der Gleitkommafehler wird wahrscheinlich nicht durch deine Regionen kommen sondern durch was anderes. Ich schau's mir später mal an. ------------------ Viele Grüße, Tobias Holzmann 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: 10. Dez. 2015 12:47 <-- editieren / zitieren --> Unities abgeben: Nur für Umis
Hi, das Problem das du derzeit hast ist eigentlich gar nicht mehr auf den Thread bezogen, wäre also gut dein Problem in einem anderen Thread neu zu starten.
So nun zum Problem und zum Meshen. Wenn du wirklich die Zellenanzahl vermindern willst, in dem du diese in die Länge ziehst, würde ich dir einen anderen Weg vorschlagen (wenn du's mit sHM machst). sHM ist am Effektivsten wenn man Würfel als Hintergrundnetz hat. Das sieht man auch schon hier:
Code:
non-orthogonality > 65 degrees : 19609 faces with face pyramid volume < 1e-13 : 462 faces with face-decomposition tet quality < 1e-15 : 1023 faces with concavity > 80 degrees : 12 faces with skewness > 4 (internal) or 20 (boundary) : 5 faces with interpolation weights (0..1) < 0.05 : 11 faces with volume ratio of neighbour cells < 0.01 : 1 faces with face twist < 0.02 : 8 faces on cells with determinant < 0.001 : 4
Hier versucht sHM durch einen Algothmus die Fehler zu beheben; sprich die Qualitätskriterien einzuhalten. Das kann dann damit enden, dass du wirklich komische Zellen bekommst. Mein Vorschlag wäre das Netz 1/4 kleiner zu machen und dann mit reinen Würfelzellen zu vernetzen. Danach kannst du z.B. in x-Richtung dein Netz um Faktor 4 verzerren und schon hast du dein gezogenes Netz. Der Befehl hierfür ist:
Code:
transformPoints -scale "(4 1 1)"
Alternativ könntest du auch die Qualitätskriterien abschalten (dessen Freund bin ich aber nicht). Dann,... splitMeshRegions -cellZones liefert mir:
Code:
egion Zone Name ------ ---- ---- 0 0 ChannelBottom 1 -1 domain1 2 1 ChannelTop 3 -1 domain3
Geschickter wäre es in deinem Fall nochmals zwei STL's einzubauen, die Fluid_1 und Fluid_2 repräsentieren. Damit hast du diese Namen "domain1" und "domain3" von vorherein schon gar nicht (nur ein Tipp). Zum Abbruch:
Dein Gleitkommafehler rührt von deinen Boundarys, die alle durch die Reihe falsch sind. Zuerstmal das hier:
Code:
".*" { type calculated; value uniform ( 1 0 0 ); }
Initialisiert alle Boudarys mit calculated und das wars dann. Alles was darunter kommt wird nicht mehr verwendet. Entweder du schiebst diesen Eintrag ganz nach unten oder löscht den komplett raus und definierst explizit alle Boudarys. Würde ich in deinem Fall sehr befürworten. Desweiteren sind alle Boundaryeinträge die den Typ "calculated" angehören falsch. Da kommt entweder eine Neumann- oder Dirichlet-Bedingung hin (oder wenn an ganz ausführlich sein möchte eine mixedBC (Cauchy), oder via Groovy könnte man sogar noch die Robinson einbauen). Auch die Kopplung deiner Temperaturrandbedingungen solltest du zudem noch machen. Ums gleich vorweg zu nehmen. Die BC heißt:
Code:
compressible::turbulentTemperatureCoupledBaffleMixed
PS: Du verwendest gedit für deine Bearbeitung der Dateien, stimmts? Ach und ja - zuerstmal ohne Turbulenzmodell deinen Case zum Laufen bringen, da sparst du dir n paar Dateien und minimierst deine Fehler gleichmal. Hast also ein paar Sachen zu erledigen, in 30 Minuten solltest du aber den Case schon fertig haben (: Gutes Gelingen.
------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Umis Mitglied
Beiträge: 21 Registriert: 15.10.2015 OpenFoam 3.0.1 Salome 7.7.1
|
erstellt am: 11. Dez. 2015 16:59 <-- editieren / zitieren --> Unities abgeben:
Hallo, also die vorgeschlagenen 30 Minuten kann ich leider nicht ganz einhalten. Liege aktuell bei 540 Minuten, aber immer noch kein Ergebnis in Sicht und so langsam weiß ich nicht mehr weiter 1. Netz verkleinern: Habe die blockMeshDict so angepasst, dass ich reine Würfelzellen erhalte. Dadurch hat sHM schon einmal keine "illegalen" Zellen. Wenn ich aber nun splitMeshRegions mache, dann erstellt er nur zwei Regionen, "domain0" und "ChannelBottom". Habe meine Geometrie jetzt mehrfach verändert, aber die richtigen Regions bekomme ich nicht hin. Belasse ich mein blockMesh mit den lang gezogenen Zellen, dann klappt alles mit den Regionen. Eigentlich müsste es aber doch funktionieren, dass ich meine blockMeshDict anpasse? Mache ich da grad einen Denkfehler? 2. Zusätzliche STL für Fluid1 und Fluid2 Habe in Salome in meiner Geometrie Fluid1 und Fluid2 hinzugefügt und als STL exportiert. Wie schon in 1. geschrieben, bekomme ich aber nicht die gewünschten Regionen. SHM erkennt alle stl-Dateien. SplitMeshRegions erstellt mir maximal 3 von 4 Regionen. Habe mir das in paraView angeschaut und festgestellt, das die Regionen komplett falsch sind. Meistens sind es nur Einzelteile der Geometrie, die übernommen wurden, z.B. eine Wand. Es müsste ja eigentlich an dem veränderten Hintergrundnetz aus 1. liegen oder? 3. Boundaries: Habe mir schon gedacht, dass die Boundaries falsch sind. Hatte sie zu Beginn erstmal blind von einem Tutorial übernommen. Zu den Neumann- und Dirichlet-Bedingungen. Die Dirichlet-Bedingung habe ich so verstanden, dass die Variable vorgegeben wird und bei der Neumann-Bedingung sich um eine örtliche Ableitung handelt. Dirichlet kann ich sicherlich über fixedValue machen. Wie gebe ich jedoch eine Neumann-Bedingung vor? Über zeroGradient? Wenn ich es richtig verstanden habe, dann ist beim Typ inletOutlet der inletValue eine Dirichlet-Randbedingung und Value eine Neumann-Bedingung, wenn er (0 0 0) ist oder? Viele Fragen und Probleme, aber ich hoffe Ihr könnt mir dabei weiterhelfen. Und noch einmal vielen vielen Dank für die Zeit und Geduld Tobias Einen schönen Freitag noch, Max 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. Dez. 2015 17:25 <-- editieren / zitieren --> Unities abgeben: Nur für Umis
Hi Max, jetzt woll ich soeben die Geomtrie für dich vernetzen und dabei ist mir aufgefallen, dass ich das ja schon auf meiner Seite hab. http://www.holzmann-cfd.de/index.php/de/tutorial/snappymultiregion Du solltest in deinem Beispiel die STL's auch anpassen (von der Größe). Aufjedenfall machst du irgendeinen Fehler, denn ich dir jetzt nicht sagen kann. Zu den Randbedingungen. Dirichlet ist ein bestimmter Wert, korrekt. Kannst dir so merken ... DIR = DIRekte Angabe. Neumann gibt den Gradienten (die Ableitung) an. Meistens nimmt man ein ZeroGradient, heißt das die Facevalues einfach nur von dem Zellmittelpunkt übernommen wird.
Bezüglich inletOutlet bist du auch richtig wobei die Korrekte definition wie folgt ist: InletOutlet -> mixedBoundary Für phi positiv --> zeroGradient (aus der Domain heraus) Für phi negativ --> fixedValue mit dem Wert von inletValue. Phi ist dein Flux (Massen, oder Volumenstrom). Wenn du also für inletValue (0 0 0) setzt, dann wird das entsprechende Face einfach als undurchlässige Wand betrachtet. Man verhindert so backFlow. Value ist nur ein Platzhalter. Da kannst reinschreiben was du möchtest,;wird nicht verwendet. ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Umis Mitglied
Beiträge: 21 Registriert: 15.10.2015 OpenFoam 3.0.1 Salome 7.7.1
|
erstellt am: 12. Dez. 2015 13:16 <-- editieren / zitieren --> Unities abgeben:
Hi, danke für den Link. Hatte ganz vergessen, dass du ja eine ähnliche Geometrie erstellt hattest. Ich war jetzt mal so frei und habe die Geometrie so gelassen. Dann weiß ich wenigstens schon einmal das daran nichts falsch ist. Ich habe dort lediglich die Namen "water" gegen "air" ausgetauscht und darüber scheint OF nicht zu meckern. CHT hat jedoch was gegen meine BC an den Festkörpern. Folgende Fehlermeldung kommt:
Habe bei channel die Faces "inletAir" und "outletAir" als zeroGradient und die anderen mittels
Code:
channel_to_pipe3 { type compressible::turbulentTemperatureCoupledBaffleMixed; Tnbr T; kappa solidThermo; kappaName none; value uniform 300; }
Darf ich es mir dort nicht so einfach machen oder liegt der Fehler woanders? Den Case habe ich mal in eine Dropbox gezogen (ich hoffe das funktioniert ). Folgender Link: Dropbox-Link Vielen Dank und viele Grüße Max Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 13. Dez. 2015 14:03 <-- editieren / zitieren --> Unities abgeben: Nur für Umis
Hi Max, aufgrund deines Screenshots und der Fehlermeldung würde ich jetzt einfach darauf tippen, dass du sowohl für dein Solid als auch für dein Fluid die identischen Bedingung genommen hast (copy&paste). Allerdings hast du bei deinem Fluid "fluidThermo" und nicht "solidThermo". Hab mir deinen Case nicht angeschaut aber das wäre meine erste Vermutung. ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Umis Mitglied
Beiträge: 21 Registriert: 15.10.2015 OpenFoam 3.0.1 Salome 7.7.1
|
erstellt am: 13. Dez. 2015 14:45 <-- editieren / zitieren --> Unities abgeben:
Hi, so etwas habe ich mir auch gedacht, aber das ist es leider nicht. Die Bedingung für Solid ist:
Code: channel_to_pipe3 { type compressible::turbulentTemperatureCoupledBaffleMixed; value uniform 300; Tnbr T; kappa solidThermo; kappaName none; }
und für Fluid: Code: domain8_to_pipe3 { type compressible::turbulentTemperatureCoupledBaffleMixed; value uniform 300; Tnbr T; kappa fluidThermo; kappaName none; }
Viele Grüße Max Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 13. Dez. 2015 14:58 <-- editieren / zitieren --> Unities abgeben: Nur für Umis
Hi, Code:
Checking topology... ****Problem with boundary patch 2 named channel_to_pipe3 of type mappedWall. The patch should start on face no 21492 and the patch specifies 30404. Possibly consecutive patches have this same problem. Suppressing future warnings. ***Boundary definition is in error. Cell to face addressing OK. Point usage OK. Upper triangular ordering OK. Face vertices OK. Number of regions: 1 (OK).
Auch in Paraview sehe das du nen Problem mit deiner Domain Channel hast. Wenn man mein Tutorial nimmt, passt alles. Heißt also das du irgendwo nen Fehler gemacht hast. ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Umis Mitglied
Beiträge: 21 Registriert: 15.10.2015 OpenFoam 3.0.1 Salome 7.7.1
|
erstellt am: 13. Dez. 2015 16:10 <-- editieren / zitieren --> Unities abgeben:
Hi, leider weiß ich nicht genau welchen Befehl du ausgeführt hast, aber ich habe mal checkMesh -allTopology -allGeometry durchgeführt. Die Fehlermeldung von dir erhalte ich nicht. Bei deinem Tutorial und meinem Case erhalte ich die selbe Ausgabe mit folgendem Ende
Die logFiles von beidem habe ich angehängt. Viele Grüße Max 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. Dez. 2015 11:55 <-- editieren / zitieren --> Unities abgeben: Nur für Umis
Hallo Max, bei meinem Tutorial sollte checkMesh erst gar nicht gehen, da ich den Ordner constant/polyMesh lösche. Somit erhält man lediglich die Ausgabe das entweder "No times selected" kommt (wenn kein Zeitordner da ist) oder "Cannot find file "points". Der Aufruf von checkMesh sollte natürlich mit "-region xxx" erfolgen. Ansonsten nimmst du ja den Ordner in constant/polyMesh, der klarerweise bei checkMesh nen Fehler verursacht, wenn du alle checks durchführst. Nicht nur diverse Sachen versuchen, auch verstehen (ist viel wichtiger in FOAM). Deswegen liefere ich dir auch nicht einen funktionsfähigen Case (den gibt es ja schon in den Tutorials). ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Umis Mitglied
Beiträge: 21 Registriert: 15.10.2015 OpenFoam 3.0.1 Salome 7.7.1
|
erstellt am: 16. Dez. 2015 21:54 <-- editieren / zitieren --> Unities abgeben:
Hallo Tobias, checkMesh in deinem Tutorial habe ich ausgeführt, indem ich die Schritte zur Erstellung des Netzes manuell durchgeführt habe. Da habe ich dann den Zeit- und den polyMesh-Ordner nicht gelöscht. Somit läuft checkMesh, schmeißt jedoch die Fehlermeldung raus. Habe den Fehler aber nun gefunden. Ich hatte domain0 gelöscht. Da meckert er dann aber. Wenn ich alles so belasse und domain0 mit einbinde, dann hat er keinen Fehler in der Geometrie. Der Ordnung halber würde ich den Thread auf "gelöst" setzen, da das Hauptproblem ja gelöst ist. Ich werde mich jetzt erst einmal damit beschäftigen, wie ich die domain0 aus der Berechnung ausschließe und ggf. würde ich dazu noch einen neuen Thread aufmachen. Hast du vielleicht einen Tipp für mich bzgl. domain0? Vielen Dank für deine Hilfe und viele Grüße Max PS: Ich möchte gar keinen fertigen Case. Ich möchte verstehen wie ich zu einem kommen. Deshalb bin ich ganz froh, dass du keinen fertigen hochgeladen hast
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 16. Dez. 2015 23:04 <-- editieren / zitieren --> Unities abgeben: Nur für Umis
Hey, ich bitte darum ein neues Thema aufzumachen, da es mit deinem UNV nichts mehr zu tun hat. Noch kurz die Info. Im Ordner constant/polyMesh befindet sich das Netz für normale Simulationsfälle. Hier darf es immer nur eine Region geben; ggf. noch cellZones aber nicht zwei physikalisch getrennte Domains. Deswegen wirst du immer ein Fehler bei checkMesh bekommen, da dieses Netz nicht für eine Simulation geeignet ist. Deswegen kannst du dieses Netz bei den cht Solvern löschen, da jedes Netz unter constant/domainxy/polyMesh liegt. Diese Netze werden, wie oben schon erwähnt, mit dem Keyword -region xx geprüft:
Code:
checkMesh -region fluid
Dadurch ist auch begründet, dass ein normales checkMesh bei meinem Tutorial fehlerbehaftet ist. Das mit deiner Domain0 verstehe ich nicht so wirklich. Du kannst das gerne in einem neuen Thema behandelt. PS: Thema noch als gelöst markieren. ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |