Week 12 - Validation studies of Symmetry BC vs Wedge BC in OpenFOAM vs Analytical H.P equation
AIM:
Validation studies of Symmetry BC vs Wedge BC in OpenFOAM vs Analytical H.P equation
objectives:
- Validate Hydro-dynamic length with the numerical result
- Validate the fully developed flow velocity profile with its analytical profile
- Validate maximum velocity and pressured drop for fully developed flow
- Post-process Shear stress and validate wall shear stress for fully developed flow
- Highligh the differences in both boundary conditions in terms of their usage and aplication
angles to test:
- 10 degrees
- 25 degrees
- 45 degrees
Theory:
consuder a fluid (example:water)flowing through a pipe. the flow in the pipe is incompressible laminar flow with reynolds number 2100.Flow through pipes is an important engineering problem in fluid mechanics. Almost in all our daily operations, we come across pipe flow. For example, the household water supply, sewage flows etc. The pipe flow is also used for the transportation of chemicals and petroleum products in different chemical and oil industries.

the above figure represents how the fluid is moving along the pipe. intially the fluid enters the ipe with constant velocity. as the fluid enters the pipe, the velocty of the fluid at pip surface is going to be zero due to no slip condition and the velocity of fluid at the centre getting increases. this is beacause of mainatining of the constant mass flow rate at each section in the pipe. the length of the pipe is taken based on the hydrodynamic region length.
Laminar boundary layer:
Laminar boundary-layer flows occur when a moving viscous fluid comes in contact with a solid surface and a layer of rotational fluid, the boundary layer, forms in response to the action of viscosity and the no slip boundary condition on the surface. When the surface is flat or mildly curved and the boundary layer that develops on it is thin and remains adjacent to it, the flow within this layer may be determined by simplifying the Navier-Stokes equations to account for the flow's geometry and then solving the simplified equations.
hydrodynamic entrance length:
Entrance length refers to the length of the entry region, the area following the pipe entrance where effects originating from the interior wall of the pipe propagate into the flow as an expanding boundary layer. When the boundary layer expands to fill the entire pipe, the developing flow becomes a fully developed flow, where flow characteristics no longer change with increased distance along the pipe. Many different entrance lengths exist to describe a variety of flow conditions. Hydrodynamic entrance length describes the formation of a velocity profile caused by viscous forces propagating from the pipe wall.
to calculate the pressure drop and wall shear stress in the pipe, we have to use hagen poiseuille equation. the below formulae are obtained from hagen poiseuille equation.
- pressure drop along the length of the pipe, `∆P= (32μVL)/D^2`
- average velocity in the pipe, `V = (Re*μ)/D`
- wall shear stress , `τ= (16*μ*V*R)/(D^2)`
- hydrodynamic entrance length for laminar flow is `Le = 0.06*Re*D`
- length of the pipe,`L = Le+0.48` (note:we can take the length can be any value greater than hydrodynamic entrance length.)
where μ is the kinematic viscosity, D is the diamter of the pipe, Re is the reynolds number.
Constant values in the pipe flow:
fluid : water
dynamic viscosity of water = 8.89*`10^-4 (NS)/m^2`
Reynolds number, Re = 2100
density of water = `997 (kg)/m^3`
kinematic viscosity = dynamic viscosity/density = 8.926*`10^-7 (m^2)/S`
here we are taking a wedge in the pipe. for that part we are going to simulate the flow.we can equate the output of these simulations as the output of the entire flow in the pipe, because wedge is axi symmetric in nature with pipe. OpenFOAM is designed as a code for 3-dimensional space and defines all meshes as such. However, 1- and 2- dimensional and axi-symmetric problems can be simulated in OpenFOAM by generating a mesh in 3 dimensions and applying special boundary conditions on any patch in the plane(s) normal to the direction(s) of interest. More specifically, 1- and 2- dimensional problems use the empty patch type and axi-symmetric problems use the wedge patch type.
we have to take wedge angle less than or equal to 5 degrees. because taking of 5 degree is enough to tell that the shape is circular. by increasing the wedge angle greater than 5, the size of the cell will increase then errors gets increased. here we are going to take the above three angles and for each angle we are going to see how the primitive variables changes by comparing them with analytical changes.
first we have to write mat lab programme for hagen poiseuille equation to get the analytical values of above formulae. and then we are going to generate the blockMeshDict file in the matlab.
matlab code with symmetry boundary condition(at 10 degrees):
clear all
close all
clc
%inputs
%diamter of pipe(m)
D = 0.02;
%wedge angle
theta = 10;
%reynolds number
Re = 2100;
%entrance length
Le = 0.06*Re*D;
%length of pipe
L = 3;
%dynamic viscosity of water(NS/m^2)
dynamic_viscosity = 8.9e-4;
%density(kg/m^3)
rho = 997;
%kinematic viscosity(m^2/S)
mu = dynamic_viscosity/rho;
%average_velocity(m/s)
V = Re*mu/D;
%maximum velocity
V_max = 2*V;
%kinematic pressure drop(N/m^2)
delta_p = 32*mu*V*L/D^2;
%radius
R = linspace(0,0.01,20);
for i = 1:length(R)
%local velocity
V_local(i) = 2*V*(1-(4*R(i)^2/D^2));
%wall shear stress
tau(i) = 16*mu*rho*V*R(i)/D^2;
end
figure(1)
plot(R,V_local)
xlabel('Radius')
ylabel('local velocity')
legend('analytical velocity profile')
figure(2)
plot(R,tau)
xlabel('Radius')
ylabel('wall shear stress')
legend('analytical wall shear stress profile')
%BlockMeshdict file:
%vertices
v_0 = [0 0 0];
v_1 = [0 D/2*cosd(theta/2) D/2*sind(theta/2)];
v_2 = [0 D/2*cosd(theta/2) -D/2*sind(theta/2)];
v_3 = [L 0 0];
v_4 = [L D/2*cosd(theta/2) D/2*sind(theta/2)];
v_5 = [L D/2*cosd(theta/2) -D/2*sind(theta/2)];
%headers
h1 = '/*--------------------------------*- C++ -*----------------------------------*\';
h2 = ' ========= |';
h3 = ' \\ / F ield |';
h4 = ' \\ / O peration |';
h5 = ' \\ / A nd |';
h6 = ' \\/ M anipulation |';
h7 = '\*---------------------------------------------------------------------------*/';
%creating blockmeshdict file
f1 = fopen('blockMeshDict.text','w');
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, 'FoamFile\n%s\n','{')
fprintf(f1, '%10s %13s\n', 'version', '2.0;')
fprintf(f1, '%9s %16s\n', 'format', 'ascii;')
fprintf(f1, '%8s %22s\n', 'class', 'dictionary;')
fprintf(f1, '%9s %24s\n', 'object', 'blockMeshDict;')
fprintf(f1, '%s\n','}')
h8 = '// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //';
fprintf(f1, '%s\n',h8)
fprintf(f1, '%s %5s\n', 'convertToMeters', '1;')
fprintf(f1, 'vertices\n%s\n','(')
fprintf(f1, '\t(%d %d %d)\n',v_0)
fprintf(f1, '\t(%d %d %d)\n',v_1)
fprintf(f1, '\t(%d %d %d)\n',v_2)
fprintf(f1, '\t(%d %d %d)\n',v_3)
fprintf(f1, '\t(%d %d %d)\n',v_4)
fprintf(f1, '\t(%d %d %d)\n',v_5)
fprintf(f1, '%s\n',');')
fprintf(f1, 'blocks\n%s\n','(')
fprintf(f1, '\thex (0 3 5 2 0 3 4 1)(250 50 1)')
fprintf(f1, ' simpleGrading (1 0.2 1)\n);\n')
fprintf(f1, 'edges\n%s\n', '(')
fprintf(f1, '\tarc 1 2 (%d %d %d)\n', 0,D/2,0)
fprintf(f1, '\tarc 4 5 (%d %d %d)\n);\n', L,D/2,0)
fprintf(f1, 'boundary\n')
fprintf(f1,'%s\n','(')
fprintf(f1, '\tinlet\n')
fprintf(f1, '\t{\n')
fprintf(f1, '%15s %6s\n', 'type', 'patch;')
fprintf(f1, '%16s\n%12s\n', 'faces','(')
fprintf(f1, '\t\t(0 1 2 0)\n')
fprintf(f1, '%12s\n',');')
fprintf(f1, '\t}\n')
fprintf(f1, '\toutlet\n')
fprintf(f1, '\t{\n')
fprintf(f1, '%15s %6s\n', 'type', 'patch;')
fprintf(f1, '%16s\n%12s\n', 'faces','(')
fprintf(f1, '\t\t(3 5 4 3)\n')
fprintf(f1, '%12s\n',');')
fprintf(f1, '\t}\n')
fprintf(f1, '\ttop\n')
fprintf(f1, '\t{\n')
fprintf(f1, '%15s %6s\n', 'type', 'wall;')
fprintf(f1, '%16s\n%12s\n', 'faces','(')
fprintf(f1, '\t\t(4 5 2 1)\n')
fprintf(f1, '%12s\n',');')
fprintf(f1, '\t}\n')
fprintf(f1, '\tfront\n')
fprintf(f1, '\t{\n')
fprintf(f1, '%15s %6s\n', 'type', 'symmetry;')
fprintf(f1, '%16s\n%12s\n', 'faces','(')
fprintf(f1, '\t\t(0 3 4 1)\n')
fprintf(f1, '%12s\n',');')
fprintf(f1, '\t}\n')
fprintf(f1, '\tback\n')
fprintf(f1, '\t{\n')
fprintf(f1, '%15s %6s\n', 'type', 'symmetry;')
fprintf(f1, '%16s\n%12s\n', 'faces','(')
fprintf(f1, '\t\t(0 2 5 3)\n')
fprintf(f1, '%12s\n',');')
fprintf(f1, '\t}\n')
fprintf(f1, '\taxis\n')
fprintf(f1, '\t{\n')
fprintf(f1, '%15s %6s\n', 'type', 'empty;')
fprintf(f1, '%16s\n%12s\n', 'faces','(')
fprintf(f1, '\t\t(0 3 3 0)\n')
fprintf(f1, '%12s\n',');')
fprintf(f1, '\t}\n')
fprintf(f1, ');\n')
fprintf(f1, 'mergePatchPairs\n')
fprintf(f1, '(\n);\n')
h9 = '// ************************************************************************* //';
fprintf(f1,'%s',h9)
fclose(f1)
matlab code with wedge boundary condition(at 10 degrees):
clear all
close all
clc
%inputs
%diamter of pipe(m)
D = 0.02;
%wedge angle
theta = 10;
%reynolds number
Re = 2100;
%entrance length
Le = 0.06*Re*D;
%length of pipe
L = 3;
%dynamic viscosity of water(NS/m^2)
dynamic_viscosity = 8.9e-4;
%density(kg/m^3)
rho = 997;
%kinematic viscosity(m^2/S)
mu = dynamic_viscosity/rho;
%average_velocity(m/s)
V = Re*mu/D;
%maximum velocity
V_max = 2*V;
%kinematic pressure drop(N/m^2)
delta_p = 32*mu*V*L/D^2;
%radius
R = linspace(0,0.01,20);
for i = 1:length(R)
%local velocity
V_local(i) = 2*V*(1-(4*R(i)^2/D^2));
%wall shear stress
tau(i) = 16*mu*rho*V*R(i)/D^2;
end
figure(1)
plot(R,V_local)
xlabel('Radius')
ylabel('local velocity')
legend('analytical velocity profile')
figure(2)
plot(R,tau)
xlabel('Radius')
ylabel('wall shear stress')
legend('analytical wall shear stress profile')
%BlockMeshdict file:
%vertices
v_0 = [0 0 0];
v_1 = [0 D/2*cosd(theta/2) D/2*sind(theta/2)];
v_2 = [0 D/2*cosd(theta/2) -D/2*sind(theta/2)];
v_3 = [L 0 0];
v_4 = [L D/2*cosd(theta/2) D/2*sind(theta/2)];
v_5 = [L D/2*cosd(theta/2) -D/2*sind(theta/2)];
%headers
h1 = '/*--------------------------------*- C++ -*----------------------------------*\';
h2 = ' ========= |';
h3 = ' \\ / F ield |';
h4 = ' \\ / O peration |';
h5 = ' \\ / A nd |';
h6 = ' \\/ M anipulation |';
h7 = '\*---------------------------------------------------------------------------*/';
%creating blockmeshdict file
f1 = fopen('blockMeshDict.text','w');
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, 'FoamFile\n%s\n','{')
fprintf(f1, '%10s %13s\n', 'version', '2.0;')
fprintf(f1, '%9s %16s\n', 'format', 'ascii;')
fprintf(f1, '%8s %22s\n', 'class', 'dictionary;')
fprintf(f1, '%9s %24s\n', 'object', 'blockMeshDict;')
fprintf(f1, '%s\n','}')
h8 = '// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //';
fprintf(f1, '%s\n',h8)
fprintf(f1, '%s %5s\n', 'convertToMeters', '1;')
fprintf(f1, 'vertices\n%s\n','(')
fprintf(f1, '\t(%d %d %d)\n',v_0)
fprintf(f1, '\t(%d %d %d)\n',v_1)
fprintf(f1, '\t(%d %d %d)\n',v_2)
fprintf(f1, '\t(%d %d %d)\n',v_3)
fprintf(f1, '\t(%d %d %d)\n',v_4)
fprintf(f1, '\t(%d %d %d)\n',v_5)
fprintf(f1, '%s\n',');')
fprintf(f1, 'blocks\n%s\n','(')
fprintf(f1, '\thex (0 3 5 2 0 3 4 1)(250 50 1)')
fprintf(f1, ' simpleGrading (1 0.2 1)\n);\n')
fprintf(f1, 'edges\n%s\n', '(')
fprintf(f1, '\tarc 1 2 (%d %d %d)\n', 0,D/2,0)
fprintf(f1, '\tarc 4 5 (%d %d %d)\n);\n', L,D/2,0)
fprintf(f1, 'boundary\n')
fprintf(f1,'%s\n','(')
fprintf(f1, '\tinlet\n')
fprintf(f1, '\t{\n')
fprintf(f1, '%15s %6s\n', 'type', 'patch;')
fprintf(f1, '%16s\n%12s\n', 'faces','(')
fprintf(f1, '\t\t(0 1 2 0)\n')
fprintf(f1, '%12s\n',');')
fprintf(f1, '\t}\n')
fprintf(f1, '\toutlet\n')
fprintf(f1, '\t{\n')
fprintf(f1, '%15s %6s\n', 'type', 'patch;')
fprintf(f1, '%16s\n%12s\n', 'faces','(')
fprintf(f1, '\t\t(3 5 4 3)\n')
fprintf(f1, '%12s\n',');')
fprintf(f1, '\t}\n')
fprintf(f1, '\ttop\n')
fprintf(f1, '\t{\n')
fprintf(f1, '%15s %6s\n', 'type', 'wall;')
fprintf(f1, '%16s\n%12s\n', 'faces','(')
fprintf(f1, '\t\t(4 5 2 1)\n')
fprintf(f1, '%12s\n',');')
fprintf(f1, '\t}\n')
fprintf(f1, '\tfront\n')
fprintf(f1, '\t{\n')
fprintf(f1, '%15s %6s\n', 'type', 'wedge;')
fprintf(f1, '%16s\n%12s\n', 'faces','(')
fprintf(f1, '\t\t(0 3 4 1)\n')
fprintf(f1, '%12s\n',');')
fprintf(f1, '\t}\n')
fprintf(f1, '\tback\n')
fprintf(f1, '\t{\n')
fprintf(f1, '%15s %6s\n', 'type', 'wedge;')
fprintf(f1, '%16s\n%12s\n', 'faces','(')
fprintf(f1, '\t\t(0 2 5 3)\n')
fprintf(f1, '%12s\n',');')
fprintf(f1, '\t}\n')
fprintf(f1, '\taxis\n')
fprintf(f1, '\t{\n')
fprintf(f1, '%15s %6s\n', 'type', 'empty;')
fprintf(f1, '%16s\n%12s\n', 'faces','(')
fprintf(f1, '\t\t(0 3 3 0)\n')
fprintf(f1, '%12s\n',');')
fprintf(f1, '\t}\n')
fprintf(f1, ');\n')
fprintf(f1, 'mergePatchPairs\n')
fprintf(f1, '(\n);\n')
h9 = '// ************************************************************************* //';
fprintf(f1,'%s',h9)
fclose(f1)
Blockmeshdict file with wedge boundary conditions:
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield |
\\ / O peration |
\\ / A nd |
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1;
vertices
(
(0 0 0)
(0 9.238795e-03 3.826834e-03)
(0 9.238795e-03 -3.826834e-03)
(3 0 0)
(3 9.238795e-03 3.826834e-03)
(3 9.238795e-03 -3.826834e-03)
);
blocks
(
hex (0 3 5 2 0 3 4 1)(250 50 1) simpleGrading (1 0.2 1)
);
edges
(
arc 1 2 (0 1.000000e-02 0)
arc 4 5 (3 1.000000e-02 0)
);
boundary
(
inlet
{
type patch;
faces
(
(0 1 2 0)
);
}
outlet
{
type patch;
faces
(
(3 5 4 3)
);
}
top
{
type wall;
faces
(
(4 5 2 1)
);
}
front
{
type wedge;
faces
(
(0 3 4 1)
);
}
back
{
type wedge;
faces
(
(0 2 5 3)
);
}
axis
{
type empty;
faces
(
(0 3 3 0)
);
}
);
mergePatchPairs
(
);
controldict file:
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application icoFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 50;
deltaT 0.01;
writeControl timeStep;
writeInterval 100;
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable true;
// ************************************************************************* //
pressure with wedge boundary condition:
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ 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;
}
top
{
type zeroGradient;
}
front
{
type wedge;
}
back
{
type wedge;
}
axis
{
type empty;
}
}
// ************************************************************************* //
velocity with wedge boundary condition:
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ 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;
}
front
{
type wedge;
}
back
{
type wedge;
}
axis
{
type empty;
}
}
// ************************************************************************* //
similarly we can write matlab code for other two angles. the text files obtained from matlab for each angle are going to get copied in the run folder in openFoam and then we are going to see how the primitive variables changes with each angle.
output:
mesh with 10 degrees-

