Menu

Executive Programs

Workshops

Projects

Blogs

Careers

Placements

Student Reviews


For Business


More

Academic Training

Informative Articles

Find Jobs

We are Hiring!


All Courses

Choose a category

Loading...

All Courses

All Courses

logo

Loading...
Executive Programs
Workshops
For Business

Success Stories

Placements

Student Reviews

More

Projects

Blogs

Academic Training

Find Jobs

Informative Articles

We're Hiring!

phone+91 9342691281Log in
  1. Home/
  2. Shaik Faraz/
  3. Week 12 - Validation studies of Symmetry BC vs Wedge BC in OpenFOAM vs Analytical H.P equation

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

Aim: To simulate an axis-symmetric laminar flow through the constant cross-sectional of the pipe by applying the symmetry boundary condition. To simulating for the mentioned angles i.e for 10, 25, 45 degrees using both symmetry and wedge boundary conditions and validate them with HP equations.   Hagen-Poiseuille's law:…

  • CFD
  • HTML
  • MATLAB
  • Shaik Faraz

    updated on 31 Oct 2022

Aim:

  • To simulate an axis-symmetric laminar flow through the constant cross-sectional of the pipe by applying the symmetry boundary condition.
  • To simulating for the mentioned angles i.e for 10, 25, 45 degrees using both symmetry and wedge boundary conditions and validate them with HP equations.

 

Hagen-Poiseuille's law:

In nonideal fluid dynamics, the Hagen–Poiseuille equation, also known as the Hagen–Poiseuille law, is a physical law that gives the pressure drop in an incompressible and Newtonian fluid in laminar flow flowing through a long cylindrical pipe of constant cross-section. The pressure drop is given by:

ΔP=32μLVD2">ΔP=32μLVD2ΔP=32μLVD2

where,

ΔP">ΔPΔP is the pressure drop.

 μ">μμ is the dynamic viscosity.

  L is the length of the pipe.

 V is the velocity.

 

 

At the entrance, the flow is said to be in the hydrodynamic entrance region where the velocity profile gradually takes the shape of a parabola from a straight line. As soon as the parabolic velocity profile becomes steady the flow is said to be in its fully developed state. Normally Hagen Poiseuille's Equation is applicable for a fully developed flow which helps us to calculate the pressure loss.

Assumptions made:

Geometry: Axisymmetric.

Reynolds number: 2100.

Working fluid: Water.

Diameter of the pipe: 0.02 m.

