Week 12 - Validation studies of Symmetry BC vs Wedge BC in OpenFOAM vs Analytical H.P equation
Aim: To simulate the Hagen Poiseuille flow with angles of 10,24 and 45 degree for both wedge and symmetry boundary conditions
- 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
Theory:
- Wedge Boundary Condition: It is applied in 2-D rotationally symmetric cases(i.e axi-symmetric eg:cylinder) in the direction of flow.This boundary condition is selected on two sides of the domain separated by single layer of cells.
- Symmetry Boundary Condition:It is applied to planar patches to represent symmetry conditions.The displacemetn of the face for ehich this condition is applied will be locked in the perpendicular direction but will be free to have a tangential movement.
Operating Conditions:
Reynolds Number:2100
Average Velocity: 0.072m/s
Max Velocity:0.1404m/s
pipe dia:0.03m
fluid:water
density of water:997`(kg)/m^3`
kinematic viscosity of water=1.003*`10^(-6) m^2 /s`
Hydro dynamic entry length=3.78m
Changing the block Mesh file:
- blockMeshDict for wedge 10 degree:
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 9
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1 ;
vertices
(
(0 0 0)
(0 1.494292e-02 1.307336e-03)
(0 1.494292e-02 -1.307336e-03)
(4.780000e+00 0 0)
(4.780000e+00 1.494292e-02 1.307336e-03)
(4.780000e+00 1.494292e-02 -1.307336e-03)
);
blocks
(
hex (0 3 5 2 0 3 4 1) (200 21 1) simpleGrading ( 1 0.2 1)
);
edges
(
arc 1 2 (0 1.500000e-02 0)
arc 4 5 (4.780000e+00 1.500000e-02 0)
);
boundary
(
axis
{
type empty ;
faces
(
(0 3 3 0)
);
}
wall
{
type wall ;
faces
(
(1 4 5 2)
);
}
inlet
{
type patch ;
faces
(
(0 1 2 0)
);
}
outlet
{
type patch ;
faces
(
(3 5 4 3)
);
}
front
{
type wedge ;
faces
(
(0 3 4 1)
);
}
back
{
type wedge ;
faces
(
(0 2 5 3)
);
}
);
mergePatchPairs
(
);
// ************************************************************************* //
- blockMeshDict for wedge 25 degree:
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 9
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1;
vertices
(
(0 0 0)
(0 1.464444e-02 3.246594e-03)
(0 1.464444e-02 -3.246594e-03)
(4.780000e+00 0 0)
(4.780000e+00 1.464444e-02 3.246594e-03)
(4.780000e+00 1.464444e-02 -3.246594e-03)
);
blocks
(
hex (0 3 5 2 0 3 4 1) (200 21 1) simpleGrading (1 0.2 1)
);
edges
(
arc 1 2 (0 1.500000e-02 0)
arc 4 5 (4.780000e+00 1.500000e-02 0)
);
boundary
(
axis
{
type empty ;
faces
(
(0 3 3 0)
);
}
wall
{
type wall ;
faces
(
(1 4 5 2)
);
}
inlet
{
type patch ;
faces
(
(0 1 2 0)
);
}
outlet
{
type patch ;
faces
(
(3 5 4 3)
);
}
front
{
type wedge ;
faces
(
(0 3 4 1)
);
}
back
{
type wedge ;
faces
(
(0 2 5 3)
);
}
);
mergePatchPairs
(
);
// ************************************************************************* //
- blockMeshDict for wedge 45 degree:
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 9
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1;
vertices
(
(0 0 0)
(0 1.385819e-02 5.740251e-03)
(0 1.385819e-02 -5.740251e-03)
(4.780000e+00 0 0)
(4.780000e+00 1.385819e-02 5.740251e-03)
(4.780000e+00 1.385819e-02 -5.740251e-03)
);
blocks
(
hex (0 3 5 2 0 3 4 1) (200 21 1) simpleGrading (1 0.2 1)
);
edges
(
arc 1 2 (0 1.500000e-02 0)
arc 4 5 (4.780000e+00 1.500000e-02 0)
);
boundary
(
axis
{
type empty ;
faces
(
(0 3 3 0)
);
}
wall
{
type wall ;
faces
(
(1 4 5 2)
);
}
inlet
{
type patch ;
faces
(
(0 1 2 0)
);
}
outlet
{
type patch ;
faces
(
(3 5 4 3)
);
}
front
{
type wedge ;
faces
(
(0 3 4 1)
);
}
back
{
type wedge ;
faces
(
(0 2 5 3)
);
}
);
mergePatchPairs
(
);
// ************************************************************************* //
- blockMeshDict for symmetry 10 degree:
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 9
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1;
vertices
(
(0 0 0)
(0 1.494292e-02 1.307336e-03)
(0 1.494292e-02 -1.307336e-03)
(4.780000e+00 0 0)
(4.780000e+00 1.494292e-02 1.307336e-03)
(4.780000e+00 1.494292e-02 -1.307336e-03)
);
blocks
(
hex (0 3 5 2 0 3 4 1) (200 21 1) simpleGrading (1 0.2 1)
);
edges
(
arc 1 2 (0 1.500000e-02 0)
arc 4 5 (4.780000e+00 1.500000e-02 0)
);
boundary
(
axis
{
type empty ;
faces
(
(0 3 3 0)
);
}
wall
{
type wall ;
faces
(
(1 4 5 2)
);
}
inlet
{
type patch ;
faces
(
(0 1 2 0)
);
}
outlet
{
type patch ;
faces
(
(3 5 4 3)
);
}
front
{
type symmetry ;
faces
(
(0 3 4 1)
);
}
back
{
type symmetry;
faces
(
(0 2 5 3)
);
}
);
mergePatchPairs
(
);
// ************************************************************************* //
- blockMeshDict for symmetry 25 degree:
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 9
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1;
vertices
(
(0 0 0)
(0 1.464444e-02 3.246594e-03)
(0 1.464444e-02 -3.246594e-03)
(4.780000e+00 0 0)
(4.780000e+00 1.464444e-02 3.246594e-03)
(4.780000e+00 1.464444e-02 -3.246594e-03)
);
blocks
(
hex (0 3 5 2 0 3 4 1) (200 21 1) simpleGrading (1 0.2 1)
);
edges
(
arc 1 2 (0 1.500000e-02 0)
arc 4 5 (4.780000e+00 1.500000e-02 0)
);
boundary
(
axis
{
type empty ;
faces
(
(0 3 3 0)
);
}
wall
{
type wall ;
faces
(
(1 4 5 2)
);
}
inlet
{
type patch ;
faces
(
(0 1 2 0)
);
}
outlet
{
type patch ;
faces
(
(3 5 4 3)
);
}
front
{
type symmetry ;
faces
(
(0 3 4 1)
);
}
back
{
type symmetry;
faces
(
(0 2 5 3)
);
}
);
mergePatchPairs
(
);
// ************************************************************************* //
- blockMeshDict for symmetry 45 degree:
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 9
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1;
vertices
(
(0 0 0)
(0 1.385819e-02 5.740251e-03)
(0 1.385819e-02 -5.740251e-03)
(4.780000e+00 0 0)
(4.780000e+00 1.385819e-02 5.740251e-03)
(4.780000e+00 1.385819e-02 -5.740251e-03)
);
blocks
(
hex (0 3 5 2 0 3 4 1) (200 21 1) simpleGrading (1 0.2 1)
);
edges
(
arc 1 2 (0 1.500000e-02 0)
arc 4 5 (4.780000e+00 1.500000e-02 0)
);
boundary
(
axis
{
type empty ;
faces
(
(0 3 3 0)
);
}
wall
{
type wall ;
faces
(
(1 4 5 2)
);
}
inlet
{
type patch ;
faces
(
(0 1 2 0)
);
}
outlet
{
type patch ;
faces
(
(3 5 4 3)
);
}
front
{
type symmetry ;
faces
(
(0 3 4 1)
);
}
back
{
type symmetry;
faces
(
(0 2 5 3)
);
}
);
mergePatchPairs
(
);
// ************************************************************************* //
Geometries:
- wedge 10 degree:

