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

Axial flow fan incorrect pressure rise

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   December 11, 2018, 03:43
Default Axial flow fan incorrect pressure rise
  #1
Senior Member
 
Zander Meiring
Join Date: Jul 2018
Posts: 123
Rep Power: 3
yambanshee is on a distinguished road
Good day!


I am trying to model an axial flow fan using simpleFoam and a frozen rotor based simulation. I am considering a 1/8th section of the 8 bladed fan and making use of MRF modelling.
I have tried 3 different domains, namely a pure annular one, an annular inlet with an expanded outlet (which I'll be describing further here) and an expanded inlet with a round bellmouth connected to the shroud and an expanded outlet. In all cases, I am neglecting tip clearance as my study is on the effects of different hub geometry.


I am still attempting validation, where experimental (as well as a older numerical study by someone else in ansys) state a static pressure rise of ~200 Pa at 16 m^3/s (or 2m^3/s * 8). Where static pressure rise is the difference between the static pressure at the outlet and total pressure at the inlet.

Mesh

The mesh is constructed in blockMesh (and did that take me long to build) and the checkmesh log is attached below (can't upload files, so attached in code blocks). The main outtakes as far as I can tell is skewness at ~1.47 and max non-orthog at ~54 deg. Here are some images of the mesh and domain:





Boundary Conditions
Names correlate with above image of domain. I am making use of the k-omega turb model
U
inlet flowRateInletVelocity -> 2;
outlet: zeroGradient
blade: noSlip
hub: noSlip
shroud: noSlip
inlet wall slip
expansion wall slip
expansion outlet: zeroGradient

p
inlet zeroGradient
outlet: fixed -> 0
blade: zeroGradient
hub: zeroGradient
shroud: zeroGradient
inlet wall zeroGradient
expansion wall zeroGradient
expansion outlet: fixed 0> 0

k
inlet turbulentIntensityKineticEnergyInlet -> 0.01 (1%)
outlet: inletOutlet -> intenalField
blade: fixedValue ->1E-12
hub: kqRWallFunction
shroud: kqRWallFunction
inlet wall zeroGradient
expansion wall zeroGradient
expansion outlet: inletOutlet -> intenalField

omega
inlet turbulentMixingLengthDissipationRateInlet -> 0.23 (half the anular height)
outlet: inletOutlet -> intenalField
blade: omegaWallFunction
hub: omegaWallFunction
shroud: omegaWallFunction
inlet wall zeroGradient
expansion wall zeroGradient
expansion outlet: fixed 0> 0

Rest of setup
MRF properties:
The entire domain is an MRFSource, with all patches except the blade and hub being set up as a nonRotatingPatch.
omega = 78.54 for 750 rpm

transport properties:
nu = 1.802e-05 for air at 15*density (ie dynamic viscosity)

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

ddtSchemes
{
    default         steadyState;
}

gradSchemes
{
    default         Gauss linear corrected 1;
}

divSchemes
{
    default                         none;
    div(phi,U)                      Gauss linearUpwind grad(U);
    div(phi,k)                      Gauss linear;
    div(phi,epsilon)                Gauss linear;
    div(phi,omega)                  Gauss limitedLinear 1;
    div(phi,R)                      Gauss linear;
    div(R)                          Gauss linear;
    div(phi,nuTilda)                Gauss linear;
    div((nuEff*dev2(T(grad(U)))))   Gauss linear;
}

laplacianSchemes
{
    default         Gauss linear corrected 1;
}

interpolationSchemes
{
    default         linear;
}

snGradSchemes
{
    default         corrected;
}

wallDist
{
    method meshWave;
}

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

solvers
{
    "(p|Phi)"
    {
        solver           GAMG;
        tolerance        1e-8;
        relTol           0.0001;
        smoother         DIC;
        nPreSweeps       1;
        nPostSweeps      2;
        cacheAgglomeration on;
        agglomerator     faceAreaPair;
        nCellsInCoarsestLevel 800;
        mergeLevels      1;
        maxIter      200;   
    }
    

    "(U|k|epsilon|omega)"
    {
        solver          smoothSolver;
        smoother        symGaussSeidel;
        tolerance       1e-10;
        relTol          0.0001;
    }

    "(U|k|epsilon|omega)Final"
    {
        $U;
        tolerance       1e-10;
        relTol          0;
    }
}

SIMPLE
{
    nNonOrthogonalCorrectors 1;
}

relaxationFactors
{
    fields
    {
        p               0.4; //0.2
    }
    equations
    {
        U               0.7;//0.4
        k               0.6;//0.4
        "(epsilon|omega)" 0.6;//0.4
    }
}

cache
{
    grad(U);
}

potentialFlow
{
    nNonOrthogonalCorrectors 3;
} 


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

checkMesh

Code:
/*---------------------------------------------------------------------------*\
 | =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  5.x                                   |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build  : 5.x-197d9d3bf20a
Exec   : checkMesh
Date   : Dec 11 2018
Time   : 10:13:44
Host   : "zander-ubuntu"
PID    : 5165
I/O    : uncollated
Case   : /home/zander/OpenFOAM/zander-5.0/run/2018-12/expansion-mid-thruBL
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 10)
allowSystemOperations : Allowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create polyMesh for time = 0

Time = 0

Mesh stats
    points:           1328871
    faces:            3894222
    internal faces:   3803058
    cells:            1282880
    faces per cell:   6
    boundary patches: 10
    point zones:      0
    face zones:       0
    cell zones:       1

Overall number of cells of each type:
    hexahedra:     1282880
    prisms:        0
    wedges:        0
    pyramids:      0
    tet wedges:    0
    tetrahedra:    0
    polyhedra:     0

Checking topology...
    Boundary definition OK.
    Cell to face addressing OK.
    Point usage OK.
    Upper triangular ordering OK.
    Face vertices OK.
    Number of regions: 1 (OK).

Checking patch topology for multiply connected surfaces...
    Patch               Faces    Points   Surface topology                  
    outlet              10800    10984    ok (non-closed singly connected)  
    inlet               8300     8459     ok (non-closed singly connected)  
    side1               14974    15346    ok (non-closed singly connected)  
    side2               14918    15288    ok (non-closed singly connected)  
    shroud              6960     7174     ok (non-closed singly connected)  
    bellMouth           4000     4141     ok (non-closed singly connected)  
    hub                 17960    18234    ok (non-closed singly connected)  
    blade               3752     3886     ok (non-closed singly connected)  
    expansionOutlet     7000     7171     ok (non-closed singly connected)  
    expansionWall       2500     2626     ok (non-closed singly connected)  

Checking geometry...
    Overall domain bounding box (-0.765367 -4.11 0) (0.765367 2.1 2)
    Mesh has 3 geometric (non-empty/wedge) directions (1 1 1)
    Mesh has 3 solution (non-empty) directions (1 1 1)
    Boundary openness (-4.67917e-15 -1.81618e-16 -2.51773e-15) OK.
    Max cell openness = 1.3381e-15 OK.
    Max aspect ratio = 376.17 OK.
    Minimum face area = 5.68714e-09. Maximum face area = 0.0426733.  Face area magnitudes OK.
    Min volume = 5.65573e-12. Max volume = 0.000866993.  Total volume = 6.78618.  Cell volumes OK.
    Mesh non-orthogonality Max: 54.3416 average: 15.4495
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 1.46607 OK.
    Coupled point location match (average 0) OK.

Mesh OK.

End
y+ values:

Code:
    patch shroud y+ : min = 0.253191, max = 101.353, average = 35.5284
    patch inletWall y+ : min = 0.162738, max = 49.7783, average = 27.6695
    patch hub y+ : min = 0.025898, max = 66.0722, average = 33.0663
    patch blade y+ : min = 0.00177306, max = 4.72209, average = 0.798809
    patch expansionWall y+ : min = 0.243394, max = 48.2709, average = 9.18704
I'm using the patchAverage utility to find pressure at the inlet, and I'm getting -146 Pa, implying a static to static pressure rise of 146. The inlet velocity is 8.64 m/s, so the static pressure rise is only 109 Pa, which is out by a factor of nearly 2. I can't tell what could be incorrect with my setup?

I get similar results with a pure annular as well as expansion inlet & outlet with bellmouth. Is there something wrong with my setup? is my mesh bad? am I neglecting something big? any help would be greatly appreciated!

Last edited by yambanshee; December 11, 2018 at 03:50. Reason: Images and formatting issues & forgot y+ values
yambanshee is offline   Reply With Quote

Old   January 15, 2019, 03:11
Default
  #2
Senior Member
 
Zander Meiring
Join Date: Jul 2018
Posts: 123
Rep Power: 3
yambanshee is on a distinguished road
anyone able to lend a hand?
yambanshee is offline   Reply With Quote

Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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
pisoFOAM (LES) - internal pipe flow - convergence gu1 OpenFOAM Running, Solving & CFD 0 January 11, 2018 16:39
Axial fan compressor - Mass flow not matching miguel_mazzu CFX 3 December 3, 2017 18:33
BC for Actuator Disk - Flow Vel from High Pressure to Low Pressure vinguva OpenFOAM Running, Solving & CFD 2 March 7, 2016 23:46
Simulation of Axial Fan Flow using A Momentum Source Subdomain Liam CFX 28 July 16, 2013 08:24
Please Help ! Pressure Jump of Fan?? Boris FLUENT 0 January 28, 2003 20:26


All times are GMT -4. The time now is 00:50.