Challenge

Week 12 - Symmetry vs Wedge vs HP equation

Simulation of flow through the pipe in open Foam:

In this challenge, we are going to change the wedge angles as 10,25 and 45 degrees. the other changes are made in the block mesh Dict, pressure, and velocity files.

Entrance length:

The length of the entrance is the distance that fluid travels after entering a pipe before the full development of the flow. Entrance length refers to the length of the entry region, where effects from the pipe's interior wall spread as an expanding boundary layer into the flow. When the boundary layer extends to fill the entire pipe, the flow grows into a fully developed flow where the flow characteristics no longer change with increased distance along the pipe. To define a variety of flow conditions, there are many different entrance lengths.

Hydrodynamic entrance length:

The hydrodynamic entrance region refers to the area of a pipe where fluid entering a pipe develops a velocity profile due to viscous forces spreading from a pipe's interior wall. This region has a non-uniform flow. The fluid enters a pipe at a constant speed, so fluid particles in the layer in contact with the pipe's surface come to a complete stop because of the no-slip rule. The layer in contact with the pipe surface is resistant to the acceleration of neighboring layers due to viscous forces within the fluid and slowly slows down adjacent layers of fluid, creating a velocity profile. To keep the mass true, the speed of the fluid layers in the center of the pipe increases to compensate for the reduced speed of the fluid layers near the surface of the pipe. It creates a gradient of velocity across the pipe cross-section.

Entry length for the laminar flow is

`L_e =0.06 times R_e timesD`

Entry length for the laminar flow is

`L_e =4.4 times R_e^0.166 times D`

To do the simulation we need to find properties using some variables. Those are Hagen Poiseuille equations.

Variables :

Diameter ,D = 0.004

Radius, r = 0.002

Radial Distance, R = 0 to r

Dynamic viscosity, mu = 0.00089 N/m^2

Density, rho = 997 kg/m^3

Reyonlds number, Re =2100

Hagen–Poiseuille equation

In nonideal fluid dynamic, the Hagen–Poiseuille equation, also known as the Hagen–Poiseuille law, Poiseuille law or Poiseuille equation, is a physical law that gives the pressure drop in an incompressible and Newtonian fluid in laminar flow flowing through a long cylindrical pipe of constant cross section.

Formulaes

Avaerage velocity - `V_(avg) = (R_e times mu)/(rho times D)`

Maximum Velocity - `V_(max) = 2 times V_(avg)`

Pressure difference - `DeltaP =(8 times mu times L times V_(avg))/r^2`

Kinematic Pressure difference - `DeltaP_k = (DeltaP)/rho`

Shear Stress - `tau = (2 times mu times V_(max) times R)/r^2`

Program:

  1. In the task of generating the blockMeshDict file which generates the mesh file in the OpenFOAM tool for that, we need to write code.
  2. We also included the codes producing the analytical solution for the fluid v avg, v max, pressure difference, kinematic pressure-difference, and shear stress.

Block-Mesh Dict at theta 10 Degrees:

