From Script | Spoken-Tutorial
Jump to: navigation, search

Tutorial: Simulating Laminar flow in a channel.

Script and Narration : Rahul Joshi

Keywords: Video tutorial,CFD,laminar flow,simpleFoam,channel

Visual Cue
Slide 1 Hello and welcome to the spoken tutorial on Simulating 2D Laminar Flow in a Channel using openfoam
Slide 2 : Learning Objectives In this tutorial I will show you
  • 2D geometry of channel
  • Meshing the Geometry
  • Solving and Post Processing results in Paraview
  • and Validation using analytic result
Slide 3 : System requirement To record this tutorial I am using
  • Linux Operating system Ubuntu 12.04 .
  • OpenFOAM version 2.1.1
  • ParaView version 3.12.0

Note that OpenFOAM version 2.1.1 is supported on Ubuntu version 12.04

Hence forth all the tutorials will be covered using OpenFOAM version 2.1.1 and Ubuntu version 12.04

Slide 4 : System Requirement
  • The tutorials were recorded using the versions specified in previous slide
  • Subsequently the tutorials were edited to latest versions
  • To install latest system requirements go to Installation Sheet
Slide 5 : Prerequisite As a prerequisite for this tutorial, you should know how to create geometry using OpenFOAM.

If not, please refer to the relevant tutorials on our website.

Slide 6 : About flow in a channel

We simulate flow in a Channel to determine Flow development length along the downstream.

Slide 7 : Channel Flow Channel flow problem description.
Slide 7 : Channel flow The boundary names and inlet conditions are shown in this figure.
Slide 8 : Boundary Conditions The flow develpoment length is given by the formula

L = 0.05 * Re * D

Slide 8 : Boundary Conditions Re which is the Reynolds number

and D which is the channel height

Slide 8 : Boundary Conditions Using the formula the length of the channel comes out to be 5 meters

and height is kept as 1 meters.

The Inlet velocity is 1 meters per second

And we are solving this for a Reynolds number ( Re ) equal 100

Slide 9 : File structure This is a steady state problem

  • Therefore we are using a steady state incompressible solver for this case.
  • This is the file structure of our case.
  • The folder should be created in the solver type that we choose.
Create a folder and name it as channel in simpleFoam folder.

right click >> new folder

I have already created a folder in

simpleFoam folder of incompressible flow solvers.

Nmae the folder channel The folder is named as channel.

Now let me switch to the folder.

copy 0,constant and system from pitzDaily to this channel folder Copy 0, Constant and System folders of any other case.
In the simpleFoam directory, I have copied the file structure of case of pitzDaily.
Paste it in the channel folder.

And make the necessary changes in the geometry, boundary faces and boundary condition.

Now let me open the command terminal.
Press Ctrl+Alt+t keys simultaneously To do this press Ctrl+Alt +t keys simultaneously on your keyboard.
run and press enter In the terminal, type run and press Enter.
Now type cd space tutorials and press Enter.
incompressible and press enter Now type cd space incompressible and press Enter.
simpleFoam and press enter Type cd space simpleFoam and press Enter.
channel and press enter Now type cd space channel and press Enter.
ls and press enter Now type ls and press Enter.
You will see three folders 0 , Constant and System
Type in command terminal

cd constant and press enter

Now type cd space constant and press Enter.
ls and press enter Now type ls and press Enter.
polymesh folder and 2 other files In this you will see files containing properties of fluid and a folder named polymesh.
gedit RASProperties and press enter RASProperties contains Reynolds-averaged stress model.
Transportproperties transportProperties contain the transport model.

And kinematic viscosity (that is nu), in this case, is set at 0.001 m²/s (meter square per second).

cd polyMesh and press enter Now in the terminal type cd polyMesh and press Enter.
ls and press enter Now type ls and press Enter.
You will see the blockMeshDict file here.
gedit blockMeshDict and press enter To open the blockMeshDict file in the terminal type gedit blockMeshDict and press Enter.

Scroll down.

In the blockMeshDict file covertTometers is set to 1

Set the vertices for channel

The geometry is in meters so the convertTometers is set to 1.

Next we have defined the vertices of the channel.

Mesh size for channel We have used a 100 X 100 mesh size here and cell spacing is kept as ( 1 1 1 ).
Boundary conditions and types Next we have set up boundary conditions and their types which are inlet ,outlet,top and bottom.
FrontAndBack boundary type as empty As this is a 2D geometry, frontAndBack is kept as empty.
Due to a 2 dimensional geometry Also this being a simple geometry, mergePatchPair and edges are to be kept empty.

Close the blockMeshDict file.

Terminal window In the command terminal type cd space ..(dot dot) and press Enter.
Terminal window Again type cd space .. (dot dot) and press Enter.
In the terminal type cd 0

type ls and press enter

Now in the terminal type cd space 0 (Zero) and press Enter.

Now type ls and press Enter.

