Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  OpenFOAM
  simpleFoam-Fehler: Unable to set reference cell for field p

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
Autor Thema:  simpleFoam-Fehler: Unable to set reference cell for field p (2783 / mal gelesen)
FeFoe
Mitglied
Student


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

Beiträge: 12
Registriert: 02.04.2020

erstellt am: 02. Apr. 2020 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

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



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

Beiträge: 61
Registriert: 23.01.2020

--

erstellt am: 03. Apr. 2020 10: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 Nur für FeFoe 10 Unities + Antwort hilfreich

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





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: 2463
Registriert: 27.08.2010

OpenFOAM-dev (Foundation)
OpenFOAM-xxxx (ESI)

erstellt am: 03. Apr. 2020 17: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 FeFoe 10 Unities + Antwort hilfreich

Hey,

ohne auf Hulli´s Beitrag einzugehen (der sicherlich berechtigt ist), zeig doch bitte deine constant/polyMesh/boundary Datei. Danke für Deine Formatierung!
Danke schon im Voraus.

------------------
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


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

Beiträge: 12
Registriert: 02.04.2020

erstellt am: 03. Apr. 2020 18: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

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





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: 2463
Registriert: 27.08.2010

OpenFOAM-dev (Foundation)
OpenFOAM-xxxx (ESI)

erstellt am: 03. Apr. 2020 19:17    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 FeFoe 10 Unities + Antwort hilfreich

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


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

Beiträge: 12
Registriert: 02.04.2020

erstellt am: 03. Apr. 2020 19: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

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





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: 2463
Registriert: 27.08.2010

OpenFOAM-dev (Foundation)
OpenFOAM-xxxx (ESI)

erstellt am: 03. Apr. 2020 19: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 FeFoe 10 Unities + Antwort hilfreich

Hi, 

ich muss Dir widersprechen. In Deiner epsilon Datei gibt es in der Tat keinen - für OpenFOAM - bekannten Patchnamen namens wall.
Vor wall ist Dein Dictionary bereits beendet --> '}'.

------------------
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


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

Beiträge: 12
Registriert: 02.04.2020

erstellt am: 03. Apr. 2020 19: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,

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

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)2023 CAD.de | Impressum | Datenschutz