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

Cavitation around NACA hydrofoil using interPhaseChangeFoam

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   March 6, 2015, 05:30
Default Cavitation around NACA hydrofoil using interPhaseChangeFoam
  #1
New Member
 
jiri kozak
Join Date: Jan 2013
Posts: 21
Rep Power: 13
Kozan is on a distinguished road
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;
}


// ************************************************************************* //
Kozan is offline   Reply With Quote

Old   June 11, 2015, 04:07
Default
  #2
Senior Member
 
Huang Xianbei
Join Date: Sep 2013
Location: Yangzhou,China
Posts: 302
Rep Power: 13
huangxianbei is on a distinguished road
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
huangxianbei is offline   Reply With Quote

Old   June 11, 2015, 17:13
Default
  #3
Member
 
Alexander Bartel
Join Date: Feb 2015
Location: Germany
Posts: 97
Rep Power: 11
alexB is on a distinguished road
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
__________________
Please note that I do not use the Friend-feature, so do not be offended, if I do not accept a request.
alexB is offline   Reply With Quote

Old   June 11, 2015, 21:12
Default
  #4
Senior Member
 
Huang Xianbei
Join Date: Sep 2013
Location: Yangzhou,China
Posts: 302
Rep Power: 13
huangxianbei is on a distinguished road
Quote:
Originally Posted by alexB View Post
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
huangxianbei is offline   Reply With Quote

Old   June 13, 2015, 05:42
Default
  #5
New Member
 
jiri kozak
Join Date: Jan 2013
Posts: 21
Rep Power: 13
Kozan is on a distinguished road
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.
Kozan is offline   Reply With Quote

Old   June 13, 2015, 09:09
Default
  #6
Senior Member
 
Huang Xianbei
Join Date: Sep 2013
Location: Yangzhou,China
Posts: 302
Rep Power: 13
huangxianbei is on a distinguished road
Quote:
Originally Posted by Kozan View Post
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.

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

Last edited by huangxianbei; June 15, 2015 at 08:27.
huangxianbei is offline   Reply With Quote

Old   June 15, 2015, 09:14
Default
  #7
New Member
 
jiri kozak
Join Date: Jan 2013
Posts: 21
Rep Power: 13
Kozan is on a distinguished road
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.

Last edited by Kozan; June 15, 2015 at 09:21. Reason: additional information
Kozan is offline   Reply With Quote

Old   June 15, 2015, 10:11
Default
  #8
Senior Member
 
Huang Xianbei
Join Date: Sep 2013
Location: Yangzhou,China
Posts: 302
Rep Power: 13
huangxianbei is on a distinguished road
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

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
huangxianbei is offline   Reply With Quote

Old   June 16, 2015, 09:20
Default
  #9
New Member
 
jiri kozak
Join Date: Jan 2013
Posts: 21
Rep Power: 13
Kozan is on a distinguished road
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)



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;
}
Kozan is offline   Reply With Quote

Old   June 16, 2015, 11:18
Default
  #10
Senior Member
 
Huang Xianbei
Join Date: Sep 2013
Location: Yangzhou,China
Posts: 302
Rep Power: 13
huangxianbei is on a distinguished road
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 is offline   Reply With Quote

Old   June 17, 2015, 03:59
Default
  #11
Senior Member
 
Huang Xianbei
Join Date: Sep 2013
Location: Yangzhou,China
Posts: 302
Rep Power: 13
huangxianbei is on a distinguished road
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 is offline   Reply With Quote

Old   June 24, 2015, 08:49
Default
  #12
Senior Member
 
Huang Xianbei
Join Date: Sep 2013
Location: Yangzhou,China
Posts: 302
Rep Power: 13
huangxianbei is on a distinguished road
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 .
huangxianbei is offline   Reply With Quote

Old   June 25, 2015, 12:35
Default
  #13
New Member
 
jiri kozak
Join Date: Jan 2013
Posts: 21
Rep Power: 13
Kozan is on a distinguished road
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ří
Kozan is offline   Reply With Quote

Old   June 25, 2015, 21:20
Default
  #14
Senior Member
 
Huang Xianbei
Join Date: Sep 2013
Location: Yangzhou,China
Posts: 302
Rep Power: 13
huangxianbei is on a distinguished road
Quote:
Originally Posted by Kozan View Post
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
huangxianbei is offline   Reply With Quote

Old   July 7, 2015, 14:30
Default
  #15
New Member
 
jiri kozak
Join Date: Jan 2013
Posts: 21
Rep Power: 13
Kozan is on a distinguished road
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).


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ř

Last edited by Kozan; July 8, 2015 at 02:29.
Kozan is offline   Reply With Quote

Old   July 8, 2015, 04:52
Default
  #16
Senior Member
 
Huang Xianbei
Join Date: Sep 2013
Location: Yangzhou,China
Posts: 302
Rep Power: 13
huangxianbei is on a distinguished road
Quote:
Originally Posted by Kozan View Post
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.

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:


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
huangxianbei is offline   Reply With Quote

Old   July 8, 2015, 07:01
Default
  #17
New Member
 
jiri kozak
Join Date: Jan 2013
Posts: 21
Rep Power: 13
Kozan is on a distinguished road
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.
Kozan is offline   Reply With Quote

Old   July 8, 2015, 08:08
Default
  #18
Senior Member
 
Huang Xianbei
Join Date: Sep 2013
Location: Yangzhou,China
Posts: 302
Rep Power: 13
huangxianbei is on a distinguished road
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
huangxianbei is offline   Reply With Quote

Old   July 16, 2015, 04:02
Default
  #19
New Member
 
jiri kozak
Join Date: Jan 2013
Posts: 21
Rep Power: 13
Kozan is on a distinguished road
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ří
Kozan is offline   Reply With Quote

Old   July 16, 2015, 04:28
Default
  #20
Senior Member
 
Huang Xianbei
Join Date: Sep 2013
Location: Yangzhou,China
Posts: 302
Rep Power: 13
huangxianbei is on a distinguished road
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

constant.zip
system.zip
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
huangxianbei is offline   Reply With Quote

Reply

Tags
cavitation, hydrofoil, interphasechangefoam, numerical scheme, openfoam


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
Hydrofoil Cavitation Richy STAR-CCM+ 1 July 9, 2014 18:58
How to select a cavitation model in interPhaseChangeFoam simon95 OpenFOAM Running, Solving & CFD 1 December 4, 2013 23:42
Cavitating Flow around a hydrofoil kimotbwb CFX 0 October 7, 2012 10:05
Detecting Cavitation of a Hydrofoil jacobjb FloEFD, FloWorks & FloTHERM 1 September 1, 2010 02:48
[Validation: marine] Hydrofoil NACA 0024 axpl FLUENT 3 September 19, 2009 09:18


All times are GMT -4. The time now is 02:11.