Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  OpenFOAM
  AMI bewegt sich nicht

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:  AMI bewegt sich nicht (449 mal gelesen)
bastipa93
Mitglied



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

Beiträge: 27
Registriert: 03.02.2021

erstellt am: 04. Mrz. 2021 11:57    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


mesh.zip

 
Hallo zusammen,
ich habe mich an einem rotating mesh ausprobiert und mich mit Hilfe des Tutorials "rotatingFanInRoom" dort entlanggehangelt. Jetzt bin ich jedoch auf das Problem gestoßen, dass sich mein mesh nicht dreht. Ich habe die mesh-files und die case-files angehängt (mesh war zu groß zum Anhängen, daher konnte ich das leider nicht im case mit einfügen).
Zu meinem Vorgehen: analog zum Tutorial rotatingFanInRoom habe ich über AMI eine Zone definiert, in welcher sich die Zellen bewegen sollen. Meiner Einschätzung nach sieht das mesh mit AMI auch korrekt aus, aber ich kann mich da natürlich auch komplett irren. Soweit habe ich eigentlich alles aus dem Tutorial übernommen, bis auf dass ich die Randbedingungen einzelner Flächen ganz anders definiert habe. Background dazu: ich habe im Prinzip die gleiche Simulation mit einer glatten Wand schon einmal gemacht, nur dass man hier entsprechend der Wand eine Geschwindigkeit zuordnen konnte, da diese halt glatt war. Dort hat alles mit den Randbedingungen geklappt, sodass ich sie für ein rotierendes mesh übernommen habe. Da ich jetzt eben keine glatte Wand mehr habe, musste ich auf ein rotierendes mesh zurückgreifen...

Ich habe leider keinen Anhaltspunkt, warum sich mein mesh nicht dreht. Ich habe auch schon in mehreren Foren gesucht, aber keine Lösung dafür gefunden. Ich hatte zunächst angenommen, dass es am dynamicMeshDict liegt, aber dieses ist, bis auf origin, axis und omega, identisch zu dem aus dem Tutorial:

Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v2012                                 |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "constant";
    object      dynamicMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dynamicFvMesh   dynamicMotionSolverFvMesh;

motionSolverLibs (fvMotionSolvers);

motionSolver    solidBody;

cellZone        rotatingZone;

solidBodyMotionFunction  rotatingMotion;

origin      (0 0 0);
axis        (0 0 1);
omega       0.427853502;

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


Hat einer von euch eine Idee, woran es liegen könnte?

Viele Grüße
bastipa93

