CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Cavitation around NACA hydrofoil using interPhaseChangeFoam (https://www.cfd-online.com/Forums/openfoam-solving/149667-cavitation-around-naca-hydrofoil-using-interphasechangefoam.html)

Kozan March 6, 2015 05:30

Cavitation around NACA hydrofoil using interPhaseChangeFoam
 
Hello!

I would like to simulate cavitation around NACA hydrofoil using interPhaseChangeFoam and realizable k-eps model of turbulence. Unfortunately, experiment and numerical results does not match.
In case of the numerical results, the cavitation cloud is much more longer than in reality. The volume of the cloud is transient, on the other hand there is no significant separation during the period of the cavitation cloud development.

I'm still quite new in openFoam and this is my first multiphase simulation, therefore I'm not very familiar with numerical schemes. The dictionaries are attached to the message. I will appriciate any advices.

Thank you very much ;)

fvSolution
Code:

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

solvers
{
    alphawater
    {
        maxUnboundedness 1;
        CoCoeff          0.2;
        maxIter          100;
        minIter                3;
        nLimiterIter    10;

        solver          PBiCG;
        preconditioner  DILU;
        tolerance        1e-8;
        relTol          0;
    };

    "(U|k|epsilon)"
    {
        solver          PBiCG;
        preconditioner  DILU;
        tolerance        1e-08;
        relTol          0;
    };

    "(U|k|epsilon)Final"
    {
        solver          PBiCG;
        preconditioner  DILU;
        tolerance        1e-08;
        relTol          0;
    };

    p_rgh
    {
        solver          GAMG;
        tolerance        1e-8;
        relTol          0.1;

        smoother        DICGaussSeidel;
        nPreSweeps      0;
        nPostSweeps      2;

        cacheAgglomeration true;

        nCellsInCoarsestLevel 10;
        agglomerator    faceAreaPair;
        mergeLevels      1;

        maxIter          100;
        minIter                5;
    };

    pcorr
    {
        $p_rgh;
        relTol          0;
    };

    p_rghFinal
    {
        solver            PCG;
        preconditioner
        {
            preconditioner  GAMG;

            tolerance        1e-6;
            relTol          0;

            nVcycles        2;

            smoother        DICGaussSeidel;
            nPreSweeps      0;
            nPostSweeps      2;
            nFinestSweeps    2;

            cacheAgglomeration false;
            nCellsInCoarsestLevel 10;
            agglomerator    faceAreaPair;
            mergeLevels      1;
        };
        tolerance        1e-7;
        relTol          0;
        maxIter          50;
    };
}

PIMPLE
{
    momentumPredictor          yes;
    nOuterCorrectors          2;
    nCorrectors                3;
    nNonOrthogonalCorrectors  0;

    cAlpha                    0;
    nAlphaCorr                1;
    nAlphaSubCycles            1;
}
// ************************************************************************* //

fvSchemes
Code:

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

ddtSchemes
{
    default        Euler;
}

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

divSchemes
{
    default          none;
    div(phi,U)      Gauss linearUpwind grad(U);
    div(phi,k)      Gauss linearUpwind grad(k);
    //div(phi,omega) Gauss limitedLinear 1;
    div(phi,epsilon) Gauss upwind;
    div(phi,alpha)  Gauss vanLeer;
    div(phirb,alpha) Gauss interfaceCompression;   
    div(phi,R)      Gauss linear;
    div(R)          Gauss linear;
    div(phi,nuTilda) Gauss linear;
    div(rhoPhi,U)    Gauss linearUpwind grad(U);
    div((muEff*dev(T(grad(U))))) Gauss linear;   
}

laplacianSchemes
{
    laplacian(Dp,p_rgh) Gauss linear limited corrected 0.33;
    laplacian(muEff,U) Gauss linear limited corrected 0.33;
    laplacian(rAUf,p) Gauss linear limited corrected 0.33;
    laplacian((1|A(U)),p) Gauss linear limited corrected 0.33;
    laplacian((1|A(U)),pcorr) Gauss linear limited corrected 0.33;
    laplacian(DkEff,k) Gauss linear limited corrected 0.33;
    laplacian(DepsilonEff,epsilon) Gauss linear limited corrected 0.33;
    laplacian(DREff,R) Gauss linear limited corrected 0.33;
    laplacian(DnuTildaEff,nuTilda) Gauss linear limited corrected 0.33;
}