- wedge 25 degree:

- wedge 45 degree:

- symmetry 10 degree:

- symmetry 25 degree:

- symmetry 45 degree:

Plots:
- Comparison of velocity for given wedge angles:

- Comparison of velocity for given symmetry angles:

- Comparison of velocity for 10 degree between wedge and symmetry:

- Comparison of velocity for 25 degree between wedge and symmetry:

- Comparison of velocity for 45 degree between wedge and symmetry:

- Comparison of pressure for given wedge angles:

- Comparison of pressure for given symmetry angles:

- Comparison of pressure for 10 degree between wedge and symmetry:

- Comparison of pressure for 25 degree between wedge and symmetry:

- Comparison of pressure for 45 degree between wedge and symmetry:

Observations:
- The entry length can be validated directly from the graph where all our plots have same trend and th evelocity follows a flat trend.
- The velocity profile follows same trend irrespective of the type of boundary condition used or angle attained to.But as the angle increases ,there are chnges in the trend by slight variations .This is mostly due to increasein the size of the cell and impacts the values computed across the faces and in center f cell.
- The effect of size of cells can be clearly seen in the Pressure variations graphs.
- The type of boundary conditon is effective only for wedge angle less than 5 degree since no much variaiton is seen between wedge and symmetry boundary conditions for angles greater than 5 degree.Also the wedge boundary condition takes care of the rotational effect of the flow across the axis and has better correlation with the analytical solution.
- Shear stress plot is same for all the graphs since the stress plotted at centerline is zero till hydrodynamic entry length.
Conclusions:
The assignment for the week was done understanding the difference between the boundary conditons.Though the symmetric conditons gave more stable results for greater wedge angles , the wedge conditon gives solution closer to the analytical answers but on a conditon that the wedge angle is smaller .