Challenge

Week 12 - Validation studies of Symmetry BC vs Wedge BC in OpenFOAM vs Analytical H.P equation

objective :

This challenge is the continuation of the last challenge here we just need to simulate the same type of flow for different angles 10, 25, 45 degrees using symmetry boundary conditions and do the same meaning validating it with haigen-poisuille equations and compare both

Theory:

Here there is no much for the theory part for theory left the haigen-poisuilles equations are explained in detail in the last challenge and also the relations regarding the variables that are attached and are drawed by it, here what we need to know is the symmetry boundary conditions

Symmetry boundary conditions

The symmetry boundary condition defines a mirror face/surface. It should only be used if the physical object or geometry and the expected flow field pattern of the developed solution are mirrored along that surface. By using this boundary condition, the domain can essentially be halved, reducing the time to achieve a solution.

In detail, the symmetry condition applies the following constraints on the flow variables:

  • The fluxes across the symmetry are zero.
  • The normal components of all variables are set to zero.

It can be applied to both planar or non-planar faces/surfaces on the domain boundaries.

Here the all the programme codes for different angles are written and attached with respective plots and graphs one by one please check it and verify it one by one

Programme codes are almost similar to the previous one using wedge boundary condition here only neccessary conditions and values are manipulated such as reynolds number, also arc command to get the pperfect axis around the pipe in both the corners all the boundary conditions are changed from wedge to symmetry also to get the courant CFL number correctly the dx, dy dz are are propotionated to increse the number of cells in each direction to simulate and compute the values at each time step. rest are all same just need change the degrees for all the code respectively , finally the variables mentioned in the challenge are validated using the haigen-poisuilles equations and observed carefully

1.} 10 degree 2.} 25 degree 3.} 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;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

// blockMesh parameterization   

/* Geometrical Info */

D	0.004;                      // Diameter 
r #calc "0.5*$D";                   // Radius
angle	10;                          // Angle in degrees
theta   #calc "degToRad($angle)";   // Angle in radians
Re 100;          		    // Reynolds Number
Le #calc "0.06*$Re*$D";             // Entrance Length
L  #calc "0.2 + $Le";		    // Total length of pipe

/* Vertices Info */

xmin	0;    
xmax	$L;   
ymax	#calc "$r*cos($theta)";
zmax	#calc "$r*sin($theta)";
zmin    #calc "-$r*sin($theta)"; 

/* Mesh Info */

nx	10;	// Cells along local X  
ny	1;	// Cells along local Y  
nz	50;	// Cells along local Z  
gx	0.2;	// SG along local X  
gy	1;	// SG along local Y
gz	1;	// SG along local Z 


convertToMeters 1;

vertices
(
    ($xmin 0 0)		 //0
    ($xmin $ymax $zmax)	 //1
    ($xmin $ymax $zmin)	 //2
    ($xmax 0 0)		 //3
    ($xmax $ymax $zmax)	 //4
    ($xmax $ymax $zmin)	 //5

);

blocks
(
    hex (0 2 1 0 3 5 4 3) ($nx $ny $nz) simpleGrading ($gx $gy $gz)
);

edges
(
);

boundary
(
    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)
        );
    } 
    wall
    {
        type wall;   
        faces
        (
            (2 1 4 5)
        );
    } 
    axis
    {
        type empty;
        faces
        (
            (0 3 3 0)
        );
    }     
    
);

mergePatchPairs
(
);

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

application     icoFoam;

startFrom       startTime;

startTime       0;

stopAt          endTime;

endTime         5;

deltaT          0.001;

writeControl    timeStep;

writeInterval   500;

purgeWrite      0;

writeFormat     ascii;

writePrecision  6;

writeCompression off;

timeFormat      general;

timePrecision   6;

runTimeModifiable true;


