Simulation of a Square cross section pipe flow
The primary aim of this project is to simulate the flow through a square cross section pipe. The solver used here is 'simpleFoam'. The velocity is assumed to be 1m/s. The model is laminar flow model.
Steps
The terminal is opened in linux OS.
- The terminal is opened in linux OS.
- Using the necessary commands, we access the files in openfoam folder.
- The primary action would be to access the solver folder (using 'sol' command) and navigating into 'incompressible' folder and finding the 'simpleFoam' solver.
- Now we type 'tut' to access tutorials folder and we navigate to simpleFoam folder inside 'incompressible' folder. From Inside of 'simpleFoam' folder, copy 'pitzDaily' and paste it into the run folder and rename it as sq_pipe.
- Opening the above file we will find 3 files namely : 0 , constant and system.
- The '0' file contains pressure and velocity files which are first edited to our requirements as depicted below.
- The 'constant' folder contains 'transportProperties' and 'turbulenceProperties',which are again edited to tailor fit our requirements as depicted below. In addiion to this, the constant folder will also later house the 'polyMesh' (which is our required mesh) once we create it.
- The turbulenceProperties file contains the case, which is laminar for his simulation.
- The 'system' folder contains 'blockMeshDict', 'controlDict', 'fvSchemes', 'fvSolution' files, out of which only 'blockMeshDict' and 'controlDict' files are edited for our requirements.
- Once we are finished with the files, we need to create the mesh using the command 'blockMesh'. Now we check the mesh using 'checkMesh' command.
- The final step is to key in the solver 'simpleFoam' and run the simulation.
- Then we open up the post processor paraview using the command 'paraFoam' and we twerk the model to view is ideally.
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;
}
wall
{
type zeroGradient;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //
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 (1 0 0);
}
outlet
{
type zeroGradient;
}
wall
{
type fixedValue;
value uniform (0 0 0);
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //
Transport Properties 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 "constant";
object transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
transportModel Newtonian;
nu [0 2 -1 0 0 0 0] 1e-05;
// ************************************************************************* //
Turbulence Properties 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 "constant";
object turbulenceProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
simulationType laminar;
RAS
{
// Tested with kEpsilon, realizableKE, kOmega, kOmegaSST, v2f,
// ShihQuadraticKE, LienCubicKE.
RASModel kEpsilon;
turbulence on;
printCoeffs on;
}
// ************************************************************************* //
BlockMeshDict 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;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 0.01;
vertices
(
(0 0 0)
(10 0 0)
(10 1 0)
(0 1 0)
(0 0 1)
(10 0 1)
(10 1 1)
(0 1 1)
);
blocks
(
hex (0 1 2 3 4 5 6 7)
(100 10 10)
simpleGrading (1 3 3)
);
edges
(
);
boundary
(
inlet
{
type patch;
faces
(
(0 3 7 4)
);
}
outlet
{
type patch;
faces
(
(1 2 6 5)
);
}
wall
{
type wall;
faces
(
(0 1 2 3)
(0 1 5 4)
(4 5 6 7)
(3 2 6 7)
);
}
);
mergePatchPairs
(
);
// ************************************************************************* //
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 simpleFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 200;
deltaT 1;
writeControl timeStep;
writeInterval 10;
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable true;
// ************************************************************************* //
Outputs