All Courses
All Courses
Courses by Software
Courses by Semester
Courses by Domain
Tool-focused Courses
Machine learning
POPULAR COURSES
Success Stories
INTRODUCTION Caliberation of the velocity and pressure distribution is of utmost necessity for the design of a piping system. Internal flow inside a pipe could either be laminar or turbulent. Flow characteristic whether laminar or turbulent is determined by a property known as the Reynold\'s Number. …
Shouvik Bandopadhyay
updated on 18 Aug 2019
INTRODUCTION
Re=ρ⋅v⋅dμ
Where,
v = fluid flow characteristic velocity.
d = diameter of pipe
μ = Dynamic Viscosity
Physically the Reynold\'s Number is the ratio of the interial forces to viscous forces.
THE HAGEN-POISEUILLE EQUATIONS OF PIPE FLOW
The above equations are directly taken from \"Fluid Mechanics seventh edition by Frank M. Whites.\"
Initial flow is uniform and gradually the velocity profile turns parabolic as the flow becomes develoved.
GIVEN DATA
INFERENCES FROM GIVEN DATA
ASSUMPTIONS
INFERENCES FROM ABOVE ASSUMPTONS
Putting the above values in the formual for reynold\'s Number we get
v⋅d=1.8726⋅10−6m2s
Assuming the diameter to be 0.005 m or 5 mm we get the velocity v = 0.3745 m/s.
Therefore entrance length is: `L_e = 0.06*2100*0.005 = 0.63 m.
Therefore total length is: `L = L_e + 0.3 = 0.63+0.3 = 0.93 m.
For attaining a fully developed flow we consider the length to be approximately L = 1 m.
As the body is axi-symmetric, we can reduce the model into a small sector. As the angle of the sector is very small (less than 5 degrees as mentioned in the problem), the wall curvature can be assumed to be a straight line.
WEDGE BOUNDARY CONDITION EXPLANATION
1. Used in axi-symmetric cases.
2. Applied in pairs to represent planes in swirl or revolving direction.
3. For the current study, the slice angle must be less than 5 degrees and the boundary pair must be seperated by a single layer of cells.
MATLAB CODE TO CREATE THE blockMeshDict FILE
clear all .
close all
clc
L = 1; % length of pipe in meters
theta = 3; % Wedge Angle given that it should be less than 5 degrees.
r = 0.0025; % Radius of pipe in meters
%Grading for Baseline Mesh
a = 1
b = 1
c = 1
%Meshing
nx = 100
ny = 30
nz = 1
% Creating blockMesh file
line1=\'/*--------------------------------*- C++ -*----------------------------------*\\\';
line2=\'| ========= |\'
line3=\'| \\\\ / F ield | OpenFOAM: The Open Source CFD Toolbox\'
line4=\'| \\\\ / O peration | Version: 6.0\'
line5=\'| \\\\ / A nd | Web: www.OpenFOAM.org\'
line6=\'| \\\\ / M anipulation |\'
line7=\'\\*---------------------------------------------------------------------------*/\';
bmd = fopen(\'blockMeshDict\',\'wt\')
fprintf(bmd,\'%s\\n\',line1);
fprintf(bmd,\'%s\\n\',line2);
fprintf(bmd,\'%s\\n\',line3);
fprintf(bmd,\'%s\\n\',line4);
fprintf(bmd,\'%s\\n\',line5);
fprintf(bmd,\'%s\\n\',line6);
fprintf(bmd,\'%s\\n\',line7);
fprintf(bmd,\'FoamFile\\n{\\n\');
fprintf(bmd,\'%12s \\t 2.0;\\n\',\'version\');
fprintf(bmd,\'%11s \\t ascii;\\n\',\'format\');
fprintf(bmd,\'%10s \\t dictionary;\\n\',\'class\');
fprintf(bmd,\'%11s \\t blockMeshDict;\\n\',\'object\');
fprintf(bmd,\'}\\n\');
line8=\'// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * fprintf(bmd,\'%s\\n\\n\',line8);
fprintf(bmd,\'convertToMeters 1;\\n\\n\');
fprintf(bmd,\'vertices\\n\');
fprintf(bmd,\'(\\n\');
fprintf(bmd,\'\\t (%d %d %d)\\n\',0,0,0); % point 0
fprintf(bmd,\'\\t (%d %d %d)\\n\',L,0,0); % Pont 1
fprintf(bmd,\'\\t (%d %d %d)\\n\',L,r*cosd(theta/2),r*sind(theta/2)); % point 2
fprintf(bmd,\'\\t (%d %d %d)\\n\',0,r*cosd(theta/2),r*sind(theta/2)); % point 3
fprintf(bmd,\'\\t (%d %d %d)\\n\',0,r*cosd(theta/2),-r*sind(theta/2)); % point 4
fprintf(bmd,\'\\t (%d %d %d)\\n\',L,(r*cosd(theta/2)),(-r*sind(theta/2))); % point 5
fprintf(bmd,\');\\n\\n\');
fprintf(bmd,\'blocks\\n\');
fprintf(bmd,\'(\\n\');
fprintf(bmd,\' hex ( 0 1 5 4 0 1 2 3) (%d %d %d)\',nx,ny,nz);
fprintf(bmd, \' SimpleGrading (%d %d %d)\\n\\n\',a,b,c);
fprintf(bmd,\');\\n\\n\');
fprintf(bmd,\'edges\\n(\\n\\tarc %d %d (%d %d %d)\\n\',4,3,0,r,0);
fprintf(bmd,\'\\tarc %d %d (%d %d %d)\\n\',5,2,L,r,0);
fprintf(bmd,\');\\n\\n\');
fprintf(bmd,\'boundary\\n(\\n\');
fprintf(bmd,\'\\t inlet\\n\');
fprintf(bmd,\'\\t{\\n\');
fprintf(bmd,\'\\t\\t type patch;\\n\');
fprintf(bmd,\'\\t\\t faces\\n\');
fprintf(bmd,\'\\t\\t (\\n\');
fprintf(bmd,\'\\t\\t\\t (%d %d %d %d)\\n\',0,0,3,4);
fprintf(bmd,\'\\t\\t );\\n\');
fprintf(bmd,\'\\t}\\n\');
fprintf(bmd,\'\\t outlet\\n\');
fprintf(bmd,\'\\t{\\n\');
fprintf(bmd,\'\\t\\t type patch;\\n\');
fprintf(bmd,\'\\t\\t faces\\n\');
fprintf(bmd,\'\\t\\t (\\n\');
fprintf(bmd,\'\\t\\t\\t (%d %d %d %d)\\n\',1,5,2,1);
fprintf(bmd,\'\\t\\t );\\n\');
fprintf(bmd,\'\\t}\\n\');
fprintf(bmd,\'\\t back\\n\');
fprintf(bmd,\'\\t{\\n\');
fprintf(bmd,\'\\t\\t type wedge;\\n\');
fprintf(bmd,\'\\t\\t faces\\n\');
fprintf(bmd,\'\\t\\t (\\n\');
fprintf(bmd,\'\\t\\t\\t (%d %d %d %d)\\n\',0,4,5,1);
fprintf(bmd,\'\\t\\t );\\n\');
fprintf(bmd,\'\\t}\\n\');
fprintf(bmd,\'\\t front\\n\');
fprintf(bmd,\'\\t{\\n\');
fprintf(bmd,\'\\t\\t type wedge;\\n\');
fprintf(bmd,\'\\t\\t faces\\n\');
fprintf(bmd,\'\\t\\t (\\n\');
fprintf(bmd,\'\\t\\t\\t (%d %d %d %d)\\n\',0,1,2,3);
fprintf(bmd,\'\\t\\t );\\n\');
fprintf(bmd,\'\\t}\\n\');
fprintf(bmd,\'\\t axis\\n\');
fprintf(bmd,\'\\t{\\n\');
fprintf(bmd,\'\\t\\t type empty;\\n\');
fprintf(bmd,\'\\t\\t faces\\n\');
fprintf(bmd,\'\\t\\t (\\n\');
fprintf(bmd,\'\\t\\t\\t (%d %d %d %d)\\n\',0,1,1,0);
fprintf(bmd,\'\\t\\t );\\n\');
fprintf(bmd,\'\\t}\\n\');
fprintf(bmd,\'\\t pipewall \\n\');
fprintf(bmd,\'\\t{\\n\');
fprintf(bmd,\'\\t\\t type wall;\\n\');
fprintf(bmd,\'\\t\\t faces\\n\');
fprintf(bmd,\'\\t\\t (\\n\');
fprintf(bmd,\'\\t\\t\\t (%d %d %d %d)\\n\',3,2,5,4);
fprintf(bmd,\'\\t\\t );\\n\');
fprintf(bmd,\'\\t}\\n\');
fprintf(bmd,\');\\n\\n\');
fprintf(bmd,\'mergePatchPairs\\n(\\n\');
fprintf(bmd,\');\\n\');
line9=\'// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * fprintf(bmd,\'%s\\n\',line9);
fclose(bmd)
blockMeshDict File for Wedge angle 3 degrees
/*--------------------------------*- C++ -*----------------------------------*\\
| ========= |
| \\\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
| \\\\ / O peration | Version: 6.0
| \\\\ / A nd | Web: www.OpenFOAM.org
| \\\\ / M anipulation |
\\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
convertToMeters 1;
vertices
(
(0 0 0)
(1 0 0)
(1 2.499143e-03 6.544237e-05)
(0 2.499143e-03 6.544237e-05)
(0 2.499143e-03 -6.544237e-05)
(1 2.499143e-03 -6.544237e-05)
);
blocks
(
hex ( 0 1 5 4 0 1 2 3) (100 30 1) SimpleGrading (1 1 1)
);
edges
(
arc 4 3 (0 2.500000e-03 0)
arc 5 2 (1 2.500000e-03 0)
);
boundary
(
inlet
{
type patch;
faces
(
(0 0 3 4)
);
}
outlet
{
type patch;
faces
(
(1 5 2 1)
);
}
back
{
type wedge;
faces
(
(0 4 5 1)
);
}
front
{
type wedge;
faces
(
(0 1 2 3)
);
}
axis
{
type empty;
faces
(
(0 1 1 0)
);
}
pipewall
{
type wall;
faces
(
(3 2 5 4)
);
}
);
mergePatchPairs
(
);
MESHED GEOMETRIES
1. The number of cells in the axisymmetric direction is just one due to the implementation of the wedge boundary condition constraint.
2. Cross section meshing is illustrated in the bottom section of the figure.
INITIAL PRESSURE CONDITIONS
/*--------------------------------*- 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
{
axis
{
type empty;
}
pipewall
{
type zeroGradient;
}
front
{
type wedge;
}
back
{
type wedge;
}
inlet
{
type zeroGradient;
}
outlet
{
type fixedValue;
value uniform 0;
}
// ************************************************************************* //
INITIAL VELOCITY CONDITIONS
/*--------------------------------*- 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
{
axis
{
type empty;
}
pipewall
{
type fixedValue;
value uniform (0 0 0);
}
front
{
type wedge;
}
back
{
type wedge;
}
inlet
{
type fixedValue;
value uniform (0.3745 0 0);
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //
controlDictFile
/*--------------------------------*- 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 1;
deltaT 0.02;
writeControl timeStep;
writeInterval 20;
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression on;
timeFormat general;
timePrecision 6;
runTimeModifiable true;
// ************************************************************************* //
SIMULATION TIME AND TIME STEP CALCULATION
1. Time of simulation = 1 sec.
CFL=u(ΔxΔt)≤1
Δt≤Δxu
Δt≤0.010.375514
Δt≤0.027
2. Therefore time step = 0.02 seconds.
RESULTS
To visualize and understand the velocity makes transition from developing to developed flow, it is needed to observe the velocity magnitude along the central axis of the pipe. We can see that the flow is developed at a length of about which is the length of the entrance region calculated above. We also plot the pressure drop along the axis to compare with the Hagen-Poiseuille equation. According to the Hagen-Poiseuille equation,
ΔP=32.μ.L.vD2
Putting the values of the respective variables in the equation we obtain
ΔP=426.167Kgm−s2
1. Simulation Outputs
Clearly, near the inlet the flow is developing while towards the outlet the flow is fully developed.
Parameter |
3-degree Wedge |
5-degree Wedge |
Inlet |
|
|
Outlet |
![]()
|
|
Cross Section |
|
|
2. Centre Velocity along pipe Length
3. Pressure Drop Along Pipe Length
4.VELOCITY PROFILE DEVELOPMENT
The pipe data is w.r.t. axis to obtain the profile for the entire pipe diameter.
5. Shear Stress Profile
The following formula has been utilized to obtain the shear stress profile.
τ=μ.(dudy)
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.
Other comments...
FULL SCALE COMBUSTION MODELLING OF A PORT FUEL INJECTION ENGINE
…
22 Jul 2020 08:09 AM IST
Week 7: Shock tube simulation project
…
24 May 2020 08:21 PM IST
Week 8: Literature review - RANS derivation and analysis
RANS LITERATURE REVIEW: DERIVATION OF RANS EQUATONS FOR TURBULENT FLUID FLOWS OBJECTIVE To apply Reynolds Decomposition to NS Equations and obtain the expression for Reynold's Stress …
21 May 2020 05:36 PM IST
Week 5 - Compact Notation Derivation for a simple Mechanism
Please Find the solution of the challenge attached.
20 May 2020 07:20 PM IST
Related Courses
Skill-Lync offers industry relevant advanced engineering courses for engineering students by partnering with industry experts.
© 2025 Skill-Lync Inc. All Rights Reserved.