// ************************************************************************* //
/*--------------------------------*- 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;
    location    "system";
    object      fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

ddtSchemes
{
    default         Euler;
}

gradSchemes
{
    default         Gauss linear;
    grad(p)         Gauss linear;
}

divSchemes
{
    default         none;
    div(phi,U)      Gauss linear;
}

laplacianSchemes
{
    default         Gauss linear orthogonal;
}

interpolationSchemes
{
    default         linear;
}

snGradSchemes
{
    default         orthogonal;
}


// ************************************************************************* //
/*--------------------------------*- 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;
    location    "system";
    object      fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

solvers
{
    p
    {
        solver          PCG;
        preconditioner  DIC;
        tolerance       1e-06;
        relTol          0.05;
    }

    pFinal
    {
        $p;
        relTol          0;
    }

    U
    {
        solver          smoothSolver;
        smoother        symGaussSeidel;
        tolerance       1e-05;
        relTol          0;
    }
}

PISO
{
    nCorrectors     2;
    nNonOrthogonalCorrectors 0;
    pRefCell        0;
    pRefValue       0;
}


// ************************************************************************* //
/*--------------------------------*- 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       volScalarField;
    object      p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 2 -2 0 0 0 0];

internalField   uniform 0;

boundaryField
{
    inlet
    {
	type            zeroGradient;
    }

    outlet
    {
        
        type            fixedValue;
        value           uniform 0;       
    }

    front
    {
        type            symmetry;   // symmetry
    }
    
    back
    {
        type            symmetry;   // symmetry
    }  
 
    wall
    {
        type            zeroGradient;
    }   
    
    axis
    {
        type            empty;
    }
}

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


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

internalField   uniform (0 0 0);

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

    outlet
    {
        type            zeroGradient;
    }

    front
    {
        type            symmetry;   // symmetry
    }
    
    back
    {
        type            symmetry;   // symmetry
    }  
 
    wall
    {
        type            noSlip;
    }   
    
    axis
    {
        type            empty;
    }
    
}

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

6
(
    inlet
    {
        type            patch;
        nFaces          10;
        startFace       940;
    }
    outlet
    {
        type            patch;
        nFaces          10;
        startFace       950;
    }
    front
    {
        type            symmetry;
        inGroups        List<word> 1(symmetry);
        nFaces          500;
        startFace       960;
    }
    back
    {
        type            symmetry;
        inGroups        List<word> 1(symmetry);
        nFaces          500;
        startFace       1460;
    }
    wall
    {
        type            wall;
        inGroups        List<word> 1(wall);
        nFaces          50;
        startFace       1960;
    }
    axis
    {
        type            empty;
        inGroups        List<word> 1(empty);
        nFaces          0;
        startFace       2010;
    }
)

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

nu              [0 2 -1 0 0 0 0] 8.9267803410231e-07;


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

2.} 25degree

/*--------------------------------*- 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;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

// blockMesh parameterization   

/* Geometrical Info */

D	0.004;                      // Diameter 
r #calc "0.5*$D";                   // Radius
angle	25;                         // Angle in degrees
theta   #calc "degToRad($angle)";   // Angle in radians
Re 100;          		    // Reynolds Number
Le #calc "0.06*$Re*$D";             // Entrance Length
L  #calc "0.02+$Le";		    // Total length of pipe

/* Vertices Info */

xmin	0;    
xmax	$L;   
ymax	#calc "$r*cos($theta)";
zmax	#calc "$r*sin($theta)";
zmin    #calc "-$r*sin($theta)"; 

curve   #calc "$r*cos($theta)+1e-4";

/* Mesh Info */

nx	20;	// Cells along local X  
ny	1;	// Cells along local Y  
nz	500;	// Cells along local Z  
gx	0.2;	// SG along local X  
gy	1;	// SG along local Y
gz	1;	// SG along local Z 


convertToMeters 1;

vertices
(
    ($xmin 0 0)		 //0
    ($xmin $ymax $zmax)	 //1
    ($xmin $ymax $zmin)	 //2
    ($xmax 0 0)		 //3
    ($xmax $ymax $zmax)	 //4
    ($xmax $ymax $zmin)	 //5

);

blocks
(
    hex (0 2 1 0 3 5 4 3) ($nx $ny $nz) simpleGrading ($gx $gy $gz)
);

edges
(
   arc 1 2 ($xmin $curve 0)
   arc 4 5 ($xmax $curve 0)

);

boundary
(
    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;    // symmetry
        faces
        (
            (0 2 5 3)
        );
    } 
    wall
    {
        type wall;    // symmetry
        faces
        (
            (2 1 4 5)
        );
    } 
    axis
    {
        type empty;
        faces
        (
            (0 3 3 0)
        );
    }     
    
);