interpolationSchemes
{
    default        linear;
}

snGradSchemes
{
    default        limited corrected 0.5;
}

fluxRequired
{
    default        none;
    p_rgh;
    pcorr;
    alphawater;
}


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

transportProperties
Code:

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

phases (water vapour);

phaseChangeTwoPhaseMixture SchnerrSauer;

pSat            pSat      [1 -1 -2 0 0]  2300;  // saturation pressure

sigma          sigma [1 0 -2 0 0 0 0] 0.07;

water
{
    transportModel Newtonian;
    nu              nu [0 2 -1 0 0 0 0] 1e-06;
    rho            rho [1 -3 0 0 0 0 0] 1000;
}

vapour
{
    transportModel Newtonian;
    nu              nu [0 2 -1 0 0 0 0] 4.273e-04;
    rho            rho [1 -3 0 0 0 0 0] 0.02308;
}

KunzCoeffs
{
    UInf            UInf  [0 1 -1 0 0 0 0]    20.0;
    tInf            tInf  [0 0 1 0 0 0 0]      0.005; // L = 0.1 m
    Cc              Cc    [0 0 0 0 0 0 0]      1000;
    Cv              Cv    [0 0 0 0 0 0 0]      1000;
}

MerkleCoeffs
{
    UInf            UInf  [0 1 -1 0 0 0 0]    20.0;
    tInf            tInf  [0 0 1 0 0 0 0]      0.005;  // L = 0.1 m
    Cc              Cc    [0 0 0 0 0 0 0]      80;
    Cv              Cv    [0 0 0 0 0 0 0]      1e-03;
}

SchnerrSauerCoeffs
{
    n              n      [0 -3 0 0 0 0 0]    1.6e+13;
    dNuc            dNuc  [0 1 0 0 0 0 0]      2.0e-06;
    Cc              Cc    [0 0 0 0 0 0 0]      1;
    Cv              Cv    [0 0 0 0 0 0 0]      1;
}


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


huangxianbei June 11, 2015 04:07

Hi,
Have you solved your problem? I'm facing the same problem. I'm simulating NACA66 foil using interPhaseChangeFoam by LES. However, the resulting pressure is too low , which causes a cavitation cavity along the whole foil. Also, the pressure will increase to a value of about 10e7 Pa sometimes, while the pressure is about 2300Pa at most time:(

alexB June 11, 2015 17:13

Hi you two,

although it seems to me pretty heuristically... have you tried different transport models, e.g. SchnerrSauer, Merkle, Kunz and tried different coefficients?

regards
Alex

huangxianbei June 11, 2015 21:12

Quote:

Originally Posted by alexB (Post 550008)
Hi you two,

although it seems to me pretty heuristically... have you tried different transport models, e.g. SchnerrSauer, Merkle, Kunz and tried different coefficients?

regards
Alex

Hi,Alexander:
Haven't yet. This is my first cavitation calculation in OF, so I just use almost the same setting in the cavitatingBullet tutorial, eg. boundary condition, fvscheme, fvsolution. It's strange that the pressure along the foil is around 2300Pa, the saturation pressure at most time, with some randomly large pressure value sometimes.Here is my understanding about interPhaseChangeFoam:
1\ the reference pressure is 0 by default, so that the pressure in the calculation is the absolute pressure
2\ if the gravity is not included, g should be set to (0 0 0)
I think numerical schemes and solution methods should not affect the result so much, maybe the reason is somewhere else, for example , the boundary condition.

As I look into the cavitatingBullet, the pressure condition on the wall is set to be fixedFluxPressure, and the velocity condition at outlet is set to be pressureInletOutletVelocity, however, the same phenomenen appears whether I use the above conditions or use the normal condition, zeroGradient.

Could you please give me some advice?

Xianbei

Kozan June 13, 2015 05:42

p { margin-bottom: 0.25cm; line-height: 120%; } Hello,


I had a lot of other work, so I had to stop computations of the cavitation around the hydrofoil. I came back home from abroad two weeks ago and I start to simulate partial cavitation in the converging-diverging nozzle (venturi tube) considering realizable k-eps model of turbulence and kunz model of mass transfer. At the moment it seems much more promissing, but in fact I have noticed the same problem with severe pressure shocks. I'm trying to find some information about this issue and to make some database of computations capturing influence of the basic modifications of the simulation (i.e. temporal discretization 1e-6 s to 5e-6 s and mesh refinement) in the same time. I thing that there are two suspicious in this case. The first one is bounday reflexion and the second one was mentioned on this page by M.Dular few years ago (problem with the numerical speed of sound??... I'm not sure) Could we stay in touch? I can post some results during the next week, if you want.


