OpenFOAM-version-7/C2/Simulation-a-2D-Turbulent-Flow-in-a-Channel-using-OpenFOAM/English
Title of the script: Simulation of a Turbulent Flow in a 2D Channel using OpenFOAM
Author: Padmini Priyadarshini
Keywords: OpenFOAM, Turbulence, K-Epsilon, Paraview, Video-Tutorial
Visual Cue | Narration |
Slide: Opening Slide | Welcome to this tutorial on Simulation of Turbulent Flow in a 2D Channel using OpenFOAM. |
Slide: Learning Objective | In this tutorial, we will learn how to:
|
Slide: System Specifications | To record this tutorial, I am using,
However, you may use any other text editor of your choice. The steps explained in this tutorial are identical in Ubuntu Linux OS. |
Slide: Prerequisites
|
As a prerequisite:
|
Slide: Code Files |
|
Slide: Solver detail | We will use the simpleFoam solver to simulate this problem.
simpleFoam is a steady-state solver for incompressible, turbulent flow. |
Slide: Problem statement | The diagram shows a 2D channel of length 65 m and width 1 m.
The kinematic viscosity is 1e-05 m2/s. The Inlet velocity is 20 m/s. Outlet pressure is set to 0 atmosphere. |
Slide: Flow Properties | Reynolds number is 2 million.
And the flow is turbulent. |
Slide: K-Epsilon turbulence model | K-epsilon is a widely used RAS turbulence model.
It is a two-equation model. It solves:
|
Only Narration | Let us set up the case. |
Only Narration | Download the kepsilon folder provided in the Code file and extract it. |
CTRL + ALT + T | Open the terminal by pressing Ctrl, Alt & T keys. |
[Terminal]
Only Narration |
From now onwards please remember to press the Enter key after typing each command in the Terminal. |
[Terminal] Type:
cd $FOAM_RUN |
Let us open the Run directory.
To do so, type the following command. |
[Terminal] Type:
cp -r ~/Downloads/kepsilon . |
and copy the downloaded file into the run directory.
To do so, type the following command. |
Only Narration | I have downloaded the file into my Downloads directory.
Please change the path as per your machine. |
[Terminal] Type:
cd kepsilon |
With this command, we will navigate to the kepsilon directory. |
Slide: Y plus | YPlus is the dimensionless wall distance.
For wall function approach, yplus value should be between 30 and 300. |
Slide: Wall distance, yp | Let “yp” be the distance between the wall and the nearest cell centre.
For our case, yp is 0.00155 for a yplus value of 100. For channel flow, the skin friction coefficient, Cf is given by this formula. |
[Terminal] Type:
ls system |
Type the following command view the content of the system directory. |
[Terminal]
Highlight blockMeshDict |
This directory contains the blockMeshDict file. |
Only Narration | I have already set up the blockMesh file for a 2D multi-block channel with this yp value. |
Only Narration | Let us take a look at the initial and boundary conditions of the flow variables. |
Slide: Inlet Boundary Condition - k | Let us take a look at the inlet boundary condition for kappa.
We will use turbulentIntensityKineticEnergyInlet This calculates kappa using the user-specified turbulence intensity. For our case, turbulent intensity is 0.00261 and Turbulent kinetic energy is 0.41 m2/s2 |
Slide: Inlet Boundary Condition - epsilon | Let us take a look at the inlet boundary condition for epsilon.
We will use turbulentMixingLengthDissipationRateInlet This calculates epsilon using kappa and user-specified mixingLength. mixingLength refers to the turbulent length scale. Kappa value is automatically put in by the solver. Here, the turbulent length scale is 0.07 m. And, the value of the turbulent dissipation rate is 0.61 m2/s3 |
Slide: Wall Boundary Condition | Next, let us take a look at the wall boundary conditions to be used.
|
Slide: Outlet Boundary Condition | This slide shows the outlet boundary condition.
zeroGradient boundary condition is imposed at the outlet for both parameters. |
Slide: Kinematic eddy viscosity, nut | Kinematic eddy viscosity is a dependent variable.
Hence, its value is calculated by the solver. At the wall, nutWallFunction is used. |
Only Narration | Let us take a look at the boundary and initial conditions for turbulent kinetic energy. |
[Terminal] Type:
gedit 0/k |
Open the k file in a text editor. |
[gedit -k]
Highlight internalField .. 0.41; |
The internalField is initialised as 0.41 |
[gedit -k]
Highlight type turbulentIntensityKineticEnergyInlet |
The inlet boundary type is set to turbulentIntensityKineticEnergyInlet |
[gedit -k]
Highlight intensity 0.00261; |
The keyword intensity represents the turbulent intensity, and is set to 0.00261 |
[gedit -k]
Highlight value $internalField; |
We have passed the internalField value to the patch field value. |
[gedit -k]
Highlight zeroGradient; |
outlet is set to zeroGradient. |
[gedit -k]
Highlight kqRWallFunction |
The patch type for both walls are set to kqRWallFunction. |
[gedit -k]
Highlight value $internalField; |
The internalField value is passed to the patch field value. |
[gedit -k]
Highlight type empty; |
The frontAndBack patch is set as empty. |
[gedit - k]
Close Text Editor |
Close the k file. |
Only Narration | Let’s take a look at the epsilon file. |
[Terminal] Type:
gedit 0/epsilon |
Open the epsilon file in a text editor. |
[gedit -epsilon]
Highlight 0.61 |
The internalField value is initialized to 0.61 |
[gedit -epsilon]
Highlight turbulentMixingLengthDissipationRateInlet |
The inlet type is defined as turbulentMixingLengthDissipationRateInlet |
[gedit -epsilon]
Highlight 0.07 |
The field mixingLength is set to 0.07 |
[gedit -epsilon]
Highlight $internalField |
The internalField value is passed to the patch field value. |
[gedit -epsilon]
Highlight zeroGradient. |
The outlet patch is defined as zeroGradient. |
[gedit -epsilon]
Highlight epsilonWallFunction. |
The wall patch type is set to epsilonWallFunction. |
[gedit - epsilon]
Close Text Editor |
Close the epsilon file. |
[Terminal] Type:
gedit 0/nut |
Now, let’s open the nut file in a text editor. |
[gedit -nut]
Highlight calculated |
The inlet and outlet patches are set to calculated. |
[gedit -nut]
Highlight type nutkWallFunction; |
The wall patch type is set as nutkWallFunction. |
[gedit - nut]
Close Text Editor |
Close the nut file. |
[Terminal] Type:
gedit 0/U |
Next, open the velocity file in a text editor. |
[gedit -U]
Highlight (20 0 0) |
The inlet patch is given a fixed value of 20 along the axis. |
[gedit -U]
Highlight zeroGradient |
The outlet patch is set to zeroGradient. |
[gedit -U]
Close Text Editor |
Close the U file. |
Only Narration | The case is ready to be run. |
[Terminal] Type:
blockMesh |
Type blockMesh to mesh the geometry. |
[Terminal] Type:
simpleFoam |
Type simpleFoam in the terminal. |
Only Narration | The simulation will take some time depending on your computer’s hardware. |
[Terminal]
Highlight “End” |
The word End indicates that the simulation has finished successfully. |
Slide: Outlet Velocity Profile | The slide shows the velocity profile at the channel exit. |
Only Narration | With this we have come to the end of the tutorial.
Let us summarize. |
Slide: Summary | In this tutorial, we learnt to,
|
Slide: Assignment | As an assignment:
|
Slide: About the Spoken Tutorial Project | The video at the following link summarises the Spoken Tutorial project.
Please download and watch it. |
Slide: Spoken Tutorial Workshops | We conduct workshops using Spoken Tutorials and give certificates.
Please contact us. |
Slide: Spoken Tutorial Forum |
|
Slide: FOSSEE Forum |
|
Slide: FOSSEE Case Study Project |
|
Slide: Spoken Tutorial | The Spoken Tutorial project is supported by MHRD, Govt. of India.
The script for this tutorial is contributed by Padmini. And this is Swetha from IIT Bombay signing off. Thank you for joining. |