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

Fluid stuck in pipe simulating jet in crossflow

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   May 20, 2020, 06:57
Default Fluid stuck in pipe simulating jet in crossflow
  #1
New Member
 
Jamie MacLeod
Join Date: May 2020
Posts: 9
Rep Power: 6
jammy4536 is on a distinguished road
Hi all, I'm trying to simulate a liquid jet in gaseous crossflow, using compressibleInterFoam, since the flow speeds are reasonably high. I've been wrestling with it in various forms for quite some time, and just run out of options that I think might work.
The geometry is set up so that I have a large box for a distant freestream, and a short length of pipe that the jet comes out of (I've attached some images of the mesh and pipe with fluid). The mesh is created using Pointwise, joined into a single domain, and has been renumbered. Gas enters from the left (inlet) and the top is the atmosphere, and right face is the outlet. This example is rotated, just to see if that would have any effect.
My issue is that for some reason the fluid will come up the pipe a little bit, but then gets stuck at that point. I've done some simulations before where this hasn't happened, but I have no idea what's changed between them to inspire this issue. Any advice on usual suspects would be appreciated, as I'm at a loss about what to try!



U.orig:
Code:
internalField   uniform (0 -40.62 0);

boundaryField
{
    atmosphere
    {
        type            zeroGradient;
    }
    bottom
    {
        type            slip;
    }
    inlet
    {
        type            fixedValue;
        value           uniform (0 -40.62 0);
    }
    outlet
    {
        type            zeroGradient;
    }
    pipe
    {
        type            fixedValue;
        value           uniform (10.633 0 0);
    }
    pipe_wall
    {
        type            slip;
    }
    BaseAndTop
    {
        type            empty;
    }
}
p_rgh
Code:
internalField   uniform 98800;

boundaryField
{
    atmosphere
    {
        type            freestreamPressure;
        freestreamValue uniform 98800;
        value           uniform 98800;
    }
    bottom
    {
        type            fixedFluxPressure;
        gradient        uniform 0;
        value           uniform 98800;
    }
    inlet
    {
        type            fixedFluxPressure;
        gradient        uniform 0;
        value           uniform 98800;
    }
    outlet
    {
        type            freestreamPressure;
        freestreamValue uniform 98800;
        value           uniform 98800;
    }
    pipe
    {
        type            fixedFluxPressure;
        gradient        uniform 0;
        value           uniform 98800;
    }
    pipe_wall
    {
        type            fixedFluxPressure;
        gradient        uniform 0;
        value           uniform 98800;
    }
    BaseAndTop
    {
        type            empty;
    }
}
p
Code:
internalField   uniform 98800;

boundaryField
{
    atmosphere
    {
        type            calculated;
        value           uniform 98800;
    }
    bottom
    {
        type            calculated;
        value           uniform 98800;
    }
    inlet
    {
        type            calculated;
        value           uniform 98800;
    }
    outlet
    {
        type            calculated;
        value           uniform 98800;
    }
    pipe
    {
        type            calculated;
        value           uniform 98800;
    }
    pipe_wall
    {
        type            calculated;
        value           uniform 98800;
    }
    BaseAndTop
    {
        type            empty;
    }
}
alpha.water
Code:
internalField   uniform 0;

boundaryField
{
    atmosphere
    {
        type            inletOutlet;
        inletValue      uniform 0;
        value           uniform 0;
    }
    bottom
    {
        type            zeroGradient;
    }
    inlet
    {
        type            fixedValue;
        value           uniform 0;
    }
    outlet
    {
        type            inletOutlet;
        inletValue      uniform 0;
        value           uniform 0;
    }
    pipe
    {
        type            fixedValue;
        value           uniform 1;
    }
    pipe_wall
    {
        type            zeroGradient;
    }
    BaseAndTop
    {
        type            empty;
    }
}
T
Code:
internalField   uniform 298;

boundaryField
{
    atmosphere
    {
        type            inletOutlet;
        inletValue      uniform 298;
        value           uniform 298;
    }
    bottom
    {
        type            zeroGradient;
    }
    inlet
    {
        type            inletOutlet;
        inletValue      uniform 298;
        value           uniform 298;
    }
    outlet
    {
        type            inletOutlet;
        inletValue      uniform 298;
        value           uniform 298;
    }
    pipe
    {
        type            inletOutlet;
        inletValue      uniform 298;
        value           uniform 298;
    }
    pipe_wall
    {
        type            zeroGradient;
    }
    BaseAndTop
    {
        type            empty;
    }
}
fvSchemes
Code:
ddtSchemes
{
    default         Euler;
}

gradSchemes
{
    default         Gauss linear 1;
    grad(U)         cellLimited Gauss linear 1;
}

divSchemes
{
    div(rhoPhi,U)  Gauss limitedLinearV 1;
    div(phi,alpha)  Gauss vanLeer;
    div(phirb,alpha) Gauss interfaceCompression;

    energy          Gauss upwind;

    div(phi,p)     Gauss upwind;
    div(phid1,p_rgh)     Gauss upwind;
    div(phid2,p_rgh)     Gauss upwind;

    div(rhoPhi,K)   $energy;
    div(rhoPhi,T)  $energy;

    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
}

laplacianSchemes
{
    default         Gauss linear orthogonal;
}

interpolationSchemes
{
    default         linear;
}

snGradSchemes
{
    default         orthogonal;
}

wallDist
{
    method meshWave;
}
fvSolution
Code:
solvers
{
    "alpha.water.*"
    {
        nAlphaCorr      1;
        nAlphaSubCycles 4;
        cAlpha          1;

        MULESCorr       yes;
        nLimiterIter    5;

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


    }

    ".*(rho|rhoFinal)"
    {
        solver          diagonal;
    }

    p_rgh
    {
        solver         GAMG;
        tolerance       1e-06;
        relTol          0;
        smoother        DILU;
        // smoother        DIC;
        nPreSweeps      0;
        nPostSweeps     1;
        nFinestSweeps   1;
        cacheAgglomeration true;
        nCellsInCoarsestLevel 700;
        agglomerator    faceAreaPair;
        mergeLevels     1;
    }

    p_rghFinal
    {
        solver         GAMG;
        tolerance       1e-06;
        relTol          0;
        smoother        DILU;
        // smoother        DIC;
        nPreSweeps      0;
        nPostSweeps     1;
        nFinestSweeps   1;
        cacheAgglomeration true;
        nCellsInCoarsestLevel 700;
        agglomerator    faceAreaPair;
        mergeLevels     1;
    }

    "pcorr.*"
    {
        solver         GAMG;
        tolerance       1e-06;
        relTol          0;
        smoother        DILU;
        // smoother        DIC;
        nPreSweeps      0;
        nPostSweeps     2;
        nFinestSweeps   2;
        cacheAgglomeration true;
        nCellsInCoarsestLevel 700;
        agglomerator    faceAreaPair;
        mergeLevels     1;
    }

    "(U|T|K|UFinal|TFinal|KFinal).*"
    {
        solver          PBiCG;
        preconditioner  DILU;
        tolerance       1e-08;
        relTol          0;
    }
}

PIMPLE
{
    transonic yes;
    momentumPredictor   yes;
    nOuterCorrectors    1;
    nCorrectors         3;
    nNonOrthogonalCorrectors 0;
}

relaxationFactors
{
    equations
    {
        ".*" 1;
    }
}
Attached Images
File Type: jpg Mesh.jpg (63.1 KB, 17 views)
File Type: jpg Pipe.jpg (22.4 KB, 17 views)
jammy4536 is offline   Reply With Quote

Old   May 26, 2020, 05:57
Default
  #2
Senior Member
 
Join Date: Dec 2019
Location: Cologne, Germany
Posts: 369
Rep Power: 8
geth03 is on a distinguished road
how many inlets/outlets do you have?
can it be possible that you overdefine your velocities across your domain?
you have a velocity for the internal domain and also for boundaries.
geth03 is offline   Reply With Quote

Old   May 26, 2020, 06:07
Post
  #3
New Member
 
Jamie MacLeod
Join Date: May 2020
Posts: 9
Rep Power: 6
jammy4536 is on a distinguished road
Thanks for replying!

I have one air inlet on the far left, and one liquid inlet at the base of the pipe, and then one outlet for the domain on the far right, and atmosphere on the top so closer to inletOutlet.
I set the velocity in the domain just to set a starting state and avoid transience, since a real case would already have a steady air state before starting the jet.
jammy4536 is offline   Reply With Quote

Old   May 27, 2020, 03:00
Default
  #4
Senior Member
 
Join Date: Dec 2019
Location: Cologne, Germany
Posts: 369
Rep Power: 8
geth03 is on a distinguished road
did you check if signs are set correctly?
i don't really know if you overdefine your velocity field, so there is nothing to move.
i once had the problem that i didn't correctly adjust my signs so there was nothing exiting the domain and my fluid stuck just like yours.
geth03 is offline   Reply With Quote

Old   May 27, 2020, 05:33
Post
  #5
New Member
 
Jamie MacLeod
Join Date: May 2020
Posts: 9
Rep Power: 6
jammy4536 is on a distinguished road
I have certainly checked the signs of the velocity fields, as that would be a rather mundane mistake, but a classic.
I'll have a play with different outlet conditions later in the week, and report back. I did have it working previously, and the outlet/atmosphere conditions may be one of the only things that is somewhat different. I changed them since I was getting either velocity or pressure artefacts at the outlet and atmosphere boundaries, but could have broken the simulation in the process.
jammy4536 is offline   Reply With Quote

Old   June 1, 2020, 08:00
Post
  #6
New Member
 
Jamie MacLeod
Join Date: May 2020
Posts: 9
Rep Power: 6
jammy4536 is on a distinguished road
Had a chance to look at this again, and while I have changed the settings in the 0 folder, I think the real culprit is the tolerance on alpha in the solution file. I did tests on a coarse mesh with all other settings the same and fluid got stuck again, but when I added the increased tolerance, it stopped being stuck. A short test on the finer mesh suggested that it would simulate fine. Very odd!
My modfication to the 0 folder were just to change the atmosphere/outlet to:
U
Code:
type pressureInletOutletVelocity;
value            uniform (0 0 0);
p_rgh
Code:
type totalPressure;
p0        uniform 98800;
value    uniform 98800;
jammy4536 is offline   Reply With Quote

Old   June 2, 2020, 05:48
Default
  #7
Senior Member
 
Join Date: Dec 2019
Location: Cologne, Germany
Posts: 369
Rep Power: 8
geth03 is on a distinguished road
when you changed your BC for U to pressureInletOutletVelocity, you gave your system some free space to adjust everything. so your flow right there is adjusted to the pressure there. in the other case, where you had velocities, i think a correct solution couldn't be found bc pressure-velocity coupling didn't work well.
geth03 is offline   Reply With Quote

Old   June 2, 2020, 06:55
Post
  #8
New Member
 
Jamie MacLeod
Join Date: May 2020
Posts: 9
Rep Power: 6
jammy4536 is on a distinguished road
Hi Geth,

I just tested with everything exactly as I posted originally (freestreamPressure for p_rgh, and zeroGradient for velocity on outlet and atmosphere) but with a higher tolerance on the alpha in the fvSolution file and the problem is solved, so I think that was the only issue.
Since the inletOutlet conditions apply zeroGradient on outlets anyway, it is basically the same boundary condition. Truly the only factor in the effect of the alpha phase was the tolerance.
Using total pressure I see a low velocity patch at the atmosphere boundary in the simulation, but I don't tend to see that with a zeroGradient boundary hence why I use it.
jammy4536 is offline   Reply With Quote

Reply


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
Fluid flow in a vibrating pipe meng9019 OpenFOAM Running, Solving & CFD 2 July 29, 2014 03:42
Gridding a in and around a pipe dipped into fluid A Krishnan Main CFD Forum 0 February 20, 2005 18:21
My Revised "Time Vs Energy" Article For Review Abhi Main CFD Forum 2 July 9, 2002 10:08
Terrible Mistake In Fluid Dynamics History Abhi Main CFD Forum 12 July 8, 2002 10:11
fluid flow fundas ram Main CFD Forum 5 June 17, 2000 22:31


All times are GMT -4. The time now is 14:37.