CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Post-Processing (https://www.cfd-online.com/Forums/openfoam-post-processing/)
-   -   Wrong boundary layer with movingWallVelocity (https://www.cfd-online.com/Forums/openfoam-post-processing/151636-wrong-boundary-layer-movingwallvelocity.html)

fernexda April 14, 2015 09:31

Wrong boundary layer with movingWallVelocity
 
3 Attachment(s)
Dear all,
I'm currently doing unsteady simulations of a vertical axis wind turbine (VAWT) with sliding meshes, cyclicAMI interface and imposed motion (solidBodyMotionFvMesh solver). And I'm going crazy trying to match my results with experimental data.

I think my problems have mainly to do with the velocity and the boundary layer. I'm using the spalart-allmaras turbulent model, and the nutUSpaldingWallFunction wall function. The problem is that the velocity on the blade boundary is not zero...

I've proceeded in two steps.
  1. First I put a '
    Code:

    fixedValue
    ' of (0 0 0) m/s on the blades. The boundary layer seemed ok, but the results didn't have any physical meaning...
  2. After looking at some example, I've discovered the 'movingWallVelocity' to take in account the movement of the paddle. Even though the results with this BC are still bad, they make more sense. BUT the velocity on the blade is not zero ! See pictures attached.

The problems I'm facing with the 'movingWallVelocity' are:
  • Wrong boundary layer
  • Highly diffusive simulation (more than with a fixedValue...)
  • Crazy power coefficient values

So the question is: does anyone know where could this come from ? Am I doing something wrong ? How could I get a better BL ?

Any help would be greatly appreciated !

Regards,
Daniel

P.S.: here are my configuration files:
* Solver: pimpleDyMFoam
* OF 2.1
*0/U
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      volVectorField;
    location    "0";
    object      U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 1 -1 0 0 0 0];

internalField  uniform (9 0 0);

boundaryField
{
    AMI_FS
    {
        type            cyclicAMI;
    }
    AMI_SF
    {
        type            cyclicAMI;
    }
    Inlet
    {
        type            fixedValue;
        value          uniform (9 0 0);
    }
    Outlet
    {
        type            inletOutlet;
        inletValue      uniform (0 0 0);
        value          uniform (0 0 0);
    }
    lowerSym
    {
        type            symmetryPlane;
    }
    upperSym
    {
        type            symmetryPlane;
    }
    back
    {
        type            empty;
    }
    front
    {
        type            empty;
    }
    paddle0
    {
        type            movingWallVelocity;
        value          uniform (0 0 0);
    }
    paddle1
    {
        type            movingWallVelocity;
        value          uniform (0 0 0);
    }
    paddle2
    {
        type            movingWallVelocity;
        value          uniform (0 0 0);
    }
}

*0/p
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      volScalarField;
    location    "0";
    object      p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 2 -2 0 0 0 0];

internalField  uniform 0;

boundaryField
{
    AMI_FS
    {
        type            cyclicAMI;
        value          uniform 0;
    }
    AMI_SF
    {
        type            cyclicAMI;
        value          uniform 0;
    }
    Inlet
    {
        type            zeroGradient;
    }
    Outlet
    {
        type            fixedValue;
        value          uniform 0;
    }
    lowerSym
    {
        type            symmetryPlane;
    }
    upperSym
    {
        type            symmetryPlane;
    }
    back
    {
        type            empty;
    }
    front
    {
        type            empty;
    }
    paddle0
    {
        type            zeroGradient;
    }
    paddle1
    {
        type            zeroGradient;
    }
    paddle2
    {
        type            zeroGradient;
    }
}

*system/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 fourth;
    //grad(nuTilda)        cellLimited leastSquares 1.0;
}

divSchemes
{
  default      none;
  div(phi,U)                Gauss linearUpwindV grad(U);
  div(phi,nuTilda)      Gauss linearUpwind default;

  div((nuEff*dev(T(grad(U)))))  Gauss linear;
}
laplacianSchemes
{
    default none;
    laplacian(rAU,p)        Gauss linear limited 0.5;
    laplacian(DnuTildaEff,nuTilda)  Gauss linear limited 0.5;
    laplacian(nuEff,U)        Gauss linear limited 0.5;
    //for pimple :
    laplacian(rAUf,p)        Gauss linear limited 0.5;
    laplacian((1|A(U)),p)  Gauss linear limited 0.5;
}