mesh with 25 degrees- mesh with 45 degreees-

at 10 degrees with symmetric boundary conditions:
pressure and velocity plots:

shear stress plot:

- the maximum velocity obtained from the openfoam is 0.186582 where as the analytical maximum velocity obtained from mtlab is 0.1875, the error is 0.000918
- the pressure drop obtained from openfoam is 0.025718 where as the analytical pressure drop obtained from matlab is 0.0201, the error is 0.005618
- the maximum wall shear stress obtained from openfoam is 0.032909 where as the analytical maximum shear stress obtained from matlab is 0.0334, the error is 0.000491
at 10 degrees with wedge boundary conditions:
pressure and velocity plots:


wall shear stress plot:

analytical plots obtained from the matlab: analytical values won't change even if we change the angle, in the analytical formulae, the primitive variables won't depend on the angle.
velocity plot-

wall shear stress plot:

- the maximum velocity obtained from the openfoam is 0.186581 where as the analytical maximum velocity obtained from mtlab is 0.1875, the error is 0.000919
- the pressure drop obtained from openfoam is 0.0257238 where as the analytical pressure drop obtained from matlab is 0.0201, the error is 0.0056238
- the maximum wall shear stress obtained from openfoam is 0.0329091 where as the analytical maximum shear stress obtained from matlab is 0.0334, the error is 0.000490
by comparing both the results with symmetric and wedge boundary conditions at 10 degrees, the results are almost same.
at 25 degrees with symmetric boundary conditions:
pressure and velocity plots:

wall shear stress plot:

- the maximum velocity obtained from the openfoam is 0.186692 where as the analytical maximum velocity obtained from mtlab is 0.1875, the error is 0.000808
- the pressure drop obtained from openfoam is 0.0265624 where as the analytical pressure drop obtained from matlab is 0.0201, the error is 0.0064624
- the maximum wall shear stress obtained from openfoam is 0.0336332 where as the analytical maximum shear stress obtained from matlab is 0.0334, the error is 0.0002332
at 25 degrees with wedge boundary conditions:
pressure and velocity plots:

wall shear stress plot:

- the maximum velocity obtained from the openfoam is 0.186692 where as the analytical maximum velocity obtained from mtlab is 0.1875, the error is 0.000808
- the pressure drop obtained from openfoam is 0.0265641 where as the analytical pressure drop obtained from matlab is 0.0201, the error is 0.0064641
- the maximum wall shear stress obtained from openfoam is 0.0336332 where as the analytical maximum shear stress obtained from matlab is 0.0334, the error is 0.0002332
by comparing both symmetric and wedge boundary conditions at 25 degrees, the error is almost same . but error gets increased with increasing angle from 10 to 25 degrees.
at 45 degrees with symmetric boundary conditions:
pressure and velocity plots:

wall shear stress plot:

- the maximum velocity obtained from the openfoam is 0.186919 where as the analytical maximum velocity obtained from mtlab is 0.1875, the error is 0.000581
- the pressure drop obtained from openfoam is 0.0290308 where as the analytical pressure drop obtained from matlab is 0.0201, the error is 0.0089308
- the maximum wall shear stress obtained from openfoam is 0.0352642 where as the analytical maximum shear stress obtained from matlab is 0.0334, the error is 0.0018642
at 45 degrees with wedge boundary conditions:
pressure and velocity plots:

wall shear stress:

- the maximum velocity obtained from the openfoam is 0.186919 where as the analytical maximum velocity obtained from mtlab is 0.1875, the error is 0.000581
- the pressure drop obtained from openfoam is 0.0290388 where as the analytical pressure drop obtained from matlab is 0.0201, the error is 0.0.0089388
- the maximum wall shear stress obtained from openfoam is 0.0354713 where as the analytical maximum shear stress obtained from matlab is 0.0334, the error is 0.0020713.
by comparing both the results with symmetric and wedge boundary conditions at 45 degrees, the error obtained using symmetric boundary condition is less compared with using of wedge boundary condition. but the error keeps on increaing with increasing angle from 25 to 45 degrees. with this we conclude that error in primitive variables increases with increase in angle.
Differences in both symmetric and wedge boundary conditions in terms of their usage and aplication:
- with the increase of wedge angle, by using of symmetric boundary conditions the error in primitive variables is less compared to using of wedge boundary condition.
- the execution time for wedge boundary condition is higher compared to symmetric boundary condition.
- with the increase in wedge angle, the error in maximum velocity gets decreased in both wedge and symmetric boundary conditions.
- we can use symmetric boundary conditions for all the mirror planes, but we can use wedge boundary condition for only axi symmetric planes.