mergePatchPairs
(
);

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

application     icoFoam;

startFrom       startTime;

startTime       0;

stopAt          endTime;

endTime         5;

deltaT          0.001;

writeControl    timeStep;

writeInterval   500;

purgeWrite      0;

writeFormat     ascii;

writePrecision  6;

writeCompression off;

timeFormat      general;

timePrecision   6;

runTimeModifiable true;


// ************************************************************************* //
/*--------------------------------*- 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;
    location    "system";
    object      fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

ddtSchemes
{
    default         Euler;
}

gradSchemes
{
    default         Gauss linear;
    grad(p)         Gauss linear;
}

divSchemes
{
    default         none;
    div(phi,U)      Gauss linear;
}

laplacianSchemes
{
    default         Gauss linear orthogonal;
}

interpolationSchemes
{
    default         linear;
}

snGradSchemes
{
    default         orthogonal;
}


// ************************************************************************* //
/*--------------------------------*- 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;
    location    "system";
    object      fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

solvers
{
    p
    {
        solver          PCG;
        preconditioner  DIC;
        tolerance       1e-06;
        relTol          0.05;
    }

    pFinal
    {
        $p;
        relTol          0;
    }

    U
    {
        solver          smoothSolver;
        smoother        symGaussSeidel;
        tolerance       1e-05;
        relTol          0;
    }
}

PISO
{
    nCorrectors     2;
    nNonOrthogonalCorrectors 0;
    pRefCell        0;
    pRefValue       0;
}


// ************************************************************************* //
/*--------------------------------*- 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       volScalarField;
    object      p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 2 -2 0 0 0 0];

internalField   uniform 0;

boundaryField
{
    inlet
    {
	type            zeroGradient;
    }

    outlet
    {
        
        type            fixedValue;
        value           uniform 0;       
    }

    front
    {
        type            symmetry;   // symmetry
    }
    
    back
    {
        type            symmetry;   // symmetry
    }  
 
    wall
    {
        type            zeroGradient;
    }   
    
    axis
    {
        type            empty;
    }
}

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


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

internalField   uniform (0 0 0);

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

    outlet
    {
        type            zeroGradient;
    }

    front
    {
        type            symmetry;   // symmetry
    }
    
    back
    {
        type            symmetry;   // symmetry
    }  
 
    wall
    {
        type            noSlip;
    }   
    
    axis
    {
        type            empty;
    }
    
}

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

6
(
    inlet
    {
        type            patch;
        nFaces          20;
        startFace       19480;
    }
    outlet
    {
        type            patch;
        nFaces          20;
        startFace       19500;
    }
    front
    {
        type            symmetry;
        inGroups        List<word> 1(symmetry);
        nFaces          10000;
        startFace       19520;
    }
    back
    {
        type            symmetry;
        inGroups        List<word> 1(symmetry);
        nFaces          10000;
        startFace       29520;
    }
    wall
    {
        type            wall;
        inGroups        List<word> 1(wall);
        nFaces          500;
        startFace       39520;
    }
    axis
    {
        type            empty;
        inGroups        List<word> 1(empty);
        nFaces          0;
        startFace       40020;
    }
)

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

nu              [0 2 -1 0 0 0 0] 8.9267803410231e-07;


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

3.} 45degree

/*--------------------------------*- 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;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

// blockMesh parameterization   

/* Geometrical Info */

D	0.004;                      // Diameter 
r #calc "0.5*$D";                   // Radius
angle	45;                         // Angle in degrees
theta   #calc "degToRad($angle)";   // Angle in radians
Re 100;          		    // Reynolds Number
Le #calc "0.06*$Re*$D";             // Entrance Length
L  #calc "0.02+$Le";		    // Total length of pipe

/* Vertices Info */

xmin	0;    
xmax	$L;   
ymax	#calc "$r*cos($theta)";
zmax	#calc "$r*sin($theta)";
zmin    #calc "-$r*sin($theta)"; 

curve   #calc "$r*cos($theta)+1e-4";

/* Mesh Info */

nx	20;	// Cells along local X  
ny	1;	// Cells along local Y  
nz	500;	// Cells along local Z  
gx	0.2;	// SG along local X  
gy	1;	// SG along local Y
gz	1;	// SG along local Z 


convertToMeters 1;