[Diese Nachricht wurde von bastipa93 am 04. Mrz. 2021 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: 2299
Registriert: 27.08.2010

OpenFOAM-dev (Foundation)

erstellt am: 04. Mrz. 2021 13: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 bastipa93 10 Unities + Antwort hilfreich

Der erste Schritt ist immer den moveDynamicMesh löser zu verwenden. Wenn sich da nichts tut dann schau mal Deinen Output des Lösers bzw. vom moveDynamicMesh an.

Wie sind deine Zeitschritte? 0.4278 1/rad ist natürlich auch sehr wenig. Da muss man schon mal ne 0.2 s mindestens haben das man was sieht. Ist ja immerhin nicht mal ne viertel Umdrehung pro Sekunde.

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

bastipa93
Mitglied



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

Beiträge: 27
Registriert: 03.02.2021

erstellt am: 04. Mrz. 2021 14:50    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

Ach, cool, moveDynamicMesh kannte ich noch gar nicht! Funktioniert auf jeden Fall und das mesh bewegt sich so, wie es soll.

Mir ist auch aufgefallen, dass ich eine Sache nicht aus dem Tutorial übernommen habe, nämlich habe ich die rotierende innerWall vorher auf noSlip gesetzt, laut Tutorial wurde aber die sich bewegende Fläche bzw. das Objekt auf

Code:
    {
        type            movingWallVelocity;
        value           uniform (0 0 0);
    }

gesetzt. Das habe ich so übernommen, allerdings schießen die Zahlen, sowohl Moment als auch Courant-Zahl, extrem in die Höhe und das bei einem deltaT von 2E-10. Das scheint also nicht der Weg zur Lösung zu sein...

Also habe ich die innerWall wieder auf noSlip gesetzt und das deltaT "drastisch" auf 0.002 erhöht. Und jetzt weiß ich nun wirklich gar nicht, wo das Problem liegt, denn: mein mesh bewegt sich wunderbar, aber überall ist die Geschwindigkeit 0. Eigentlich müsste das Fluid ja durch die Kanten im Mesh mitgetragen werden und so eine Geschwindigkeitskomponente erhalten, aber da tut sich wirklich gar nichts... Weißt du da zufällig, woran es liegen könnte?

Hier einmal mein p und U, falls es irgendwie daran liegen sollte, aber die Randbedingungen haben, wie gesagt, in einem anderen Fall bei mir sehr gut funktioniert.

p

Code:
dimensions      [0 2 -2 0 0 0 0];


internalField   uniform 0;

boundaryField
{
    top
    {
        type            empty;
    }
    bottom
    {
        type            empty;
    }
    innerWall
    {
        type            zeroGradient;
    }
    outerWall
    {
        type            zeroGradient;
    }
    AMI1
    {
        type            cyclicAMI;
        value           uniform 0;
    }
    AMI2
    {
        type            cyclicAMI;
        value           uniform 0;
    }
}


U

Code:
dimensions      [0 1 -1 0 0 0 0];


internalField   uniform (0 0 0);

boundaryField
{
    top
    {
        type            empty;
    }
    bottom
    {
        type            empty;
    }
    innerWall
    {
        type            noSlip;
    }
    outerWall
    {
        type            noSlip;
    }
    AMI1
    {
        type            cyclicAMI;
        value           uniform (0 0 0);
    }
    AMI2
    {
        type            cyclicAMI;
        value           uniform (0 0 0);
    }
}


Diese Dateien bleiben auch in den nachfolgenden Zeitschritten komplett gleich.

Edit:
So wie ich das verstehe (und bitte korrigiert mich, wenn ich falsch leige  ) muss die innerWall mit movingWallVelocity typisiert werden, da der innerWall ja die Geschwindigkeit der Wand zugeordnet werden muss. Allerdings bleibt für mich immer noch die Frage offen, warum es nach ca. 5 Iterationen zu solch derartigen Zusammenbrüchen kommt...

[Diese Nachricht wurde von bastipa93 am 04. Mrz. 2021 editiert.]

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

bastipa93
Mitglied



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

Beiträge: 27
Registriert: 03.02.2021

erstellt am: 15. Mrz. 2021 11:49    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

Hat niemand eine Idee, woran es liegen könnte?

Was mir dazu noch aufgefallen ist: ich habe fvSolution und fvSchemes aus dem Tutorial rotatingFanInRoom übernommen. Die Sache ist jetzt die, dass ich das Tutorial ohne Probleme durchführen konnte. Wenn ich nun aber meinen case mit diesem fvSolution und fvSchemes ausführen möchte, kommt dort die Fehlermeldung:

Code:
[7]
[7]
[7] --> FOAM FATAL IO ERROR:
[7] Unable to set reference cell for field p
    Please supply either pRefCell or pRefPoint
[7]
[7]
[7] file: IOstream.PIMPLE
[7]
[7]     From function bool Foam::setRefCell(const volScalarField&, const volScalarField&, const Foam::Dictionary&, Foam::label&, Foam::scalar&, bool)
[7]     in file cfdTools/general/findRefCell/findRefCell.C at line 100.
[7]
FOAM parallel run exiting

Diesen Fehler habe ich damals umgangen, indem ich bei fvSolution unter "PIMPLE" die folgenden Einträge hinzugefügt habe:

Code:
    pRefCell 0;
    pRefValue 0;

Dann tritt diese Fehlermeldung nicht mehr auf, allerdings schießen die Werte dann nur so in die Höhe. Könnte es eventuell auch damit zusammenhängen? (p ist bei mir allerdings überall auf den Wert 0 gesetzt...) Und falls ja, wieso läuft meine Simulation denn ohne pRefCell und pRefValue nicht, das Tutorial allerdings schon?

[Diese Nachricht wurde von bastipa93 am 15. Mrz. 2021 editiert.]

[Diese Nachricht wurde von bastipa93 am 15. Mrz. 2021 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: 2299
Registriert: 27.08.2010

OpenFOAM-dev (Foundation)

erstellt am: 15. Mrz. 2021 18: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 bastipa93 10 Unities + Antwort hilfreich

Wissen tut man das schon nur kannst Du nicht erwarten, dass sich zu jederzeit jemand um Deine Themen kümmert   


  • pRef muss man angeben, wenn man keine Druckrandbedingung definiert und sich somit unendlich viele Lösungen einstellen könnten. Es ist nur der Druckgradient entscheidend und ob wir jetzt 1000 - 300 als Gradient berechnen oder 25735 - 25035 ist vollkommen egal.
  • Wo bekommst Du denn deine Extremwerte? Ist dein Case noch aktuell oben?
  • Du erwähnst immer ein Tutorial - welches denn?
  • Und ja movingWallVelocity muss gesetzt werden.

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

bastipa93
Mitglied



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

Beiträge: 27
Registriert: 03.02.2021

erstellt am: 16. Mrz. 2021 07: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


case_mesh.zip

 
Das erwarte ich natürlich auch nicht und freue mich über jede Hilfestellung, die mir gegeben wird  Es ist nur ziemlich nervenzerreibend, wenn man an solch einer Thematik seit Längerem sitzt und die Antwort auf das Problem hoffentlich in diesem Forum zu finden sein wird  Da wird man bei längerer Zeit ohne Antwort schon ein wenig ungeduldig und hofft, dass sein Problem nicht in Vergessenheit gerät 

Zu Deinen Fragen:
Im Grunde genommen bricht alles komplett aus. Im Folgenden einmal die ersten 7 Iterationen, nach denen ich abgebrochen habe, weil es einfach keinen Sinn mehr ergab. Auch bei niedrigeren Zeitschritten gibt es keine Verbesserung.

Code:
Create mesh for time = 0

Selecting dynamicFvMesh dynamicMotionSolverFvMesh
Selecting motion solver: solidBody
Applying solid body motion to cellZone rotatingZone
Selecting solid-body motion function rotatingMotion
Applying solid body motion to cellZone rotatingZone

PIMPLE: no residual control data found. Calculations will employ 3 corrector loops

Reading field p

Reading field U

Reading/calculating face flux field phi

AMI: Creating addressing and weights between 38400 source faces and 38400 target faces
AMI: Patch source sum(weights) min:0.9999987 max:1.000023 average:1
AMI: Patch target sum(weights) min:0.9999986 max:1.000003 average:1
Selecting incompressible transport model Newtonian
Selecting turbulence model type laminar
Selecting laminar stress model Stokes
No MRF models present

No finite volume options present
Constructing face velocity Uf

Courant Number mean: 0 max: 0

Starting time loop

forces forces:
    rho: rhoInf
    Freestream density (rhoInf) set to 970
    Not including porosity effects

Courant Number mean: 0 max: 0
Time = 1e-10

PIMPLE: iteration 1
AMI: Creating addressing and weights between 38400 source faces and 38400 target faces
AMI: Patch source sum(weights) min:0.9999987 max:1.000023 average:1
AMI: Patch target sum(weights) min:0.9999986 max:1.000003 average:1
GAMG:  Solving for pcorr, Initial residual = 1, Final residual = 4.878015e-07, No Iterations 63
time step continuity errors : sum local = 2.36015e-13, global = 6.628137e-18, cumulative = 6.628137e-18
GAMG:  Solving for p, Initial residual = 1, Final residual = 9.577344e-07, No Iterations 44
time step continuity errors : sum local = 1.296643e-16, global = 2.969879e-17, cumulative = 3.632692e-17
PIMPLE: iteration 2
GAMG:  Solving for p, Initial residual = 0.6915528, Final residual = 7.858256e-07, No Iterations 33
time step continuity errors : sum local = 1.894482e-14, global = 1.840867e-14, cumulative = 1.844499e-14
PIMPLE: iteration 3
GAMG:  Solving for p, Initial residual = 0.3505879, Final residual = 9.970442e-07, No Iterations 50
time step continuity errors : sum local = 2.107605e-13, global = 2.092296e-13, cumulative = 2.276746e-13
ExecutionTime = 9.19 s  ClockTime = 10 s

forces forces write:
    Sum of forces
        Total    : (92.07507 4.89126 -3.969121e-08)
        Pressure : (92.07576 4.891331 -1.687607e-08)
        Viscous  : (-0.0006916661 -7.144392e-05 -2.281514e-08)
    Sum of moments
        Total    : (0.004157572 -0.07826381 -1.135043)
        Pressure : (0.004157632 -0.07826439 -1.134551)
        Viscous  : (-6.084247e-08 5.876467e-07 -0.0004921251)


Courant Number mean: 3.752563e-09 max: 4.323769e-07
Time = 2e-10

PIMPLE: iteration 1
AMI: Creating addressing and weights between 38400 source faces and 38400 target faces
AMI: Patch source sum(weights) min:0.9999987 max:1.000023 average:1
AMI: Patch target sum(weights) min:0.9999986 max:1.000003 average:1
GAMG:  Solving for pcorr, Initial residual = 1, Final residual = 8.729927e-07, No Iterations 48
time step continuity errors : sum local = 2.092153e-13, global = 2.092152e-13, cumulative = 4.368897e-13
GAMG:  Solving for p, Initial residual = 0.7617769, Final residual = 9.931779e-07, No Iterations 52
time step continuity errors : sum local = 2.207653e-12, global = 2.20052e-12, cumulative = 2.63741e-12
PIMPLE: iteration 2
GAMG:  Solving for p, Initial residual = 0.8202843, Final residual = 4.3359e-07, No Iterations 56
time step continuity errors : sum local = 2.300902e-11, global = 2.298036e-11, cumulative = 2.561777e-11
PIMPLE: iteration 3
GAMG:  Solving for p, Initial residual = 0.8246963, Final residual = 9.216107e-07, No Iterations 52
time step continuity errors : sum local = 2.404884e-10, global = 2.398405e-10, cumulative = 2.654583e-10
ExecutionTime = 19.14 s  ClockTime = 21 s

forces forces write:
    Sum of forces
        Total    : (107866.7 6397.93 -4.225532e-05)
        Pressure : (107867.5 6397.975 -8.63595e-06)
        Viscous  : (-0.836187 -0.04544276 -3.361937e-05)
    Sum of moments
        Total    : (5.438241 -91.68667 -1.182977)
        Pressure : (5.438279 -91.68738 -1.182404)
        Viscous  : (-3.875105e-05 0.0007105739 -0.0005727623)


Courant Number mean: 1.135027e-06 max: 0.0004956078
Time = 3e-10

PIMPLE: iteration 1
AMI: Creating addressing and weights between 38400 source faces and 38400 target faces
AMI: Patch source sum(weights) min:0.9999987 max:1.000023 average:1
AMI: Patch target sum(weights) min:0.9999986 max:1.000003 average:1
GAMG:  Solving for pcorr, Initial residual = 1, Final residual = 9.156822e-07, No Iterations 54
time step continuity errors : sum local = 2.398247e-10, global = 2.398245e-10, cumulative = 5.052828e-10
GAMG:  Solving for p, Initial residual = 0.8258288, Final residual = 9.619184e-07, No Iterations 60
time step continuity errors : sum local = 2.516767e-09, global = 2.509721e-09, cumulative = 3.015003e-09
PIMPLE: iteration 2
GAMG:  Solving for p, Initial residual = 0.8248912, Final residual = 8.767956e-07, No Iterations 55
time step continuity errors : sum local = 2.627809e-08, global = 2.621e-08, cumulative = 2.9225e-08
PIMPLE: iteration 3
GAMG:  Solving for p, Initial residual = 0.825485, Final residual = 9.525761e-07, No Iterations 57
time step continuity errors : sum local = 2.759529e-07, global = 2.751799e-07, cumulative = 3.044049e-07
ExecutionTime = 28.95 s  ClockTime = 31 s

forces forces write:
    Sum of forces
        Total    : (1.237554e+08 7335818 -0.0503867)
        Pressure : (1.237563e+08 7335870 -0.009861865)
        Viscous  : (-955.1255 -51.99841 -0.04052484)
    Sum of moments
        Total    : (6235.445 -105192.1 -71.97944)
        Pressure : (6235.489 -105192.9 -71.91701)
        Viscous  : (-0.04434473 0.8116448 -0.06243315)


Courant Number mean: 0.001297225 max: 0.5686528
Time = 4e-10

PIMPLE: iteration 1
AMI: Creating addressing and weights between 38400 source faces and 38400 target faces
AMI: Patch source sum(weights) min:0.9999987 max:1.000023 average:1
AMI: Patch target sum(weights) min:0.9999986 max:1.000003 average:1
GAMG:  Solving for pcorr, Initial residual = 1, Final residual = 9.216153e-07, No Iterations 54
time step continuity errors : sum local = 2.751618e-07, global = 2.751615e-07, cumulative = 5.795664e-07
GAMG:  Solving for p, Initial residual = 0.8311887, Final residual = 7.609059e-07, No Iterations 56
time step continuity errors : sum local = 3.067758e-06, global = 3.061417e-06, cumulative = 3.640983e-06
PIMPLE: iteration 2
GAMG:  Solving for p, Initial residual = 0.8561607, Final residual = 8.472403e-07, No Iterations 156
time step continuity errors : sum local = 4.818097e-05, global = 4.810522e-05, cumulative = 5.17462e-05
PIMPLE: iteration 3
GAMG:  Solving for p, Initial residual = 0.947935, Final residual = 9.650419e-07, No Iterations 588
time step continuity errors : sum local = 0.002012817, global = 0.002011355, cumulative = 0.002063101
ExecutionTime = 63.73 s  ClockTime = 67 s

forces forces write:
    Sum of forces
        Total    : (9.490346e+11 5.635415e+10 -6030.76)
        Pressure : (9.489834e+11 5.635167e+10 -49.30893)
        Viscous  : (5.119372e+07 2479843 -5981.451)
    Sum of moments
        Total    : (4.790117e+07 -8.06679e+08 -607053.6)
        Pressure : (4.789892e+07 -8.066359e+08 -609038.7)
        Viscous  : (2252.019 -43128.67 1985.121)


Courant Number mean: 4.193965 max: 4156.3
Time = 5e-10

PIMPLE: iteration 1
AMI: Creating addressing and weights between 38400 source faces and 38400 target faces
AMI: Patch source sum(weights) min:0.9999987 max:1.000023 average:1
AMI: Patch target sum(weights) min:0.9999986 max:1.000003 average:1
GAMG:  Solving for pcorr, Initial residual = 1, Final residual = 8.598714e-07, No Iterations 75
time step continuity errors : sum local = 0.002011222, global = 0.00201122, cumulative = 0.004074321
GAMG:  Solving for p, Initial residual = 0.9935367, Final residual = 8.446779e-07, No Iterations 199
time step continuity errors : sum local = 0.09984286, global = 0.09979674, cumulative = 0.1038711
PIMPLE: iteration 2
GAMG:  Solving for p, Initial residual = 0.998539, Final residual = 9.990623e-07, No Iterations 187
time step continuity errors : sum local = 4.422467, global = 4.420349, cumulative = 4.524221
PIMPLE: iteration 3
GAMG:  Solving for p, Initial residual = 0.9993361, Final residual = 9.69855e-07, No Iterations 212
time step continuity errors : sum local = 320.8884, global = 320.7289, cumulative = 325.2531
ExecutionTime = 91.92 s  ClockTime = 96 s

forces forces write:
    Sum of forces
        Total    : (7.116617e+20 4.639476e+19 -9.057569e+12)
        Pressure : (7.116617e+20 4.639476e+19 -7.960405e+10)
        Viscous  : (3.766951e+11 -3.696463e+11 -8.977965e+12)
    Sum of moments
        Total    : (3.943554e+16 -6.049128e+17 -8.565371e+14)
        Pressure : (3.943555e+16 -6.049127e+17 -8.565367e+14)
        Viscous  : (-2.943343e+09 -1.092625e+11 -3.891511e+08)


Courant Number mean: 571811.6 max: 6.627588e+08
Time = 6e-10

PIMPLE: iteration 1
AMI: Creating addressing and weights between 38400 source faces and 38400 target faces
AMI: Patch source sum(weights) min:0.9999987 max:1.000023 average:1
AMI: Patch target sum(weights) min:0.9999986 max:1.000003 average:1
GAMG:  Solving for pcorr, Initial residual = 1, Final residual = 9.138477e-07, No Iterations 49
time step continuity errors : sum local = 320.7077, global = 320.7075, cumulative = 645.9606
GAMG:  Solving for p, Initial residual = 0.9993673, Final residual = 8.980421e-07, No Iterations 146
time step continuity errors : sum local = 14242.73, global = 14236.57, cumulative = 14882.54
PIMPLE: iteration 2
GAMG:  Solving for p, Initial residual = 0.9991243, Final residual = 7.743635e-07, No Iterations 177
time step continuity errors : sum local = 741932.7, global = 741637.2, cumulative = 756519.7
PIMPLE: iteration 3
GAMG:  Solving for p, Initial residual = 0.9993733, Final residual = 7.72753e-07, No Iterations 160
time step continuity errors : sum local = 4.544968e+07, global = 4.543268e+07, cumulative = 4.61892e+07
ExecutionTime = 116.19 s  ClockTime = 121 s

forces forces write:
    Sum of forces
        Total    : (1.727958e+31 1.112663e+30 -1.849561e+21)
        Pressure : (1.727958e+31 1.112663e+30 -1.846929e+21)
        Viscous  : (2.112425e+18 8.058579e+16 -2.631532e+18)
    Sum of moments
        Total    : (9.457633e+26 -1.468765e+28 -2.042538e+25)
        Pressure : (9.457633e+26 -1.468765e+28 -2.042538e+25)
        Viscous  : (-1.35874e+15 -3.370279e+16 1.563493e+14)


Courant Number mean: 7.640161e+10 max: 9.388297e+13
Time = 7e-10


Und ja, mein case ist noch aktuell, ich habe daran nichts verändert und komme leider nicht weiter. Ich habe das case mal hier angehängt. Sowohl mesh als auch case-Ordner sind darin enthalten, da das polyMesh zu groß gewesen ist.

Das Tutorial auf das ich mich beziehe ist "rotatingFanInRoom":
https://www.openfoam.com/documentation/guides/latest/doc/tutorial-pimplefoam-ami-rotating-fan.html
bzw.
https://develop.openfoam.com/Development/openfoam/-/tree/develop/tutorials/incompressible/pimpleFoam/RAS/rotatingFanInRoom

Anhand dessen habe ich auch mein AMI ausgelegt etc. Wie gesagt, mit moveDynamicMesh klappt alles wunderbar, und es werden sowohl dort als auch bei checkMesh keine Fehler angezeigt. Daher schließe ich Meshprobleme eigentlich aus und denke, dass es irgendwie an den Randbedingungen o.ä. liegt.

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

OpenFOAM-dev (Foundation)

erstellt am: 16. Mrz. 2021 13: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 bastipa93 10 Unities + Antwort hilfreich

Hey Basti,

also das man da verzweifelt kenn ich. Vor ca. 10 Jahren war das hier auch meine Anlaufstelle aber prinzipiell - ich behaupte das jetzt einfach mal - gibt es hier nur mich, der sich sehr gut mit FOAM auskennt - außer es gibt irgendwelche stillen Leser, die nichts beantworten. Natürlich sind hier - und das freut mich sehr - zwei/drei Leute noch aktiv und helfen aus, aber oft kommen auch sie zu nem Punkt wo es nicht mehr weitergeht und es ist halt auch oft eine "Probier" mal das oder das Antwort ohne die Numerik im Auge zu behalten - und ja auch ich hab das ne Zeitlang gemacht aber man kommt irgendwann halt an die Grenzen - vor allem wenn es Probleme sind, die man nicht lokalisieren kann wie bspw. ein Netzproblem oder Schemen. Wird schon spannender wenn die Gradienten einem ein Strich durch die Rechnung machen  - außerdem stellen die meisten ja in den fvSolution und fvSchemes nichts sonderlich groß um.

Okay, kleiner Ausflug. Möchte mich da auch nicht zu sehr ins Licht heben aber ich machs halt schon über 10 Jahre und bin ja sehr aktiv in der Community (übrigens auf cfd-online.com bekommst schneller Hilfe - da beweg ich mich eigentlich hauptsächlich - außer ich bekomm ne Mail von cad.de, dann schau ich au hier rein).


Zum Case

Netzproblem kann man mit moveDynamicMesh nicht ausschließen, da es nur die Netzbewegung darstellt. Man kann aber durchaus Zellen haben, die Probleme machen sobald man die Zellwerte auf die Faces interpoliert oder die diversen Berechnungen macht wie bereits den erwähnten Gradienten bildet.

Allerdings fällt schon mal auf, dass Du den PIMPLE Algorithmus nicht korrekt verwendest. Ferner nimmt die Co Zahl zwischen den Zeitschritten um circa den Faktor 1000 zu... das scheint komisch zu sein.

Fatal ist die Verwendung vom Linearen Schema beim den Div-Schemes. Das gleich mal rausnehmen. Fang mit Upwind an. Deine snGrad Schemen sind auch nicht sonderlich toll. uncorrected nimmt man nur bei sehr guten Netzen. Du hast hier nur nen Relaxationsfaktor von cos^-1(alpha) dabei aber keine Explizite korrektur. Deine nOuterCorrectors kannst auf 1 stellen wenn Du den PIMPLE nicht richtig verwendest. Ich hab das in meinem Buch erklärt (siehe meine Webseite - Mathematics, Numerics, Derivations and OpenFOAM). Natürlich kann der sehr gut sein, aber dann musst halt auch unterrelaxieren.


Deine Zone rotiert sehr langsam (1 Umdrehung in 14 Sekunden), passt das? Dann hast Du kein Inlet/Outlet, richtig? Da Du Dein Druck (was für eine schöne Alliteration) auch nirgends fixierst, machst Du das ja in den fvSolution (hoff Dir ist das klar). Die Frage ist, ob die Zelle mit dem Index "0" hier geeignet ist. Vielleicht macht das ja Probleme?


Schon mal einen Zeitschritt angeschaut und geprüft was oder wo eigentlich ein Problem vorliegt? Ich hab hier gerade kein FOAM zur Hand, schau es mir aber später mal zu Hause an (ist ja auch n 2D Case - also sollte schnell gehen).


Allerdings konnte ich die STL´s mal anschauen und so wie es aussieht dreht sich da ein Zahnkranz. Das AMI ist meines Erachtens aber ggf. falsch oder schlecht. Keine Ahnung wie viele Zellen Du hast aber ich hab da schon nen Verdacht.

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

bastipa93
Mitglied



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

Beiträge: 27
Registriert: 03.02.2021

erstellt am: 16. Mrz. 2021 15: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


2e-10.jpg


3e-10.jpg

 
Hey Tobi,

interessanter Ausflug    cfd-online kannte ich tatsächlich auch schon, aber ich hatte den Eindruck, dass hier irgendwie besser auf Probleme eingegangen wird.

Ich habe nun mal mein fvSchemes wie folgt angepasst. Allerdings habe ich das mit dem Relaxationsfaktor nicht verstanden/gefunden, sodass ich in diese Richtung nichts korrigiert habe.

Code:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

ddtSchemes
{
    default        Euler;
}

gradSchemes
{
    default        Gauss linear;
}

divSchemes
{
    default        none; //vorher Gauss linear
    div(U)          Gauss linearUpwind; //vorher Gauss linear
    div(phi,U)      Gauss linearUpwind grad(U);
    div(phi,k)      Gauss linearUpwind grad(U);
    div(phi,K)      Gauss linearUpwind grad(U);
    div(phi,omega)  Gauss linearUpwind grad(U);
    div((nuEff*dev2(T(grad(U))))) Gauss linear;
}

laplacianSchemes
{
    default        Gauss linear corrected;
}

interpolationSchemes
{
    default        linear;
}

snGradSchemes
{
    default        corrected;
}

wallDist
{
    method meshWave;
}

fluxRequired //war vorher nicht drin
{
    default no;
    p ;
}


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


Die Simulation scheint etwas stabiler zu laufen, allerdings kann ich das Problem immer noch nicht genau lokalisieren. Zumindest kann ich z.B. bei einem Zeitschritt von 2e-10 auf 3e-10 keine genaue Stelle ausmachen, sondern alles scheint aus dem Ruder zu laufen (s. Bilder).

Diese Simulation habe ich dann bei 14e-10 abgebrochen, da die Courant-Zahl bei jedem Zeitschritt um ca. eine Dekade angestiegen ist und dann letztendlich bei 14e-10 bei 41 gewesen ist...

Die Geschwindigkeit der Zone sollte korrekt sein, denn normalerweise bewegt sie sich mit ca. 4 U/min, was ja entsprechend die von Dir genannten 1 U/15s wäre. Im Prinzip sind es zwei gezahnte Wände (eine außen, eine innen) zwischen denen sich Flüssigkeit befindet. Die innere Wand soll sich drehen, während die äußere Wand stillsteht und das Ziel ist es, das Flüssigkeitsfeld in der x-y-Ebene zu bestimmen sowie das Drehmoment, welches an der inneren Wand anliegt.
Genau, ich habe kein inlet/oulet, da dieses zylindrische System in der Theorie unendlich ausgedehnt ist und es keine Fluidströme gibt, außer die, die durch die Bewegung der Innenwand hervorgerufen werden.
Das mit der Zelle beim Druck ist eine interessante Idee, habe ich ausprobiert, aber auch ein andere pRefCell funktioniert nicht (warum ich das definieren muss ist mir mittlerweile zum Glück klar  )

Beim AMI war ich mir nicht ganz sicher, wie weit es gehen muss. Wie gesagt soll sich nur der innere Zahnkranz drehen. Entsprechend habe ich das AMI vom Radius her etwas über den Radius der Zähne an der Innenwand gesetzt.

Super wäre es natürlich, wenn es tatsächlich doch "nur" ein Mesh-Problem ist, denn ich hatte erst gedacht, dass ich die Randbedingungen verstanden habe und die so bleiben müssten 

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

OpenFOAM-dev (Foundation)

erstellt am: 16. Mrz. 2021 20:26    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 bastipa93 10 Unities + Antwort hilfreich

Gleich mal vorab, Du hast nicht Upwind sondern linearUpwind ... und cfd-online ist wesentlich fundierter als hier (bin ja hier quasi der Einzige der da tiefe Einblicke geben kann).

Wie erstellst Du Dein Netz? Keine Run-Skripts vorhanden.


  • blockMesh
  • snappy
  • ??? exturdeMesh?

...

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

OpenFOAM-dev (Foundation)

erstellt am: 16. Mrz. 2021 20: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 bastipa93 10 Unities + Antwort hilfreich

4 Zellen sollten zwischen den AMI definitiv liegen oder Du verwendest ACMI.https://holzmann-cfd.com/community/training-cases/complex-mesh-motion

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

bastipa93
Mitglied



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

Beiträge: 27
Registriert: 03.02.2021

erstellt am: 17. Mrz. 2021 06:18    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

Oh sorry, dann habe ich das mit dem upwind falsch verstanden! Werde das dann gleich mal anders ausprobieren, sobald ich die Zeit habe!

Sorry wegen des Runskripts. Aber mein Mesh erzeuge ich wie folgt:

Code:
blockMesh
surfaceFeatureExtract
decomposePar
mpirun -np 12 snappyHexMesh -overwrite -parallel
reconstructParMesh -constant -mergeTol 1E-06
renumberMesh -overwrite
createPatch -overwrite

Anschließend dann noch in der boundary-Datei im polyMesh die types von top und bottom auf empty statt Wall setzen, damit das mit den Randbedingungen in p und U passt.

Was meinst Du genau mit "4 Zellen sollten zwischen den AMI liegen"? Liegen die beiden AMI nicht direkt aneinander?
Danke für den Tipp mit ACMI, den werde ich mir auch noch anschauen, sobald ich Zeit dafür finde!

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

OpenFOAM-dev (Foundation)

erstellt am: 17. Mrz. 2021 09:22    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 bastipa93 10 Unities + Antwort hilfreich

Okay, also Du willst 2D rechnen, hast aber kein 2D Netz. Das ist schon mal der erste Punkt. Bei der Erstellung Deines Netz hast Du probleme mit dem VOlumen, da sind 2365816 Zellen betroffen, dadurch bekommst Du total schlechte Zellen an deinen Ecken... Um das zu verbessern, kannst mal Dein Netz um Faktor 1000 hochskalieren (und die STL`s) und dann nochmals machen. Natürlich zurückskalieren am Schluss.

Wenn das alles gemacht wurde, dann sollte der Case Laufen.

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

bastipa93
Mitglied



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

Beiträge: 27
Registriert: 03.02.2021

erstellt am: 18. Mrz. 2021 08: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

Tatsächlich wusste ich bis zu Deiner letzten Antwort nicht, dass es sowas wie extrudeMesh gibt und 2D-Simulationen im Grunde genommen nur mit einem wirklichen 2D-Mesh (z.B. 1 Zelle in z-Richtung) klappen. Dachte bis jetzt, dass 1 Zelle in die entsprechende Richtung eher eine "Empfehlung" wäre, die 2D-Simulationen aber eigentlich auch so klappen sollten... Gut, dass ich das jetzt auch mal gelernt habe 
Dann werde ich mich sobald ich die Zeit finde gleich mal daran setzen und gucken, wie das mit dem extrudeMesh und AMI und allem zusammen klappt, aber auf die Schnelle habe ich da glaube ich schon einige Beispiele gefunden...
Hoffentlich klappt es dann auch damit. Vielen Dank! Notfalls melde ich mich nochmal 

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

OpenFOAM-dev (Foundation)

erstellt am: 22. Mrz. 2021 14:29    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 bastipa93 10 Unities + Antwort hilfreich

Also eine 2D oder 1D Simulation ist immer 3D in Bezug auf die Zellen. Wir arbeiten mit der FiniteVolumen Methode, somit brauchen wir ein Volumen und dementsprechend eine Zelle in die entsprechende Richtung (checkMesh sagt dir übrigens ob du 2D, 1D, 3D hast). Eine Empfehlung mit einer Zelle ist das nicht sondern Mathematik. Außerdem hast Du wesentlich weniger Zellen -> viel schneller.

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

bastipa93
Mitglied



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

Beiträge: 27
Registriert: 03.02.2021

erstellt am: 25. Mrz. 2021 14: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


case_06s.jpg


case_03m.zip

 
So, ich habe jetzt endlich mal die Zeit gefunden, mich weiter damit zu beschäftigen und einiges auszuprobieren. Entsprechend Deines Tipps habe ich die ganze Geometrie jetzt erstmal um den Faktor 1000 hochskaliert - was an sich auch gar nicht so schlimm erstmal ist, denn vorwiegend geht es mir darum, schauen zu können, wie das Fließfeld im Spalt aussieht.
Die Erstellung des 2D-meshs hat auch, soweit ich das beurteilen kann, gut geklappt. Zumindest sehen checkMesh und moveDynamicMesh wie folgt aus:

checkMesh (hier zwar mit dem Hinweis, dass 2 Regionen vorhanden sind, aber laut meiner Recherche ist das wohl bei AMI normal - zumindest ist genau der gleiche "Fehler" auch im tutorial rotatingFanInRoom vorzufinden)

Code:
Create mesh for time = 0

Time = 0

Mesh stats
    points:           1131220
    internal points:  0
    faces:            2220158
    internal faces:   1088594
    cells:            551516
    faces per cell:   5.999376
    boundary patches: 6
    point zones:      0
    face zones:       1
    cell zones:       1

Overall number of cells of each type:
    hexahedra:     551172
    prisms:        344
    wedges:        0
    pyramids:      0
    tet wedges:    0
    tetrahedra:    0
    polyhedra:     0

Checking topology...
    Boundary definition OK.
    Cell to face addressing OK.
    Point usage OK.
    Upper triangular ordering OK.
    Face vertices OK.
   *Number of regions: 2
    The mesh has multiple regions which are not connected by any face.
  <<Writing region information to "0/cellToRegion"
  <<Writing region 0 with 77988 cells to cellSet region0
  <<Writing region 1 with 473528 cells to cellSet region1

Checking patch topology for multiply connected surfaces...
    Patch               Faces    Points   Surface topology                 
    top                 551516   565610   ok (non-closed singly connected) 
    bottom              551516   565610   ok (non-closed singly connected) 
    innerWall           7832     15664    ok (non-closed singly connected) 
    outerWall           7900     15800    ok (non-closed singly connected) 
    AMI1                6400     12800    ok (non-closed singly connected) 
    AMI2                6400     12800    ok (non-closed singly connected) 

Checking faceZone topology for multiply connected surfaces...
    FaceZone            Faces    Points   Surface topology                 
    rotatingZone        12800    25600    ok (non-closed singly connected) 

Checking basic cellZone addressing...
    CellZone            Cells        Points       Volume       BoundingBox
    rotatingZone        77988        170044       4.500771     (-12.29826 -12.29951 -0.0004778075) (12.3 12.29951 0.300181)

Checking geometry...
    Overall domain bounding box (-13.59672 -13.59363 -0.0004778075) (13.59672 13.59363 0.300181)
    Mesh has 3 geometric (non-empty/wedge) directions (1 1 1)
    Mesh has 3 solution (non-empty) directions (1 1 1)
    Boundary openness (-4.54452e-17 -1.2414e-16 -6.463497e-15) OK.
    Max cell openness = 2.246667e-16 OK.
    Max aspect ratio = 100.6988 OK.
    Minimum face area = 4.635199e-05. Maximum face area = 0.009128399.  Face area magnitudes OK.
    Min volume = 1.39056e-05. Max volume = 0.000128074.  Total volume = 32.82717.  Cell volumes OK.
    Mesh non-orthogonality Max: 23.74909 average: 0.4767338
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 3.803226 OK.
    Coupled point location match (average 0) OK.

Mesh OK.


moveDynamicMesh:

Code:
Create time

Create mesh for time = 0

Selecting dynamicFvMesh dynamicMotionSolverFvMesh
Selecting motion solver: solidBody
Applying solid body motion to cellZone rotatingZone
Selecting solid-body motion function rotatingMotion
Applying solid body motion to cellZone rotatingZone

PIMPLE: Operating solver in PISO mode

Time = 0.1
PIMPLE: iteration 1
    Point usage OK.
    Upper triangular ordering OK.
    Topological cell zip-up check OK.
    Face vertices OK.
    Face-face connectivity OK.
    Mesh topology OK.
    Boundary openness (-1.457819e-16 1.578874e-16 -6.844506e-15) OK.
    Max cell openness = 2.24869e-16 OK.
    Max aspect ratio = 100.8702 OK.
    Minimum face area = 4.6352e-05. Maximum face area = 0.009128399.  Face area magnitudes OK.
    Min volume = 1.39056e-05. Max volume = 0.000128074.  Total volume = 32.82717.  Cell volumes OK.
    Mesh non-orthogonality Max: 23.74909 average: 0.4767338
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 3.803226 OK.
    Mesh geometry OK.
Mesh OK.
ExecutionTime = 8.74 s  ClockTime = 9 s


Soweit also anscheinend alles gut. Mesh sieht auch gut aus und es gibt, wie vorgeschrieben, nur eine Zelle in z-Richtung. Die einzelnen patches/walls habe ich mir auch in paraView angeschaut und es gehört auch alles dort hin, wo es hin soll - bis auf top und bottom, die sind durch extrudeMesh vertauscht, was aber (hoffe ich) nicht wirklich tragisch ist, oder? (zumindest sind top und bottom ja eigentlich exakt die gleichen Flächen mit den gleichen Randbedingungen etc.)

Jetzt habe ich aber das Problem, dass die Simulation immer noch nicht super laufen will. Denn: das Fließfeld sieht nicht wirklich so aus, wie es aussehen soll, s. Bild:

Hier ist auffällig, dass die Geschwindigkeitsspitzen genau an diesen Kanten sitzen. Eigentlich müsste das gesamte Fluid, welches mit dem inneren Zahnring in Kontakt steht, die Geschwindigkeit der Wand annehmen - was leider nicht der Fall ist. Die boundaryFields in "U" sehen wie folgt aus, was (denke und hoffe ich), eigentlich alles so ist, wie es sein müsste.

Code:
dimensions      [0 1 -1 0 0 0 0];


internalField   uniform (0 0 0);

boundaryField
{
    top
    {
        type            empty;
    }
    bottom
    {
        type            empty;
    }
    innerWall
    {
type movingWallVelocity;
value uniform (0 0 0);
    }
    outerWall
    {
        type            noSlip;
    }
    AMI1
    {
        type            cyclicAMI;
        value           uniform (0 0 0);
    }
    AMI2
    {
        type            cyclicAMI;
        value           uniform (0 0 0);
    }
}


Weiterhin bricht die Simulation nach 0.6 s Simulationszeit ab, da die Courant-Zahl wieder explodiert, s. log-Datei:

Code:
Time = 0.6158

PIMPLE: iteration 1
AMI: Creating addressing and weights between 6400 source faces and 6400 target faces
AMI: Patch source sum(weights) min:0.9997653 max:1.001311 average:1.000034
AMI: Patch target sum(weights) min:0.9997702 max:1.001312 average:1.000034
GAMG:  Solving for pcorr, Initial residual = 1, Final residual = 8.337608e-07, No Iterations 91
time step continuity errors : sum local = 3.364239e-10, global = 2.99025e-10, cumulative = 7.762854e-07
GAMG:  Solving for p, Initial residual = 0.02404468, Final residual = 6.977045e-07, No Iterations 38
time step continuity errors : sum local = 4.843557e-10, global = 3.012742e-10, cumulative = 7.765866e-07
PIMPLE: iteration 2
GAMG:  Solving for p, Initial residual = 5.983633e-05, Final residual = 7.441486e-07, No Iterations 11
time step continuity errors : sum local = 4.62329e-10, global = 2.691435e-10, cumulative = 7.768558e-07
PIMPLE: iteration 3
GAMG:  Solving for p, Initial residual = 2.283448e-06, Final residual = 6.378249e-07, No Iterations 1
time step continuity errors : sum local = 4.2711e-10, global = 2.676462e-10, cumulative = 7.771234e-07
ExecutionTime = 14169.1 s  ClockTime = 14175 s

forces forces write:
    Sum of forces
        Total    : (-1255.682 103507.3 1.896502e-09)
        Pressure : (-1248.051 103479.5 -4.176809e-13)
        Viscous  : (-7.63111 27.82239 1.89692e-09)
    Sum of moments
        Total    : (-15423.47 -186.8843 -1.146327e+09)
        Pressure : (-15419.33 -185.7477 -1.145165e+09)
        Viscous  : (-4.14383 -1.13661 -1162569)


Courant Number mean: 0.007604107 max: 0.2496156
Time = 0.6159

PIMPLE: iteration 1
AMI: Creating addressing and weights between 6400 source faces and 6400 target faces
AMI: Patch source sum(weights) min:0.9997654 max:1.001302 average:1.000034
AMI: Patch target sum(weights) min:0.999772 max:1.001303 average:1.000034
GAMG:  Solving for pcorr, Initial residual = 1, Final residual = 0.1008651, No Iterations 1000
time step continuity errors : sum local = 4.789039e-08, global = 2.880061e-10, cumulative = 7.774114e-07
GAMG:  Solving for p, Initial residual = 0.07989607, Final residual = 0.01982781, No Iterations 1000
time step continuity errors : sum local = 5.490972e-06, global = -8.121366e-10, cumulative = 7.765993e-07
PIMPLE: iteration 2
GAMG:  Solving for p, Initial residual = 0.4547013, Final residual = 0.03488779, No Iterations 1000
time step continuity errors : sum local = 2.225811e-05, global = 6.018412e-08, cumulative = 8.367834e-07
PIMPLE: iteration 3
GAMG:  Solving for p, Initial residual = 0.4700924, Final residual = 0.001745068, No Iterations 1000
time step continuity errors : sum local = 5.434991e-06, global = -2.682575e-07, cumulative = 5.685259e-07
ExecutionTime = 14218.1 s  ClockTime = 14224 s

forces forces write:
    Sum of forces
        Total    : (1.872295e+11 1.022366e+11 6.470695e-09)
        Pressure : (1.872289e+11 1.022364e+11 -2.085025e-09)
        Viscous  : (596105.7 228088.5 8.55572e-09)
    Sum of moments
        Total    : (-1.523328e+10 2.789723e+10 -6.115079e+09)
        Pressure : (-1.523324e+10 2.789714e+10 -6.113697e+09)
        Viscous  : (-33985.44 88820.71 -1382114)


Courant Number mean: 0.6292206 max: 99.86146
Time = 0.616

PIMPLE: iteration 1
AMI: Creating addressing and weights between 6400 source faces and 6400 target faces
AMI: Patch source sum(weights) min:0.9997654 max:1.001293 average:1.000034
AMI: Patch target sum(weights) min:0.9997739 max:1.001295 average:1.000033
GAMG:  Solving for pcorr, Initial residual = 1, Final residual = 0.1378577, No Iterations 1000
time step continuity errors : sum local = 1.666333e-06, global = -2.735875e-07, cumulative = 2.949384e-07
GAMG:  Solving for p, Initial residual = 0.3473507, Final residual = 0.009897996, No Iterations 1000
time step continuity errors : sum local = 3.979695e-05, global = 7.584497e-07, cumulative = 1.053388e-06
PIMPLE: iteration 2
GAMG:  Solving for p, Initial residual = 0.3002557, Final residual = 0.008830755, No Iterations 1000
time step continuity errors : sum local = 4.159794e-05, global = 8.739251e-07, cumulative = 1.927313e-06
PIMPLE: iteration 3
GAMG:  Solving for p, Initial residual = 0.9700798, Final residual = 0.01911551, No Iterations 1000
time step continuity errors : sum local = 0.005140806, global = 1.199015e-06, cumulative = 3.126328e-06
ExecutionTime = 14268.06 s  ClockTime = 14274 s

forces forces write:
    Sum of forces
        Total    : (8.118555e+11 4.617663e+11 -2.638457e-09)
        Pressure : (8.118538e+11 4.617658e+11 -4.220283e-09)
        Viscous  : (1675581 470326.9 1.581826e-09)
    Sum of moments
        Total    : (-6.880328e+10 1.209666e+11 -1.101699e+11)
        Pressure : (-6.880321e+10 1.209664e+11 -1.101723e+11)
        Viscous  : (-70079.56 249664.7 2396254)


Courant Number mean: 2.053024 max: 927.098
Time = 0.6161

PIMPLE: iteration 1
AMI: Creating addressing and weights between 6400 source faces and 6400 target faces
AMI: Patch source sum(weights) min:0.9997654 max:1.001284 average:1.000033
AMI: Patch target sum(weights) min:0.9997761 max:1.001286 average:1.000033
GAMG:  Solving for pcorr, Initial residual = 1, Final residual = 0.06025701, No Iterations 1000
time step continuity errors : sum local = 0.0006735374, global = 1.231815e-06, cumulative = 4.358143e-06
GAMG:  Solving for p, Initial residual = 0.8033525, Final residual = 0.00256513, No Iterations 1000
time step continuity errors : sum local = 0.0001361918, global = 1.635707e-06, cumulative = 5.99385e-06
PIMPLE: iteration 2
GAMG:  Solving for p, Initial residual = 0.8828121, Final residual = 0.4961167, No Iterations 1000
time step continuity errors : sum local = 0.0432364, global = -1.347923e-06, cumulative = 4.645927e-06
PIMPLE: iteration 3
GAMG:  Solving for p, Initial residual = 0.9985675, Final residual = 1.394334, No Iterations 1000
time step continuity errors : sum local = 12.7303, global = -3.887534e-05, cumulative = -3.422942e-05
ExecutionTime = 14322.31 s  ClockTime = 14328 s

forces forces write:
    Sum of forces
        Total    : (1.1426e+16 3.998887e+15 -4.671284e-05)
        Pressure : (1.1426e+16 3.998887e+15 -4.674602e-05)
        Viscous  : (8.847124e+08 4.586789e+08 3.317647e-08)
    Sum of moments
        Total    : (-5.958352e+14 1.702476e+15 7.109164e+14)
        Pressure : (-5.958351e+14 1.702476e+15 7.109173e+14)
        Viscous  : (-6.83435e+07 1.318233e+08 -8.340982e+08)


Courant Number mean: 763.7898 max: 1712852


Jetzt weiß ich nun wirklich nicht weiter... Ich habe einmal meinen mesh-Folder und meinen case-Folder (dieses mal sogar mit Allrun-Skripts    ) angehängt. Vielleicht fällt Dir / Euch ja etwas auf?
Kleiner Nachtrag zu den Allrun-Skripts: die Anzahl der Kerne müsste man ggf. manuell ändern, genauso wie im decomposeParDict.

[Diese Nachricht wurde von bastipa93 am 25. Mrz. 2021 editiert.]

[Diese Nachricht wurde von bastipa93 am 25. Mrz. 2021 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: 2299
Registriert: 27.08.2010

OpenFOAM-dev (Foundation)

erstellt am: 25. Mrz. 2021 16:05    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 bastipa93 10 Unities + Antwort hilfreich

Also in 2D löst du sicher nicht.

Code:

    Mesh has 3 geometric (non-empty/wedge) directions (1 1 1)
    Mesh has 3 solution (non-empty) directions (1 1 1)

Wenn Du das mal mit pitzDaily I'm OpenFOAM tutorial gegenprüfst:

Code:

    Mesh has 2 geometric (non-empty/wedge) directions (1 1 0)
    Mesh has 2 solution (non-empty) directions (1 1 0)

Also hast entweder falsche RB order dein Netz ist nicht für 2D. Eine Skalierung um Faktor 1000 ist auch nur für die Vernetzung sinnvoll. Du musst nachdem das Netz für Dich in Ordnung ist natürlich wieder zurückskalieren.


Schau mir das mal schnell an..

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

OpenFOAM-dev (Foundation)

erstellt am: 25. Mrz. 2021 16:40    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 bastipa93 10 Unities + Antwort hilfreich


t0.12s.png

 
Es gibt immer wieder neues zu sehen  

Code:

#snappyHexMesh                                                                 
runApplication mpirun -np 12 snappyHexMesh -overwrite -parallel

Dafür gibts extra:

Code:

runParallel snappyHexMesh -overwrite

Dein AMI hat immer nur noch 2 Zellen zwischen AMI und Wand. Numerisch ist das nicht so toll. Mindestens solltest Du da mal 4 Zellen Einplanen. Mach doch dein AMI einfach größer. Spielt ja keine Rolle ob das in der MItte ist oder direkt an den Zähnen. Nur weil sich das Netz dann dreht, heißt das nicht das sich die Flüssigkeit bewegt. Das wird alles rausgerechnet über die Mesh-Fluxes (natürlich hat man Fehler aber das is eben ganz normal hier).


Dein AMI ist auch kein AMI sondern eine Wall (boundries file), hier auch der Fehler mit deinem Top und Bottom -> sind keine Wände sondern empty.


Aber wenn Du das alles korrigierst, dann funktionierts immer noch nicht:

Code:

***Number of edges not aligned with or perpendicular to non-empty directions: 2231778

Da müsstest wohl erstmal noch flattenMesh verwenden. Wenn Du das dann machst, passts:

Code:

    Mesh has 2 geometric (non-empty/wedge) directions (1 1 0)
    Mesh has 2 solution (non-empty) directions (1 1 0)

FlattenMesh verwendest Du normalerweise vor dem ExtrudeMesh kannst aber in deinem Fall auch danach anwenden.

Ferner hast du bei deinen Fields immer AMI1 AMI2. Soweit das mit den Skripten gemacht wird, sind die Einträge im boundaries File falsch.

Das sowas funktioniert:

Code:

    div(phi,U)      Gauss upwind grad(U); 

Wusst ich auch nicht. Woher hast Du den diese Syntax?
Ferner,

Code:

nOuterCorrectors 3;  // Was versprichst Du Dir davon?

Entweder verwendest Du den PISO oder PIMPLE Algorithmus. Details in meinem Buch, sofern dir das nichts sagt. Die Courant Zahl lässt Du dann auch bei < 0.8 und lässt Deinen Zeitschritt bezüglich Co anpassen

Code:
adjustTimeStep   yes;

Dein Kommentar dahinter (also im controlDict) ist übrigens falsch und hat nichts mit writeControl zu tun.


Solltest Du das alles so in etwa umsetzen, dann klappts auch mit der Berechnung. Dein Zeitschritt ist bei ca. 2e-4 (PISO) und läuft stabil weiter. Mir wäre das Netz zu fein für Testzwecke. Übrigens, ich weiß jetzt nicht bei welchem Zeitschritt dein Bild ist aber das ist ganz normal das sich da erstmal sowas ausbildet: Trägheit nennt sich sowas. Wenn Du am Stationären Profil interessiert bist, kanns sein das MRF eine bessere Wahl ist. AMI und dynamische Netze bedarfen halt einer Zeitableitung und machens langsam.


Ich lass das mal n bisschen rechnen und mach dann mal nen Video davon  
Allerdings muss ich noch erwähnen, dass ich erst bei 0.2 s bin. Mal kucken ob ich bei 0.6 ein Problem sehe. Alternativ nehme ihc mal PIMPLE mit Co ~ 50. Dann läfuts schneller 


------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

bastipa93
Mitglied



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

Beiträge: 27
Registriert: 03.02.2021

erstellt am: 25. Mrz. 2021 16:52    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

Oha, genau so habe ich mir das Fließfeld in den ersten Sekundenbruchteilen vorgestellt!  Sehr schön zu sehen, dass es bei Dir klappt!
Dass sich das Fließfeld aufgrund der Trägheit erst noch ausbilden muss, war mir bewusst - nur hatte ich die Simulation bereits bei 0.6 s und es sah immer noch so aus... Da diese ganze Problematik aus der Rheologie kommt und sich normalerweise (bei glatten Wänden) das stationäre Fließfeld in dieser Geometrie und der Winkelgeschwindigkeit innerhalb von ca. 0.2 s hätte ausbilden müssen, bin ich halt etwas stutzig geworden... aber Dein Bild sieht echt gut aus, hoffen wir mal, dass ich das auch hinkriege! 

Danke auf jeden Fall für die ganzen Tipps, das weiß ich wirklich zu schätzen. Leider fehlen mir nur heute und morgen die Zeit, das alles in Gang zu bringen  Hoffen wir mal, dass es dann am Montag klappen wird...

PS: Die falschen Codes muss ich wohl irgendwo mal aufgeschnappt haben (ob falsch oder nicht...) und sind wohl da drin geblieben.

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

bastipa93
Mitglied



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

Beiträge: 27
Registriert: 03.02.2021

erstellt am: 25. Mrz. 2021 17:05    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

Mir sind aber noch ein paar Fragen zu deiner Antwort aufgefallen:

Zitat:
Dein AMI ist auch kein AMI sondern eine Wall (boundries file), hier auch der Fehler mit deinem Top und Bottom -> sind keine Wände sondern empty.

Moment, da verstehe ich bei AMI etwas nicht. Sind die nicht schon mit AMI typisiert? Jedenfalls steht das bei mir in der boundary-File:

Code:

    AMI1
    {
        type            cyclicAMI;
        inGroups        1(cyclicAMI);
        nFaces          6400;
        startFace      2207358;
        matchTolerance  0.0001;
        transform      noOrdering;
        neighbourPatch  AMI2;
    }
    AMI2
    {
        type            cyclicAMI;
        inGroups        1(cyclicAMI);
        nFaces          6400;
        startFace      2213758;
        matchTolerance  0.0001;
        transform      noOrdering;
        neighbourPatch  AMI1;
    }

So war es auch im tutorial rotatingFanInRoom und daher war ich davon ausgegangen, dass es richtig ist...
Achso, und dass top und bottom mit empty typisiert werden müssen, da hast du natürlich recht, das habe ich danach immer manuell gemacht  (ich weiß, geht glaube ich auch über das snappyHexMeshDict mit patch Info irgendetwas, aber das habe ich erst letztens gesehen und noch nicht integriert  )

Dann zu Folgendem:

Zitat:
Da müsstest wohl erstmal noch flattenMesh verwenden. Wenn Du das dann machst, passts:

flattenMesh kannte ich noch nicht. Auf die Schnelle habe ich gesehen, dass man vermutlich ein flattenMeshDict haben muss, richtig? Gibt es da irgendwelche anderen signifikanten Einträge, außer denen?:

Code:
/*---------------------------------------------------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  1.0                                  |
|  \\  /    A nd          | Web:      http://www.openfoam.org              |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
// flattenMesh tool definition

description    "Flatten the front and back planes of a 2D cartesian mesh";

flattenMeshDict
{
    type            dictionary;
    description    "flattenMesh control dictionary";
    dictionaryPath  "system";

    entries
    {
        arguments
        {
            type        rootCaseArguments;
        }
    }
}

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


Dann verstehe ich nicht genau, was Du damit meinst:

Zitat:
Ferner hast du bei deinen Fields immer AMI1 AMI2. Soweit das mit den Skripten gemacht wird, sind die Einträge im boundaries File falsch.

Wie oben gezeigt, habe ich in meiner boundary-File AMI1 und AMI2. Ist das jetzt doch nicht korrekt?

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

OpenFOAM-dev (Foundation)

erstellt am: 25. Mrz. 2021 18:15    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 bastipa93 10 Unities + Antwort hilfreich


t6.33s.png

 
Also nach 6.33 s hab ich folgendes Bild.

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

OpenFOAM-dev (Foundation)

erstellt am: 25. Mrz. 2021 18:23    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 bastipa93 10 Unities + Antwort hilfreich

Hey,


  • Also flattenMesh braucht prinzipiell keine Einträge sofern du Top und Bottom auf Empty setzt. Damit weiß FOAM was zu tun ist. Man bekommt mit sHM einfach keine 100% Ebene Fläche, daher FlattenMesh
  • Das mit AMI1 und AMI2 kam daher, dass aufgrund deines Skripts diese Einträge nicht verändert worden sind. Daher meine Anmerkung. Aber da Du das ja alles manuell machst, passt das (nur eben mit dem Skript wurde das nicht gemacht)


Somit, für mich, die Simulation abgeschlossen. Ich würde - sofern ich das untersuchen würde, das AMI Interface noch zwischen mehr Zellen haben wollen. Aber sieht ganz sauber aus meine Rechnung. Wenn Du sagst, dass sich das stationäre Profil nach 0.2 s einstellen sollte, dann kanns ggf. noch an der Viskosität liegen. Aber die hast Du ja auch angepasst.

Ich hoffe es stört Dich nicht, wenn ich die Berechnung auf meinen Kanal stelle. Find ich ganz lustig mal wieder was dynamisches zu haben.

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

bastipa93
Mitglied



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

Beiträge: 27
Registriert: 03.02.2021

erstellt am: 26. Mrz. 2021 06:33    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

Dein Bild nach 6.33 s soll genau so aussehen, perfekt!   

Ok super, dann hoffe ich mal, dass ich das jetzt endlich hinkriegen werde...
Gerne kannst du das Video etc. auf deinen Kanal stellen   

Vielen Dank nochmal!

[Diese Nachricht wurde von bastipa93 am 26. Mrz. 2021 editiert.]

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

bastipa93
Mitglied



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

Beiträge: 27
Registriert: 03.02.2021

erstellt am: 26. Mrz. 2021 09:00    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

Bevor ich nun weitermache und notfalls wieder alles nicht klappt, wollte ich Dich kurz fragen, ob der workflow sowie die Ein-/Ausgaben so korrekt sind. Denn weiter unten wirst Du sehen, dass es einen kleinen Fehler bei checkMesh und moveDynamicMesh gibt. Ich gehe also derzeit wie folgt vor:

Code:
runApplication blockMesh

#runApplication surfaceFeatureExtract (rauskommentiert, da ja einmal vorher reicht)

runApplication decomposePar

runApplication mpirun -np 12 snappyHexMesh -overwrite -parallel (deinen Tipp dazu habe ich wahrgenommen ;) )

runApplication reconstructParMesh -constant -mergeTol 1E-06

runApplication renumberMesh -overwrite
runApplication createPatch -overwrite


An diesem Punkt ändere ich den Eintrag für "top" und "bottom" in constant/polyMesh/boundary für "type" und "inGroups" von "wall" auf "empty", also so:

Code:
top
    {
        type            empty;
        inGroups        1(empty);
        nFaces          551516;
        startFace      1088594;
    }
    bottom
    {
        type            empty;
        inGroups        1(empty);
        nFaces          551516;
        startFace      1640110;
    }

Anschließend gehts weiter mit:

Code:
runApplication extrudeMesh

runApplication checkMesh

runApplication moveDynamicMesh


Die Ausgaben der beiden "Checks" sind:

checkMesh

Code:
Time = 0

Mesh stats
    points:          1131220
    internal points:  0
    faces:            2220158
    internal faces:  1088594
    cells:            551516
    faces per cell:  5.999376
    boundary patches: 6
    point zones:      0
    face zones:      1
    cell zones:      1

Overall number of cells of each type:
    hexahedra:    551172
    prisms:        344
    wedges:        0
    pyramids:      0
    tet wedges:    0
    tetrahedra:    0
    polyhedra:    0

Checking topology...
    Boundary definition OK.
    Cell to face addressing OK.
    Point usage OK.
    Upper triangular ordering OK.
    Face vertices OK.
  *Number of regions: 2
    The mesh has multiple regions which are not connected by any face.
  <<Writing region information to "0/cellToRegion"
  <<Writing region 0 with 77988 cells to cellSet region0
  <<Writing region 1 with 473528 cells to cellSet region1

Checking patch topology for multiply connected surfaces...
    Patch              Faces    Points  Surface topology                 
    top                551516  565610  ok (non-closed singly connected) 
    bottom              551516  565610  ok (non-closed singly connected) 
    innerWall          7832    15664    ok (non-closed singly connected) 
    outerWall          7900    15800    ok (non-closed singly connected) 
    AMI1                6400    12800    ok (non-closed singly connected) 
    AMI2                6400    12800    ok (non-closed singly connected) 

Checking faceZone topology for multiply connected surfaces...
    FaceZone            Faces    Points  Surface topology                 
    rotatingZone        12800    25600    ok (non-closed singly connected) 

Checking basic cellZone addressing...
    CellZone            Cells        Points      Volume      BoundingBox
    rotatingZone        77988        170044      4.500771    (-12.29826 -12.29951 -0.0004778075) (12.3 12.29951 0.2995222)

Checking geometry...
    Overall domain bounding box (-13.59672 -13.59363 -0.0004778075) (13.59672 13.59363 0.2995222)
    Mesh has 2 geometric (non-empty/wedge) directions (1 1 0)
    Mesh has 2 solution (non-empty) directions (1 1 0)
    All edges aligned with or perpendicular to non-empty directions.
    Boundary openness (6.696483e-17 8.17847e-17 -6.463497e-15) OK.
    Max cell openness = 2.246667e-16 OK.
    Max aspect ratio = 2.711529 OK.
    Minimum face area = 4.635199e-05. Maximum face area = 0.009128399.  Face area magnitudes OK.
    Min volume = 1.39056e-05. Max volume = 0.000128074.  Total volume = 32.82717.  Cell volumes OK.
    Mesh non-orthogonality Max: 23.74909 average: 0.4767267
    Non-orthogonality check OK.
    Face pyramids OK.
***Max skewness = 7.902774, 8 highly skew faces detected which may impair the quality of the results
  <<Writing 8 skew faces to set skewFaces
    Coupled point location match (average 0) OK.

Failed 1 mesh checks.


--> Dass die "skewness" hier einen Fehler ausspuckt, dessen bin ich mir bewusst. Ich bin mir nur unsicher, wie tragisch das ist, denn beim tutorial rotatingFanInRoom gab es hier exakt den gleichen "Fehler". Daher meine Frage bzw. der Sinn dieses Posts hier: tritt dieser Fehler bei Dir auch auf und falls nicht, woran könnte es bei mir liegen?

moveDynamicMesh sieht wie folgt aus:

Code:
Create mesh for time = 0

Selecting dynamicFvMesh dynamicMotionSolverFvMesh
Selecting motion solver: solidBody
Applying solid body motion to cellZone rotatingZone
Selecting solid-body motion function rotatingMotion
Applying solid body motion to cellZone rotatingZone

PIMPLE: Operating solver in PISO mode

Time = 0.1
PIMPLE: iteration 1
    Point usage OK.
    Upper triangular ordering OK.
    Topological cell zip-up check OK.
    Face vertices OK.
    Face-face connectivity OK.
    Mesh topology OK.
    Boundary openness (2.134021e-16 1.794096e-16 -6.844506e-15) OK.
    Max cell openness = 2.24869e-16 OK.
    Max aspect ratio = 100.8702 OK.
    Minimum face area = 4.6352e-05. Maximum face area = 0.009128399.  Face area magnitudes OK.
    Min volume = 1.39056e-05. Max volume = 0.000128074.  Total volume = 32.82717.  Cell volumes OK.
    Mesh non-orthogonality Max: 23.74909 average: 0.4767267
    Non-orthogonality check OK.
    Face pyramids OK.
***Max skewness = 7.902774, 8 highly skew faces detected which may impair the quality of the results
    Failed 1 mesh geometry checks.
    Failed 1 mesh checks.
ExecutionTime = 8.74 s  ClockTime = 9 s

End


Auch hier wieder der Punkt mit der skewness, bin mir nur unsicher, wie "tragisch" das ist, oder ob ich das Mesh jetzt eigentlich so für die Simulation verwenden kann - daher würde es mich brennend interessieren, ob bei Dir das selbe rauskommt. Ich habe heute morgen schonmal die Simulation auf die Schnelle gestartet, nur hat das leider nicht wirklich funktioniert. War, wie gesagt, auf die Schnelle, da ich eigentlich keine Zeit hatte, daher könnte es auch an meinen Simulationssettings liegen.
Deinen Tipp mit dem vergrößerten AMI habe ich auch wahrgenommen, nur da das ja bei dir auch so bereits geklappt hat, wollte ich zumindest alles andere schonmal zum Laufen kriegen 

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

OpenFOAM-dev (Foundation)

erstellt am: 26. Mrz. 2021 11: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 bastipa93 10 Unities + Antwort hilfreich

Skewness interessiert heute nicht mehr so ... vor allem Deine Skewness ist zu vernachlässigen.

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

OpenFOAM-dev (Foundation)

erstellt am: 26. Mrz. 2021 11:26    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 bastipa93 10 Unities + Antwort hilfreich

bastipa93
Mitglied



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

Beiträge: 27
Registriert: 03.02.2021

erstellt am: 30. Mrz. 2021 11: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

Sehr schönes Video 

Bei mir hat es jetzt zum Glück auch geklappt 
Vielen Dank nochmal für Deine Unterstützung!

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

OpenFOAM-dev (Foundation)

erstellt am: 31. Mrz. 2021 17:48    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 bastipa93 10 Unities + Antwort hilfreich

Bitte das Thema als »gelöst« markieren.

(Entweder den Beitrag mit 10 Punkten bewerten, der das Thema gelöst hat, oder ein neuer Reply mit dem grünen Hacken als Smiley.

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

bastipa93
Mitglied



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

Beiträge: 27
Registriert: 03.02.2021

erstellt am: 12. Apr. 2021 06:22    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

gelöst 
Das mit den Punkten vergeben klappt irgendwie nicht, ich probiere das später nochmal!

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

bastipa93
Mitglied



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

Beiträge: 27
Registriert: 03.02.2021

erstellt am: 15. Apr. 2021 11:26    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

Hey Tobi,
ich konnte bei einem deiner Beiträge lesen, dass mit Co ~ 50 der pimple-Algorithmus schneller laufen würde. Ich habe derzeit das kleine Mesh am Laufen, und mit Co = 1 steht das deltaT auf 2e-9 - was bei 0.5 s Simulationszeit gut 8 Jahre dauern würde 
Verstehe ich dich also richtig, dass ich ggf. im controlDict das maxCo auf 50 setzen könnte, um das alles ein wenig zu beschleunigen? Gibt es eventuell auch noch andere Möglichkeiten, die Simulation schneller laufen zu lassen, außer z.B. auch noch das Mesh gröber zu gestalten?

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

OpenFOAM-dev (Foundation)

erstellt am: 15. Apr. 2021 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 bastipa93 10 Unities + Antwort hilfreich

Eine Zeitschrittweite von 1e-9 habe ich nur bei Strömungen bei Ma > 1. Ich gehe davon aus, dass Du das nicht hast. Daher ist schonmal irgendwas falsch oder macht Probleme. Wohl möglich eine Zelle die Dir das versaut. Schon mal deine Geschwindigkeiten angeschaut? Bei 1e-9 wäre ich sehr kritisch.

Zum anderen Thema. Ja, mit PIMPLE kann man die Courant-Zahl deutlich >> 1 halten. Bspw. auch 200. Aber dann verliert man Zeitinformationen. Sofern das nicht von großer Bedeutung ist, kann man das natürlich durchaus machen. Ich wieß auch nicht ob Du eine stationäre Lösung bevorzugst.

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

bastipa93
Mitglied



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

Beiträge: 27
Registriert: 03.02.2021

erstellt am: 15. Apr. 2021 14:26    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

Ma > 1 ist es definitiv nicht, da sich der innere Zylinder gerade mal mit einer Winkelgeschwindigkeit im Bereich von ca. 0.3 rad/s dreht.
Gibt es irgendeine Möglichkeit außer checkMesh und moveDynamicMesh die Anwesenheit solcher Zellen herauszufinden? Du hattest ja meinen Fall bei dir laufen, hast du da noch irgendetwas am Mesh verändert? (Ich weiß, ist schon ein wenig her, aber vielleicht erinnerst du dich ja noch)

Einerseits interessiert es mich schon, wie sich das Geschwindigkeitsfeld ausbildet, aber eigentlich bin ich nur am stationären Geschwindigkeitsprofil am Ende interessiert. Wenn es daher also eine deutlich einfachere und schnellere Variante gibt, würde ich das auf jeden Fall bevorzugen. Gibt es da irgendetwas?

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



Abteilungsleitung (m/w/d) Fertigbearbeitung

Die frasaco GmbH wurde 1921 gegründet und ist seitdem weltweit erste Wahl in der dentalen Aus- und Weiterbildung. Unsere neuen Produkte werden im Haus entwickelt, bei Bedarf optimiert und die Produktpalette wird konsequent erweitert.


  • Fachliche wie disziplinarische Führung der Abteilung Fertigbearbeitung mit den Bereichen Montage, Gießfertigung, Tauchfertigung, Versandbereitstellung
  • ...
Anzeige ansehenLeitung, Teamleitung
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: 2299
Registriert: 27.08.2010

OpenFOAM-dev (Foundation)

erstellt am: 15. Apr. 2021 16:48    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 bastipa93 10 Unities + Antwort hilfreich

Also der Case lief bei mir recht schnell durch   Kann also nicht sein, dass hier irgendwie mit einer Erhöhung der Courant-Zahl gearbeitet werden muss. Ich hab die Schemen angepasst. Weiß nicht ob du "FlattenMesh" auch dabei hattest?... CheckMesh muss definitiv 2D anzeigen. Ansonsten kann ich mich nicht mehr so genau daran erinnern  

Hier mal mein Case: holzmann-cfd.com/forum/case.tar.gz

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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