interpolationSchemes
{
    interpolate(U)            linear;
    interpolate(HbyA)        linear;
    interpolate(((1|deltaT)*rAU))  linear;
    //for pimple :
    interpolate(U_0)        linear;
    interpolate((1|A(U)))  linear;
    interpolate(((1|deltaT)*(1|A(U))))  linear;
}

snGradSchemes
{
    default                limited 0.5;
}

fluxRequired
{
  default                no;
  p ;
}

*system/fvSolution
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      fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

solvers
{
    pcorr
    {
        solver          GAMG;
        smoother        GaussSeidel;
        nPreSweeps      0;
        nPostSweeps    2;
        cacheAgglomeration off;
        agglomerator    faceAreaPair;
        nCellsInCoarsestLevel 10;
        mergeLevels      1;

        tolerance        1e-7;
        relTol          0;
        //tolerance        0;
        //relTol          0;
        //maxIter          1000;
    }

    p
    {
        solver          GAMG;
        smoother        GaussSeidel;
        nPreSweeps      0;
        nPostSweeps    2;
        cacheAgglomeration off;
        agglomerator    faceAreaPair;
        nCellsInCoarsestLevel 10;
        mergeLevels      1;

        tolerance        1e-7;
        relTol          0;
    }

    pFinal
    {
        solver          GAMG;
        smoother        GaussSeidel;
        nPreSweeps      0;
        nPostSweeps    2;
        cacheAgglomeration off;
        agglomerator    faceAreaPair;
        nCellsInCoarsestLevel 10;
        mergeLevels      1;
        tolerance        1e-8;
        relTol          0;
    }


    nuTilda
    {
        solver          smoothSolver;
        smoother        GaussSeidel;
        tolerance        1e-7;
        relTol          0;
    }
    nuTildaFinal
    {
        solver          smoothSolver;
        smoother        GaussSeidel;
        tolerance        1e-8;
        relTol          0;
    }
    U
    {
        solver          smoothSolver;
        smoother        GaussSeidel;
        tolerance        1e-7;
        relTol          0;
    }

    UFinal
    {
        solver          smoothSolver;
        smoother        GaussSeidel;
        tolerance        1e-8;
        relTol          0;
    }

}



relaxationFactors
{
  fields
  {
    p            0.4;
    pFinal        1;
  }
  equations
  {
    U            0.7;
    UFinal        1;
    nuTilda      0.5;
  }
}


PIMPLE
{
    correctPhi          yes;
    nOuterCorrectors    1;

    nCorrectors        3;
    nNonOrthogonalCorrectors 0;
    pRefCell            0;
    pRefValue          0;
}

PISO
{
    nCorrectors    2;
    nNonOrthogonalCorrectors 0;
    pRefCell        0;
    pRefValue      0;
}
SIMPLE
{
    nNonOrthogonalCorrectors 1;
    nCorrectors    2;
    pRefCell        0;
    pRefValue      0;

    residualControl
    {
        p              1e-5;
        U              1e-5;
        nuTilda        1e-5;
    }
}
potentialFlow
{
  nNonOrthogonalCorrectors 3;
}

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


fernexda April 17, 2015 12:14

Dear all,
I've found the answer to my question:
the velocity filed is given in absolute and not in relative value. So a velocity different from zero on the paddle is totally normal, since the paddle is moving. The fluid velocity on the paddle is equal to the paddle velocity. And the fluid has no relative velocity to the paddle. So everything is logical and in order !

Regards,
Daniel

abuabdellah.albatal September 5, 2015 19:27

you are good

but i have problem in verfication the results ...
all my results are different ...
i did the mesh in the ansys mesh
to fluent ..
can you tell me what is the variables in the meshing first and then in fluent for solving the case ?

thanks in advance ...

best wishes


All times are GMT -4. The time now is 05:36.