Challenge

Week 12 - Validation studies of Symmetry BC vs Wedge BC in OpenFOAM vs Analytical H.P equation

Objective : - To Validate reults of Symmetry BC vs Wedge BC in OpenFOAM vs Analytical H.P equation.

Angles to test

  • 10 deg
  • 25 deg
  • 45 deg

Solution :

Input parameter :-

Fluid = Water (Incompressible viscous fluid)

density(rho `rho`) = 1000kg/m3

kinematic viscosity(nu `nu`) = 1e-6 m2/sec

dynamic viscosity(mu `mu`) = 1e-3 N-s/m2

Reynold's no. = 2100 (laminar)

Pipe Geometry :-

Length = 2.3m

Diameter = 0.02m ; radius = 0.01m

Analytical calculations :

Hydrodynamic length(Lh) = 0.05 x Reynold's no. x Diameter = 2.1m

Average velocity = (kinematic viscosity x Reynold's no.)/Diameter

`baru =(nu * Re)/D` = `(1e-6*2100)/0.02` = 0.105 m/se`

Max. velocity = 2 x Average velocity = 0.21 m/sec

Umax = `2*baru = 0.21 m/sec`

Pressure drop = 19.32 N/m2

`P2 -P1 = (8*mu*baru*L)/R^2 = (8*1e^-3 * 0.105*2.3)/0.01^2 = 19.32`

Shear stress -

`tau = (delP)/(delx)*r/2`

In hydrodynamically fully developed region, the wall shear stress remains constant.Here Pressure drop & dx(length) are also to be in this region values.

Case 1 : Wedge BC

Matlab code to genrate blockMeshDict file at different wedge angles

clear all
close all
clc

%Inputs of Pipe all are in meters
theta = input('Wedge angle ='); %degress 
Dia = 0.02; % Diameter 
r =Dia/2; %Radii
L =2.3; %Length
re =2100; %reynold's no.
Lh =0.05*Dia*re; %Hydrodynamic length 
kin_viscosity = 1e-6; %Kineamtic viscosity 
velocity_avg = (re*kin_viscosity)/Dia; % Average velocity 
CFL = (velocity_avg*0.005)/50; %courant no.

%vertices coordinate points 
vz=r*sind(theta/2);
vy=r*cosd(theta/2);

%File writing 
f2=fopen('blockmesh.txt','w');
fprintf(f2,'%s\n','/*--------------------------------*- C++ -*----------------------------------*\') 
fprintf(f2,'%s\n','  =========                 |') 
fprintf(f2,'%s\n','  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox') 
fprintf(f2,'%s\n','   \\    /   O peration     | Website:  https://openfoam.org')
fprintf(f2,'%s\n','    \\  /    A nd           | Version:  8') 
fprintf(f2,'%s\n','     \\/     M anipulation  |') 
fprintf(f2,'%s\n','\*---------------------------------------------------------------------------*/') 
fprintf(f2,'%s\n','FoamFile') 
fprintf(f2,'%s\n','{') 
fprintf(f2,'%s\n','   version     2.0;') 
fprintf(f2,'%s\n','    format      ascii;') 
fprintf(f2,'%s\n','    class       dictionary;') 
fprintf(f2,'%s\n','    object      blockMeshDict;') 
fprintf(f2,'%s\n','}') 
fprintf(f2,'%s\n','// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //') 
fprintf(f2,'\n') 
fprintf(f2,'%s\n','convertToMeters 0.1;') 
fprintf(f2,'%s\n','') 
fprintf(f2,'%s\n','vertices') 
fprintf(f2,'%s\n','(') 
fprintf(f2,'%5s%g %g %g)\n','(',0 ,0 ,0)
fprintf(f2,'%5s%g %g %g) \n','(',0 ,vy ,-vz)
fprintf(f2,'%5s%g %g %g) \n','(',0, vy, vz) 
fprintf(f2,'%5s%g %g %g) \n','(',L, 0, 0) 
fprintf(f2,'%5s%g %g %g) \n','(',L, vy, -vz) 
fprintf(f2,'%5s%g %g %g) \n','(',L, vy, vz) 
fprintf(f2,'%s\n',');')
fprintf(f2,'\n')
fprintf(f2,'%s\n','blocks')
fprintf(f2,'%s\n','(') 
fprintf(f2,'%7s (%g %g %g %g %g %g %g %g) (%g %g %g) %s (%g %g %g)\n','hex', 0, 1, 2, 0, 3, 4, 5, 3, 50, 1, 200, 'simpleGrading', 1, 1, 1) 
fprintf(f2,'%s\n',');')
fprintf(f2,'\n')
fprintf(f2,'%s\n','edges') 
fprintf(f2,'%s\n','(')
fprintf(f2,'%7s %g %g (%g %g %g)\n','arc', 1, 2, 0, r, 0)
fprintf(f2,'%7s %g %g (%g %g %g)\n','arc', 4, 5, L, r, 0)
fprintf(f2,'%s\n',');')
fprintf(f2,'\n')
fprintf(f2,'%s\n','boundary')
fprintf(f2,'%s\n','(')
fprintf(f2,'%9s \n','Inlet')
fprintf(f2,'%5s\n','{')
fprintf(f2,'%19s\n','type patch;')
fprintf(f2,'%13s\n','faces')
fprintf(f2,'%9s\n','(')
fprintf(f2,'%13s%g %g %g %g) \n','(', 0, 1, 2, 0)
fprintf(f2,'%10s\n',');')
fprintf(f2,'%5s\n','}')
fprintf(f2,'%10s\n','Outlet')
fprintf(f2,'%5s\n','{')
fprintf(f2,'%19s\n','type patch;')
fprintf(f2,'%13s\n','faces')
fprintf(f2,'%9s\n','(')
fprintf(f2,'%13s%g %g %g %g) \n','(', 3, 5, 4, 3)
fprintf(f2,'%10s\n',');')
fprintf(f2,'%5s\n','}')
fprintf(f2,'%9s\n','front')
fprintf(f2,'%5s\n','{')
fprintf(f2,'%19s\n','type wedge;')
fprintf(f2,'%13s\n','faces')
fprintf(f2,'%9s\n','(')
fprintf(f2,'%13s%g %g %g %g) \n','(', 0, 3, 4, 1)
fprintf(f2,'%10s\n',');')
fprintf(f2,'%5s\n','}')
fprintf(f2,'%8s\n','Back')
fprintf(f2,'%5s\n','{')
fprintf(f2,'%19s\n','type wedge;')
fprintf(f2,'%13s\n','faces')
fprintf(f2,'%9s\n','(')
fprintf(f2,'%13s%g %g %g %g) \n','(', 0, 2, 5, 3)
fprintf(f2,'%10s\n',');')
fprintf(f2,'%5s\n','}')
fprintf(f2,'%16s\n','Topcurvature')
fprintf(f2,'%5s\n','{')
fprintf(f2,'%18s\n','type wall;')
fprintf(f2,'%13s\n','faces')
fprintf(f2,'%9s\n','(')
fprintf(f2,'%13s%g %g %g %g) \n','(', 1, 4, 5, 2)
fprintf(f2,'%10s\n',');')
fprintf(f2,'%5s\n','}')
fprintf(f2,'%12s\n','axisline')
fprintf(f2,'%5s\n','{')
fprintf(f2,'%19s\n','type empty;')
fprintf(f2,'%13s\n','faces')
fprintf(f2,'%9s\n','(')
fprintf(f2,'%13s%g %g %g %g) \n','(', 0, 3, 3, 0)
fprintf(f2,'%10s\n',');')
fprintf(f2,'%5s\n','}')
fprintf(f2,'%s\n',');')
fprintf(f2,'\n')
fprintf(f2,'%s\n','mergePatchPairs')
fprintf(f2,'%s\n','(') 
fprintf(f2,'%s\n',');')
fprintf(f2,'\n')
fprintf(f2,'%s\n','// ************************************************************************* //')


fclose(f2);

  

1) Wedge angle = 25 deg

blockMeshDict file (Output)

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

convertToMeters 1;

vertices
(
    (0 0 0)
    (0 0.00996195 -0.000871557) 
    (0 0.00996195 0.000871557) 
    (2.3 0 0) 
    (2.3 0.00996195 -0.000871557) 
    (2.3 0.00996195 0.000871557) 
);

blocks
(
    hex (0 1 2 0 3 4 5 3) (50 1 200) simpleGrading (1 1 1)
);

edges
(
    arc 1 2 (0 0.01 0)
    arc 4 5 (2.3 0.01 0)
);

boundary
(
    Inlet 
    {
        type patch;
        faces
        (
            (0 1 2 0) 
        );
    }
    Outlet
    {
        type patch;
        faces
        (
            (3 5 4 3) 
        );
    }
    front
    {
        type wedge;
        faces
        (
            (0 3 4 1) 
        );
    }
    Back
    {
        type wedge;
        faces
        (
            (0 2 5 3) 
        );
    }    
    Topcurvature
    {
        type wall;
        faces
        (
            (1 4 5 2) 
        );
    }
    axisline
    {
        type empty;
        faces
        (
            (0 3 3 0) 
        );
    }
);

mergePatchPairs
(
);

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

Intial condition (t=0) :

Pressure -

/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  8
     \\/     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;
    }

    front
    {
        type            wedge;
    }
    Back
    {
        type            wedge;
    }    
    Topcurvature 
    {
        type            zeroGradient;
    }      
    axisline
    {
        type            empty;
    }    
}

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

Velocity -

/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  8
     \\/     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 (0.105 0 0);
    }

    Outlet
    {
        type            zeroGradient;
    }

    front
    {
        type            wedge;
    }
    Back
    {
        type            wedge;
    }     
    Topcurvature 
    {
        type            noSlip;        
    }      
    axisline
    {
        type            empty;        
    }     
}

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

(controlDict & transportprorperties file are same as reported in part1 of challenge)

Wedge Grid view -

Final Velocity distribution at the Inlet of pipe -

Final Velocity distribution at the Outlet of pipe -

Pressure distribution throughout the pipe -

2) Wedge angle = 25 deg

blockMeshDict file (Output)

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

convertToMeters 1;

vertices
(
    (0 0 0)
    (0 0.00976296 -0.0021644) 
    (0 0.00976296 0.0021644) 
    (2.3 0 0) 
    (2.3 0.00976296 -0.0021644) 
    (2.3 0.00976296 0.0021644) 
);

blocks
(
    hex (0 1 2 0 3 4 5 3) (50 1 200) simpleGrading (1 1 1)
);

edges
(
    arc 1 2 (0 0.01 0)
    arc 4 5 (2.3 0.01 0)
);

boundary
(
    Inlet 
    {
        type patch;
        faces
        (
            (0 1 2 0) 
        );
    }
    Outlet
    {
        type patch;
        faces
        (
            (3 5 4 3) 
        );
    }
    front
    {
        type wedge;
        faces
        (
            (0 3 4 1) 
        );
    }
    Back
    {
        type wedge;
        faces
        (
            (0 2 5 3) 
        );
    }    
    Topcurvature
    {
        type wall;
        faces
        (
            (1 4 5 2) 
        );
    }
    axisline
    {
        type empty;
        faces
        (
            (0 3 3 0) 
        );
    }
);

mergePatchPairs
(
);

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

25 deg. Wedge Grid view -

Velocity Distribution -

Pressure distribution -

3) Wedge angle = 45 deg

blockMeshDict file (Output)

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

convertToMeters 1;

vertices
(
    (0 0 0)
    (0 0.0092388 -0.00382683) 
    (0 0.0092388 0.00382683) 
    (2.3 0 0) 
    (2.3 0.0092388 -0.00382683) 
    (2.3 0.0092388 0.00382683) 
);

blocks
(
    hex (0 1 2 0 3 4 5 3) (50 1 200) simpleGrading (1 1 1)
);

edges
(
    arc 1 2 (0 0.01 0)
    arc 4 5 (2.3 0.01 0)
);

boundary
(
    Inlet 
    {
        type patch;
        faces
        (
            (0 1 2 0) 
        );
    }
    Outlet
    {
        type patch;
        faces
        (
            (3 5 4 3) 
        );
    }
    front
    {
        type wedge;
        faces
        (
            (0 3 4 1) 
        );
    }
    Back
    {
        type wedge;
        faces
        (
            (0 2 5 3) 
        );
    }    
    Topcurvature
    {
        type wall;
        faces
        (
            (1 4 5 2) 
        );
    }
    axisline
    {
        type empty;
        faces
        (
            (0 3 3 0) 
        );
    }
);

mergePatchPairs
(
);

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

45deg. Wedge Grid view -

Velocity Distribution -

Pressure distribution -

Case 2 : Symmetry BC

Matlab code to genrate blockMeshDict file at different wedge angles

clear all
close all
clc

%Inputs of Pipe all are in meters
theta = input('Wedge angle ='); %degress 
Dia = 0.02; % Diameter 
r =Dia/2; %Radii
L =2.3; %Length
re =2100; %reynold's no.
Lh =0.05*Dia*re; %Hydrodynamic length 
kin_viscosity = 1e-6; %Kineamtic viscosity 
velocity_avg = (re*kin_viscosity)/Dia; % Average velocity 
CFL = (velocity_avg*0.005)/50; %courant no.

%vertices coordinate points 
vz=r*sind(theta/2);
vy=r*cosd(theta/2);

%File writing 
f2=fopen('blockmesh.txt','w');
fprintf(f2,'%s\n','/*--------------------------------*- C++ -*----------------------------------*\') 
fprintf(f2,'%s\n','  =========                 |') 
fprintf(f2,'%s\n','  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox') 
fprintf(f2,'%s\n','   \\    /   O peration     | Website:  https://openfoam.org')
fprintf(f2,'%s\n','    \\  /    A nd           | Version:  8') 
fprintf(f2,'%s\n','     \\/     M anipulation  |') 
fprintf(f2,'%s\n','\*---------------------------------------------------------------------------*/') 
fprintf(f2,'%s\n','FoamFile') 
fprintf(f2,'%s\n','{') 
fprintf(f2,'%s\n','   version     2.0;') 
fprintf(f2,'%s\n','    format      ascii;') 
fprintf(f2,'%s\n','    class       dictionary;') 
fprintf(f2,'%s\n','    object      blockMeshDict;') 
fprintf(f2,'%s\n','}') 
fprintf(f2,'%s\n','// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //') 
fprintf(f2,'\n') 
fprintf(f2,'%s\n','convertToMeters 0.1;') 
fprintf(f2,'%s\n','') 
fprintf(f2,'%s\n','vertices') 
fprintf(f2,'%s\n','(') 
fprintf(f2,'%5s%g %g %g)\n','(',0 ,0 ,0)
fprintf(f2,'%5s%g %g %g) \n','(',0 ,vy ,-vz)
fprintf(f2,'%5s%g %g %g) \n','(',0, vy, vz) 
fprintf(f2,'%5s%g %g %g) \n','(',L, 0, 0) 
fprintf(f2,'%5s%g %g %g) \n','(',L, vy, -vz) 
fprintf(f2,'%5s%g %g %g) \n','(',L, vy, vz) 
fprintf(f2,'%s\n',');')
fprintf(f2,'\n')
fprintf(f2,'%s\n','blocks')
fprintf(f2,'%s\n','(') 
fprintf(f2,'%7s (%g %g %g %g %g %g %g %g) (%g %g %g) %s (%g %g %g)\n','hex', 0, 1, 2, 0, 3, 4, 5, 3, 50, 1, 200, 'simpleGrading', 1, 1, 1) 
fprintf(f2,'%s\n',');')
fprintf(f2,'\n')
fprintf(f2,'%s\n','edges') 
fprintf(f2,'%s\n','(')
fprintf(f2,'%7s %g %g (%g %g %g)\n','arc', 1, 2, 0, r, 0)
fprintf(f2,'%7s %g %g (%g %g %g)\n','arc', 4, 5, L, r, 0)
fprintf(f2,'%s\n',');')
fprintf(f2,'\n')
fprintf(f2,'%s\n','boundary')
fprintf(f2,'%s\n','(')
fprintf(f2,'%9s \n','Inlet')
fprintf(f2,'%5s\n','{')
fprintf(f2,'%19s\n','type patch;')
fprintf(f2,'%13s\n','faces')
fprintf(f2,'%9s\n','(')
fprintf(f2,'%13s%g %g %g %g) \n','(', 0, 1, 2, 0)
fprintf(f2,'%10s\n',');')
fprintf(f2,'%5s\n','}')
fprintf(f2,'%10s\n','Outlet')
fprintf(f2,'%5s\n','{')
fprintf(f2,'%19s\n','type patch;')
fprintf(f2,'%13s\n','faces')
fprintf(f2,'%9s\n','(')
fprintf(f2,'%13s%g %g %g %g) \n','(', 3, 5, 4, 3)
fprintf(f2,'%10s\n',');')
fprintf(f2,'%5s\n','}')
fprintf(f2,'%9s\n','front')
fprintf(f2,'%5s\n','{')
fprintf(f2,'%19s\n','type symmetry;')
fprintf(f2,'%13s\n','faces')
fprintf(f2,'%9s\n','(')
fprintf(f2,'%13s%g %g %g %g) \n','(', 0, 3, 4, 1)
fprintf(f2,'%10s\n',');')
fprintf(f2,'%5s\n','}')
fprintf(f2,'%8s\n','Back')
fprintf(f2,'%5s\n','{')
fprintf(f2,'%19s\n','type symmetry;')
fprintf(f2,'%13s\n','faces')
fprintf(f2,'%9s\n','(')
fprintf(f2,'%13s%g %g %g %g) \n','(', 0, 2, 5, 3)
fprintf(f2,'%10s\n',');')
fprintf(f2,'%5s\n','}')
fprintf(f2,'%16s\n','Topcurvature')
fprintf(f2,'%5s\n','{')
fprintf(f2,'%18s\n','type wall;')
fprintf(f2,'%13s\n','faces')
fprintf(f2,'%9s\n','(')
fprintf(f2,'%13s%g %g %g %g) \n','(', 1, 4, 5, 2)
fprintf(f2,'%10s\n',');')
fprintf(f2,'%5s\n','}')
fprintf(f2,'%12s\n','axisline')
fprintf(f2,'%5s\n','{')
fprintf(f2,'%19s\n','type empty;')
fprintf(f2,'%13s\n','faces')
fprintf(f2,'%9s\n','(')
fprintf(f2,'%13s%g %g %g %g) \n','(', 0, 3, 3, 0)
fprintf(f2,'%10s\n',');')
fprintf(f2,'%5s\n','}')
fprintf(f2,'%s\n',');')
fprintf(f2,'\n')
fprintf(f2,'%s\n','mergePatchPairs')
fprintf(f2,'%s\n','(') 
fprintf(f2,'%s\n',');')
fprintf(f2,'\n')
fprintf(f2,'%s\n','// ************************************************************************* //')


fclose(f2);

  

1) Wedge angle = 10 deg

blockMeshDict file (Output)

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

convertToMeters 1;

vertices
(
    (0 0 0)
    (0 0.00996195 -0.000871557) 
    (0 0.00996195 0.000871557) 
    (2.3 0 0) 
    (2.3 0.00996195 -0.000871557) 
    (2.3 0.00996195 0.000871557) 
);

blocks
(
    hex (0 1 2 0 3 4 5 3) (50 1 200) simpleGrading (1 1 1)
);

edges
(
    arc 1 2 (0 0.01 0)
    arc 4 5 (2.3 0.01 0)
);

boundary
(
    Inlet 
    {
        type patch;
        faces
        (
            (0 1 2 0) 
        );
    }
    Outlet
    {
        type patch;
        faces
        (
            (3 5 4 3) 
        );
    }
    front
    {
        type symmetry;
        faces
        (
            (0 3 4 1) 
        );
    }
    Back
    {
        type symmetry;
        faces
        (
            (0 2 5 3) 
        );
    }    
    Topcurvature
    {
        type wall;
        faces
        (
            (1 4 5 2) 
        );
    }
    axisline
    {
        type empty;
        faces
        (
            (0 3 3 0) 
        );
    }
);

mergePatchPairs
(
);

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

Intial condition (t=0) :

Pressure -

/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  8
     \\/     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;
    }

    front
    {
        type            symmetry;
    }
    Back
    {
        type            symmetry;
    }    
    Topcurvature 
    {
        type            zeroGradient;
    }      
    axisline
    {
        type            empty;
    }    
}

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

Velocity -

/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  8
     \\/     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 (0.105 0 0);
    }

    Outlet
    {
        type            zeroGradient;
    }

    front
    {
        type            symmetry;
    }
    Back
    {
        type            symmetry;
    }     
    Topcurvature 
    {
        type            noSlip;        
    }      
    axisline
    {
        type            empty;        
    }     
}

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

10deg. Wedge Grid view -

Velocity Distribution -

Pressure distribution -

2) Wedge angle = 25 deg

25deg. Wedge Grid view -

Velocity Distribution -

Pressure distribution -

3) Wedge angle = 45 deg

45deg. Wedge Grid view -

Velocity Distribution -

Pressure distribution -

Steady state results for both Symmetry and wedge boundary conditions & analysis of Fully developed flow region with Hagen- Poiseuille's equations :

Using 'Plot over line' feature points data are ploted at Fully developed flow region L=2.2m, below are velocity & shear stress plots along radial & longitudinal direction and pressure drop (length 2.1m to 2.3m) in Hydrodynamically fully developed region.

Velocity distribution for wedge angle =10deg

Pressure distribution for wedge angle =10deg

Shear stress distribution for wedge angle =10deg

Velocity distribution for wedge angle = 25deg

Pressure distribution for wedge angle =25deg

Shear stress distribution for wedge angle =25deg

Velocity distribution for wedge angle =45deg

Pressure distribution for wedge angle =45deg

Shear stress distribution for wedge angle =45deg

Observations :

  • Velocity profile curve is more parabolic at 10deg compared to 45 deg Wedge angle, where it is approaching towards linear and Max. velocity is almost remained same.
  • Pressure drop gardient in fully developed region for all angle is constant & Diff. value increased with increase in Wedge angle.
  • Shear stress plots we can see that near wall it is significantly visible when wedge angle is 10deg. & curve line moves away from wall at 25deg & more in 45deg.

Validation of maximum velocity,Shear stress and pressured drop for fully developed flow

Numerical Analytical
Wedge angle 10 25 45
Flow variables Wedge Symmetry Wedge Symmetry Wedge Symmetry
Max. velocity(U) m/sec 0.202 0.2 0.202 0.198 0.205 0.205 0.21

Pressure drop (Pk)

N-m/kg

0.00175 0.00175 0.00181 0.00181 0.00201 0.00201 0.0017
Shear stress (tou) N/m2 0.0425 0.0425 0.0425 0.0425 0.045 0.045 0.438

It is clear from the above numerical values that at 10deg. wedge angle values are much closer at exact/analytical solution.

Differences b/w Wedge & Symmetry Boundary conditions :

  • Both these basic type BC's will create geometric constraints for axis-symmetry problems, where wedge is considered at front & back and whereas in symmetry as a symmetry planes.
  • Simulation time took for symmetry BC was higher than wedge BC.
  • Wedge BC calculates in 2D but symmetry in 3D.
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.