Have a nice weekend :)


P.S. The same problem with the pressure shocks occures in the Fluent in case of the transient cavitation.

huangxianbei June 13, 2015 09:09

Quote:

Originally Posted by Kozan (Post 550212)
p { margin-bottom: 0.25cm; line-height: 120%; } Hello,


I had a lot of other work, so I had to stop computations of the cavitation around the hydrofoil. I came back home from abroad two weeks ago and I start to simulate partial cavitation in the converging-diverging nozzle (venturi tube) considering realizable k-eps model of turbulence and kunz model of mass transfer. At the moment it seems much more promissing, but in fact I have noticed the same problem with severe pressure shocks. I'm trying to find some information about this issue and to make some database of computations capturing influence of the basic modifications of the simulation (i.e. temporal discretization 1e-6 s to 5e-6 s and mesh refinement) in the same time. I thing that there are two suspicious in this case. The first one is bounday reflexion and the second one was mentioned on this page by M.Dular few years ago (problem with the numerical speed of sound??... I'm not sure) Could we stay in touch? I can post some results during the next week, if you want.


Have a nice weekend :)


P.S. The same problem with the pressure shocks occures in the Fluent in case of the transient cavitation.

Hi, glad to recieve your reply:)
The first thing I considered was the boundary conditions. So I ran a steadyState case with k-epsilon model using simpleFoam, with the same pressure and velocity conditions in the cavitating case.
http://www.cfd-online.com/Forums/mem...cavitation.jpg
As can be seen, the pressure along the foil is resonable.
Today, I use the steady result as the initial condition in the cavitating case, however, it's so strange that the pressure is almost not changed as in the noncavitating case with no cavitation occurs:((PIMPLE is used with a residual control for p_rgh)

I'll post my new findings as soon as there are.

PS: by the way, could you please post your boundary conditions and fvSchemes and fvSolution? Or if convenient, you can send these through email, znhuang@163.com

Xianbei

Edit 1: I found that the algorithm used in the pressure-velocity coupling affect the result, leading to two different results. If the PIMPLE is used by setting nOuterCorrectors to 10 or else with a residual control, then the cavitation will disappear after certain time, while if PISO mode is turned on (nOuterCorrectors =1), the cavitation is everywhere along the foil !

Edit 2: Another thing I found is that the time scheme used will significantly affect the result. it seems that the first order Euler scheme performs much more reasonable than backward and CrankNicholson, additionally, CrankNicholson crashed after a short time. I'm confused and wondering whether interPhaseChangeFoam is suitable

Also, no matter how large the pressure is given at outlet, if the second order time scheme is used, the pressure along the foil are all around the saturation pressure

Kozan June 15, 2015 09:14

Hi,

I will post some results and dictionaries tomorrow. I'm not at the university today :). If you want, you can download some animation of the cavitation in the nozzle using following link:
(Kunz)

http://leteckaposta.cz/538378633

I'm really glad that I found somebody to share the experinces with OpenFoam in both dorections, thanks :)

Have a nice day
Jiří.

P.S. I noticed the same problem with the higher order of the temporal discretization when I was trying to simulate cavitation around hydrofoil.

huangxianbei June 15, 2015 10:11

Hi, glad again to receive your reply.
In fact, I have spent a terrible day in trying different pressure values at outlet and the numerical schemes:eek:

I have changed my geometry to 2D with k-epsilon model to quickly know all the changes' influence on the result. As I have mentioned, the time scheme affect the result so much. This makes me more confused. I have performed lots of simulations using single phase solver in OF and didn't experience such a strange fact.

I'll keep on working tomorrow.

