Challenge

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

AIM: TO SIMULATE THE WEDGE FLOW USING THE OPEN FOAM FOR DIFFERENT ANGLES OF THE WEDGE AND TO CAPTURE THE RESULTS.


THE GIVEN ANGLES FOR THE FLOW ARE

10
25
45

simulation flow through a pipe from open foam

objective:

the main objective of the project is to simulate the flow through the pipe in OPEN FOAM software.
1. we have to write the program for the generation of the blockmeshdict file or computational mesh for wedge angle and grading scheme.
2. calculate the length of the pipe using the entry length formula through the laminar flow through the pipe.
3. show that the entry length is enough for producing the fully developed flow.
4. and we have to compare the velocity profile at the different lengths of the pipe.
5. we have to show our velocity profile is fully developed.
6. post-process velocity and shear stress.


ASSUMPTIONS

flow is steady, incompressible, and laminar.
flow is two-dimensional.fluid properties are constant(viscosity ,density ,etc..)
introduction to laminar flow through a pipe:
In this project, we aim to simulate a section of pipe (Wedge shaped geometry) to understand various aspects of flow through the pipe. The fluid chosen is water & the flow is laminar & incompressible. Also, we choose to neglect any changes in cross-section. The specified Reynold's number Re is 2100.

Internal flow occurs when the fluid is filled entirely in a conduit & is driven primarily by a pressure difference.


Fluid velocity in a pipe changes from zero at the surface because of the no-slip boundary condition to a maximum at the pipe centre. The average velocity remains constant in an incompressible flow when the cross-section of the pipe is constant.

Reynold's Number (Re):

The transition from laminar flow to turbulent flow occurs from laminar (Re≤">≤Le = 0.06 ⋅ Re ⋅ D2100) to Transition (2100≤">≤Le = 0.06 ⋅ 2100 ⋅ 0.001 Re≤">≤Re = (V ⋅ D/v)4000) to turbulent (Re≥">≥8.9 ⋅10e−7⋅4000)for smooth pipe with no viscous dissipation. It depends on the geometry, face roughness, flow velocity, surface temperature, etc. Reynold's number is an important non- Dimensionless number which is the ratio of the inertial force to viscous force and is expressed for internal flow in circular section pipe as,

Hydrodynamic Length (Le) :

The region from the pipe inlet to the point at which the velocity boundary layer merges at the centreline is called the hydrodynamic entrance region in which the velocity profile is fully developed is called the fully developed region.

In laminar flow, the entry length is given approximately as,

DIAMETER OF PIPE:
we can assume the diameter of the pipe i.e
diameter = 10mm = 0.001 meter.
to calculate the hydrodynamic entry length we have a formula,
and the Reynolds number for the laminar flow is 2100. i.e Re= 2100

Le= 12.6 meters
so we can take the nearer value of length that is equal to = 15

TO CALCULATE THE VELOCITY OF THE FLUID THAT IS THE AVERAGE VELOCITY. AT THE INLET OF THE PIPE.

where v is the viscosity of the fluid i.e =
Re is the Reynolds number, for laminar flow = 2100
D is the density of the liquid at 25-degree Celcius = 0.01

so by this equation, we can calculate the velocity of the moving fluid inside the pipe

WHICH GIVES TYHE RESULT OF V = 0.1869 m/s

according to haigen poisulles equation

the pressure drop

to calculate the maximum velocity we have the formula

a program that creates the blockmeshdict file using Matlab.

close all
clear all
clc
theta =25 %input(' input the wedge angle = ')
theta = theta /2
L = 1.5
d = 0.01
r = d/2
height_wedge = r*cosd(theta)
width_wedge = r*sind(theta)
b1=('/*--------------------------------*- C++ -*----------------------------------*')
b2=(' ========= |')
b3=(' \ / F ield | OpenFOAM: The Open Source CFD Toolbox')
b4=(' \ / O peration | Website: https://openfoam.org')
b5=(' \ / A nd | Version: 8')
b6=(' \/ M anipulation |')
b7=('*---------------------------------------------------------------------------*/')
f1 = fopen('blockmesh.txt','w')
fprintf(f1,'%s n',b1)
fprintf(f1,'%s n',b2)
fprintf(f1,'%s n',b3)
fprintf(f1,'%s n',b4)
fprintf(f1,'%s n',b5)
fprintf(f1,'%s n',b6)
fprintf(f1,'%s n',b7)
fprintf(f1,'FoamFile n{ n version 2.0; n format ascii; n class dictionary; n object
blockMeshDict; n}' )
b8 =('// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //')
fprintf(f1,'n%s n',b8)
fprintf(f1,'nconvertToMeters 1;')
fprintf(f1,'nnvertices n( nn')
%creating the vertices
fprintf(f1,' (0 0 0)')
fprintf(f1,'n (0 0 0)')
ver3 = zeros(1,3)
ver4 = zeros(1,3)
ver3(2) = height_wedge
ver3(3) = -width_wedge
ver4(2) =height_wedge
ver4(3) = width_wedge
fprintf(f1,'n (%f %f %f )',ver3)
fprintf(f1,'n (%f %f %f )nn',ver4)
fprintf(f1,' (1.5 0 0)')
fprintf(f1,'n (1.5 0 0)')
ver3 = zeros(1,3)
ver4 = zeros(1,3)
ver3(1) =L
ver3(2) = height_wedge
ver3(3) = -width_wedge
ver4(1) =L
ver4(2) =height_wedge
ver4(3) = width_wedge
fprintf(f1,'n (%d %f %f )',ver3)
fprintf(f1,'n (%d %f %f )n',ver4)
fprintf(f1,'n );nn')
fprintf(f1,'blocks n(n')
fprintf(f1,' hex (0 1 2 3 4 5 6 7) (1 20 100) simpleGrading (1 0.4 1) n); nedges n( n); n')
fprintf(f1,'boundary n( n top n { n type wall; n faces n ( n (2 3 7 6) n); n }')
fprintf(f1,'n bottom n { n type empty; n faces n ( n (1 5 4 0) n ); n
}')
fprintf(f1,'n frontwedge n { n type wedge; n faces n ( n (0 4 7 3) n ); n
}')
fprintf(f1,'n backwedge n { n type wedge; n faces n ( n (1 2 6 5) n ); n
}')
fprintf(f1,'n inlet n { n type patch; n faces n ( n (1 0 3 2) n ); n
}')
fprintf(f1,'n outlet n { n type patch; n faces n ( n (5 6 7 4) n ); n
}')
fprintf(f1,'n); nnmergePatchPairs n( n);')
b9 =('// ************************************************************************* //')
fprintf(f1,'nn%s',b9)
fclose(f1)

blockMeshdict file that creates the wedge of angle 10

