Week 12 - Symmetry vs Wedge vs HP equation
The Derivation of Hagen-Poissuille flow and simulation of fluid flow in pipe using wedge boundary condition is done in the project with the link
Simulation of fluid flow in pipe using wedge boundary condition
Wedge boundary condition:-
Wedge boundary condition is excellent for axisymmetric geometry but facilitates only for angle values till 5 degree and not more than this. But if any intricacy in an axisymmetric boundary requires the angle to be more than 5 degrees, then wedge boundary condition cannot be used. Scenarios such as this happen when a particular obstacle pressent is not symmetric about the axis but to capture it in the geometry, the angle needs to be more than 5 degrees.
This is the only limitation for wedge boundary condition.
Symmetry boundary condition:-
It encompasses the limitations of wedge boundary condition. But what it makes up in accuracy and intricacy, it loses in efficiency. To demonstrate this, the same fluid flow will be simulated in a pipe using symmetry boundary condition.
By applying symmetry boundary condition, functions are coded differently than it was for wedge boundary condition
Note:- Coding for functions for transport Properties file, ControlDict file is the same as that done for wedge boundary condition but files for blockMeshDict and pressure condition changes and hence coding for its matlab function changes as shown. The velocity file is as well different but a code from matlab is not applied since with change in angle for symmetry the velocity file does not change.
1)BlockMesh
function []=blockMesh_sector_function(r,L,theta,text_address,no_x,no_y,no_z,x_grading,y_grading,z_grading)
h=r*cosd(theta);
b=r*sind(theta);
f1=fopen(text_address,'w');
fprintf(f1,'/*--------------------------------*- C++ -*----------------------------------*\');
fprintf(f1,'\n')
fprintf(f1,' ========= |')
fprintf(f1,'\n')
fprintf(f1,' \\ / F ield | OpenFOAM: The Open Source CFD Toolbox')
fprintf(f1,'\n')
fprintf(f1,' \\ / O peration | Website: https://openfoam.org')
fprintf(f1,'\n')
fprintf(f1,' \\ / A nd | Version: 7')
fprintf(f1,'\n')
fprintf(f1,' \\/ M anipulation |')
fprintf(f1,'\n')
fprintf(f1,'/*---------------------------------------------------------------------------*/')
fprintf(f1,'\n')
fprintf(f1,'FoamFile')
fprintf(f1,'\n')
fprintf(f1,'{')
fprintf(f1,'\n')
fprintf(f1,' version 2.0;')
fprintf(f1,'\n')
fprintf(f1,' format ascii;')
fprintf(f1,'\n')
fprintf(f1,' class dictionary;')
fprintf(f1,'\n')
fprintf(f1,' object blockMeshDict;')
fprintf(f1,'\n')
fprintf(f1,'}')
fprintf(f1,'\n')
fprintf(f1,'// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //')
fprintf(f1,'\n')
fprintf(f1,'\n')
fprintf(f1,'convertToMeters 1;')
fprintf(f1,'\n')
fprintf(f1,'\n')
%Defining of vertices
fprintf(f1,'vertices')
fprintf(f1,'\n')
fprintf(f1,'(')
fprintf(f1,'\n')
fprintf(f1,' (0 0 0)')
fprintf(f1,'\n')
fprintf(f1,' (0 %10.10f %10.10f)',h,-b)
fprintf(f1,'\n')
fprintf(f1,' (0 %10.10f %10.10f)',h,b)
fprintf(f1,'\n')
fprintf(f1,' (%3.3f 0 0)',L)
fprintf(f1,'\n')
fprintf(f1,' (%3.3f %10.10f %10.10f)',L,h,-b)
fprintf(f1,'\n')
fprintf(f1,' (%3.3f %10.10f %10.10f)',L,h,b)
fprintf(f1,'\n')
fprintf(f1,');')
%End of Defining vertices
%Defining blocks
fprintf(f1,'\n')
fprintf(f1,'\n')
fprintf(f1,'blocks')
fprintf(f1,'\n')
fprintf(f1,'(')
fprintf(f1,'\n')
fprintf(f1,' hex (0 3 4 1 0 3 5 2) (%.0f %.0f %.0f) simpleGrading (%f %f %f)',no_x,no_y,no_z,x_grading,y_grading,z_grading)
fprintf(f1,'\n')
fprintf(f1,');')
%Definition of blocks ends
%defining of edges starts
fprintf(f1,'\n')
fprintf(f1,'\n')
fprintf(f1,'edges')
fprintf(f1,'\n')
fprintf(f1,'(')
fprintf(f1,'\n')
fprintf(f1,'arc 1 2 (0 %10.3f 0)',r)
fprintf(f1,'\n')
fprintf(f1,'arc 4 5 (%3.3f %10.3f 0)',L,r)
fprintf(f1,'\n')
fprintf(f1,');')
%defining of edges ends
%defining of Boundary starts
fprintf(f1,'\n')
fprintf(f1,'\n')
fprintf(f1,'boundary')
fprintf(f1,'\n')
fprintf(f1,'(')
fprintf(f1,'\n')
fprintf(f1,' inletWall')
fprintf(f1,'\n')
fprintf(f1,' {')
fprintf(f1,'\n')
fprintf(f1,' type patch;')
fprintf(f1,'\n')
fprintf(f1,' faces')
fprintf(f1,'\n')
fprintf(f1,' (')
fprintf(f1,'\n')
fprintf(f1,' (0 0 2 1)')
fprintf(f1,'\n')
fprintf(f1,' );')
fprintf(f1,'\n')
fprintf(f1,' }')
fprintf(f1,'\n')
fprintf(f1,' outletWall')
fprintf(f1,'\n')
fprintf(f1,' {')
fprintf(f1,'\n')
fprintf(f1,' type patch;')
fprintf(f1,'\n')
fprintf(f1,' faces')
fprintf(f1,'\n')
fprintf(f1,' (')
fprintf(f1,'\n')
fprintf(f1,' (3 4 5 3)')
fprintf(f1,'\n')
fprintf(f1,' );')
fprintf(f1,'\n')
fprintf(f1,' }')
fprintf(f1,'\n')
fprintf(f1,' fixedWalls')
fprintf(f1,'\n')
fprintf(f1,' {')
fprintf(f1,'\n')
fprintf(f1,' type wall;')
fprintf(f1,'\n')
fprintf(f1,' faces')
fprintf(f1,'\n')
fprintf(f1,' (')
fprintf(f1,'\n')
fprintf(f1,' (4 1 2 5)')
fprintf(f1,'\n')
fprintf(f1,' );')
fprintf(f1,'\n')
fprintf(f1,' }')
fprintf(f1,'\n')
fprintf(f1,' front')
fprintf(f1,'\n')
fprintf(f1,' {')
fprintf(f1,'\n')
fprintf(f1,' type symmetryPlane;')
fprintf(f1,'\n')
fprintf(f1,' faces')
fprintf(f1,'\n')
fprintf(f1,' (')
fprintf(f1,'\n')
fprintf(f1,' (0 3 5 2)')
fprintf(f1,'\n')
fprintf(f1,' );')
fprintf(f1,'\n')
fprintf(f1,' }')
fprintf(f1,'\n')
fprintf(f1,' Back')
fprintf(f1,'\n')
fprintf(f1,' {')
fprintf(f1,'\n')
fprintf(f1,' type symmetryPlane;')
fprintf(f1,'\n')
fprintf(f1,' faces')
fprintf(f1,'\n')
fprintf(f1,' (')
fprintf(f1,'\n')
fprintf(f1,' (0 1 4 3)')
fprintf(f1,'\n')
fprintf(f1,' );')
fprintf(f1,'\n')
fprintf(f1,' }')
fprintf(f1,'\n')
fprintf(f1,' axis')
fprintf(f1,'\n')
fprintf(f1,' {')
fprintf(f1,'\n')
fprintf(f1,' type empty;')
fprintf(f1,'\n')
fprintf(f1,' faces')
fprintf(f1,'\n')
fprintf(f1,' (')
fprintf(f1,'\n')
fprintf(f1,' (0 3 3 0)')
fprintf(f1,'\n')
fprintf(f1,' );')
fprintf(f1,'\n')
fprintf(f1,' }')
fprintf(f1,'\n')
fprintf(f1,'\n')
fprintf(f1,');')
fprintf(f1,'\n')
fprintf(f1,'\n')
fprintf(f1,'mergePatchPairs')
fprintf(f1,'\n')
fprintf(f1,'(')
fprintf(f1,'\n')
fprintf(f1,');')
fprintf(f1,'\n')
fprintf(f1,'\n')
fprintf(f1,'// ************************************************************************* //')
fclose(f1)
endfunction
2)Pressure file
function []=Pressure_function_wedge(dp,text_address)
pend=0;
p0=pend+dp;
f1=fopen(text_address,'w');
fprintf(f1,'/*--------------------------------*- C++ -*----------------------------------*\');
fprintf(f1,'\n')
fprintf(f1,' ========= |')
fprintf(f1,'\n')
fprintf(f1,' \\ / F ield | OpenFOAM: The Open Source CFD Toolbox')
fprintf(f1,'\n')
fprintf(f1,' \\ / O peration | Website: https://openfoam.org')
fprintf(f1,'\n')
fprintf(f1,' \\ / A nd | Version: 7')
fprintf(f1,'\n')
fprintf(f1,' \\/ M anipulation |')
fprintf(f1,'\n')
fprintf(f1,'/*---------------------------------------------------------------------------*/')
fprintf(f1,'\n')
fprintf(f1,'FoamFile')
fprintf(f1,'\n')
fprintf(f1,'{')
fprintf(f1,'\n')
fprintf(f1,' version 2.0;')
fprintf(f1,'\n')
fprintf(f1,' format ascii;')
fprintf(f1,'\n')
fprintf(f1,' class volScalarField;')
fprintf(f1,'\n')
fprintf(f1,' object p;')
fprintf(f1,'\n')
fprintf(f1,'}')
fprintf(f1,'\n')
fprintf(f1,'// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //')
fprintf(f1,'\n')
fprintf(f1,'\n')
fprintf(f1,'dimensions [0 2 -2 0 0 0 0];')
fprintf(f1,'\n')
fprintf(f1,'\n')
fprintf(f1,'internalField uniform 0;')
fprintf(f1,'\n')
fprintf(f1,'\n')
fprintf(f1,'boundaryField')
fprintf(f1,'\n')
fprintf(f1,'{')
fprintf(f1,'\n')
fprintf(f1,' inletWall')
fprintf(f1,'\n')
fprintf(f1,' {')
fprintf(f1,'\n')
fprintf(f1,' type fixedValue;')
fprintf(f1,'\n')
fprintf(f1,' value uniform %5.10f;',p0)
fprintf(f1,'\n')
fprintf(f1,' }')
fprintf(f1,'\n')
fprintf(f1,' outletWall')
fprintf(f1,'\n')
fprintf(f1,' {')
fprintf(f1,'\n')
fprintf(f1,' type fixedValue;')
fprintf(f1,'\n')
fprintf(f1,' value uniform %1.3f;',pend)
fprintf(f1,'\n')
fprintf(f1,' }')
fprintf(f1,'\n')
fprintf(f1,' fixedWalls')
fprintf(f1,'\n')
fprintf(f1,' {')
fprintf(f1,'\n')
fprintf(f1,' type zeroGradient;')
fprintf(f1,'\n')
fprintf(f1,' }')
fprintf(f1,'\n')
fprintf(f1,' front')
fprintf(f1,'\n')
fprintf(f1,' {')
fprintf(f1,'\n')
fprintf(f1,' type symmetryPlane;')
fprintf(f1,'\n')
fprintf(f1,' }')
fprintf(f1,'\n')
fprintf(f1,' Back')
fprintf(f1,'\n')
fprintf(f1,' {')
fprintf(f1,'\n')
fprintf(f1,' type symmetryPlane;')
fprintf(f1,'\n')
fprintf(f1,' }')
fprintf(f1,'\n')
fprintf(f1,' axis')
fprintf(f1,'\n')
fprintf(f1,' {')
fprintf(f1,'\n')
fprintf(f1,' type empty;')
fprintf(f1,'\n')
fprintf(f1,' }')
fprintf(f1,'\n')
fprintf(f1,'\n')
fprintf(f1,' }')
fprintf(f1,'\n')
fprintf(f1,'\n')
fprintf(f1,'// ************************************************************************* //')
fclose(f1)
endfunction
3)Main coding
clear all
close all
clc
%water is chosen
viscosity=1.002*10^-3;
density=998;
nu=viscosity/density
Re=1000;
R=0.05;
L=0.06*Re*2*R
dp=(4*(viscosity^2)*L*Re)/(density^2*(R^3))
theta=45
%Expected result
vmax=(nu*Re)/R
dx=0.05
dy=0.002
dz=0.002
approx_CFL=0.01;
dt_approx=approx_CFL*dx/vmax
dt=0.01 %selected
predicted_CFL=vmax*dt/dx
%Meshing
no_x=ceil(L/dx)
no_y=ceil(R/dy)
no_z=ceil(2*R*sind(theta/2)/dz)
x_grading=1;
y_grading=0.5;
z_grading=1;
%ControlDict
tend=2000;
interval=1000;
if theta==10
text_address='/home/siddhesh/OpenFOAM/siddhesh-7/run/pipeflow/symmetry_boundary/angle_10/system/blockMeshDict';
blockMesh_sector_function(R,L,theta,text_address,no_x,no_y,no_z,x_grading,y_grading,z_grading)
text_address='/home/siddhesh/OpenFOAM/siddhesh-7/run/pipeflow/symmetry_boundary/angle_10/system/controlDict';
ControlDict_function(tend,dt,interval,text_address)
text_address='/home/siddhesh/OpenFOAM/siddhesh-7/run/pipeflow/symmetry_boundary/angle_10/0/p';
Pressure_function_wedge(dp,text_address)
text_address='/home/siddhesh/OpenFOAM/siddhesh-7/run/pipeflow/symmetry_boundary/angle_10/constant/transportProperties';
transport_properties_function(nu,text_address)
endif
if theta==25
text_address='/home/siddhesh/OpenFOAM/siddhesh-7/run/pipeflow/symmetry_boundary/angle_25/system/blockMeshDict';
blockMesh_sector_function(R,L,theta,text_address,no_x,no_y,no_z,x_grading,y_grading,z_grading)
text_address='/home/siddhesh/OpenFOAM/siddhesh-7/run/pipeflow/symmetry_boundary/angle_25/system/controlDict';
ControlDict_function(tend,dt,interval,text_address)
text_address='/home/siddhesh/OpenFOAM/siddhesh-7/run/pipeflow/symmetry_boundary/angle_25/0/p';
Pressure_function_wedge(dp,text_address)
text_address='/home/siddhesh/OpenFOAM/siddhesh-7/run/pipeflow/symmetry_boundary/angle_25/constant/transportProperties';
transport_properties_function(nu,text_address)
endif
if theta==45
text_address='/home/siddhesh/OpenFOAM/siddhesh-7/run/pipeflow/symmetry_boundary/angle_45/system/blockMeshDict';
blockMesh_sector_function(R,L,theta,text_address,no_x,no_y,no_z,x_grading,y_grading,z_grading)
text_address='/home/siddhesh/OpenFOAM/siddhesh-7/run/pipeflow/symmetry_boundary/angle_45/system/controlDict';
ControlDict_function(tend,dt,interval,text_address)
text_address='/home/siddhesh/OpenFOAM/siddhesh-7/run/pipeflow/symmetry_boundary/angle_45/0/p';
Pressure_function_wedge(dp,text_address)
text_address='/home/siddhesh/OpenFOAM/siddhesh-7/run/pipeflow/symmetry_boundary/angle_45/constant/transportProperties';
transport_properties_function(nu,text_address)
endif
BlockMesh files
Angle=10
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\ / O peration | Website: https://openfoam.org
\ / A nd | Version: 7
\/ M anipulation |
/*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1;
vertices
(
(0 0 0)
(0 0.0492403877 -0.0086824089)
(0 0.0492403877 0.0086824089)
(6.000 0 0)
(6.000 0.0492403877 -0.0086824089)
(6.000 0.0492403877 0.0086824089)
);
blocks
(
hex (0 3 4 1 0 3 5 2) (120 25 5) simpleGrading (1.000000 0.500000 1.000000)
);
edges
(
arc 1 2 (0 0.050 0)
arc 4 5 (6.000 0.050 0)
);
boundary
(
inletWall
{
type patch;
faces
(
(0 0 2 1)
);
}
outletWall
{
type patch;
faces
(
(3 4 5 3)
);
}
fixedWalls
{
type wall;
faces
(
(4 1 2 5)
);
}
front
{
type symmetryPlane;
faces
(
(0 3 5 2)
);
}
Back
{
type symmetryPlane;
faces
(
(0 1 4 3)
);
}
axis
{
type empty;
faces
(
(0 3 3 0)
);
}
);
mergePatchPairs
(
);
// ************************************************************************* //
Angle=25
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\ / O peration | Website: https://openfoam.org
\ / A nd | Version: 7
\/ M anipulation |
/*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1;
vertices
(
(0 0 0)
(0 0.0453153894 -0.0211309131)
(0 0.0453153894 0.0211309131)
(6.000 0 0)
(6.000 0.0453153894 -0.0211309131)
(6.000 0.0453153894 0.0211309131)
);
blocks
(
hex (0 3 4 1 0 3 5 2) (120 25 11) simpleGrading (1.000000 0.500000 1.000000)
);
edges
(
arc 1 2 (0 0.050 0)
arc 4 5 (6.000 0.050 0)
);
boundary
(
inletWall
{
type patch;
faces
(
(0 0 2 1)
);
}
outletWall
{
type patch;
faces
(
(3 4 5 3)
);
}
fixedWalls
{
type wall;
faces
(
(4 1 2 5)
);
}
front
{
type symmetryPlane;
faces
(
(0 3 5 2)
);
}
Back
{
type symmetryPlane;
faces
(
(0 1 4 3)
);
}
axis
{
type empty;
faces
(
(0 3 3 0)
);
}
);
mergePatchPairs
(
);
Angle=45
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\ / O peration | Website: https://openfoam.org
\ / A nd | Version: 7
\/ M anipulation |
/*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1;
vertices
(
(0 0 0)
(0 0.0353553391 -0.0353553391)
(0 0.0353553391 0.0353553391)
(6.000 0 0)
(6.000 0.0353553391 -0.0353553391)
(6.000 0.0353553391 0.0353553391)
);
blocks
(
hex (0 3 4 1 0 3 5 2) (120 25 20) simpleGrading (1.000000 0.500000 1.000000)
);
edges
(
arc 1 2 (0 0.050 0)
arc 4 5 (6.000 0.050 0)
);
boundary
(
inletWall
{
type patch;
faces
(
(0 0 2 1)
);
}
outletWall
{
type patch;
faces
(
(3 4 5 3)
);
}
fixedWalls
{
type wall;
faces
(
(4 1 2 5)
);
}
front
{
type symmetryPlane;
faces
(
(0 3 5 2)
);
}
Back
{
type symmetryPlane;
faces
(
(0 1 4 3)
);
}
axis
{
type empty;
faces
(
(0 3 3 0)
);
}
);
mergePatchPairs
(
);
// ************************************************************************* //
Pressure file
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\ / O peration | Website: https://openfoam.org
\ / A nd | Version: 7
\/ M anipulation |
/*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0;
boundaryField
{
inletWall
{
type fixedValue;
value uniform 0.0001935422;
}
outletWall
{
type fixedValue;
value uniform 0.000;
}
fixedWalls
{
type zeroGradient;
}
front
{
type symmetryPlane;
}
Back
{
type symmetryPlane;
}
axis
{
type empty;
}
}
// ************************************************************************* //
Velocity file(manual input)
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 7
\\/ 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
{
inletWall
{
type pressureInletVelocity;
value uniform (0 0 0);
}
outletWall
{
type zeroGradient;
}
fixedWalls
{
type noSlip;
}
front
{
type symmetryPlane;
}
Back
{
type symmetryPlane;
}
axis
{
type empty;
}
}
// ************************************************************************* //
Output:-
Angle=10
Meshed body
CFL number calculated under the code run by openFoam
CFl number=0.00395846
Velocity Contour
Velocity profile along the crosssection
Vmax=0.0197923m/s
Shear Stress Profile
Maximum Shear Stress=0.000750276 N/`m^2`
Angle=25
Meshed Body
CFL number calculation done by the software:-
Maximum CFL number=0.00395761
Velocity Contour
Velocity Profile across the cross-section
Vmax=0.0197881m/s
Shear Stress profile across the cross-section
Maximum Shear Stress=0.000751681N/`m^2`
Angle=45
Meshed Body
CFL number calculated under the code run by openFoam
CFL number=0.00395767
Velocity contour in the pipe
Velocity Profile across the cross-section
Vmax=0.0197884m/s
Shear Stress profile across the cross-section
Maximum Shear Stress=0.000751691N/`m^2`
Comparison:-
Table:1
Comparison of Maximum Velocity values and Maximum CFL numbers for theoretical values and Simulation values using wedge and symmetry plane boundary condition
Comparison of Maximum Shear Stress and Simulation clock time for theoretical values and Simulation values using wedge and symmetry plane boundary condition
Conclusion:-
Derivation of Hagen-Poiseuille equation and simulation of the fluid flow through the pipe using wedge boundary condition was done in the previous project for which the link has been given. In this project simulation was performed using symmetryPlane boundary condition for three angles; namely `10^circ,25^circ`and `45^circ`
All the initial condition of pressure values, radius and length of the pipe are the same for wedge case as well as symmetry plane boundary condition cases. The simulation reaches steady state has been verified by continuing simulation more than 2000 seconds. It was found that the simulation in all the cases reaches steady state at 2000 seconds. Now the point to be observed are error in maximum velocity values and the clock time to reach those values. Note that the time till which transient simulation is input to run and the actual time it takes to complete simulation till that simulation time limit are two different things. So clocktime here is the time taken to run complete simulation till designated time value , which here is 2000s, for each of the different cases of boundary condition.
Now the error in maximum velocity value is the most for wedge boundary condition but does not fare much farther than least of the errors among the cases using symmetry boundary condition. But the time taken to run symmetry plane boundary condition for wedge of angle 45 degrees is enormous which in the end resulted little increase in accuracy in comparison to same simulation using wedge boundary condition. Wedge boundary condtion solves the simulation in 1.1 hours with 1.79 percent accuracy but the simulation using symmetry boundary condition for angle 10 is solved in 2.55 hours with 1.55 percent accuracy.
So the basic conclusion that can be drawn is that greater the wedge angle, more will be the time to complete the simulation. So the lowest wedge angle that can be employed is using wedge boundary condition less than 5 degrees. And to increase the accuracy the meshing can be increased with effective mesh grading employed. This will make the simulation most efficient. Wedge boundary condition is the way to go. Employing symmetry plane boundary condition for little increase in accuracy at the cost of efficiency is not the prudent way to go.
But symmetry boundary condition is to be employed to capture intricacies in axi-symmetric bodies not feasible if the wedge angle is less than 5 degrees. This is observed when an obstacle is in place in the axisymmetric body which is irregular in shape and require 25 degree or 45 degree or more than that to set the condition for simulation. But since here angle is greater is than 5 degrees, wedge boundary condition cannot be employed and symmetry boundary condition has to be employed. But it has to be ensured that the wedge angle is as low as possible to keep the efficiency at a maximum.
The shear stress profile and maximum can be improved in accuracy by making mesh finer near the walls. The accuracy is almost the same in terms of shear stress values for all the cases. But with wedge boundary condition coupled with finer grading of mesh near the walls can be employed which will increase the overall accuracy with maximum efficiency.