In terminal you can see these slides This contains the initial boundary conditions and wall functions for the channel case.
Wall functions : epsilon, k, nut, nutilda

initial flow conditions: p, R and U

It should contain various files such as epsilon ,k, nut,nuTilda which are the wall functions.

And p , R and capital U which the are initial conditions of the flow.

Now let me switch back to the slides.

Slide 10 : Calculate K. Calculate k which is the turbulent kinetic energy from the formula given in the slide.

Where Ux, Uy and Uz are the velocity components in the x, y and z direction.

And U' ( dash ) = 0.05 times u actual.

Slide 11 : Calculate epsilon

epsilon - rate of disspiation turbulent kinetic energy

C mu - constant

l – length of channel

Calculate epsilon from the formula given:

Where epsilon is the rate of disspiation turbulent kinetic energy.

C mu is a constant and its value is 0.09

And l is the length of the channel.

Let me minimise this.

Change only the boundary names Change only the boundary names in each of the above files.
Do not chnge the values of nu,nuTilde and R Note that the values of nut, nuTilda and R are kept to be default.
Rest of the files should contain initial value for each of the boundary faces.
In the terminal window type cd .. and press enter Now in the terminal type cd (space) ..(dot dot) and press Enter.
No change in system folder There are no changes to be done in the system folder.
Mesh the geometry

terminal window type : blockMesh

Now, we need to mesh the geometry.

To do this, in the command terminal type blockMesh and press Enter.

The Meshing is done.

Let me switch back to the slide.

Slide 12 : Solver The type of solver we are using here is simpleFoam.

It is a Steady-state solver for incompressible and turbulent flows.

Let me minimise this.

Type simpleFoam and press enter In the command terminal type simpleFoam and press Enter.
Iterations in terminal window Iterations running will be seen in the command terminal.
Iterations running may take some time.
Iterations converge or stop at end of time step The iterations will stop once the solution is converged or it reaches its end time value.
In terminal

type: paraFoam and press enter

To view the results in ParaView in the terminal, type paraFoam and press Enter.

This will open up the ParaView window.

In paraview window

View the geometry

On left hand side of the ParaView window click Apply.

The geometry can be seen here.

Change from solid color to U On top of active variable control menu change the drop-down menu from solid color to capital U.
Look at left side of the channel geometry You can see the initial state of velocity magnitude at inlet.
VCR control click PLAY button On top of the ParaView window, click on the play button of the VCR control.

You can see the final value of the velocity magnitude.

Color legend from top left Also toggle on the color legend from the left hand side top of the active variable control menu.

Click Apply again.

In object inspector menu

click on rescale to data

Now go to Display.

Scroll down. You can see Rescale, click on it.

Check the color legend for this We can see that once the flow has fully developed, it attains a maximum uniform velocity at the center.

Now let me switch back to the slides.

Slide 13 :Validation The results obtained can be validated with the analytical solution for laminar flow in a

channel which is u(max)=1.5 Uavg

Using OpenFOAM we obtain a result of u(max) equal to 1.48 meters per second which is a good match.

This brings us to the end of the tutorial.

Slide 14 : Summary In this tutorial we learnt
  • The file structure of channel
  • Obtained solution using steady state solver
  • Viewed the geometry in ParaView
  • Validation with analytic results
Slide 15 :


As an assignment:
  • Solve the problem for Reynold Number 1500 and
  • Validate it with the analytical result
Slide 16 : About the Spoken Tutorial Project Watch the video available at this URL.

It summarizes the Spoken Tutorial project.

If you do not have good bandwidth, you can download and watch it.

Slide 17 : Spoken Tutorial Workshops The Spoken Tutorial Project Team

-Conducts workshops using spoken tutorials

-Gives certificates to those who pass an online test

-For more details, please write to

Slide 18 :

Forum to answer questions

  • Do you have questions on THIS Spoken Tutorial?
  • Choose the minute and second where you have the question
  • Explain your question briefly
  • Someone from the FOSSEE team will answer them. Please visit

Slide 19:

Forum to answer questions

  • Questions not related to the Spoken Tutorial?
  • Do you have general/technical questions on the Software?
  • Please visit the FOSSEE forum

  • Choose the Software and post your question
Slide 20:

Lab Migration Project

  • We coordinate migration from commercial CFD software like ANSYS to OpenFOAM
  • We conduct free Workshops and provide solutions to CFD Problem Statements in OpenFOAM

For more details visit this site:

Slide 21:

Case Study Project

  • We invite students to solve a feasible CFD problem statement of reasonable complexity using OpenFOAM
  • We give honorarium and certificate to those who do this

For more details visit this site:

Slide 22:


Spoken Tutorials are part of Talk to a Teacher project,

It is supported by the National Mission on Education through ICT, MHRD, Government of India.

More information on the same is available at the following URL

About the contributor This is Rahul Joshi from IIT BOMBAY signing off.

Thanks for joining

Contributors and Content Editors

DeepaVedartham, Nancyvarkey, Pravin1389, Rahuljoshi