/*--------------------------------*- 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  1.992389e-03 1.743115e-04)
	 (0  1.992389e-03 -1.743115e-04)
	 (1.204000e+00  0 0)
	 (1.204000e+00  1.992389e-03 1.743115e-04)
	 (1.204000e+00  1.992389e-03 -1.743115e-04)
);

blocks
(
	 hex (0 3 5 2 0 3 4 1) (300 30 1) SimpleGrading (1 0.1 1)

);

edges
(
	 arc 1 2 (0 2.000000e-03 0)
	 arc 4 5 (1.204000e+00 2.000000e-03 0)
);

boundary
(
	 inlet 
	 {
		 type patch;
		 faces
		 (
			 (0 1 2 0)
		 );
	 }
	 outlet
	 {
		 type patch;
		 faces
		 (
			 (3 5 4 3)
		 );
	 }
	 top
	 {
		 type wall;
		 faces
		 (
			 (1 4 5 2)
		 );
	 }
	 front
	 {
		 type symmetry;
		 faces
		 (
			 (0 3 4 1)
		 );
	 }
	 back
	 {
		 type symmetry;
		 faces
		 (
			 (0 2 5 3)
		 );
	 }
	 axis
	 {
		 type empty;
		 faces
		 (
			 (0 3 3 0)
		 );
	 }
); 

mergePatchPairs
(
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

Block-Mesh Dict at theta 25 Degrees:

/*--------------------------------*- 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  1.952592e-03 4.328792e-04)
	 (0  1.952592e-03 -4.328792e-04)
	 (1.204000e+00  0 0)
	 (1.204000e+00  1.952592e-03 4.328792e-04)
	 (1.204000e+00  1.952592e-03 -4.328792e-04)
);

blocks
(
	 hex (0 3 5 2 0 3 4 1) (300 30 1) SimpleGrading (1 0.1 1)

);

edges
(
	 arc 1 2 (0 2.000000e-03 0)
	 arc 4 5 (1.204000e+00 2.000000e-03 0)
);

boundary
(
	 inlet 
	 {
		 type patch;
		 faces
		 (
			 (0 1 2 0)
		 );
	 }
	 outlet
	 {
		 type patch;
		 faces
		 (
			 (3 5 4 3)
		 );
	 }
	 top
	 {
		 type wall;
		 faces
		 (
			 (1 4 5 2)
		 );
	 }
	 front
	 {
		 type symmetry;
		 faces
		 (
			 (0 3 4 1)
		 );
	 }
	 back
	 {
		 type symmetry;
		 faces
		 (
			 (0 2 5 3)
		 );
	 }
	 axis
	 {
		 type empty;
		 faces
		 (
			 (0 3 3 0)
		 );
	 }
); 

mergePatchPairs
(
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

Block-Mesh Dict at theta 45 Degrees:

/*--------------------------------*- 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  1.847759e-03 7.653669e-04)
	 (0  1.847759e-03 -7.653669e-04)
	 (1.204000e+00  0 0)
	 (1.204000e+00  1.847759e-03 7.653669e-04)
	 (1.204000e+00  1.847759e-03 -7.653669e-04)
);

blocks
(
	 hex (0 3 5 2 0 3 4 1) (300 30 1) SimpleGrading (1 0.1 1)

);

edges
(
	 arc 1 2 (0 2.000000e-03 0)
	 arc 4 5 (1.204000e+00 2.000000e-03 0)
);

boundary
(
	 inlet 
	 {
		 type patch;
		 faces
		 (
			 (0 1 2 0)
		 );
	 }
	 outlet
	 {
		 type patch;
		 faces
		 (
			 (3 5 4 3)
		 );
	 }
	 top
	 {
		 type wall;
		 faces
		 (
			 (1 4 5 2)
		 );
	 }
	 front
	 {
		 type symmetry;
		 faces
		 (
			 (0 3 4 1)
		 );
	 }
	 back
	 {
		 type symmetry;
		 faces
		 (
			 (0 2 5 3)
		 );
	 }
	 axis
	 {
		 type empty;
		 faces
		 (
			 (0 3 3 0)
		 );
	 }
); 

mergePatchPairs
(
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

Pressure :

/*--------------------------------*- 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
{
    inlet
    {
        type            zeroGradient;
    }

    outlet
    {
        type            fixedValue;
       value uniform 1.0073;
    }

    axis
    {
        type            empty;
    }

    top
    {
        type            zeroGradient;
    }

    front
    {
        type            symmetry;
    }

    back
    {
        type            symmetry;
    }

}

// ************************************************************************* //

Velocity :

/*--------------------------------*- 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.4686 0 0);

boundaryField
{
    inlet
    {
       type             fixedValue;
       value uniform (0.4686 0 0);
    }

    outlet
    {
        type            zeroGradient;
    }

    axis
    {
        type            empty;
    }

    top
    {
       type             fixedValue;
       value uniform (0 0 0);
    }

    front
    {
        type            symmetry;
    }

    back
    {
        type            symmetry;
    }

}

// ************************************************************************* //

Control-Dict 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       dictionary;
    location    "system";
    object      controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

application     icoFoam;

startFrom       startTime;

startTime       0;

stopAt          endTime;

endTime         1;

deltaT          0.001;

writeControl    timeStep;

writeInterval   20;

purgeWrite      0;

writeFormat     ascii;

writePrecision  6;

writeCompression off;

timeFormat      general;

timePrecision   6;

runTimeModifiable true;


// ************************************************************************* //

Transport Properties:

/*--------------------------------*- 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;
    location    "constant";
    object      transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

nu              [0 2 -1 0 0 0 0] 0.892e-6;


// ************************************************************************* //

Matlab Code

clear all
close all
clc

% The Reynolds number
Re = 2100
% The Diameter of pipe
D = 0.004
% The Entry length of pipe
L =0.06*Re*D
% The total length of pipe
L_p = L+0.7
% Radius of pipe
r = D/2
% Angle of wedge 
theta = 10
% theta = 25
% theta = 45
% Dynamic viscosity
mu = 0.89e-3
% Density 
rho = 997

% Hagen poiseuille flow equations
v_avg = (Re*mu)/(rho*D)
v_max = 2*(v_avg)
del_p = (8*mu*L_p*v_avg)/(r^2)
kinematic_p = del_p/rho

% calculating shear stress
R = linspace(0,(D/2),1000)

for i = 1:length(R)
    tau(i) = 2*mu*v_max*(abs(R(i)))/r^2
end

plot(R,tau)
xlabel('Radius')
ylabel('Shear stress')
grid on
legend ('Shear stress')


header1='/*----------------------------------*- C++ -*------------------------------------*\'
header2='  =========                 |                                                    ' 
header3='   \\      /  F ield                | OpenFOAM: The Open Source CFD Toolbox      '
header4='    \\    /   O peration        | Website:  https://openfoam.org                 '
header5='     \\  /    A nd                 | Version:  7                                 '
header6='      \\/     M anipulation   |                                                  '
header7='\*----------------------------------------------------------------------------------*/'

