Project

BlockMesh Analysis of a Backward Facing Step

Introduction:

In this challenge, the flow through the backward-facing step has been simulated using icoFOAM solver which is performed in OpenFOAM software. As a result of the simulation, velocity, pressure profiles for different mesh grading factor can be achieved. The dimension of a given backward-facing step is below,

Nature of flow: Incompressible flow

Block Mesh specification:

Number of blocks = 5

Arrangement of blocks:

Mesh specification:

  • Number of cells along the x-direction (longer dimension) = 200
  • Number of cells along the y-direction = 10

OpenFOAM code for creating given geometry using Block Mesh:

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

convertToMeters 1;

vertices
(
    (0 0 0)              //0
    (0.08 0 0)           //1
    (0.08 0.005 0)       //2
    (0 0.005 0)          //3
    (0.08 0.01 0)        //4
    (0 0.01 0)           //5
    (0.2 0.01 0)         //6
    (0.2 0.005 0)        //7
    (0.2 0 0)            //8
    (0.2 -0.01 0)        //9
    (0.08 -0.01 0)       //10
    (0 0 0.001)          //11
    (0.08 0 0.001)       //12
    (0.08 0.005 0.001)   //13
    (0 0.005 0.001)      //14
    (0.08 0.01 0.001)    //15
    (0 0.01 0.001)       //16
    (0.2 0.01 0.001)     //17
    (0.2 0.005 0.001)    //18 
    (0.2 0 0.001)        //19 
    (0.2 -0.01 0.001)    //20
    (0.08 -0.01 0.001)   //21
);

blocks
(
    hex (0 1 2 3 11 12 13 14) (80 5 1) simpleGrading (0.2 5 1)
    hex (3 2 4 5 14 13 15 16) (80 5 1) simpleGrading (0.2 0.2 1)
    hex (2 7 6 4 13 18 17 15) (120 5 1) simpleGrading (5 0.2 1)
    hex (1 8 7 2 12 19 18 13) (120 5 1) simpleGrading (5 5 1)
    hex (10 9 8 1 21 20 19 12) (120 10 1) simpleGrading (5 5 1)
);

edges
(
);

boundary
(
    inlet
    {
        type patch;
        faces
        (
            (0 11 14 3)
            (3 14 16 5)
        );
    }
    outlet
    {
        type patch;
        faces
        (
            (7 6 17 18)
            (8 7 18 19)
            (9 8 19 20)
        );
    }
    upperwalls
    {
        type wall;
        faces
        (
            (5 16 15 4)
            (4 15 17 6)
        );
    }
    lowerwalls
    {
        type wall;
        faces
        (
            (0 1 12 11)
            (10 9 20 21)
            (10 21 12 1)
        );
    }
    frontAndBack
    {
        type empty;
        faces
        (
            (3 2 1 0)
            (5 4 2 3)
            (4 6 7 2)
            (2 7 8 1)
            (1 8 9 10)
            (11 12 13 14)
            (14 13 15 16)
            (13 18 17 15)
            (12 19 18 13)
            (21 20 19 12)
        );
    }
);


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

In the above code, the inlet, outlet, lowerwalls, upperwalls, FronAndBack are user-defined faces for creating the boundary condition.

Boundary condition:

Velocity for user-defined faces,