/*--------------------------------*- 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 0)
(0.000000 0.004981 -0.000436 )
(0.000000 0.004981 0.000436 )
(1.5 0 0)
(1.5 0 0)
(1.500000e+00 0.004981 -0.000436 )
(1.500000e+00 0.004981 0.000436 )
);
blocks
(
hex (0 1 2 3 4 5 6 7) (1 20 100) simpleGrading (1 0.4 1)
);
edges
(
);
boundary
(
top
{
type wall;
faces
(
(2 3 7 6)
);
}
bottom
{
type empty;
faces
(
(1 5 4 0)
);
}
frontwedge
{
type wedge;
faces
(
(0 4 7 3)
);
}
backwedge
{
type wedge;
faces
(
(1 2 6 5)
);
}
inlet

{
type patch;
faces
(
(1 0 3 2)
);
}
outlet
{
type patch;
faces
(
(5 6 7 4)
);
}
);
mergePatchPairs
(
);
// ************************************************************************* //

blockmeshdict file that creates the wedge of angle 25

/*--------------------------------*- 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 0)
(0.000000 0.004881 -0.001082 )
(0.000000 0.004881 0.001082 )
(1.5 0 0)
(1.5 0 0)
(1.500000e+00 0.004881 -0.001082 )
(1.500000e+00 0.004881 0.001082 )
);
blocks
(
hex (0 1 2 3 4 5 6 7) (1 20 100) simpleGrading (1 0.4 1)
);
edges
(
);
boundary
(
top
{
type wall;
faces
(
(2 3 7 6)
);
}
bottom
{
type empty;
faces
(
(1 5 4 0)
);
}
frontwedge
{
type wedge;
faces
(
(0 4 7 3)
);
}
backwedge
{
type wedge;
faces
(
(1 2 6 5)
);
}
inlet
{
type patch;
faces
(
(1 0 3 2)
);
}
outlet
{
type patch;
faces
(
(5 6 7 4)
);
}
);
mergePatchPairs
(
);
// ************************************************************************* //

blockmeshdict file that creates the wedge of angle 45

/*--------------------------------*- 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 0)
(0.000000 0.004619 -0.001913 )
(0.000000 0.004619 0.001913 )
(1.5 0 0)
(1.5 0 0)
(1.500000e+00 0.004619 -0.001913 )
(1.500000e+00 0.004619 0.001913 )
);
blocks
(
hex (0 1 2 3 4 5 6 7) (1 20 100) simpleGrading (1 0.4 1)
);
edges
(
);
boundary
(
top
{
type wall;
faces
(
(2 3 7 6)
);
}
bottom
{
type empty;
faces
(
(1 5 4 0)
);
}
frontwedge
{
type wedge;
faces
(
(0 4 7 3)
);
}
backwedge
{
type wedge;
faces
(
(1 2 6 5)
);
}
inlet
{
type patch;
faces
(
(1 0 3 2)
);
}
outlet
{
type patch;
faces
(
(5 6 7 4)
);
}
);
mergePatchPairs
(
);
// ************************************************************************* //

controldict 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;
location "system";
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application icoFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 0.4;
deltaT 0.00004;
writeControl timeStep;
writeInterval 20;
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable true;
// ************************************************************************* //

Velocity boundary 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 volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0.1869 0 0);
boundaryField
{
inlet
{
type fixedValue;
value uniform (0.1869 0 0);
}
outlet
{
type zeroGradient;
}
frontwedge
{
type symmetry;
}
backwedge
{
type symmetry;
}
top
{
type noSlip;
}
bottom
{
type empty;
}
}
// ************************************************************************* //

pressure boundary 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 volScalarField;
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0;
boundaryField
{
inlet
{
type zeroGradient;
}
outlet
{
type fixedValue;
value uniform 0;
}
frontwedge
{
type symmetry;
}
backwedge
{
type symmetry;
}
top
{
type zeroGradient;
}
bottom
{
type empty;
}
}
// ************************************************************************* //

transport properties 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;
location "constant";
object transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
nu [0 2 -1 0 0 0 0] 0.001;
// ************************************************************************* //

RESULTS TABULATED FOR THE WEDGE ANGLE OF 10 DEGREES
creating the mesh using the grading factor 0.4 along with the height of the wedge for wedge angle 10 dgrees

the same mesh showing in a different direction for wedge angle 10 degrees

velocity profile 3d view for wedge angle 10 degrees

velocity profile 2d view for wedge angle 10 degrees

Pressure profile 2d view for wedge angle 10 degrees

velocity curve along the length less than the hydrodynamic length

pressure curve along xaxis for wedge angle 10 degrees

velocity curve for fully developed flow for wedge angle 10 degrees

shear stress curve along the yaxis.

RESULTS TABULATED FOR THE WEDGE ANGLE OF 25 DEGREES
creating the mesh using the grading factor 0.4 along with the height of the wedge for wedge angle 25 degrees

the same mesh showing in a different direction for wedge angle 25 degrees

velocity profile 3d view for wedge angle 25 degrees

velocity profile 2d view for wedge angle 25 degrees

pressure profile 3d view for wedge angle 25 degrees

velocity curve along for wedge angle 25 degrees

pressure curve along x-axis for wedge angle 25 degrees

fully developed velocity curve along y-axis

shear stress curve

RESULTS TABULATED FOR THE WEDGE ANGLE OF 45 DEGREES
creating the mesh using the grading factor 0.4 along with the height of the wedge for wedge angle 45 degrees

the same mesh showing in a different direction for wedge angle 45 degrees

velocity profile 3d view for wedge angle 45 degrees

velocity profile 2d view for wedge angle 45 degrees

pressure profile 2d view for wedge angle 45 degrees

pressure profile 3d view for wedge angle 45 degrees

fully developed velocity curve along y-axis for wedge angle 45 degrees

Pressure curve along x-axis for wedge angle 45 degrees

velocity curve along y-axis for wedge angle 45 degrees

shear stress curve

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.