f1 = fopen('blockMeshDict','w')
fprintf(f1, '%s\n', header1)
fprintf(f1, '%s\n', header2)
fprintf(f1, '%s\n', header3)
fprintf(f1, '%s\n', header4)
fprintf(f1, '%s\n', header5)
fprintf(f1, '%s\n', header6)
fprintf(f1, '%s\n', header7)

fprintf(f1, 'FoamFile\n{\n')
fprintf(f1, '%12s \t 2.0;\n','version')
fprintf(f1, '%12s \t ascii;\n','format')
fprintf(f1, '%12s \t dictionary;\n','class')
fprintf(f1, '%12s \t blockMeshDict;\n','object')
fprintf(f1, '}\n')
header8='// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //'
fprintf(f1, '%s\n\n',header8)


fprintf(f1, 'convertToMeters 1;\n\n')

fprintf(f1, 'vertices\n')
fprintf(f1, '(\n')
fprintf(f1, '\t (%d  %d %d)\n',0,0,0)
fprintf(f1, '\t (%d  %d %d)\n',0,r*cosd(theta/2),r*sind(theta/2))
fprintf(f1, '\t (%d  %d %d)\n',0,r*cosd(theta/2),-r*sind(theta/2))
fprintf(f1, '\t (%d  %d %d)\n',L_p,0,0)
fprintf(f1, '\t (%d  %d %d)\n',L_p,r*cosd(theta/2),r*sind(theta/2))
fprintf(f1, '\t (%d  %d %d)\n',L_p,r*cosd(theta/2),-r*sind(theta/2))
fprintf(f1, ');\n\n')


fprintf(f1, 'blocks\n')
fprintf(f1, '(\n')
fprintf(f1, '\t hex (0 3 5 2 0 3 4 1) (%d %d %d)',300,30,1)
fprintf(f1, ' SimpleGrading (1 0.1 1)\n\n')
fprintf(f1, ');\n\n')

fprintf(f1, 'edges\n')
fprintf(f1, '(\n')
fprintf(f1, '\t arc %d %d (%d %d %d)\n',1,2,0,r,0)
fprintf(f1, '\t arc %d %d (%d %d %d)\n',4,5,L_p,r,0)
fprintf(f1, ');\n\n')

fprintf(f1, 'boundary\n')
fprintf(f1, '(\n')
fprintf(f1, '\t inlet \n')
fprintf(f1, '\t {\n')
fprintf(f1, '\t\t type patch;\n')
fprintf(f1, '\t\t faces\n')
fprintf(f1, '\t\t (\n')
fprintf(f1, '\t\t\t (0 1 2 0)\n')
fprintf(f1, '\t\t );\n')
fprintf(f1, '\t }\n')


fprintf(f1, '\t outlet\n')
fprintf(f1, '\t {\n')
fprintf(f1, '\t\t type patch;\n')
fprintf(f1, '\t\t faces\n')
fprintf(f1, '\t\t (\n')
fprintf(f1, '\t\t\t (3 5 4 3)\n')
fprintf(f1, '\t\t );\n')
fprintf(f1, '\t }\n')


fprintf(f1, '\t top\n')
fprintf(f1, '\t {\n')
fprintf(f1, '\t\t type wall;\n')
fprintf(f1, '\t\t faces\n')
fprintf(f1, '\t\t (\n')
fprintf(f1, '\t\t\t (1 4 5 2)\n')
fprintf(f1, '\t\t );\n')
fprintf(f1, '\t }\n')

fprintf(f1, '\t front\n')
fprintf(f1, '\t {\n')
fprintf(f1, '\t\t type symmetry;\n')
fprintf(f1, '\t\t faces\n')
fprintf(f1, '\t\t (\n')
fprintf(f1, '\t\t\t (0 3 4 1)\n')
fprintf(f1, '\t\t );\n')
fprintf(f1, '\t }\n')

fprintf(f1, '\t back\n')
fprintf(f1, '\t {\n')
fprintf(f1, '\t\t type symmetry;\n')
fprintf(f1, '\t\t faces\n')
fprintf(f1, '\t\t (\n')
fprintf(f1, '\t\t\t (0 2 5 3)\n')
fprintf(f1, '\t\t );\n')
fprintf(f1, '\t }\n')

fprintf(f1, '\t axis\n')
fprintf(f1, '\t {\n')
fprintf(f1, '\t\t type empty;\n')
fprintf(f1, '\t\t faces\n')
fprintf(f1, '\t\t (\n')
fprintf(f1, '\t\t\t (0 3 3 0)\n')
fprintf(f1, '\t\t );\n')
fprintf(f1, '\t }\n')
fprintf(f1, '); \n\n')

fprintf(f1, 'mergePatchPairs\n')
fprintf(f1, '(\n')
fprintf(f1, ');\n')

header9='// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //'
fprintf(f1, '%s\n',header9)

fclose(f1)

Stepwise Procedure for creating the geometry file:

Firstly, we need to calculate the average velocity of the given fluid. For that, we need to given inputs of Reynolds number, Diameter, Viscosity, and Density values.

  1. Give proper header files that can generate the OpenFOAM header. Be very careful with parenthesis like commas, brackets and slash symbols which may lead us to errors.
  2. Angles for the wedge has been given in the program.
  3. Using all these values we calculate average Velocity, Maximum Velocity, Pressure Difference, and kinematic Pressure difference. The reason to calculate the kinematic pressure difference is in the OpenFOAM pressure file if we observe the units, units given are kinematic pressure.
  4. By using the file parsing technique, We need to write the Matlab code that can be useful to perform the simulations using different angles.
  5. After getting the BlockMesh Dict file, copy it to the case setup file which is located in the run folder.
  6. Like this, change other parameters like Velocity, Pressure, and Transport properties file which is obtained from the analytical solution means values obtained from the Matlab code.
  7. Now set the start and end time in the control-Dict file, and Mention the delta T values also.
  8. Now place the command directory file in the cavity, run the file using command “block-Mesh”.
  9. The Above command gives us the mesh file.
  10. Now check the mesh to see whether any error in mesh, Non-alignment and some other using ‘checkMesh’ command.
  11. Once the mesh check is over and success. Now use ‘icoFoam’ solver to run the case setup.
  12. After running successfully, Use ‘paraFoam’ command to post-process the velocity and shear stress of the fluid.

Results:

Wedge Angle 10 Degrees

Mesh for Wedge Angle 10 Degrees

Wedge Angle 25 Degrees

Mesh for Wedge Angle 25 Degrees

Wedge Angle 45 Degrees

Mesh for Wedge Angle 45 Degrees

Velocity Profile at the Entrance

While observing the velocity profile at the entrance, we can see that velocity is 0.46 and and the flow is about to develop.

Velocity Profile at 0.1 m

Likewise, if we observe plots below the profile slowly becoming in a parabolic form. That means flow is developing slowly.

Velocity Profile at 0.2 m

Velocity Profile at 0.35 m

And in above two plots for length 0.2 and 0.35, the maximum velocity did not obtain. Means at that length flow did not get fully developed.

Velocity Profile at 0.5 m

At the length of 0.504, the flow gets fully developed because of the maximum velocity obtained here. And it can be seen in the plot for the velocity profile at length 0.504. At length 0.504, it is the same length which was calculated by using the entry length formula the flow gets fully developed. From there furtherly flow profile looks similar and unchanged.

For the understanding below velocity profile plots for 0.7m,1m and 1.2m are shown below.

Velocity Profile at 0.7 m

Velocity Profile at 1 m

Velocity Profile at 1.2 m

From the above plots it can be observed that once the flow is developed at 0.504m the velocity profile from there further flow profile remains unchanged.

Shear-stress:

Shear stress :

1. When the fluid is in motion, shear stresses are developed due to the particles in the fluid moving relative to one another.

2. For a fluid flowing in a pipe Fluid velocity will be zero at the pipe wall. Velocity will increase while moving towards the center of the pipe. Shear Force is normally present because the adjacent layer of the fluid move with different velocities compared to each other.

3. Fluids Obeying Newton's law where the values of “mu” are constant are known as Newtonian fluids. If ‘mu’ is constant, the shear stress is linearly dependent on the velocity gradient.

Analytically :

Shear stress can be calculated by using the below part of the Matlab code which is written to generate the block-Mesh Dict file.

% calculating shear stress
R = linspace(0,(D/2),1000)

for i = 1:length(R)
    tau(i) = 2*mu*v_max*(abs(R(i)))/r^2
end

plot(R,tau)
xlabel('Radius')
ylabel('Shear stress')
grid on
legend ('Shear stress')

Numerically Shear stress is calculated by considering the velocity of this relative motion, the Shear rate can be calculated shear rate is defined as a measurement of the extent or rate of relative motion between the adjacent layer of the moving fluid. The shear rate for fluid flowing between two parallel plates one moving at a constant speed and one is stationary.

Is determined by `gamma = (u/y)`

where, `(u/y)` is a velocity gradient.

Shear stress is proportional to shear rate where viscosity is the proportionality coefficient. This is known as Newton's law of viscosity.

`tau = mu ((du)/(dy))`

  1. The above expression is valid only for the low range of Reynolds numbers like laminar flows.
  2. coming to the turbulent flows it doesn’t work because are any well-defined layers. Instead, unsteady vortices appear of many sizes that interact with each other in a rather chaotic manner
  3. A separate code has to write to calculate the shear stress numerically.
  4. Before that, we need to extract the velocity values from the OpenFOAM.
  5. Using a “CSV” file, we can extract all the velocity (`U_(magnitude),U_x,U_y,U_z`) and pressure values. The “.CSV” is more like an Excel sheet, directly we can upload it to Matlab.
  6. After uploading it into Matlab, Select only “u” (U_magnitude) values and upload it to the workspace.
  7. After uploading we need to write a Matlab code to calculate the shear stress.

Shear stress code for Numerical solution:

mu = 0.89e-3;
D = 0.004;

% calculating shear stress
R = linspace(0,(D),1000);

dR = R(2)-R(1);

for i = 1:length(R)
    du = u(i+1)-u(i);
    dU = abs(du);
    tau(i) = mu*(dU/dR);
end


plot(R,tau)
xlabel('Radius')
ylabel('Shear stress')
grid on
legend('Shear stress')

After running the code successfully, we obtain the following plot

Shear stress graph:

  1. If we see the shear stress near the walls is maximum and at the center of the pipe is zero.
  2. In the graph there are some step kind of profile is observed, but at last, the solution gets converged.
  3. The results are matched with the analytical solution.

Comparison

Hereby comparing, there is no much change in the max.velocities.The only difference observed is in clock time little high than type-wedge.

Wedge Angle

Max. Velocity

(Analytical)

Max. Velocity

(Numerical)

Error

(%)

Execution

Time (sec)

Max. Courant

Number

10

0.9373

0.9295

0.83

159.12

0.471932

25

0.9373

0.9280

0.9

158.91

0.475688

45

0.9373

0.9291

0.83

157.56

0.484799

While the angle increases the error in the maximum velocity is decreased.Though there is not much difference between analytical and numerical results and while increasing the angle of the wedge, The Courant number is slightly increasing.

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.