Hot News:

Unser Angebot:

  Foren auf CAD.de
  OpenFOAM
  dynamicMeshDict

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
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  dynamicMeshDict (2160 mal gelesen)
faerberma
Mitglied
Student

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

Beiträge: 4
Registriert: 25.07.2014

erstellt am: 05. Nov. 2015 15: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

Hallo, ich hoffe mir kann jemand helfen.

Es geht darum, dass eine Klappe von Wasser überströmt wird.
Nun wird je nach der Stellung der Klappe eine neue Rechnung aufgesetzt bzw eine neue Klappengeometrie eingeladen (soweit ist noch alles in Ordnung).
Das Problem liegt darin, dass die Verfeinerungsbereiche sich pro Klappenstellung verändern - deshalb wurde im dynamicMeshDict angegeben dass der Bereich des Gitters mit alpha.water zwischen 0.001 und 0.999 verfeinert werden soll. Das klappt sehr gut für die Grenzschicht zwischen Wasser und Luft, jedoch wäre es noch hilfreich wenn ich zusätzlich noch eine zweite Bedingung einbauen könnte. Sodass zum Beispiel diese Grenzschicht 3-fach verfeinert und der Wasserkörper, also alles mit alpha.water = 1, nur 1-fach verfeinert wird.
Mir ist es momentan nur möglich entweder Grenzschicht oder den Wasserkörper zu verfeinern.

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

dynamicFvMesh  dynamicRefineFvMesh;

dynamicRefineFvMeshCoeffs
{
    // How often to refine the grid (every n:th timestep)
    refineInterval  1; //1 -> mesh wird bei jedem Zeitschritt neu verfeinert

    // Field to be refinement on
    field          alpha.water;

    // Refine field inbetween lower..upper
    lowerRefineLevel 0.001;
    upperRefineLevel 0.999;

    // If value < unrefineLevel unrefine
    unrefineLevel  10;

    // Have slower than 2:1 refinement
    nBufferLayers  1;

    // Refine cells only up to maxRefinement levels
    maxRefinement  3;

    // Stop refinement if maxCells reached
    maxCells        20000000;

    // Flux field and corresponding velocity field. Fluxes on changed
    // faces get recalculated by interpolating the velocity. Use 'none'
    // on surfaceScalarFields that do not need to be reinterpolated.
    correctFluxes
    (
        (phi none)
        (nHatf none)
        (rhoPhi none)
        (ghf none)
    );

    // Write the refinement level as a volScalarField
    dumpLevel      true;
}

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


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

Shor-ty
Moderator





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

Beiträge: 2466
Registriert: 27.08.2010

ESI-OpenCFD OpenFOAM v2312

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

Zitat:
Original erstellt von faerberma:
Bereich des Gitters mit alpha.water zwischen 0.001 und 0.999 verfeinert werden soll.


Kurze Nachrfrage, wieso 0.001 - 0.999. Solltest du numerische Diffusion von Alpha haben, dass in der VOF Methode von FOAM vorkommen kann (muss natürlich nicht aber es wird hier nicht die PLIC Methode verwendet), so würde sich ggf. fast das ganze Netz verfeinern. Ich würde daher nur die Grenzschicht verfeineren und das mit nem Range von 0.48 - 0.52.

Dein Vorhaben geht aufjedenfall, die Frage ist ob du ggf. den Sourcecode erweitern musst um eben zwei Dicts oder Bereiche einstellen zu können. Nach meinem Wissensstand ist das derzeit nicht implementiert; sollte aber auch kein Problem darstellen es zu implementieren. Bin derzeit auch dabei die Verknüpfung zwischen MovingMesh und Adding/Removing Layers herzustellen somit gleiche Libs in Bearbeitung nur komplexer. Denke nicht das die Lib für dynamicRefineFvMeshCoeffs eine Herausforderung darstellt. Vor allem wäre es nur copy-past damit man alles 2x hat.

Beispiel:

