Autor
|
Thema: simpleFoam-Fehler: Unable to set reference cell for field p (2788 / mal gelesen)
|
FeFoe Mitglied Student
Beiträge: 12 Registriert: 02.04.2020
|
erstellt am: 02. Apr. 2020 14:58 <-- editieren / zitieren --> Unities abgeben:
Liebe CAD.de-Community, ich bin recht unerfahren mit OpenFoam. Ich habe einige Tutorials und kleinere Projekte bearbeitet, bevor ich mich jetzt der Strömungssimulation an einem Ventil mit simpleFoam und dem Standard-k-epsilon-Modell durchführen möchte. Das Modell liegt in .STL-Dateien vor und ein Gitter wurde mit blockMesh und dann snappyHexMesh erfolgreich (checkMesh - "Mesh ok.") generiert. Wenn ich nun die Simulation starten möchte, erhalte ich folgende Fehlermeldung:
Code:
/*---------------------------------------------------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org \\ / A nd | Version: 7 \\/ M anipulation | \*---------------------------------------------------------------------------*/ Build : 7-1ff648926f77 Exec : simpleFoam Date : Apr 02 2020 Time : 14:36:11 Host : "Felixcae" PID : 15723 I/O : uncollated Case : /media/fefoe/CFD-Daten/Daten/OpenFoam/diaphragm_valve nProcs : 1 sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 10) allowSystemOperations : Allowing user-supplied system call operations// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0 SIMPLE: Convergence criteria found p: tolerance 0.01 U: tolerance 0.001 "(k|epsilon|omega|f|v2)": tolerance 0.001
Reading field p Reading field U Reading/calculating face flux field phi --> FOAM FATAL IO ERROR: Unable to set reference cell for field p Please supply either pRefCell or pRefPoint file: /media/fefoe/CFD-Daten/Daten/OpenFoam/diaphragm_valve/system/fvSolution.SIMPLE from line 39 to line 46. From function bool Foam::setRefCell(const volScalarField&, const volScalarField&, const Foam::Dictionary&, Foam::label&, Foam::scalar&, bool) in file cfdTools/general/findRefCell/findRefCell.C at line 105. FOAM exiting
Meines Wissens handelt es sich dabei um einen Fehler, der entsteht, wenn die Boundary-Conditions von U und p nicht richtig eingestellt sind. Meiner Meinung nach gibt es in den Dateien allerdings keinen Fehler.
Daher hier U:
Code:
dimensions [0 1 -1 0 0 0 0];internalField uniform (0 0 0); boundaryField { inlet { type fixedValue; value uniform (0 10 0); } outlet { type zeroGradient; } wall { type noSlip; } }
Und p:
Code: dimensions [0 2 -2 0 0 0 0];internalField uniform 0; boundaryField { inlet { type zeroGradient; } outlet { type fixedValue; value uniform 0; } wall { type zeroGradient; } }
Was können weitere Fehlerursachen sein, die ich nicht bedacht habe? Existieren vielleicht doch Fehler mit dem Gitter? Ich würde mich sehr über Feedback freuen! Viele Grüße Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hulli1 Mitglied
Beiträge: 61 Registriert: 23.01.2020 --
|
erstellt am: 03. Apr. 2020 10:59 <-- editieren / zitieren --> Unities abgeben: Nur für FeFoe
Hallo, vlt hilft es die ref zelle festzulegen PIMPLE // Bei Dir wohl SILPLE // ) { nOuterCorrectors 1; nCorrectors 2; nNonOrthogonalCorrectors 2; pRefPoint (1.0 1.0 1.0); // kannst Du hier einstellen muss aber in der Domäne liegen pRefValue 0; } Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 03. Apr. 2020 17:58 <-- editieren / zitieren --> Unities abgeben: Nur für FeFoe
|
FeFoe Mitglied Student
Beiträge: 12 Registriert: 02.04.2020
|
erstellt am: 03. Apr. 2020 18:47 <-- editieren / zitieren --> Unities abgeben:
Hallo, vielen Dank für eure schnelle Antworten! 1. Hulli: Danke für deinen Beitrag, das Setzen der beiden Einträge löst mein erstes Problem. 2. Shor-ty: Nach dem Einfügen von Hullis Vorschlag erhalte ich die Fehlermeldung: Code:
--> FOAM Warning : From function const Foam::HashTable<Foam::List<int>, Foam::word>& Foam: olyBoundaryMesh::groupPatchIDs() const in file meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C at line 473 Removing patchGroup 'wall' which clashes with patch 2 of the same name. --> FOAM FATAL IO ERROR: Cannot find patchField entry for wall
file: /media/fefoe/CFD-Daten/Daten/OpenFoam/diaphragm_valve/0/epsilon.boundaryField from line 26 to line 34. From function void Foam::GeometricField<Type, PatchField, GeoMesh>::Boundary::readField(const Foam::DimensionedField<TypeR, GeoMesh>&, const Foam::Dictionary&) [with Type = double; PatchField = Foam::fvPatchField; GeoMesh = Foam::volMesh] in file /home/ubuntu/OpenFOAM/OpenFOAM-7/src/OpenFOAM/lnInclude/GeometricBoundaryField.C at line 191.
Offensichtlich scheint sich deine Vorahnung zu bestätigen. Mit der Fehlermeldung erkenne ich die Fehler in der boundary-Datei(s. unten) dann auch.
Code: 3 ( outlet { type patch; nFaces 284; startFace 389295; } inlet { type patch; nFaces 392; startFace 389579; } wall { type wall; inGroups List<word> 1(wall); nFaces 16655; startFace 389971; } )
Bei einer Modellgeometrie, dessen Gitter zunächst mit BlockMesh und dann mit snappyHexMesh generiert wird, wo passe ich diese boundary-Einstellungen an? Vor dem generieren in der blockMeshDict, in der snappyHexMeshDict oder nach der Gittergenerierung in der boundary-Datei?
Bitte entschuldigt meine Anfängerfragen, euer Feedback war mir bisher schon sehr hilfreich!
Viele Grüße Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 03. Apr. 2020 19:17 <-- editieren / zitieren --> Unities abgeben: Nur für FeFoe
Hi, erste Meldung sagt dir, dass du eine Gruppe mit den Namen wall hast (siehe constant/polyMesh/boundary file), die mit dem Patchnamen selber kollidiert. Entsprechend nehmen wir die Gruppe heraus, um Run-Time Fehler zu vermeiden; ist nur eine Warnung/Infosatz (steht ja auch dran). Abhilfe - wenns jemand stört -, einfach den Eintrag löschen:
Code:
inGroups List<word> 1(wall);
oder den Namen des Patches von wall auf irgendwasAnderes ändern. Zweiter Fehler steht auch dran. In Deinem File 0/epsilon gibt es keine Randbedingung für Deinen Patch mit dem Namen wall. Zur Ergänzung. Die von Hulli genannten Angaben sind zwingend erforderlich:
Code:
setRefCell(p, simple.dict(), pRefCell, pRefValue);
------------------ Viele Grüße, Tobi OpenFOAM® Tutorials | Publikationen | Für Anfänger wiki.openfoam.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
FeFoe Mitglied Student
Beiträge: 12 Registriert: 02.04.2020
|
erstellt am: 03. Apr. 2020 19:25 <-- editieren / zitieren --> Unities abgeben:
Hallo, vielen Dank für deine super schnelle Antwort! Ein Entfernen von:
Code: inGroups List<word> 1(wall);
in allen drei Patches entfernt übrigens nicht den Fehler beim Simulationsstart. Meiner Meinung nach gibt es in 0/epsilon eine Randbedingung für den Patch mit dem Namen wall. Meine 0/epsilon-Datei sieht so aus: Code:
dimensions [0 2 -3 0 0 0 0];internalField uniform 1; boundaryField { inlet { type turbulentMixingLengthDissipationRateInlet; mixingLength 0.0006179;//d_hyd*0,037 value uniform 1; } outlet { type inletOutlet; inletValue uniform 1; value uniform 1; } } wall { type epsilonWallFunction; value uniform 1; } }
Habe ich da etwas falsch gemacht? Viele Grüße Felix [Diese Nachricht wurde von FeFoe am 03. Apr. 2020 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 03. Apr. 2020 19:47 <-- editieren / zitieren --> Unities abgeben: Nur für FeFoe
|
FeFoe Mitglied Student
Beiträge: 12 Registriert: 02.04.2020
|
erstellt am: 03. Apr. 2020 19:54 <-- editieren / zitieren --> Unities abgeben:
Hallo, da habe ich die Klammer übersehen. Manchmal sind es die einfachen Fehler. Jetzt sind alle o.g. Probleme behoben. Ich möchte mich noch einmal ganz herzlich bei euch bedanken! Viele Grüße Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |