Challenge

Week 12 - Symmetry vs Wedge vs HP equation

Using the values from previous challege, leght of pipe is 5mm and average velocity is 0.1602m/s. This matlab program will provide the geometry file for any wedge angle. thus it needs the angle as input.

Matlab Program for different wedge angle:


clear all
close all
clc
wedge_angle = input('enter the wedge angle') 
theta = wedge_angle/2;
x = 5*sin(theta*pi/180);
y = 5*cos(theta*pi/180);

f1 = fopen('blockMeshDict.txt','w')
L1 = ('/*--------------------------------*- C++ -*----------------------------------*\')
L2 = ('  =========                 |')
L3 = ('  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox')
L4 = ('   \\    /   O peration     | Website:  https://openfoam.org')
L5 = ('    \\  /    A nd           | Version:  7')
L6 = ('     \\/     M anipulation  |')
L7 = ('\*---------------------------------------------------------------------------*/')
L8 = ('FoamFile')
L9 = ('{')
L10 = ('    version     2.0;')
L11 = ('    format      ascii;')
L12 = ('    class       dictionary;')
L13 = ('    object      blockMeshDict;')
L14 = ('}')
L15 = ('// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //')
L16 = ('convertToMeters 0.001;')
L17 = ('vertices')
L18 = ('(')
L19 = ('    (0 0 0)         //0')
L20 = ('    (')
L201 = (' 0)      //1')
L21 = ('    (')
L211 = (' 0)     //2')
L22 = ('    (0 0 1400)      //3 ')
L23 = ('    (')
L231 = (' 1400)   //4')
L24 = ('    (')
L241 = (' 1400)  //5')
L25 = (');')
L26 = ('blocks')
L27 = ('(')
L28 = ('    hex (0 1 2 0 3 4 5 3) (25 1 500) simpleGrading (0.1 1 0.1)')
L29 = (');')
L30 = ('edges')
L31 = ('(')
L32 = ('   arc 2 1 (0 5 0)')
L33 = ('   arc 5 4 (0 5 1400)')
L34 = (');')
L35 = ('boundary')
L36 = ('(')
L37 = ('      inlet')
L38 = ('    {')
L39 = ('        type patch;')
L40 = ('        faces')
L41 = ('        (')
L42 = ('            (0 1 2 0)')
L43 = ('        );')
L44 = ('    }')
L45 = ('    outlet')
L46 = ('    {')
L47 = ('        type patch;')
L48 = ('        faces')
L49 = ('        (')
L50 = ('            (3 5 4 3)')
L51 = ('        );')
L52 = ('    }')
L53 = ('    pipeWall')
L54 = ('    {')
L55 = ('        type wall;')
L56 = ('        faces')
L57 = ('        (')
L58 = ('            (2 1 4 5)')
L59 = ('        );')
L60 = ('    }')
L61 = ('    leftsides')
L62 = ('    {')
L63 = ('        type wedge;')
L64 = ('        faces')
L65 = ('        (')
L66 = ('            (3 0 2 5)')
L67 = ('        );')
L68 = ('    }')
L69 = ('    rightsides')
L70 = ('    {')
L71 = ('        type wedge;')
L72 = ('        faces')
L73 = ('        (')
L74 = ('            (0 3 4 1)')
L75 = ('        );')
L76 = ('    }')
L77 = ('    axis')
L78 = ('    {')
L79 = ('        type empty;')
L80 = ('        faces')
L81 = ('        (')
L82 = ('            (0 3 3 0)')
L83 = ('        );')
L84 = ('    }')
L85 = (');')
L86 = ('mergePatchPairs')
L87 = ('(')
L88 = (');')
L89 = ('// ************************************************************************* //')



fprintf(f1, '%s',L1)

fprintf(f1,'\n')
fprintf(f1, '%s',L2)

fprintf(f1,'\n')
fprintf(f1, '%s',L3)

fprintf(f1,'\n')
fprintf(f1, '%s',L4)

fprintf(f1,'\n')
fprintf(f1, '%s',L5)

fprintf(f1,'\n')
fprintf(f1, '%s',L6)

fprintf(f1,'\n')
fprintf(f1, '%s',L7)

fprintf(f1,'\n')
fprintf(f1, '%s',L8)

fprintf(f1,'\n')
fprintf(f1, '%s',L9)

fprintf(f1,'\n')
fprintf(f1, '%s',L10)

fprintf(f1,'\n')
fprintf(f1, '%s',L11)

fprintf(f1,'\n')
fprintf(f1, '%s',L12)

fprintf(f1,'\n')
fprintf(f1, '%s',L13)

fprintf(f1,'\n')
fprintf(f1, '%s',L14)

fprintf(f1,'\n')
fprintf(f1, '%s',L15)

fprintf(f1,'\n \n')
fprintf(f1, '%s',L16)

fprintf(f1,'\n \n')
fprintf(f1, '%s',L17)

fprintf(f1,'\n')
fprintf(f1, '%s',L18)

fprintf(f1,'\n')
fprintf(f1, '%s',L19)

fprintf(f1,'\n')
fprintf(f1, '%s',L20)
fprintf(f1, '%f %f',x, y)
fprintf(f1, '%s',L201)

fprintf(f1,'\n')
fprintf(f1, '%s',L21)
fprintf(f1, '%f %f',-x, y)
fprintf(f1, '%s',L211)

fprintf(f1,'\n')
fprintf(f1, '%s',L22)

fprintf(f1,'\n')
fprintf(f1, '%s',L23)
fprintf(f1, '%f %f',x, y)
fprintf(f1, '%s',L231)

fprintf(f1,'\n')
fprintf(f1, '%s',L24)
fprintf(f1, '%f %f',-x, y)
fprintf(f1, '%s',L241)

fprintf(f1,'\n')
fprintf(f1, '%s',L25)

fprintf(f1,'\n \n')
fprintf(f1, '%s',L26)

fprintf(f1,'\n')
fprintf(f1, '%s',L27)

fprintf(f1,'\n')
fprintf(f1, '%s',L28)

fprintf(f1,'\n')
fprintf(f1, '%s',L29)

fprintf(f1,'\n \n')
fprintf(f1, '%s',L30)

fprintf(f1,'\n')
fprintf(f1, '%s',L31)

fprintf(f1,'\n')
fprintf(f1, '%s',L32)

fprintf(f1,'\n')
fprintf(f1, '%s',L33)

fprintf(f1,'\n')
fprintf(f1, '%s',L34)

fprintf(f1,'\n \n')
fprintf(f1, '%s',L35)

fprintf(f1,'\n')
fprintf(f1, '%s',L36)

fprintf(f1,'\n')
fprintf(f1, '%s',L37)

fprintf(f1,'\n')
fprintf(f1, '%s',L38)

fprintf(f1,'\n')
fprintf(f1, '%s',L39)

fprintf(f1,'\n')
fprintf(f1, '%s',L40)

fprintf(f1,'\n')
fprintf(f1, '%s',L41)

fprintf(f1,'\n')
fprintf(f1, '%s',L42)

fprintf(f1,'\n')
fprintf(f1, '%s',L43)

fprintf(f1,'\n')
fprintf(f1, '%s',L44)

fprintf(f1,'\n')
fprintf(f1, '%s',L45)

fprintf(f1,'\n')
fprintf(f1, '%s',L46)

fprintf(f1,'\n')
fprintf(f1, '%s',L47)

fprintf(f1,'\n')
fprintf(f1, '%s',L48)

fprintf(f1,'\n')
fprintf(f1, '%s',L49)

fprintf(f1,'\n')
fprintf(f1, '%s',L50)

fprintf(f1,'\n')
fprintf(f1, '%s',L51)

fprintf(f1,'\n')
fprintf(f1, '%s',L52)

fprintf(f1,'\n')
fprintf(f1, '%s',L53)

fprintf(f1,'\n')
fprintf(f1, '%s',L54)

fprintf(f1,'\n')
fprintf(f1, '%s',L55)

fprintf(f1,'\n')
fprintf(f1, '%s',L56)

fprintf(f1,'\n')
fprintf(f1, '%s',L57)

fprintf(f1,'\n')
fprintf(f1, '%s',L58)

fprintf(f1,'\n')
fprintf(f1, '%s',L59)

fprintf(f1,'\n')
fprintf(f1, '%s',L60)

fprintf(f1,'\n')
fprintf(f1, '%s',L61)

fprintf(f1,'\n')
fprintf(f1, '%s',L62)

fprintf(f1,'\n')
fprintf(f1, '%s',L63)

fprintf(f1,'\n')
fprintf(f1, '%s',L64)

fprintf(f1,'\n')
fprintf(f1, '%s',L65)

fprintf(f1,'\n')
fprintf(f1, '%s',L66)

fprintf(f1,'\n')
fprintf(f1, '%s',L67)

fprintf(f1,'\n')
fprintf(f1, '%s',L68)

fprintf(f1,'\n')
fprintf(f1, '%s',L69)

fprintf(f1,'\n')
fprintf(f1, '%s',L70)

fprintf(f1,'\n')
fprintf(f1, '%s',L71)

fprintf(f1,'\n')
fprintf(f1, '%s',L72)

fprintf(f1,'\n')
fprintf(f1, '%s',L73)

fprintf(f1,'\n')
fprintf(f1, '%s',L74)

fprintf(f1,'\n')
fprintf(f1, '%s',L75)

fprintf(f1,'\n')
fprintf(f1, '%s',L76)

fprintf(f1,'\n')
fprintf(f1, '%s',L77)

fprintf(f1,'\n')
fprintf(f1, '%s',L78)

fprintf(f1,'\n')
fprintf(f1, '%s',L79)

fprintf(f1,'\n')
fprintf(f1, '%s',L80)

fprintf(f1,'\n')
fprintf(f1, '%s',L81)

fprintf(f1,'\n')
fprintf(f1, '%s',L82)

fprintf(f1,'\n')
fprintf(f1, '%s',L83)

fprintf(f1,'\n')
fprintf(f1, '%s',L84)

fprintf(f1,'\n')
fprintf(f1, '%s',L85)

fprintf(f1,'\n \n')
fprintf(f1, '%s',L86)

fprintf(f1,'\n')
fprintf(f1, '%s',L87)

fprintf(f1,'\n')
fprintf(f1, '%s',L88)

fprintf(f1,'\n \n')
fprintf(f1, '%s',L89)


fclose(f1)

controlDict 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         8;

deltaT          0.001;

writeControl    timeStep;

writeInterval   20;

purgeWrite      0;

writeFormat     ascii;

writePrecision  6;

writeCompression off;

timeFormat      general;

timePrecision   6;

runTimeModifiable true;


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

velocity 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       volVectorField;
    object      U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 1 -1 0 0 0 0];

internalField   uniform (0 0 0);

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

    outlet
    {
        type            zeroGradient;
    }
    pipeWall
    {
        type            noSlip;
    }
    leftsides
    {
        type            wedge;
    }
    rightsides
    {
        type            wedge;
    }

    axis
    {
        type            empty;
    }
}

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

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

    outlet
    {
        type            fixedValue;
        value           uniform 0;
    }
    pipeWall
    {
        type            zeroGradient;
    }
    leftsides
    {
        type            wedge;
    }
    rightsides
    {
        type            wedge;
    }

    axis
    {
        type            empty;
    }
}

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

result:

for 4 deg:

image:

graph:

for 10 deg:

image:

for 25 deg:

image:

for 45 deg:

image:

Maximum velocity:

Vmax: 0.3204 (calculated value)

4deg: 0.3169

10deg: 0.3170

25deg: 0.3172

45deg: 0.3178

These results shows the exact physics in the flow of water through the pipe. The velocity is maximum at the centre of the pipe and zero at the wall of the pipe. the velocity is reduced due the viscosity of the fluid which has friction in between the layers of the fluid. the greater the wedge angle made the more the accuracy of flow is found caparing it with the analytical value.

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.