Edit: I start a thread to describe my problem more clearly http://www.cfd-online.com/Forums/ope...tml#post550422, you can take a look at it and see if there is anyone who can give us some suggestions

Kozan June 16, 2015 09:20

Hello,

I started with multiphase simulations in OpenFoam right after I managed to make some tutorials, so I'm not very experineced at all.

I'm really sorry but there was some problem with my simulations, so I had to start again yesterday. I'm trying to do transient simulation of the cavitating flow in the full 3D geometry, so it is quite time consuming process. I can share some result from last week at the moment.
In the following charts you can see comparison of the pressure fluctuations using two different time steps (1e-6 and 5e-6 s)

http://img21.rajce.idnes.cz/d2103/11.../CFD.jpg?ver=0

You can see severe pressure shocks in the downstream pipe, but the shock are quite damped in the difusser. In case of higher cavitation number, where the cavitation in the diffuser is not so significant the shocks have higher amplitude.
I'm using quite simmilar dictionaries as I post at the beginning of this thread.

controlDict:
Code:

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

application    interPhaseChangeFoam;

startFrom      latestTime;

startTime      0;

stopAt          endTime;

endTime        10;

deltaT          0.000001;

writeControl    timeStep;

writeInterval  200;

purgeWrite      0;

writeFormat    ascii;

writePrecision  6;

writeCompression uncompressed;

timeFormat      general;

timePrecision  10;

runTimeModifiable false;

adjustTimeStep  no;

maxCo          0.1;

maxAcousticCo 50;

functions{

fieldAverage1{
type fieldAverage;
functionObjectLibs ("libfieldFunctionObjects.so");
outputControl timeStep;
outputInterval 200;
fields
(
U
{
mean on;
prime2Mean off;
base time;
}
p
{
mean on;
prime2Mean off;
base time;
}
alphawater
{
mean on;
prime2Mean off;
base time;
}
);
}

probes{
type probes;
functionObjectLibs ("libsampling.so");
enabled true;
outputControl timeStep;
outputInterval 10;

fields
(
p
);
probeLocations
(
(0.34 0.016 0)
(0.40 0.025 0)
);
}
}

fvSchemes
Code:

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

ddtSchemes
{
    default        Euler;
}

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

divSchemes
{
    default          none;
    div(phi,U)      Gauss linearUpwind grad(U);
    div(phi,k)      Gauss linearUpwind grad(k);
    //div(phi,omega) Gauss limitedLinear 1;
    div(phi,epsilon) Gauss upwind;
    div(phi,alpha)  Gauss vanLeer;
    div(phirb,alpha) Gauss interfaceCompression;   
    div(phi,R)      Gauss linear;
    div(R)          Gauss linear;
    div(phi,nuTilda) Gauss linear;
    div(rhoPhi,U)    Gauss linearUpwind grad(U);
    div((muEff*dev(T(grad(U))))) Gauss linear;   
}

laplacianSchemes
{
    laplacian(Dp,p_rgh) Gauss linear limited corrected 0.33;
    laplacian(muEff,U) Gauss linear limited corrected 0.33;
    laplacian(rAUf,p) Gauss linear limited corrected 0.33;
    laplacian((1|A(U)),p) Gauss linear limited corrected 0.33;
    laplacian((1|A(U)),pcorr) Gauss linear limited corrected 0.33;
    laplacian(DkEff,k) Gauss linear limited corrected 0.33;
    laplacian(DepsilonEff,epsilon) Gauss linear limited corrected 0.33;
    laplacian(DREff,R) Gauss linear limited corrected 0.33;
    laplacian(DnuTildaEff,nuTilda) Gauss linear limited corrected 0.33;
}

interpolationSchemes
{
    default        linear;
}

snGradSchemes
{
    default        limited corrected 0.5;
}

fluxRequired
{
    default        none;
    p_rgh;
    pcorr;
    alphawater;
}


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

fvSolution
Code:

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

