Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  OpenFOAM
  Periodische Randbedingung / cyclic BC

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:  Periodische Randbedingung / cyclic BC (3118 mal gelesen)
J0SCHA
Mitglied
Student / Praktikant


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

Beiträge: 30
Registriert: 18.05.2010

Build : 1.6
redhat enterpise linux 5.3

erstellt am: 18. Mai. 2010 15: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

Hallo,

ich beschäftige mich jetzt seit ein paar Tagen mit OpenFOAM und habe mich durch diverse Tutorials gearbeitet.
Mitlerweile bin ich leider auf ein Problem gestossen bei dem ich absolut nichtmehr weiter komme. Meine Recherche in der Doku, diversen Foren und Google hat mich bei diesem Problem leider bisher auch nicht weitergebracht.

Die Definition der Randbedingungen für periodische Randflächen.

Ich habe mir mit blockMesh ein eigenes Netz erstellt.

Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  1.6                                  |
|  \\  /    A nd          | Web:      http://www.OpenFOAM.org                |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version    2.0;
    format      ascii;
    class      dictionary;
    object      blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

convertToMeters 0.01;

vertices       
(
    (0 0 2) //0
    (4 0 2) //1
    (4 2 0) //2
    (0 2 0) //3
    (0 0 5) //4
    (4 0 5) //5
    (4 5 0) //6
    (0 5 0) //7
    (8 0 2) //8

    (8 2 0) //9
    (8 0 5) //10
    (8 5 0) //11
    (0 0 8) //12
    (4 0 8) //13
    (4 8 0) //14
    (0 8 0) //15
    (8 0 8) //16
    (8 8 0) //17
);

blocks         
(
    hex (0 1 2 3 4 5 6 7) (20 10 10) simpleGrading (4 1 1) //Block 0
    hex (1 8 9 2 5 10 11 6) (10 10 10) simpleGrading (1 1 1) //Block 1
    hex (4 5 6 7 12 13 14 15) (20 10 10) simpleGrading (4 1 1) //Block 2
    hex (5 10 11 6 13 16 17 14) (10 10 10) simpleGrading (1 1 1) //Block 3
);

edges         
(

arc 3 0 (0 1.41421 1.41421)
arc 2 1 (4 1.41421 1.41421)
arc 9 8 (8 1.41421 1.41421)

arc 7 4 (0 3.53553 3.53553)
arc 6 5 (4 3.53553 3.53553)
arc 11 10 (8 3.53553 3.53553)

arc 15 12 (0 5.65685 5.65685)
arc 14 13 (4 5.65685 5.65685)
arc 17 16 (8 5.65685 5.65685)


);

patches       
(
    wall rotatingWall
    (
        (0 4 7 3)
(4 12 15 7)
    )

    wall fixedWalls
    (

        (0 3 2 1)
(1 2 9 8)
(8 9 11 10)
(10 11 17 16)
(12 13 14 15)
(13 16 17 14)
    )
    cyclic cyclicA
    (
        (0 1 5 4)
(2 3 7 6)
    )
    cyclic cyclicB
    (
        (1 8 10 5)
(2 6 11 9)
    )
    cyclic cyclicC
    (
        (4 5 13 12)
(6 7 15 14)
    )
    cyclic cyclicD
    (
        (5 10 16 13)
(6 14 17 11)
    )

);

mergePatchPairs
(
);

// ************************************************************************* //



wobei die Zellenverteilung noch verbessert werden muss, aber dies ist momentan nicht mein Problem.
* Sorry aber ich bin sogar zu blöd den code hier im Forum gescheit zu formatieren.

Mein "0" Ordner enthält
p:

Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  1.6                                  |
|  \\  /    A nd          | Web:      http://www.OpenFOAM.org                |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version    2.0;
    format      ascii;
    class      volScalarField;
    object      p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 2 -2 0 0 0 0];

internalField  uniform 0;

boundaryField
{
    rotatingWall     
    {
        type            zeroGradient;
    }

    fixedWalls     
    {
        type            zeroGradient;
    }

  cyclicA
    {
        type            fixedValue;
        value          uniform 0;
    }

    cyclicB
    {
        type            fixedValue;
        value          uniform 0;
    }

    cyclicC
    {
        type            fixedValue;
        value          uniform 0;
    }

    cyclic
    {
        type            fixedValue;
        value          uniform 0;
    }

}


und U:

Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  1.6                                  |
|  \\  /    A nd          | Web:      http://www.OpenFOAM.org                |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version    2.0;
    format      ascii;
    class      volVectorField;
    object      U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 1 -1 0 0 0 0];

internalField  uniform (0 0 0);

