CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

twoPhaseEulerFoam bubble column crashes due to problems at outlet region

Register Blogs Community New Posts Updated Threads Search

 
 
LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
Old   March 30, 2015, 07:05
Default twoPhaseEulerFoam bubble column crashes due to problems at outlet region
  #1
Member
 
Join Date: May 2014
Location: Germany
Posts: 31
Rep Power: 12
hester is on a distinguished road
Hello everyone,

I'm investigating a water air bubble column in a cuboid after Deen.
When using more complex modells for the interface momentum transport coefficients I get problems at the outlet area (see pictures below). With SchillerNaumann for drag coefficient everything worked fine, while with IshiiZuber for drag coefficient the simulation crashes.

This is my case setup:

//========= 1. Mesh =============================//

The cuboid measurements are 0.15 m x 0.15 m x 0.45 m. The inlet at the bottom is modelled as rectangular. The water surface is not included.
I generated my mesh using blockMesh. It is equidistant. CheckMesh is okay.

//========= 2. Boundary conditions ==================//

I am using the following boundary condtitions:

alpha.air
Code:
internalField   uniform 0;
boundaryField
{
    inlet
    {
        type            fixedValue;
        value           uniform 1;
    }
    outlet
    {
        type            inletOutlet;
        phi             phi.air;
        inletValue      uniform 0;
        value           uniform 0;
    }
    walls
    {
        type            zeroGradient;
    }
}
U.air
Code:
internalField   uniform (0 0 0);
boundaryField
{
    inlet
    {
        type            fixedValue;
        value           uniform (0 0 0.0784);
    }
    outlet
    {
        type            zeroGradient;
    }
    walls
    {
        type            fixedValue;
        value           uniform (0 0 0);
    }
}
U.water

Code:
internalField   uniform (0 0 0);
boundaryField
{
    inlet
    {
        type            fixedValue;
        value           uniform (0 0 0);
    }
    outlet
    {
        type            slip;
    }
    walls
    {
        type            fixedValue;
        value           uniform (0 0 0);
    }
}
p
Code:
internalField   uniform 100000;
boundaryField
{
    inlet
    {
        type            zeroGradient;
    }
    outlet
    {
        type            fixedValue;
        value           $internalField;
    }
    walls
    {
        type            zeroGradient;
    }
}
k.*
Code:
internalField   uniform 1e-4;
boundaryField
{
    inlet
    {
        type             turbulentIntensityKineticEnergyInlet;
        intensity       0.05;
        value            uniform 0;
    }
    outlet
    {
        type            inletOutlet;
        phi             phi.air;
        inletValue      $internalField;
        value           uniform 0;
    }
    walls
    {
        type            zeroGradient;
    }
}
epsilon.air
Code:
internalField   uniform 1e-5;
boundaryField
{
    inlet
    {
        type            turbulentMixingLengthDissipationRateInlet;
        mixingLength    1e-3;
        k               k.air;
        value           uniform 0;
    }
    outlet
    {
        type            inletOutlet;
        phi             phi.air;
        inletValue      $internalField;
        value           uniform 0;
    }
    walls
    {
        type            zeroGradient;
    }
}
epsilon.water
Code:
internalField   uniform 1e-5;
boundaryField
{
    inlet
    {
        type            fixedValue; 
        value           $internalField;
    }
    outlet
    {
        type            inletOutlet;
        phi             phi.water;
        inletValue      $internalField;
        value           uniform 0;
    }
    walls
    {
        type            zeroGradient;
    }
}
//========= 3. Phase Properties =====================//

I'm assuming a constant air bubble diameter of 4 mm. I only consider drag, lift and virtual mass force. Drag is modelled after Ishii and Zuber as describes here:
http://cfd-online.com/Forums/openfoa...eulerfoam.html
Lift and virtual mass coefficents are both constant with a value of 0.5.

//========= 4. Discretization =======================//

Used methods in fvScheme
Code:
ddtSchemes
{
    default         Euler;
}

gradSchemes
{
    default         Gauss linear;
}

divSchemes
{
    
    // from bubble column tutorial
    default                     Gauss linear;

    "div\(phi,alpha.*\)"        Gauss vanLeer;
    "div\(phir,alpha.*\)"       Gauss vanLeer

    "div\(alphaPhi.*,U.*\)"     Gauss limitedLinearV 1;
    "div\(phi.*,U.*\)"          Gauss limitedLinearV 1;
    "div\(alphaPhi.*,.*rho.*\)" Gauss linear;

    "div\(alphaPhi.*,(h|e).*\)" Gauss limitedLinear 1;
    "div\(alphaPhi.*,(K.*|p)\)" Gauss limitedLinear 1;

    "div\(alphaPhi.*,(k|epsilon).*\)"  Gauss limitedLinear 1;
    "div\(phim,(k|epsilon)m\)"    Gauss limitedLinear 1;

    "div\(\(\(alpha.*nuEff.*\)*dev2\(T\(grad\(U.*\)\)\)\)\)" Gauss linear;
}