Code:

    // Field to be refinement on
    field          alpha.water;

    // Refine field inbetween lower..upper
    lowerRefineLevel1 0.45;
    lowerRefineLevel2 0.00;

    upperRefineLevel1 0.55;
    upperRefineLevel2 0.45;

    // If value < unrefineLevel unrefine
    unrefineLevel1  0.5;
    unrefineLevel2  0.;

    // Have slower than 2:1 refinement
    nBufferLayers1  2;
    nBufferLayers2  1;

    // Refine cells only up to maxRefinement levels
    maxRefinement1  3;
    maxRefinement2  1;



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

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

Shor-ty
Moderator





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

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 16. Nov. 2015 09:08    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 faerberma 10 Unities + Antwort hilfreich


dynamicRefine2FvMesh.tar.gz

 
Hier mal ein Beispiel. Habs nicht getestet da ich keine Zeit für nen Testcase habe aber vllt kannst du damit ja schon mal arbeiten.

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

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

Shor-ty
Moderator





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

Beiträge: 2466
Registriert: 27.08.2010

ESI-OpenCFD OpenFOAM v2312

erstellt am: 16. Nov. 2015 10: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 faerberma 10 Unities + Antwort hilfreich


cellLevel.png

 
Hallo zusammen,

kurzer Hinweis. Die Lib funktioniert (siehe Anhang).

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

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

Shor-ty
Moderator





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

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 16. Nov. 2015 13: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 Nur für faerberma 10 Unities + Antwort hilfreich

Das Dict, welches in der Lib enthalten ist, ist eine alte und sollte keine Beachtung finden.
Heute Abend gibts die saubere Lib auf meiner HP: http://www.holzmann-cfd.de/index.php/de/softwareentwicklung


Anbei das Dict im Code-Style:

Code:

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

dynamicFvMesh   dynamicRefine2FvMesh;

dynamicRefine2FvMeshCoeffs
{
    // How often to refine
    refineInterval  3;
    refineInterval2  1;

    // Field to be refinement on
    field           alpha.water;
    field2           alpha.water;

    // Refine field inbetween lower..upper
    lowerRefineLevel 0.40;
    upperRefineLevel 0.55;

    lowerRefineLevel2 0.55;
    upperRefineLevel2 1.55;

    // If value < unrefineLevel unrefine
    unrefineLevel   0.45;
    unrefineLevel2  0.55;

    // Have slower than 2:1 refinement
    nBufferLayers   1;
    nBufferLayers2   1;

    // Refine cells only up to maxRefinement levels
    maxRefinement   3;
    maxRefinement2   1;

    // Stop refinement if maxCells reached
    maxCells        2000000;
    maxCells2        2000000;

    // Flux field and corresponding velocity field. Fluxes on changed
    // faces get recalculated by interpolating the velocity. Use 'none'
    // on surfaceScalarFields that do not need to be reinterpolated.
    correctFluxes
    (
        (phi none)
        (nHatf none)
        (rhoPhi none)
        (ghf none)
    );

    // Write the refinement level as a volScalarField
    dumpLevel       true;
}


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


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

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

Shor-ty
Moderator





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

Beiträge: 2466
Registriert: 27.08.2010

ESI-OpenCFD OpenFOAM v2312

erstellt am: 17. Nov. 2015 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 faerberma 10 Unities + Antwort hilfreich

Hallo zusammen,

Faerberma hat mir noch einen Hinweis gegeben, dass die Library nur bei bestimmten Bedingungen funktioniert. Ich hab die Lib jetzt erweitert und getestet. Testfall + Lib werden voraussichtlich im Laufe des Tages auf meiner Homepage zu finden sein.

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

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

Shor-ty
Moderator





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

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 17. Nov. 2015 17:31    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 faerberma 10 Unities + Antwort hilfreich

Hier die Lib + Tutorial:

dynamicInterfaceRefineFvMesh


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

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

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

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

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


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

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

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

(c)2025 CAD.de | Impressum | Datenschutz