solvers
{
    alphawater
    {
        maxUnboundedness 1;
        CoCoeff          0.2;
        maxIter          100;
        nLimiterIter    10;

        solver          PBiCG;
        preconditioner  DILU;
        tolerance        1e-6;
        relTol          0;
    };

    "(U|k|epsilon)"
    {
        solver          PBiCG;
        preconditioner  DILU;
        tolerance        1e-08;
        relTol          0;
    };

    "(U|k|epsilon)Final"
    {
        solver          PBiCG;
        preconditioner  DILU;
        tolerance        1e-08;
        relTol          0;
    };

    p_rgh
    {
        solver          GAMG;
        tolerance        1e-8;
        relTol          0.1;

        smoother        DICGaussSeidel;
        nPreSweeps      0;
        nPostSweeps      2;

        cacheAgglomeration true;

        nCellsInCoarsestLevel 10;
        agglomerator    faceAreaPair;
        mergeLevels      1;

        maxIter          100;
        minIter                5;
    };

    pcorr
    {
        $p_rgh;
        relTol          0;
    };

    p_rghFinal
    {
        solver            PCG;
        preconditioner
        {
            preconditioner  GAMG;

            tolerance        1e-6;
            relTol          0;

            nVcycles        2;

            smoother        DICGaussSeidel;
            nPreSweeps      0;
            nPostSweeps      2;
            nFinestSweeps    2;

            cacheAgglomeration false;
            nCellsInCoarsestLevel 10;
            agglomerator    faceAreaPair;
            mergeLevels      1;
        };
        tolerance        1e-7;
        relTol          0;
        maxIter          50;
    };
}

