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

simpleFoam fan calculation

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   January 2, 2021, 13:04
Default simpleFoam fan calculation
  #1
Member
 
Join Date: Feb 2020
Posts: 79
Rep Power: 6
Fouch is on a distinguished road
Hi,


I am trying to calculate a fan that I already know the performance. To do that, I use simpleFoam in Openfoam 2006. The computation seems to converge but the results diverge from the expected performance ???


controlDict

Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "system";
    object      controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

saveIter 50;

application     simpleFoam;

startFrom       startTime;
//startFrom     latestTime;
startTime       0;
stopAt          endTime;
endTime         500;
deltaT          1;
writeControl    timeStep;
writeInterval   $saveIter;
purgeWrite      0;
writeFormat     ascii;
writePrecision  7;
writeCompression off;
timeFormat      general;
timePrecision   6;
runTimeModifiable true;

functions
{
    
    forcesBlades
{
    type          forces;

    libs          (forces);

    log           yes;

    patches       (fan);
    rho           rhoInf;     // Indicates incompressible
    log           true;
    rhoInf        0.607;          // Redundant for incompressible

    CofR          (0 0 0);    // Rotation around centre line of propeller
    pitchAxis     (1 0 0);
}


    yPlusPump
    {
        type            yPlus;
        libs ("libfieldFunctionObjects.so");
        writeControl   timeStep;
        writeInterval  $saveIter;
        patches         ("fan wallinlet body");

     }
}
// ************************************************************************* //

fvSolution
Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

SIMPLE
{
    // Non-orthogonal correctors for robustness on tet meshes. Porous baffles require a
    // higher number of corrections.
    nNonOrthogonalCorrectors 5;
    consistent no;  // Setting this impairs stability of porous baffles

    residualControl
    {
        p 0.0001;
        U 0.0001;
        "(k|epsilon|omega|f|v2|nuTilda)" 0.0001;
    }
    pRefValue   0;
    pRefCell    0;
}

potentialFlow
{
    nNonOrthogonalCorrectors 8;

    PhiRefValue 0;
    PhiRefCell 0;
}

solvers
{
    "(p|p_rgh|pcorr)"
    {
        solver           GAMG;
        tolerance        1e-8;
        relTol           0.01;
        smoother         symGaussSeidel;
        nPreSweeps       0;
        nPostSweeps      2;
        cacheAgglomeration on;
        agglomerator     faceAreaPair;
        nCellsInCoarsestLevel 10;
        mergeLevels      1;
        maxIter          20;
    }

    "(pFinal|p_rghFinal|pcorrFinal)"
    {
        $p;
        relTol          0;
    }

    U
    {
        solver           smoothSolver;
        smoother         symGaussSeidel;
        tolerance        1e-8;
        relTol           0.1;
        nSweeps          1;
    }

    UFinal
    {
        $U;
        relTol           0;
    }

    "(k|omega|nuTilda)"
    {
        solver           smoothSolver;
        smoother         GaussSeidel;
        tolerance        1e-8;
        relTol           0.1;
        nSweeps          1;
        minIter          1;
    }

    "(k|omega|nuTilda)Final"
    {
        $k;
        relTol          0;
    }

    Phi
    {
        solver           GAMG;
        tolerance        1e-7;
        relTol           0.01;
        smoother         GaussSeidel;
        nPreSweeps       0;
        nPostSweeps      2;
        cacheAgglomeration on;
        agglomerator     faceAreaPair;
        nCellsInCoarsestLevel 10;
        mergeLevels      1;
    }
}

relaxationFactors
{
    // Conservative settings to solve reliably on bad
    // meshes
    equations
    {
        U               0.6;
        k               0.5;
        omega           0.5;
    }
    fields
    {
        p               0.3;
    }
}

cache
{
    grad(U);
}

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

fvScheme
Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //



ddtSchemes
{
    default         steadyState;
}

divSchemes
{
    default         none;
    // Use second-order accurate convection
    // Bounded schemes for steady-state solution
    div(phi,U)      bounded Gauss linearUpwindV grad(U);
    div((nuEff*dev2(T(grad(U))))) Gauss linear;
    div(div(phi,U)) Gauss linear;
    div(phi,k)      bounded Gauss upwind;
    div(phi,omega)  bounded Gauss upwind;
}

gradSchemes
{
    // Limit gradient to improve stability when bad cells encountered
    // (0 = no limiting; 1 = do not exceed surrounding cells)
    default         cellLimited Gauss linear 0.95;
    grad(p)         Gauss linear;
    grad(p_rgh)     Gauss linear;
    grad(k)         cellLimited Gauss linear 0.9;
    grad(omega)     cellLimited Gauss linear 0.9;
}

laplacianSchemes
{
    // Limited explicit correction to the surface normal gradient,
    // for stability in highly non-orthogonal cells.
    // (0 = uncorrected, fully implicit; 1 = full correction)
    default                     Gauss linear limited 0.3;
    laplacian(DomegaEff,omega)  Gauss linear limited 0.3
    laplacian(DkEff,k)          Gauss linear limited 0.3;
}

interpolationSchemes
{
    default         linear;
}

snGradSchemes
{
    // Limited explicit correction to the surface normal gradient,
    // for stability in highly non-orthogonal cells.
    // (0 = uncorrected, fully implicit; 1 = full correction)
    default         limited 0.3;
}

wallDist
{
    method meshWave;
}


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

The pressure increase to much but the absorbed power decrease. That make no sense to me.


Thank you.


Best regards,
Attached Images
File Type: png convergence.png (30.4 KB, 6 views)
Fouch is offline   Reply With Quote

Old   January 2, 2021, 15:26
Default
  #2
Member
 
Join Date: Feb 2020
Posts: 79
Rep Power: 6
Fouch is on a distinguished road
I forgot to precise that the BC are mass flow rate at inlet and fixed static pressure at outlet.
k-SST omega for the turbulence.
Fouch 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
simpleFoam tutorial PitzDaily using Reynolds stress tensor (LRR RASModel) dlahaye OpenFOAM Running, Solving & CFD 24 August 4, 2023 14:29
SimpleFOAM results way off from measurements and analytical calculation Deagle OpenFOAM Running, Solving & CFD 1 December 14, 2016 03:07
Determining the calculation sequence of the regions in multe regions calculation peterhess OpenFOAM Running, Solving & CFD 4 March 9, 2016 03:07
simpleFoam parallel solver & Fluent polyhedral mesh Zlatko OpenFOAM Running, Solving & CFD 3 September 26, 2014 06:53
Fan efficiency Calculation sivakumar OpenFOAM Post-Processing 3 March 28, 2014 05:29


All times are GMT -4. The time now is 15:09.