vertices
(
    ($xmin 0 0)		 //0
    ($xmin $ymax $zmax)	 //1
    ($xmin $ymax $zmin)	 //2
    ($xmax 0 0)		 //3
    ($xmax $ymax $zmax)	 //4
    ($xmax $ymax $zmin)	 //5

);

blocks
(
    hex (0 2 1 0 3 5 4 3) ($nx $ny $nz) simpleGrading ($gx $gy $gz)
);

edges
(
   arc 1 2 ($xmin $curve 0)
   arc 4 5 ($xmax $curve 0)

);

boundary
(
    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;    // symmetry
        faces
        (
            (0 2 5 3)
        );
    } 
    wall
    {
        type wall;    // symmetry
        faces
        (
            (2 1 4 5)
        );
    } 
    axis
    {
        type empty;
        faces
        (
            (0 3 3 0)
        );
    }     
    
);

mergePatchPairs
(
);

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

application     icoFoam;

startFrom       startTime;

startTime       0;

stopAt          endTime;

endTime         5;

deltaT          0.001;

writeControl    timeStep;

writeInterval   500;

purgeWrite      0;

writeFormat     ascii;

writePrecision  6;

writeCompression off;

timeFormat      general;

timePrecision   6;

runTimeModifiable true;


// ************************************************************************* //
/*--------------------------------*- 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;
    location    "system";
    object      fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

ddtSchemes
{
    default         Euler;
}

gradSchemes
{
    default         Gauss linear;
    grad(p)         Gauss linear;
}

divSchemes
{
    default         none;
    div(phi,U)      Gauss linear;
}

laplacianSchemes
{
    default         Gauss linear orthogonal;
}

interpolationSchemes
{
    default         linear;
}

snGradSchemes
{
    default         orthogonal;
}


// ************************************************************************* //
/*--------------------------------*- 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;
    location    "system";
    object      fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

solvers
{
    p
    {
        solver          PCG;
        preconditioner  DIC;
        tolerance       1e-06;
        relTol          0.05;
    }

    pFinal
    {
        $p;
        relTol          0;
    }

    U
    {
        solver          smoothSolver;
        smoother        symGaussSeidel;
        tolerance       1e-05;
        relTol          0;
    }
}

PISO
{
    nCorrectors     2;
    nNonOrthogonalCorrectors 0;
    pRefCell        0;
    pRefValue       0;
}


// ************************************************************************* //
/*--------------------------------*- 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       volScalarField;
    object      p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 2 -2 0 0 0 0];

internalField   uniform 0;

boundaryField
{
    inlet
    {
	type            zeroGradient;
    }

    outlet
    {
        
        type            fixedValue;
        value           uniform 0;       
    }

    front
    {
        type            symmetry;   // symmetry
    }
    
    back
    {
        type            symmetry;   // symmetry
    }  
 
    wall
    {
        type            zeroGradient;
    }   
    
    axis
    {
        type            empty;
    }
}

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


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

internalField   uniform (0 0 0);

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

    outlet
    {
        type            zeroGradient;
    }

    front
    {
        type            symmetry;   // symmetry
    }
    
    back
    {
        type            symmetry;   // symmetry
    }  
 
    wall
    {
        type            noSlip;
    }   
    
    axis
    {
        type            empty;
    }
    
}

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

6
(
    inlet
    {
        type            patch;
        nFaces          20;
        startFace       19480;
    }
    outlet
    {
        type            patch;
        nFaces          20;
        startFace       19500;
    }
    front
    {
        type            symmetry;
        inGroups        List<word> 1(symmetry);
        nFaces          10000;
        startFace       19520;
    }
    back
    {
        type            symmetry;
        inGroups        List<word> 1(symmetry);
        nFaces          10000;
        startFace       29520;
    }
    wall
    {
        type            wall;
        inGroups        List<word> 1(wall);
        nFaces          500;
        startFace       39520;
    }
    axis
    {
        type            empty;
        inGroups        List<word> 1(empty);
        nFaces          0;
        startFace       40020;
    }
)

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

nu              [0 2 -1 0 0 0 0] 8.9267803410231e-07;


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

here we can sse the validation of flow through a pipe by haigen-poisuilles equations by plotting graph and comparing the analytical and numerical solutions.

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.