query regarding deltaT in multiphaseEulerFoam
I am trying to simulate a 3 phase flow by using multiphaseEulerFoam solver. I start with deltaT = 0.001. But during long runs its value decreases. And it is never constant. My second query is that whenever i try to restart the run from t=0 , Openfoam never takes the original deltaT = 0.001 value. I am posting the snippets of my terminal window and control dict file.
Courant Number mean: 0.0570183 max: 0.49767 deltaT = 0.000768923 Time = 0.475434 MULES: Solving for alphawater water volume fraction, min, max = 0.237401 -1.39992e-09 1 MULES: Solving for alphaoil oil volume fraction, min, max = 0.331176 -1.28595e-11 1 MULES: Solving for alphaair air volume fraction, min, max = 0.431422 -2.89095e-11 1 Phase-sum volume fraction, min, max = 1 0.999999 1 MULES: Solving for alphawater water volume fraction, min, max = 0.237401 -3.13086e-09 1 MULES: Solving for alphaoil oil volume fraction, min, max = 0.331176 -1.26736e-11 1 MULES: Solving for alphaair air volume fraction, min, max = 0.431422 -2.9056e-11 1 Phase-sum volume fraction, min, max = 1 0.999999 1 MULES: Solving for alphawater water volume fraction, min, max = 0.237401 -3.0326e-09 1 MULES: Solving for alphaoil oil volume fraction, min, max = 0.331176 -1.24904e-11 1 MULES: Solving for alphaair air volume fraction, min, max = 0.431422 -1.09878e-10 1 Phase-sum volume fraction, min, max = 1 0.999999 1 GAMG: Solving for p, Initial residual = 0.00186816, Final residual = 3.4607e-05, No Iterations 2 time step continuity errors : sum local = 2.95067e-07, global = 1.07225e-10, cumulative = -4.99832e-07 GAMG: Solving for p, Initial residual = 0.00130052, Final residual = 2.03657e-05, No Iterations 2 time step continuity errors : sum local = 1.73768e-07, global = 7.56413e-11, cumulative = -4.99757e-07 GAMGPCG: Solving for p, Initial residual = 0.000449752, Final residual = 3.46072e-08, No Iterations 5 time step continuity errors : sum local = 2.95375e-10, global = 2.05615e-11, cumulative = -4.99736e-07 ExecutionTime = 8560.98 s i started from deltaT=0.001 but it decreased after some iterations :mad: below is my controldict file :rolleyes: /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.1.1 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // application multiphaseEulerFoam; startTime 0; startFrom latestTime; stopAt endTime; endTime 3; deltaT 0.001; writeControl adjustableRunTime; writeInterval 0.2; purgeWrite 0; writeFormat ascii; writePrecision 6; writeCompression uncompressed; timeFormat general; timePrecision 6; runTimeModifiable yes; adjustTimeStep yes; maxCo 0.5; maxAlphaCo 0.5; maxDeltaT 1; // ************************************************** *********************** // |
In this solver and any others of the interFoam family with interfaceSharpening, the time step is by default adapted to maintain the stability criterion of the Co number. In your controlDict you have maxCo = 0.5. and adjustTimeStep = yes. While it is always a good idea to use Co-controlled time step with this type of solver (unless you know exactly what the flow is doing at all times), if you want to keep the time step from changing from your deltaT setting in controlDict, set "adjustTimeStep no;"
Alternatively, depending on how many nAlphaSubCycles you are using (fvSolutions) you could increase the value of maxCo instead to optimize the deltaT and still keep things stable. You want to keep maxCo/nAlphaSubCycles > 0.3. Hope this helps. -Kent |
query regarding deltaT in multiphaseEuler
i changed the controldict as follows
application multiphaseEulerFoam; startTime 0; startFrom latestTime; stopAt endTime; endTime 3; deltaT 0.001; writeControl runTime; writeInterval 0.2; purgeWrite 0; writeFormat ascii; writePrecision 6; writeCompression uncompressed; timeFormat general; timePrecision 6; runTimeModifiable yes; adjustTimeStep no; maxCo 0.5; maxAlphaCo 0.5; maxDeltaT 1; // ************************************************** *********************** // Its working fine.....:o ...thanku |
query regarding deltaT in multiphaseEuler
whenever i try to restart the run from t=0 , Openfoam never takes the original deltaT = 0.001 value ??? i am not able to find out why it happened. Although what i do now is that i have made a separate copy of my 0 time directory. whenever i need to take a fresh run i use it and do setFields. I am still not able to figure out the problem. Few people say its a bug.
|
Hello,
just remove the directory named UNIFORM from that point you will continue. H |
Hi Kent,
For the tutorial (damBreak case) of multiphaseEulerFoam, there is a maxAlphaCo entry in the controlDict which can be used to limit interface Courant number. But, by examining the solver of mpEF (OF-2.4.0 version), I don't see the mpEF implement this function like interFoam. So, I guess that mpEF doesn't take maxAlphaCo into account. and the time step for mpEF is only controlled by maxCo. I would like to make sure whether this is true or not? Thanks, Ken Quote:
|
This is true. However, the solver is very easily modified to take advantage of the maxAlphaCo. Here are the alphaCourantNo.H and setDeltaT.H files you need to update the solver.
|
All times are GMT -4. The time now is 07:45. |