PIMPLE
{
    momentumPredictor          yes;
    nOuterCorrectors          4;
    nCorrectors                3;
    nNonOrthogonalCorrectors  0;

    cAlpha                    0;
    nAlphaCorr                1;
    nAlphaSubCycles            1;

transportProperies
Code:

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

phases (water vapour);

phaseChangeTwoPhaseMixture Kunz;

pSat            pSat      [1 -1 -2 0 0]    2400;  // saturation pressure

sigma          sigma [1 0 -2 0 0 0 0] 0.07;

water
{
    transportModel Newtonian;
    nu              nu [0 2 -1 0 0 0 0] 1e-06;
    rho            rho [1 -3 0 0 0 0 0] 1000;
}

vapour
{
    transportModel Newtonian;
    nu              nu [0 2 -1 0 0 0 0] 4.273e-04;
    rho            rho [1 -3 0 0 0 0 0] 0.02308;
}

KunzCoeffs
{
    UInf            UInf  [0 1 -1 0 0 0 0]    3.173;
    tInf            tInf  [0 0 1 0 0 0 0]      0.017; // L = 0.1 m
    Cc              Cc    [0 0 0 0 0 0 0]      1000;
    Cv              Cv    [0 0 0 0 0 0 0]      10000;
}

MerkleCoeffs
{
    UInf            UInf  [0 1 -1 0 0 0 0]    20.0;
    tInf            tInf  [0 0 1 0 0 0 0]      0.005;  // L = 0.1 m
    Cc              Cc    [0 0 0 0 0 0 0]      80;
    Cv              Cv    [0 0 0 0 0 0 0]      1e-03;
}

SchnerrSauerCoeffs
{
    n              n      [0 -3 0 0 0 0 0]    1e+14;
    dNuc            dNuc  [0 1 0 0 0 0 0]      2.0e-06;
    Cc              Cc    [0 0 0 0 0 0 0]      1;
    Cv              Cv    [0 0 0 0 0 0 0]      1;
}


huangxianbei June 16, 2015 11:18

well, it seems that the timestep size will affect the result. As seen, the pressure shock tends to reduce with the increasing time step size.

Have you checked the Courant number? Is it resonable if large time step size is used?

Another point I'd like to figure out is the
Code:

momentumPredictor          yes;
in the fvSolution. I remember that people tends to set it to no to reduce the calculation time, also, I found it won't affect the cavitation calculation.

Anyway, I would try your settings to restart my simulation. I'll try different time step size by using PIMPLE instead of PISO. Good luck to our simulations:)

huangxianbei June 17, 2015 03:59

I have figured out why PIMPLE and PISO get different performance. The reason is that in the origin code (OF-2.3.0), interPhaseChangeFoam.C
Code:

if (pimple.firstIter() || alphaOuterCorrectors)
            {
                twoPhaseProperties->correct();

                #include "alphaEqnSubCycle.H"
                interface.correct();
            }

The interface is never corrected if PIMPLE is used (nOutercorrector > 1)

So I recompile this by commenting the if condition

You can see the bug fix here: https://github.com/OpenFOAM/OpenFOAM...c7396809f308ef

Now they performs similar, but the performance is still not good at noncavitating condition, the pressure at the leading edge is too low.

huangxianbei June 24, 2015 08:49

Hi,jiri:
Have you solve the excessive pressure during the calculation? Recently, I got acceptable results in cavitating flow ,while the excessive pressure still occurs.

As I said in the previous post, I found some bugs in OF-2.3.0 which made me thought that the official version maybe not suitable for cavitating flow calculation. So I turned to the extend version. I installed openfoam-extend-3.1 and tested my 2D case under noncavitating condition. The results are very good. So I ran my 3D case using LES also in noncavitating condition and got good results too (no excessive pressure occurs). However, if I ran it in cavitating condition, it occured again:(

I'm thinking this to be caused by the instability of the solver rather than anything else, just like the noise signal detected in the experiment. Therefore, I'd rather regard it as a noise. So I deleted the pressure signals which are 2 times larger than the average and did a smothing operation. The result seems reasonable.

In conclusion, the pressure signal may include noise, and we should do some filtering operations to it to analysis the phenomenen better .

Kozan June 25, 2015 12:35

Hello Huang,

I'm in Berlin right now. So I will send you my results next Tuesday. I can say that in case of higher cavitation number the frequency of vortex rings separation was quite reasonable. With the lower cavitation number the frequency was significantly higher compared to the experimental data. Unfortunately I did not solve the problem with pressure shocks. What about some chat or skype session next week? I'm really sorry that I can't give you more useful information at the moment. Have a nice day.:)

Best regards,
Jiří

huangxianbei June 25, 2015 21:20

Quote:

Originally Posted by Kozan (Post 552151)
Hello Huang,

I'm in Berlin right now. So I will send you my results next Tuesday. I can say that in case of higher cavitation number the frequency of vortex rings separation was quite reasonable. With the lower cavitation number the frequency was significantly higher compared to the experimental data. Unfortunately I did not solve the problem with pressure shocks. What about some chat or skype session next week? I'm really sorry that I can't give you more useful information at the moment. Have a nice day.:)

Best regards,
Jiří

Hi, Jiří:
That's the same problem with me. I'm not sure if skype works well in China, I'll try it. I'm going to travelling for a few days and come back next week:) See you next week.

Xianbei

Kozan July 7, 2015 14:30

Hi!

I'm really sorry, but I had no time last week. I have finished a set of simulations considering constant discharge 7 l/s and 3E-5 s length of timestep. Value of the pressure was recorded using three probes, all of them were near the wall (apx. 0.3 mm) of the domain. First one was located in the midle of the difusser, second one 3 mm behind the diffuser and third one 130 mm behind the difusser. Value of the pressure was captured every timestep. I tried to compare the results of simulations with experimental measurement and high speed video analysys (figure).
http://img21.rajce.idnes.cz/d2103/11..._FFT.jpg?ver=0

Sorry, text in picture is in czech language. So: Yellow = experiment, red = video analysis, blue = openFoam. You can see that there is significant difference between experimental and numerical results in case of lower cavitation numbers. On the other hand the numerical results match quite accuratively the experimental data in the region of higher cavitation number.

What about you?

Best regards,
Jiř

huangxianbei July 8, 2015 04:52

Quote:

Originally Posted by Kozan (Post 554207)
You can see that there is significant difference between experimental and numerical results in case of lower cavitation numbers. On the other hand the numerical results match quite accuratively the experimental data in the region of higher cavitation number.

What about you?

Best regards,
Jiř

Hi, I'm sorry for working some days on checking the mesh convergence.
In fact, the problem is the same.
http://www.cfd-online.com/Forums/mem...cavi50wdsm.jpg
As seen, this is the pressure coefficient along the suction side of the hydrofoil under low cavitation number, significant discrepancy can be seen. In your result, the frequency is smaller than the exp, which is contrary to my case, because the cavity sheading frequency in my case tends to be larger than the exp, as shown following:
http://www.cfd-online.com/Forums/mem...ture717-c5.jpg

This is a comparison of the pressure fluctuation at x/c=0.4 on the suction side. If we look at this result, it seems more or less that OpenFOAM's result is reasonable, and the discrepancy may be attributed to the cavitation model or turbulence model, or the mixture assumption in the two-phase modeling.

What's your opinion?

PS: I used the Kunz model and found that some coefficients should be set according to the case to be modeled. ie. UInf and tInf, I'm running a case which adopts the new coefficients, the result should come out in two days and I will study it to see if there is any influence.

Xianbei

Kozan July 8, 2015 07:01

Hi,

Yep, I downloaded the article written by Kunz. Change of the coefficients t_inf and U_inf had quite significant influence on the results. Another problem was that there was negative pressure in domain (which is nonsense due to absolute formulation of p in case of interPhaseChangeFoam). I had to increase value of the Cv coefficient, but I didn't found any further information about that so I think that this is pure empiric problem. The original value was 1000 (I think), new value is 10000 and the lowest in the domain is about 1500Pa, which is still too low. The value of p_sat is 2400 Pa (20 °C), I think that it should be nearly the lowest pressure (at least it was when I did some computations using Fluent an incompressible solver).

The second picture is capturing the whole computation, or only its part? I think, that you shoud wait litle bit more longer.
I have tried to use finer mesh, but in my case the results were worse (more noisy FFT) so I decided to use coarser mesh (0.9 vs 1.5 M of hexahedral cells)

By the way, the pressure fluctuations depicted in my previous post were obtained using the first probe (in the diffusser), results from the second one were much more noisy and the third one was completely useless.

Have a nice day,
Jiří

P.S. Could you share your dictionaries? I have got some experimental data of NACA profile which were done in our department, so we can make some comparison.

huangxianbei July 8, 2015 08:08

Hi, so quick reply!

1\Another problem was that there was negative pressure in domain (which is nonsense due to absolute formulation of p in case of interPhaseChangeFoam)

Hmm, your problem seems strange, the lowest pressure should be around the saturation pressure if cavitation model is applied. I have no idea about that.

2\ I had to increase value of the Cv coefficient, but I didn't found any further information about that so I think that this is pure empiric problem.

Yes, this is an emperical constant and hard to decide, so I didn't change it (1000), while I remember that in Kunz's paper, the two are set to 100

3\ Change of the coefficients t_inf and U_inf had quite significant influence on the results.

This is case dependent. U_inf is the free stream velocity and t_inf=L/U_inf, L is the chord length in my case.

4\The second picture is capturing the whole computation, or only its part?

It's the pressure pulsation at 1 point at x/c=0.4, the calculation shows significant periodicity, so at this stage, it's enough for me, while for further research, longer time is required.

5\I have tried to use finer mesh, but in my case the results were worse

I use 0.5 million elements in my case, which is mesh converged.

6\Could you share your dictionaries?

Which "dictionaries" do you mean? the fvSolution or something else?

Xianbei

Kozan July 16, 2015 04:02

Hi!

1\ Yes, I know, that it is really strange.

2\ Sorry for my formulation, I mean set up of reference case which I found, not the original coefficients from the article.

3\ -

4\ Ok, but are you sure, that the solution is converged, in my case it lasts few periods until the frequency of vortex rings separation become more or less constant.

5\-

6\ Yes, I meant fvSolution, fvSchemes and condrolDictionary plus the whole constant folder.

Question: I want to make singlephase simulation for the comparison of the additional vorticity which is produced in the phases interface region. It is possible to turn off mass transfer using interphaseChangeFoam (like in fluent, you can turn off mass transfer equation and get fully wetted solution) or it is necessary to use another solver (pimpleFoam)? Thanks. Have a nice day.

Best regards,
Jiří

huangxianbei July 16, 2015 04:28

2 Attachment(s)
4/ That's a question, in fact, the first two cycles show some differences from the following. So I have to run for longer time

Attachment 40860
Attachment 40861
Here is the files. The Kunz model is modified according to"Cavitating flow around a 2D hydrofoil using a user modified version of interPhaseChangeFoam"

I think you can just run a case under noncavitating condition because the volume fraction of water is always equal to 1.

Xianbei


All times are GMT -4. The time now is 12:06.