Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  OpenFOAM
  chtMultiRegionFoam + UNV-Mesh = Fehler

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Materialien für den 3D-Druck im Hochtemperaturbereich, eine Pressemitteilung
Autor Thema:  chtMultiRegionFoam + UNV-Mesh = Fehler (2061 mal gelesen)
Umis
Mitglied



Sehen Sie sich das Profil von Umis an!   Senden Sie eine Private Message an Umis  Schreiben Sie einen Gästebucheintrag für Umis

Beiträge: 21
Registriert: 15.10.2015

OpenFoam 3.0.1
Salome 7.7.1

erstellt am: 03. Dez. 2015 17:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Case.zip

 
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





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 03. Dez. 2015 17:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Umis 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von Umis an!   Senden Sie eine Private Message an Umis  Schreiben Sie einen Gästebucheintrag für Umis

Beiträge: 21
Registriert: 15.10.2015

OpenFoam 3.0.1
Salome 7.7.1

erstellt am: 03. Dez. 2015 18:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 03. Dez. 2015 19:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Umis 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von Umis an!   Senden Sie eine Private Message an Umis  Schreiben Sie einen Gästebucheintrag für Umis

Beiträge: 21
Registriert: 15.10.2015

OpenFoam 3.0.1
Salome 7.7.1

erstellt am: 05. Dez. 2015 12:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Case_stl.zip

 
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





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 06. Dez. 2015 12:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Umis 10 Unities + Antwort hilfreich

Was sagt den deine Boundary Datei. Poste doch bitte mal den Inhalt.

------------------
Viele Grüße,
Tobias Holzmann

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Umis
Mitglied



Sehen Sie sich das Profil von Umis an!   Senden Sie eine Private Message an Umis  Schreiben Sie einen Gästebucheintrag für Umis

Beiträge: 21
Registriert: 15.10.2015

OpenFoam 3.0.1
Salome 7.7.1

erstellt am: 06. Dez. 2015 14:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 06. Dez. 2015 14:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Umis 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von Umis an!   Senden Sie eine Private Message an Umis  Schreiben Sie einen Gästebucheintrag für Umis

Beiträge: 21
Registriert: 15.10.2015

OpenFoam 3.0.1
Salome 7.7.1

erstellt am: 06. Dez. 2015 17:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Boundaries.zip

 
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





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 07. Dez. 2015 15:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Umis 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von Umis an!   Senden Sie eine Private Message an Umis  Schreiben Sie einen Gästebucheintrag für Umis

Beiträge: 21
Registriert: 15.10.2015

OpenFoam 3.0.1
Salome 7.7.1

erstellt am: 09. Dez. 2015 20:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Case_stl.zip

 
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





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 10. Dez. 2015 09:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Umis 10 Unities + Antwort hilfreich

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





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2466
Registriert: 27.08.2010

ESI-OpenCFD OpenFOAM v2312

erstellt am: 10. Dez. 2015 12:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Umis 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von Umis an!   Senden Sie eine Private Message an Umis  Schreiben Sie einen Gästebucheintrag für Umis

Beiträge: 21
Registriert: 15.10.2015

OpenFoam 3.0.1
Salome 7.7.1

erstellt am: 11. Dez. 2015 16:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 11. Dez. 2015 17:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Umis 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von Umis an!   Senden Sie eine Private Message an Umis  Schreiben Sie einen Gästebucheintrag für Umis

Beiträge: 21
Registriert: 15.10.2015

OpenFoam 3.0.1
Salome 7.7.1

erstellt am: 12. Dez. 2015 13:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 13. Dez. 2015 14:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Umis 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von Umis an!   Senden Sie eine Private Message an Umis  Schreiben Sie einen Gästebucheintrag für Umis

Beiträge: 21
Registriert: 15.10.2015

OpenFoam 3.0.1
Salome 7.7.1

erstellt am: 13. Dez. 2015 14:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 13. Dez. 2015 14:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Umis 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von Umis an!   Senden Sie eine Private Message an Umis  Schreiben Sie einen Gästebucheintrag für Umis

Beiträge: 21
Registriert: 15.10.2015

OpenFoam 3.0.1
Salome 7.7.1

erstellt am: 13. Dez. 2015 16:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


logFiles.zip

 
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





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 14. Dez. 2015 11:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Umis 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von Umis an!   Senden Sie eine Private Message an Umis  Schreiben Sie einen Gästebucheintrag für Umis

Beiträge: 21
Registriert: 15.10.2015

OpenFoam 3.0.1
Salome 7.7.1

erstellt am: 16. Dez. 2015 21:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 16. Dez. 2015 23:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Umis 10 Unities + Antwort hilfreich

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

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz