Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  OpenFOAM
  Stabilität multiphase Simulation mit Phasenwandel

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:  Stabilität multiphase Simulation mit Phasenwandel (478 mal gelesen)
baffledStudent
Mitglied
Student

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

Beiträge: 8
Registriert: 27.10.2021

erstellt am: 27. Okt. 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

Hallo Foamers,

ich arbeite daran die Marangoni-Konvektion in den Solver icoReactingMultiphaseInterFoam, der OpenFoam Version v2106, zu implementieren. Die treibende Kraft der Marangoni-Konvektion tirtt an der Oberfläche zwischen flüssiger Schmelze und der Gas-Phase auf. Die Kraft wird als volumetrische Kraft folgendermaßen in UEqn.H implementiert.

dSigmadT - thermokapillarer Koeffizient

nn - Normalvektor des Interfaces (Gas und Liquid)
volVectorField nn = gradAlpha/(mag(gradAlpha)+deltaN)

gradT - Gradient des Temperaturfeldes
fvc::grad(T)

gradAlpha - Gradient der Phasenanteile (fluid.phase(0) Fraction der Gas-Phase, fluid.phase(1) der Liquid-Phase))
volVectorField gradAlpha = fluid.phase(0)*fvc::grad(fluid.phase(1))-fluid.phase(1)*fvc::grad(fluid.phase(0))

factor - Faktor um die Kraft auf die schwere Liquid-Phase zu verteilen
volScalarField factor = (2*rho)/(fluid.phase(0).rho()+fluid.phase(1).rho())

Code:

fvVectorMatrix UEqn
(
    fvm::Dnobiggrin:t(rho, U)
  + fvm::Div(rhoPhi, U)
//- fvm::Sp(fvc::Dnobiggrin:t(rho) + fvc::Div(rhoPhi), U)
  + turbulence->divDevRhoReff(U)

  ==
    fvOptions(rho, U)
    + dSigmadT*(gradT - nn*(nn & gradT))*mag(gradAlpha)*factor
);


Folgenden Testcase versuche ich zu replizieren:

Tan, L.H., Leong, S.S., Leonardi, E., Barber, T.J., 2006. A numerical study of solid-liquid phase change with Marangoni effects using a multiphase approach. Progress in Computational Fluid Dynamics, 6, 304-313

Leider wird die Simulation ab 1 Sekunde instabil und die flüssige Phase verschiebt sich völlig. In dem Imgur Album habe ich die Ergebnisse der flüssigen Phase nach 1, 1.25 und 1.5 Sekunden hochgeladen. Zusätzlich ist dort der Plot der Residuals hochgeladen worden: https://imgur.com/a/aDHmJSY

mein fvSolution Skript sieht folgendermaßen aus:

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    "system";
    object      fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

solvers
{
    "rho.*"
    {
        solver          diagonal;
        tolerance      1e-5;
        relTol          0;
    }

    "alpha.*"
    {
        nAlphaCorr      2;
        nAlphaSubCycles 1;
        cAlphas        (
    (liquid and gas)  1
    (gas and solid) 1
    (liquid and solid) 1
);

        MULESCorr yes;
nLimiterIter 3;

solver          smoothSolver;
smoother symGaussSeidel;
        tolerance      1e-08;
        relTol          0;

    }

    "pcorr.*"
    {
        solver PCG;
        preconditioner  FDIC;
        tolerance      1e-05;
        relTol          0;
    }
pcorrFinal
    {
        $pcorr;
    }
    "p_rgh|sPhi.*"
    {
        solver          PCG;
        preconditioner  FDIC;
        tolerance      1e-09;
        relTol          0.01;
        //maxIter        0;
    }

    p_rghFinal
    {
        $p_rgh;
        relTol          0;
    }

    "U.*"
    {
        solver          smoothSolver;
        smoother        symGaussSeidel;
        tolerance      1e-06;
        relTol          0;
minIter 1;

    }

    "Yi.*"
    {
        solver          smoothSolver;
        smoother        symGaussSeidel;
        tolerance      1e-09;
        relTol          0;
        residualAlpha  1e-8;
    }

    "e.*|T.*"
    {
        solver          smoothSolver;
        smoother        symGaussSeidel;
        tolerance      1e-08;
        relTol          0.0;
    }
}

PIMPLE
{
    consistent          true;
    momentumPredictor  yes;
    nOuterCorrectors    1;
    nCorrectors        3;
    nNonOrthogonalCorrectors 0;
    pRefPoint (0.015 0.0 0.0);
    pRefValue 100000;
   
    residualControl
    {
        p_rgh
        {
            relTol      0;
            tolerance  5e-4;
        }

        U
        {
            relTol      0;
            tolerance  4e-6;
        }
    }
}

relaxationFactors
{
    fields
    {
p_rgh 0.85;
p_rghFinal      1;
    }
    equations
    {
        U              0.9;
        UFinal          1;
    }
}


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


Vielleicht kann mir jemand hier mir aushelfen.    Und mir Tipps, wo Fehler liegen könnten. Falls etwas unklar ist beantworte ich gerne die Unklarheiten.

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

Shor-ty
Moderator





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

Beiträge: 2463
Registriert: 27.08.2010

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

erstellt am: 28. Okt. 2021 11:02    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 baffledStudent 10 Unities + Antwort hilfreich

Ohne das ich das jetzt hier genau beurteilen kann würde ich mal den PIMPLE Algorithmus verwenden, um mögliche explizite Terme weiter konvergieren zu lassen.

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

OpenFOAM® Community - Knowledge Base

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



Ingenieur, Physiker, Mathematiker - CFD-Simulation im Fahrzeugumfeld (m/w/d)

Wir bewerben uns bei dir. Diese Formulierung überrascht dich vielleicht, da du dich gerade mit deiner eigenen Bewerbung beschäftigst? Als Teaser nennen wir dir 5 Argumente. Den Blockbuster zeigen wir im Bewerbungsprozess. Die Sequels erlebst du bei TWT. Find's raus!

  • Themen am Puls der Zeit. Artificial Intelligence, Autonomous Driving, E-Mobility, Model Based Systems Engineering oder Virtual Experience....
Anzeige ansehenMathematik
baffledStudent
Mitglied
Student

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

Beiträge: 8
Registriert: 27.10.2021

erstellt am: 10. Apr. 2022 16:46    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

Danke für die Antwort. Die hat mir damals geholfen

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

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

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

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


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

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

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

(c)2023 CAD.de | Impressum | Datenschutz