laplacianSchemes
{
    default         Gauss linear uncorrected;
}

interpolationSchemes
{
    default         linear;
}

snGradSchemes
{
    default         uncorrected;
}

fluxRequired
{
    default         no;
    p               ;
}
//========= 5. Solution ===========================//

I only use GAMG as suggested by my professor.
fvSolution:
Code:
solvers
{
    alpha.air
    {
        nAlphaCorr      1;
        nAlphaSubCycles 2;
    }

    p
    {
        solver          GAMG;
        smoother        DIC;
        nPreSweeps      0;
        nPostSweeps     2;
        nFinestSweeps   2;
        cacheAgglomeration true;
        nCellsInCoarsestLevel 160;
        agglomerator    faceAreaPair;
        mergeLevels     2;
        tolerance       1e-6;
        relTol          0.0001;
    }

    pFinal
    {
        $p;
        relTol          0;
    }

    
    "e.*"
    {
        solver          GAMG;
        smoother        DILU;
        nPreSweeps      0;
        nPostSweeps     2;
        nFinestSweeps   2;
        cacheAgglomeration true;
        nCellsInCoarsestLevel 160;
        agglomerator    faceAreaPair;
        mergeLevels     2;
        tolerance       1e-6;
        relTol          0.0001;
    }
    
    "(k|epsilon|Theta).*"
    {
        solver          GAMG;
        smoother        DILU;
        nPreSweeps      0;
        nPostSweeps     2;
        nFinestSweeps   2;
        cacheAgglomeration true;
        nCellsInCoarsestLevel 160;
        agglomerator    faceAreaPair;
        mergeLevels     2;
        tolerance       1e-6;
        relTol          0.0001;
    }
}

PIMPLE
{
    nOuterCorrectors 1;
    nCorrectors      2;
    nNonOrthogonalCorrectors 0;
    
    residualControl
    {
        "(U|k|epsilon)"
        {
            relTol          0.0001;
            tolerance       0.0001;
        }
    }

    turbOnFinalIterOnly off;
}

relaxationFactors
{
}
The used Co number is 0.3. The mixtureKEpsilon modell is applied.

//========= 6. Problem ===========================//

After air reaches the outlet area it didn't seem to leave. alpha.air gets big (still <1) in the upper cells and the solution eventually crashes shortly after 7.6 s flow. The flow field for U.water shows there is water inflow. I first set up my case using SchillerNaumann for drag and everything worked fine. But using IshiiZuber instead breaks my simulation. I already tried different things that I found on the forum:
  • setting turbulence setting to laminar: same problem, turbulence modell is not the problem
  • Co = 0.1 instead of 0.3: same problem, is just takes longer to crash
  • nCorrectors = 8 in PISO algorithm: same problem, is just takes much longer to crash
  • including the water surface: high velocities for air in area above water surface, simulation crashes
  • using 1st order discretization: same problem, athough simulation doesn't crash
I hope someone knows what might be the problem or even has encountered the problem already and knows how to deal with it. I've been struggling with this case for a while now. Any help is greatly appreciated.

Regards,
hester
Attached Images
File Type: jpg alpha.air_GAMG.jpg (20.6 KB, 98 views)
File Type: jpg u.water_glyph_GAMG.jpg (34.4 KB, 58 views)
File Type: jpg u.air_glyph_GAMG.jpg (37.3 KB, 79 views)
Attached Files
File Type: gz DeenBubbleColumnIshiiZuber.tar.gz (4.8 KB, 33 views)

Last edited by hester; March 30, 2015 at 08:33.
hester is offline   Reply With Quote

 

Tags
bubble column, twophaseeulerfoam


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Solving bubble column using twoPhaseEulerFoam vishal3 OpenFOAM Pre-Processing 0 July 11, 2013 06:19
Some problems with twoPhaseEulerFoam su_junwei OpenFOAM Running, Solving & CFD 2 November 2, 2012 01:12
ATTENTION! Reliability problems in CFX 5.7 Joseph CFX 14 April 20, 2010 15:45
VOF Outlet boundary condition in cfd - ace JM Main CFD Forum 0 December 15, 2006 08:07
Bubble Column Glen Main CFD Forum 0 January 24, 2006 00:56


All times are GMT -4. The time now is 08:46.