boundaryField
{
    rotatingWall     
    {
        type            rotatingWallVelocity;
        origin (0 0 0); // origin of axis and the axis
axis (1 0 0); // about which the wall will rotate
omega 100; // 1/s
    }

    fixedWalls     
    {
        type            fixedValue;
        value          uniform (0 0 0);
    }

/* cyclicA
    {
        type            fixedValue;
        value          uniform (0 0 0);
    }

    cyclicB
    {
        type            fixedValue;
        value          uniform (0 0 0);
    }

    cyclicC
    {
        type            fixedValue;
        value          uniform (0 0 0);
    }

    cyclicD
    {
        type            fixedValue;
        value          uniform (0 0 0);
    }
*/
}



Da ich momentan absolut keine Ahnung habe, der Fehler aber laut Fehlermeldung bereits in der "p"-Datei entsteht sind hier die cycylic patches auskomentiert.

Mein controlDict:

Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  1.6                                  |
|  \\  /    A nd          | Web:      www.OpenFOAM.org                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version    2.0;
    format      ascii;
    class      dictionary;
    location    "system";
    object      controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

application    icoFoam;

startFrom      /*latestTime*/startTime;

startTime      0;/* */

stopAt          endTime;

endTime        10;

deltaT          0.002;

writeControl    timeStep;

writeInterval  500;

purgeWrite      0;

writeFormat    ascii;

writePrecision  6;

writeCompression uncompressed;

timeFormat      general;

timePrecision  6;

runTimeModifiable yes;


// ************************************************************************* //


Die restlichen Daten transportProperties, fvSchemes und fvSolution hab ich aus dem cavity Testfall der Dokumentaion entnommen, wobei nu angepasst wurde

Code:
nu              nu [ 0 2 -1 0 0 0 0 ] 0.00032;
.


Ich weiß leider nicht welche RB ich an den cyclic Patches setzen muß, wieso müssen überhaupt Startwerte angegeben werden. Der Fall läuft/rechnet wenn ich die cyclic Patches als fixedWalls mitdefiniere.

Ich habe es mit

Code:
cyclicA
    {
        type            fixedValue;
        value          uniform 0;
    }
und
Code:
type            zeroGradient;

versucht.

Ganz egal welche Variante ich bekomme eine Fehlermeldung: file: /home/cfxuser/OpenFOAM/cfxuser-1.6/run/tutorials/incompressible/icoFoam/test/eigenes_multi_neu/0/p::cyclicA from line 35 to line 35. *bzw 36, je nach dem wieviele Zeilen der Eintrag "cyclicA" enthält.

Kann mir jemand aus dem Stehgreif bei diesem Problem helfen oder hat evtl einen Testfall welcher cyclic patches verwendet bzw eine Referenz welche Angaben nötig sind?

Danke schonmal im Voraus!!!

Gruß Joscha

[Diese Nachricht wurde von J0SCHA am 25. Mai. 2010 editiert.]

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

J0SCHA
Mitglied
Student / Praktikant


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

Beiträge: 30
Registriert: 18.05.2010

Build : 1.6
redhat enterpise linux 5.3

erstellt am: 19. Mai. 2010 10: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

Fehler gefunden.

Die Startwertdateien */case/0/p und */case/0/U müssen beide als Eintrag für die Periodischen Flächen:

Code:
  cyclicA
    {
        type            cyclic;
    }

enthalten.

*/case/0/p

Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  1.6                                  |
|  \\  /    A nd          | Web:      http://www.OpenFOAM.org                |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version    2.0;
    format      ascii;
    class      volScalarField;
    object      p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 2 -2 0 0 0 0];

internalField  uniform 0;

boundaryField
{
    rotatingWall
    {
        type            zeroGradient;
    }

    fixedWalls
    {
        type            zeroGradient;
    }

  cyclicA
    {
type            cyclic;
    }

    cyclicB
    {
        type            cyclic;
    }

    cyclicC
    {
        type            cyclic;
    }

    cyclicD
    {
        type            cyclic;
    }

}

// ************************************************************************* //


und
*/case/0/U

Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  1.6                                  |
|  \\  /    A nd          | Web:      http://www.OpenFOAM.org                |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version    2.0;
    format      ascii;
    class      volVectorField;
    object      U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 1 -1 0 0 0 0];

internalField  uniform (0 0 0);

boundaryField
{
    rotatingWall     
    {
        type            rotatingWallVelocity;
        origin (0 0 0); // origin of axis and the axis
axis (1 0 0); // about which the wall will rotate
omega 100; // 1/s
    }

    fixedWalls     
    {
        type            fixedValue;
        value          uniform (0 0 0);
    }

    cyclicA
    {
type            cyclic;
    }

    cyclicB
    {
type            cyclic;
    }

    cyclicC
    {
        type            cyclic;
    }

    cyclicD
    {
        type            cyclic;
    }

}

// ************************************************************************* //


[Diese Nachricht wurde von J0SCHA am 19. Mai. 2010 editiert.]

[Diese Nachricht wurde von J0SCHA am 25. Mai. 2010 editiert.]

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