Dynamic viscosity(μ">μμ)=0.89x10^-3 Pas

Kinematic viscosity(ν">νν)=0.8927x10^-6 m^2/s

theta=10, 25, 45

 

EQUATIONS USED.

Average velocity

Vavg=ReμρD">Vavg=ReμρDVavg=ReμρD m/s 

Maximum velocity

Vmax=2⋅Vavg">Vmax=2⋅VavgVmax=2⋅Vavg m/s

Pressure drop

ΔP=32μLVD2">ΔP=32μLVD2ΔP=32μLVD2 pa

kinematic pressure drop=ΔPρ">ΔPρΔPρ 

 

PROCEDURE.

  • Will start with copying the cavity file from the tutorial to the FOAM_RUN folder.
  • In the run folder only we are going to simulate and whatever we want to do the changes in the blockMeshDict file and pressure and velocity files and controlDict files we will be doing here.
  • creating the block in the OpenFoam here we are creating the wedge after making the required changes in the blockMeshDict file to check the geometry run the blockMesh command.
  • After creating the wedge assign the boundary conditions, and also sitting the simulation end time and time-step in such a way that the courant number should be less than 0.5 and also in the transportProperties enter the kinematic viscosity.
  • Run the simulation using the icoFoam solver after calculating the time needed for the fluid to travel from inlet to outlet

  • After the simulation, use paraFoam to view the flow inside the wedge and use plot over line command to plot the velocity and shear stress changes at a point after the hydrodynamical entry region so that we analyse the fully developed region of the fluid. 

  • Use Matlab to parse the blockMeshDict so that the same file can be used for any wedge values.

 

MATLAB CODE TO GENERATE blockMeshDict FILE for wedge boundary condition.

clear all
close all
clc

%  inputs
% assumptions made the fluid is assumed as water
Re=2100; % given reynolds number
rho=997; % density of the water 
D=0.02; % diiameter of the pipe
r=D/2; % radius of the pipe
mu=0.89*10^-3; % dynamic viscosity of the water at 25 degree celcius
v=0.88927*10^-6; % kinematic viscosity of the water at 25 degree celcius
theta=input('Enter the value of the wedge angle= ')
L_h=0.06*Re*D; % hydrodynamic lenght 

L=L_h+0.5;
% Analytical solutions 
V_avg=(Re*mu)/(rho*D);  % average velocity
V_max=2*V_avg;   % maximum velocity
P_drop=(32*mu*L*V_avg)/D^2;  % pressure drop
P_kinematic=(P_drop)/rho;  % kinematic pressure drop

% vertices 
v0=[0 0 0]
v1=[0 r*cosd(theta/2) r*sind(theta/2)]
v2=[0 r*cosd(theta/2) -r*sind(theta/2)]
v3=[L 0 0]
v4=[L r*cosd(theta/2) r*sind(theta/2)]
v5=[L r*cosd(theta/2) -r*sind(theta/2)]


% PRINTING THE blockMeshDict FILE

H1='/*--------------------------------*- C++ -*----------------------------------*\';
H2='  =========                 |';
H3='  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox';
H4='  \\    /   O peration     | Website:  https://openfoam.org';
H5='    \\  /    A nd           | Version:  8';
H6='     \\/     M anipulation  |';
H7='\*---------------------------------------------------------------------------*/';
H8='FoamFile';
H9='{'
H10='    version     2.0;';
H11='    format      ascii;';
H12='    class       dictionary;';
H13='    object      blockMeshDict;';
H14='}'
H15='// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //';

% opening the file
f1=fopen('blockMeshDict_parsedNEW.txt','wt');

fprintf(f1,'%s \n',H1);
fprintf(f1,'%s \n',H2);
fprintf(f1,'%s \n',H3);
fprintf(f1,'%s \n',H4);
fprintf(f1,'%s \n',H5);
fprintf(f1,'%s \n',H6);
fprintf(f1,'%s \n',H7);
fprintf(f1,'%s \n',H8);
fprintf(f1,'%s \n',H9);
fprintf(f1,'%s \n',H10);
fprintf(f1,'%s \n',H11);
fprintf(f1,'%s \n',H12);
fprintf(f1,'%s \n',H13);
fprintf(f1,'%s \n',H14);
fprintf(f1,'%s \n',H15);
fprintf(f1,'\n');

fprintf(f1,'%s \n','convertToMeters 1;');

fprintf(f1,'%s \n','vertices');
fprintf(f1,'%s \n','(');
fprintf(f1,'%s (%f %f %f) \n',blanks(5),v0(1),v0(2),v0(3));
fprintf(f1,'%s (%f %f %f) \n',blanks(5),v1(1),v1(2),v1(3));
fprintf(f1,'%s (%f %f %f) \n',blanks(5),v2(1),v2(2),v2(3));
fprintf(f1,'%s (%f %f %f) \n',blanks(5),v3(1),v3(2),v3(3));
fprintf(f1,'%s (%f %f %f) \n',blanks(5),v4(1),v4(2),v4(3));
fprintf(f1,'%s (%f %f %f) \n',blanks(5),v5(1),v5(2),v5(3));
  
fprintf(f1,'%s \n',');');

fprintf(f1,'%s \n','blocks');
fprintf(f1,'%s \n','(');
fprintf(f1,'%s %s \n',blanks(5),'hex (0 2 1 0 3 5 4 3) (20 1 200) simpleGrading (1 1 1)');
fprintf(f1,'%s \n',');');

fprintf(f1,'%s \n','edges');
fprintf(f1,'%s \n','(');
fprintf(f1,'arc 1 2 (%f %f %f) \n',0,r,0);
fprintf(f1,'arc 4 5 (%f %f %f) \n',L,r,0);
fprintf(f1,'%s \n',');');

fprintf(f1,'%s \n','boundary');
fprintf(f1,'( \n');
fprintf(f1,'%s %s \n',blanks(5),'inlet');
fprintf(f1,'%s %s \n',blanks(5),'{');
fprintf(f1,'%s %s \n',blanks(10),'type patch;');
fprintf(f1,'           %s \n','faces');
fprintf(f1,'          %s \n','(');
fprintf(f1,'           (%d %d %d %d)\n',0, 1, 2, 0);
fprintf(f1,'          );\n');
fprintf(f1,'      }\n');
fprintf(f1,'      %s\n','outlet');
fprintf(f1,'      {\n');
fprintf(f1,'        %s\n','type patch;');
fprintf(f1,'         %s\n','faces');
fprintf(f1,'         (\n');
fprintf(f1,'            (%d %d %d %d)\n',3, 4, 5, 3);
fprintf(f1,'          );\n');
fprintf(f1,'     }\n');
fprintf(f1,'     %s\n','wedge_front');
fprintf(f1,'     {\n');
fprintf(f1,'         %s\n','type wedge;');
fprintf(f1,'         %s\n','faces');
fprintf(f1,'         (\n');
fprintf(f1,'             (%d %d %d %d)\n',2, 5, 3, 0);
fprintf(f1,'\n');            
fprintf(f1,'          );\n');
fprintf(f1,'     }\n');
fprintf(f1,'     %s\n','wedge_Back');
fprintf(f1,'     {\n');
fprintf(f1,'%s\n','         type wedge;');
fprintf(f1,'%s\n','         faces');
fprintf(f1,'         (\n');
fprintf(f1,'\n');            
fprintf(f1,'             (%d %d %d %d)\n',0, 3, 4, 1);
fprintf(f1,'          );\n');
fprintf(f1,'     }\n');
fprintf(f1,'     %s\n','top');
fprintf(f1,'     {\n');
fprintf(f1,'         %s\n','type wall;');
fprintf(f1,'         %s\n','faces');
fprintf(f1,'         (\n');
fprintf(f1,'             (%d %d %d %d)\n',1, 4, 5, 2);
fprintf(f1,'          );\n');
fprintf(f1,'     }\n');
fprintf(f1,'     %s\n','axis');
fprintf(f1,'     {\n');
fprintf(f1,'         %s\n','type empty;');
fprintf(f1,'         %s\n','faces');
fprintf(f1,'         (\n');
fprintf(f1,'             (%d %d %d %d)\n',0, 3, 3, 0);
fprintf(f1,'          );\n');
fprintf(f1,'     }\n');
fprintf(f1,' );\n');
fprintf(f1,'\n'); 
fprintf(f1,' %s\n','mergePatchPairs');
fprintf(f1,'(\n');
fprintf(f1,' );\n');
fprintf(f1,'\n'); 
fprintf(f1,' // ************************************************************************* //\n');


fclose(f1);

MATLAB CODE TO GENERATE blockMeshDict FILE for symmetry boundary condition.

clear all
close all
clc

%  inputs
% assumptions made the fluid is assumed as water
Re=2100; % given reynolds number
rho=997; % density of the water 
D=0.02; % diiameter of the pipe
r=D/2; % radius of the pipe
mu=0.89*10^-3; % dynamic viscosity of the water at 25 degree celcius
v=0.88927*10^-6; % kinematic viscosity of the water at 25 degree celcius
theta=input('Enter the value of the wedge angle= ')
L_h=0.06*Re*D; % hydrodynamic lenght 

L=L_h+0.5;
% Analytical solutions 
V_avg=(Re*mu)/(rho*D);  % average velocity
V_max=2*V_avg;   % maximum velocity
P_drop=(32*mu*L*V_avg)/D^2;  % pressure drop
P_kinematic=(P_drop)/rho;  % kinematic pressure drop

% vertices 
v0=[0 0 0]
v1=[0 r*cosd(theta/2) r*sind(theta/2)]
v2=[0 r*cosd(theta/2) -r*sind(theta/2)]
v3=[L 0 0]
v4=[L r*cosd(theta/2) r*sind(theta/2)]
v5=[L r*cosd(theta/2) -r*sind(theta/2)]


% PRINTING THE blockMeshDict FILE

H1='/*--------------------------------*- C++ -*----------------------------------*\';
H2='  =========                 |';
H3='  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox';
H4='  \\    /   O peration     | Website:  https://openfoam.org';
H5='    \\  /    A nd           | Version:  8';
H6='     \\/     M anipulation  |';
H7='\*---------------------------------------------------------------------------*/';
H8='FoamFile';
H9='{'
H10='    version     2.0;';
H11='    format      ascii;';
H12='    class       dictionary;';
H13='    object      blockMeshDict;';
H14='}'
H15='// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //';

% opening the file
f1=fopen('blockMeshDict_parsedNEW.txt','wt');

fprintf(f1,'%s \n',H1);
fprintf(f1,'%s \n',H2);
fprintf(f1,'%s \n',H3);
fprintf(f1,'%s \n',H4);
fprintf(f1,'%s \n',H5);
fprintf(f1,'%s \n',H6);
fprintf(f1,'%s \n',H7);
fprintf(f1,'%s \n',H8);
fprintf(f1,'%s \n',H9);
fprintf(f1,'%s \n',H10);
fprintf(f1,'%s \n',H11);
fprintf(f1,'%s \n',H12);
fprintf(f1,'%s \n',H13);
fprintf(f1,'%s \n',H14);
fprintf(f1,'%s \n',H15);
fprintf(f1,'\n');

fprintf(f1,'%s \n','convertToMeters 1;');

fprintf(f1,'%s \n','vertices');
fprintf(f1,'%s \n','(');
fprintf(f1,'%s (%f %f %f) \n',blanks(5),v0(1),v0(2),v0(3));
fprintf(f1,'%s (%f %f %f) \n',blanks(5),v1(1),v1(2),v1(3));
fprintf(f1,'%s (%f %f %f) \n',blanks(5),v2(1),v2(2),v2(3));
fprintf(f1,'%s (%f %f %f) \n',blanks(5),v3(1),v3(2),v3(3));
fprintf(f1,'%s (%f %f %f) \n',blanks(5),v4(1),v4(2),v4(3));
fprintf(f1,'%s (%f %f %f) \n',blanks(5),v5(1),v5(2),v5(3));
  
fprintf(f1,'%s \n',');');

fprintf(f1,'%s \n','blocks');
fprintf(f1,'%s \n','(');
fprintf(f1,'%s %s \n',blanks(5),'hex (0 2 1 0 3 5 4 3) (40 1 500) simpleGrading (1 1 1)');
fprintf(f1,'%s \n',');');

fprintf(f1,'%s \n','edges');
fprintf(f1,'%s \n','(');
fprintf(f1,'arc 1 2 (%f %f %f) \n',0,r,0);
fprintf(f1,'arc 4 5 (%f %f %f) \n',L,r,0);
fprintf(f1,'%s \n',');');

fprintf(f1,'%s \n','boundary');
fprintf(f1,'( \n');
fprintf(f1,'%s %s \n',blanks(5),'inlet');
fprintf(f1,'%s %s \n',blanks(5),'{');
fprintf(f1,'%s %s \n',blanks(10),'type patch;');
fprintf(f1,'           %s \n','faces');
fprintf(f1,'          %s \n','(');
fprintf(f1,'           (%d %d %d %d)\n',0, 1, 2, 0);
fprintf(f1,'          );\n');
fprintf(f1,'      }\n');
fprintf(f1,'      %s\n','outlet');
fprintf(f1,'      {\n');
fprintf(f1,'        %s\n','type patch;');
fprintf(f1,'         %s\n','faces');
fprintf(f1,'         (\n');
fprintf(f1,'            (%d %d %d %d)\n',3, 4, 5, 3);
fprintf(f1,'          );\n');
fprintf(f1,'     }\n');
fprintf(f1,'     %s\n','wedge_front');
fprintf(f1,'     {\n');
fprintf(f1,'         %s\n','type symmetry;');
fprintf(f1,'         %s\n','faces');
fprintf(f1,'         (\n');
fprintf(f1,'             (%d %d %d %d)\n',2, 5, 3, 0);
fprintf(f1,'\n');            
fprintf(f1,'          );\n');
fprintf(f1,'     }\n');
fprintf(f1,'     %s\n','wedge_back');
fprintf(f1,'     {\n');
fprintf(f1,'%s\n','         type symmetry;');
fprintf(f1,'%s\n','         faces');
fprintf(f1,'         (\n');
fprintf(f1,'\n');            
fprintf(f1,'             (%d %d %d %d)\n',0, 3, 4, 1);
fprintf(f1,'          );\n');
fprintf(f1,'     }\n');
fprintf(f1,'     %s\n','top');
fprintf(f1,'     {\n');
fprintf(f1,'         %s\n','type wall;');
fprintf(f1,'         %s\n','faces');
fprintf(f1,'         (\n');
fprintf(f1,'             (%d %d %d %d)\n',1, 4, 5, 2);
fprintf(f1,'          );\n');
fprintf(f1,'     }\n');
fprintf(f1,'     %s\n','axis');
fprintf(f1,'     {\n');
fprintf(f1,'         %s\n','type empty;');
fprintf(f1,'         %s\n','faces');
fprintf(f1,'         (\n');
fprintf(f1,'             (%d %d %d %d)\n',0, 3, 3, 0);
fprintf(f1,'          );\n');
fprintf(f1,'     }\n');
fprintf(f1,' );\n');
fprintf(f1,'\n'); 
fprintf(f1,' %s\n','mergePatchPairs');
fprintf(f1,'(\n');
fprintf(f1,' );\n');
fprintf(f1,'\n'); 
fprintf(f1,' // ************************************************************************* //\n');


fclose(f1);

 

For symmetry boundary conditions 

For angle 25 degrees the blockMeshDict file 

/*--------------------------------*- 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.000000 0.000000 0.000000) 
      (0.000000 0.009763 0.002164) 
      (0.000000 0.009763 -0.002164) 
      (3.020000 0.000000 0.000000) 
      (3.020000 0.009763 0.002164) 
      (3.020000 0.009763 -0.002164) 
); 
blocks 
( 
      hex (0 2 1 0 3 5 4 3) (40 1 500) simpleGrading (1 1 1) 
); 
edges 
( 
arc 1 2 (0.000000 0.010000 0.000000) 
arc 4 5 (3.020000 0.010000 0.000000) 
); 
boundary 
( 
      inlet 
      { 
           type patch; 
           faces 
          ( 
           (0 1 2 0)
          );
      }
      outlet
      {
        type patch;
         faces
         (
            (3 4 5 3)
          );
     }
     wedge_front
     {
         type symmetry;
         faces
         (
             (2 5 3 0)

          );
     }
     wedge_back
     {
         type symmetry;
         faces
         (

             (0 3 4 1)
          );
     }
     top
     {
         type wall;
         faces
         (
             (1 4 5 2)
          );
     }
     axis
     {
         type empty;
         faces
         (
             (0 3 3 0)
          );
     }
 );

 mergePatchPairs
(
 );

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

 controlDict file

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

application     icoFoam;

startFrom       latestTime;

startTime       0;

stopAt          endTime;

endTime         30;

deltaT          0.005;

writeControl    timeStep;

writeInterval   20;

purgeWrite      0;

writeFormat     ascii;

writePrecision  6;

writeCompression off;

timeFormat      general;

timePrecision   6;

runTimeModifiable true;


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

Pressure file

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

    wedge_front
    {
        type            symmetry;
    }

    wedge_back
    {
        type            symmetry;
    }

    top
    {
        type            zeroGradient;
    }

    axis
    {
        type            empty;
    }
}

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

Velocity file

/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v2006                                 |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     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.09373 0 0);
    }

    outlet
    {
        type            zeroGradient;
    }

    top
    {
        type            noSlip;
    }

    wedge_front
    {
        type            symmetry;
    }

    wedge_back
    {
        type            symmetry;
    }

    axis
    {
        type            empty;
    }
}

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

Results:

Blockmesh

Velocity profile

Pressure profile

 

 

 

For symmetry boundary conditions 

For angle 10 degrees the blockMeshDict file 

/*--------------------------------*- 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.000000 0.000000 0.000000) 
      (0.000000 0.009962 0.000872) 
      (0.000000 0.009962 -0.000872) 
      (3.020000 0.000000 0.000000) 
      (3.020000 0.009962 0.000872) 
      (3.020000 0.009962 -0.000872) 
); 
blocks 
( 
      hex (0 2 1 0 3 5 4 3) (40 1 500) simpleGrading (1 1 1) 
); 
edges 
( 
arc 1 2 (0.000000 0.010000 0.000000) 
arc 4 5 (3.020000 0.010000 0.000000) 
); 
boundary 
( 
      inlet 
      { 
           type patch; 
           faces 
          ( 
           (0 1 2 0)
          );
      }
      outlet
      {
        type patch;
         faces
         (
            (3 4 5 3)
          );
     }
     wedge_front
     {
         type symmetry;
         faces
         (
             (2 5 3 0)

          );
     }
     wedge_back
     {
         type symmetry;
         faces
         (

             (0 3 4 1)
          );
     }
     top
     {
         type wall;
         faces
         (
             (1 4 5 2)
          );
     }
     axis
     {
         type empty;
         faces
         (
             (0 3 3 0)
          );
     }
 );

 mergePatchPairs
(
 );

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

Results:

Blockmesh

Velocity profile

Pressure profile

 

For symmetry boundary conditions 

For angle 45 degrees the blockMeshDict file 

/*--------------------------------*- 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.000000 0.000000 0.000000) 
      (0.000000 0.009239 0.003827) 
      (0.000000 0.009239 -0.003827) 
      (3.020000 0.000000 0.000000) 
      (3.020000 0.009239 0.003827) 
      (3.020000 0.009239 -0.003827) 
); 
blocks 
( 
      hex (0 2 1 0 3 5 4 3) (40 1 500) simpleGrading (1 1 1) 
); 
edges 
( 
arc 1 2 (0.000000 0.010000 0.000000) 
arc 4 5 (3.020000 0.010000 0.000000) 
); 
boundary 
( 
      inlet 
      { 
           type patch; 
           faces 
          ( 
           (0 1 2 0)
          );
      }
      outlet
      {
        type patch;
         faces
         (
            (3 4 5 3)
          );
     }
     wedge_front
     {
         type symmetry;
         faces
         (
             (2 5 3 0)

          );
     }
     wedge_back
     {
         type symmetry;
         faces
         (

             (0 3 4 1)
          );
     }
     top
     {
         type wall;
         faces
         (
             (1 4 5 2)
          );
     }
     axis
     {
         type empty;
         faces
         (
             (0 3 3 0)
          );
     }
 );

 mergePatchPairs
(
 );

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

Results:

Blockmesh

Velocity profile

Pressure profile

 

 

For wedge boundary conditions.

For the wedge angle 10 degrees the blockMeshDict file.

/*--------------------------------*- 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.000000 0.000000 0.000000) 
      (0.000000 0.009962 0.000872) 
      (0.000000 0.009962 -0.000872) 
      (3.020000 0.000000 0.000000) 
      (3.020000 0.009962 0.000872) 
      (3.020000 0.009962 -0.000872) 
); 
blocks 
( 
      hex (0 2 1 0 3 5 4 3) (40 1 500) simpleGrading (1 1 1) 
); 
edges 
( 
arc 1 2 (0.000000 0.010000 0.000000) 
arc 4 5 (3.020000 0.010000 0.000000) 
); 
boundary 
( 
      inlet 
      { 
           type patch; 
           faces 
          ( 
           (0 1 2 0)
          );
      }
      outlet
      {
        type patch;
         faces
         (
            (3 4 5 3)
          );
     }
     wedge_front
     {
         type wedge;
         faces
         (
             (2 5 3 0)

          );
     }
     wedge_back
     {
         type wedge;
         faces
         (

             (0 3 4 1)
          );
     }
     top
     {
         type wall;
         faces
         (
             (1 4 5 2)
          );
     }
     axis
     {
         type empty;
         faces
         (
             (0 3 3 0)
          );
     }
 );

 mergePatchPairs
(
 );

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

 

controlDict file

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

application     icoFoam;

startFrom       latestTime;

startTime       0;

stopAt          endTime;

endTime         10;

deltaT          0.005;

writeControl    timeStep;

writeInterval   20;

purgeWrite      0;

writeFormat     ascii;

writePrecision  6;

writeCompression off;

timeFormat      general;

timePrecision   6;

runTimeModifiable true;


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

 

Pressure file

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

    wedge_front
    {
        type            wedge;
    }

    wedge_back
    {
        type            wedge;
    }

    top
    {
        type            zeroGradient;
    }

    axis
    {
        type            empty;
    }
}

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

 

Velocity file

/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v2006                                 |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     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.09373 0 0);
    }

    outlet
    {
        type            zeroGradient;
    }

    top
    {
        type            noSlip;
    }

    wedge_front
    {
        type            wedge;
    }

    wedge_back
    {
        type            wedge;
    }

    axis
    {
        type            empty;
    }
}

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

Results:

Blockmesh

Pressure profile

Velocity porfile

For wedge boundary conditions.

For the angle 25 degrees the blockMeshDict file.

/*--------------------------------*- 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.000000 0.000000 0.000000) 
      (0.000000 0.009763 0.002164) 
      (0.000000 0.009763 -0.002164) 
      (3.020000 0.000000 0.000000) 
      (3.020000 0.009763 0.002164) 
      (3.020000 0.009763 -0.002164) 
); 
blocks 
( 
      hex (0 2 1 0 3 5 4 3) (40 1 500) simpleGrading (1 1 1) 
); 
edges 
( 
arc 1 2 (0.000000 0.010000 0.000000) 
arc 4 5 (3.020000 0.010000 0.000000) 
); 
boundary 
( 
      inlet 
      { 
           type patch; 
           faces 
          ( 
           (0 1 2 0)
          );
      }
      outlet
      {
        type patch;
         faces
         (
            (3 4 5 3)
          );
     }
     wedge_front
     {
         type wedge;
         faces
         (
             (2 5 3 0)

          );
     }
     wedge_back
     {
         type wedge;
         faces
         (

             (0 3 4 1)
          );
     }
     top
     {
         type wall;
         faces
         (
             (1 4 5 2)
          );
     }
     axis
     {
         type empty;
         faces
         (
             (0 3 3 0)
          );
     }
 );

 mergePatchPairs
(
 );

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

Results:

Blockmesh

Pressure profile

Velocity profile

 

For wedge boundary conditions.

For the angle 45 degrees the blockMeshDict file.

/*--------------------------------*- 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.000000 0.000000 0.000000) 
      (0.000000 0.009239 0.003827) 
      (0.000000 0.009239 -0.003827) 
      (3.020000 0.000000 0.000000) 
      (3.020000 0.009239 0.003827) 
      (3.020000 0.009239 -0.003827) 
); 
blocks 
( 
      hex (0 2 1 0 3 5 4 3) (40 1 500) simpleGrading (1 1 1) 
); 
edges 
( 
arc 1 2 (0.000000 0.010000 0.000000) 
arc 4 5 (3.020000 0.010000 0.000000) 
); 
boundary 
( 
      inlet 
      { 
           type patch; 
           faces 
          ( 
           (0 1 2 0)
          );
      }
      outlet
      {
        type patch;
         faces
         (
            (3 4 5 3)
          );
     }
     wedge_front
     {
         type wedge;
         faces
         (
             (2 5 3 0)

          );
     }
     wedge_back
     {
         type wedge;
         faces
         (

             (0 3 4 1)
          );
     }
     top
     {
         type wall;
         faces
         (
             (1 4 5 2)
          );
     }
     axis
     {
         type empty;
         faces
         (
             (0 3 3 0)
          );
     }
 );

 mergePatchPairs
(
 );

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

 

 

Results:

Blockmesh

Pressure profile

Velocity profile

 

 

 

CONCLUSION.

We can observe there is no much change in the maximum velocities. The only difference observed is execution time a little high than type-wedge. While the angle increases the error in the maximum velocity is decreased. Though there is not much difference between analytical and numerical results and also with increasing the angle of the wedge, The Courant number is slightly increasing. we can say that the symmetric boundary condition plays an important role in terms of accuracy in the result

Leave a comment

Thanks for choosing to leave a comment. Please keep in mind that all the comments are moderated as per our comment policy, and your email will not be published for privacy reasons. Please leave a personal & meaningful conversation.

Please  login to add a comment

Other comments...

No comments yet!
Be the first to add a comment

Read more Projects by Shaik Faraz (27)

Project 1 : CFD Meshing for Tesla Cyber Truck

Objective:

Aim: Performing topological cleanup and surface mesh on tesla cyber truck and on a wind tunnel based on selected target length values of its different components using element type as Tria, as well as appropriate selection of the volume that contains the vehicle and its surroundings with the wind tunnel for volumetric…

calendar

15 Nov 2022 04:17 AM IST

  • ANSA
  • CFD
Read more

Week 5 Challenge : Surface wrap on Automotive Assembly

Objective:

Aim: Perforform Topo cleanup and delete unwanted surfaces for Surface wrap. After Topo cleanup, Merge all 3 models and perform surface wrap. Target length for Wrap = 3 mm   1. Engine:    2. Gear box:   3. Transmission:   Procedure: 1. Topo Cleanup : (Engine, Transmission & Gear Box)…

calendar

10 Nov 2022 08:22 AM IST

    Read more

    Week 4 Challenge : CFD Meshing for BMW car

    Objective:

    Aim: To perform topological clean-up, and carry out the surface meshing of a BMW M6 car model and create a wind tunnel surrounding the same. Objectives: For the given model, check and solve all geometrical errors on half portion and Assign appropriate PIDs. Perform meshing with the given Target length and element Quality…

    calendar

    07 Nov 2022 11:33 AM IST

      Read more

      Week 3 Challenge : CFD meshing on Turbocharger

      Objective:

      Aim: Performing CFD meshing on Turbocharger using ANSA Objective: For the given model, check for the geometrical errors to make appropriate volumes. Create and assign PIDs as shown in the video. Perform surface mesh with the given target lengths as per PIDs. Blade stage-1 = 1 mm Blade stage-2 = 1 mm Impeller = 2 mm…

      calendar

      03 Nov 2022 08:06 AM IST

      • ANSA
      • CFD
      Read more

      Schedule a counselling session

      Please enter your name
      Please enter a valid email
      Please enter a valid number

      Related Courses

      coursecardcoursetype

      Post Graduate Program in CFD Solver Development

      4.8

      106 Hours of Content

      coursecardcoursetype

      Post Graduate Program in Computer Vision for Autonomous Vehicles

      4.7

      223 Hours of Content

      coursecard

      Introduction to OpenFOAM Development

      4.9

      18 Hours of Content

      coursecardcoursetype

      Post Graduate Program in Battery Technology for Mechanical Engineers

      4.8

      57 Hours of Content

      coursecardcoursetype

      Post Graduate Program in Autonomous Vehicles

      Recently launched

      88 Hours of Content

      Schedule a counselling session

      Please enter your name
      Please enter a valid email
      Please enter a valid number

                  Do You Want To Showcase Your Technical Skills?
                  Sign-Up for our projects.