/*--------------------------------*- C++ -*----------------------------------*\\
  =========                 |
  \\\\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\\\    /   O peration     | Website:  https://openfoam.org
    \\\\  /    A nd           | Version:  6
     \\\\/     M anipulation  |
\\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       volVectorField;
    object      U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

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

internalField   uniform (0 0 0);

boundaryField
{
    inlet
    {
        type            fixedValue;
        value           uniform (1 0 0);
    }
    outlet
    {
        type            zeroGradient;
    }

    upperwalls
    {
        type            noSlip;
    }

    lowerwalls
    {
        type            noSlip;
    }
    frontAndBack
    {
        type            empty;
    }
}

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

Pressure for user-defined faces,

/*--------------------------------*- C++ -*----------------------------------*\\
  =========                 |
  \\\\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\\\    /   O peration     | Website:  https://openfoam.org
    \\\\  /    A nd           | Version:  6
     \\\\/     M anipulation  |
\\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       volScalarField;
    object      p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

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

internalField   uniform 0;

boundaryField
{
    inlet
    {
        type            zeroGradient;
    }
    outlet
    {
        type            fixedValue;
        value           uniform 0;
    }

    upperwalls
    {
        type            zeroGradient;
    }

    lowerwalls
    {
        type            zeroGradient;
    }
    frontAndBack
    {
        type            empty;
    }
}

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

Kinematic viscosity of working fluid(Air) = 1.48e-5 `m^2/s`

/*--------------------------------*- C++ -*----------------------------------*\\
  =========                 |
  \\\\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\\\    /   O peration     | Website:  https://openfoam.org
    \\\\  /    A nd           | Version:  6
     \\\\/     M anipulation  |
\\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    \"constant\";
    object      transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

nu              [0 2 -1 0 0 0 0] 1.48e-5;


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

Time step definition:

Run time t=50 s

Time step size dt= 0.0005 s

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

application     icoFoam;

startFrom       startTime;

startTime       0;

stopAt          endTime;

endTime         0.5;

deltaT          0.0005;

writeControl    timeStep;

writeInterval   20;

purgeWrite      0;

writeFormat     ascii;

writePrecision  6;

writeCompression off;

timeFormat      general;

timePrecision   6;

runTimeModifiable true;


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

Mesh grading factor(MGF):

It is used to stretch the mesh in a particular axis. For our challenge, the mesh grading factors of 0.2, 0.5 and 0.8 has to be done.

OpenFOAM code for creating the mesh with MGF=0.2

blocks
(
    hex (0 1 2 3 11 12 13 14) (80 5 1) simpleGrading (0.2 5 1)
    hex (3 2 4 5 14 13 15 16) (80 5 1) simpleGrading (0.2 0.2 1)
    hex (2 7 6 4 13 18 17 15) (120 5 1) simpleGrading (5 0.2 1)
    hex (1 8 7 2 12 19 18 13) (120 5 1) simpleGrading (5 5 1)
    hex (10 9 8 1 21 20 19 12) (120 10 1) simpleGrading (5 5 1)
);

The geometry after meshing,

OpenFOAM code for creating the mesh with MGF=0.5

blocks
(
    hex (0 1 2 3 11 12 13 14) (80 5 1) simpleGrading (0.5 2 1)
    hex (3 2 4 5 14 13 15 16) (80 5 1) simpleGrading (0.5 0.5 1)
    hex (2 7 6 4 13 18 17 15) (120 5 1) simpleGrading (2 0.5 1)
    hex (1 8 7 2 12 19 18 13) (120 5 1) simpleGrading (2 2 1)
    hex (10 9 8 1 21 20 19 12) (120 10 1) simpleGrading (2 2 1)
);

The geometry after meshing,

OpenFOAM code for creating the mesh with MGF=0.5

blocks
(
    hex (0 1 2 3 11 12 13 14) (80 5 1) simpleGrading (0.8 1.25 1)
    hex (3 2 4 5 14 13 15 16) (80 5 1) simpleGrading (0.8 0.8 1)
    hex (2 7 6 4 13 18 17 15) (120 5 1) simpleGrading (1.25 0.8 1)
    hex (1 8 7 2 12 19 18 13) (120 5 1) simpleGrading (1.25 1.25 1)
    hex (10 9 8 1 21 20 19 12) (120 10 1) simpleGrading (1.25 1.25 1)
);

The geometry after meshing,

Results:

1) Velocity profile for Mesh grading factor = 0.2

2)Velocity profile for Mesh grading factor = 0.5

3)Velocity profile for Mesh grading factor = 0.8

4)The animation of flow through the backward-facing step( Mesh grading factor= 0.2)

5)The animation of flow through the backward-facing step( Mesh grading factor= 0.5)

6)The animation of flow through the backward-facing step( Mesh grading factor= 0.8)

Conclusions:

1) By using Mesh grading factor, Flow quantities can be calculated at the desired location. In our simulation, the flow quantities are calculated in more number of grids near to all walls.

2) From the above graphs, it was noted that the velocity profile gets smoother near to the walls. the 0.2 mesh graded velocity profile smoother than other values of mesh grading factor in the region of walls.

3) But the 0.2 mesh graded velocity profile has some sharp edges in the region of other than walls. Because of the coarse mesh structure. in this region, 0.5 and 0.8 graded mesh have smooth curves.

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.