You are on page 1of 74

Validation of

OpenFOAM CFD Tool


and Analysis of Airfoil
Sections for Marine
Propeller

Submitted by

Akshay Basavaraj Bagi 1PI09ME014

Archisman Roy 1PI09ME019

Basavaraj A Koulapur 1PI09ME026

DEPARTMENT OF MECHANICAL ENGINEERING

Under the guidance of

Dr Ravichandran K S

in the academic session Feb 2013 – June 2013

PEOPLES EDUCATION SOCIETY


INSTITUTE OF TECHNOLOGY

100 Feet Ring Road, BSK III Stage, Bangalore - 560 085. Tel : 26721983

Department of Mechanical Engineering, PESIT Page 1


PEOPLES EDUCATION SOCIETY
INSTITUTE OF TECHNOLOGY
100 Feet Ring Road, BSK III Stage, Bangalore - 560 085. Tel : 26721983

DEPARTMENT OF MECHANICAL ENGINEERING

CERTIFICATE

Certified that the project entitled Validation of OpenFOAM


CFD Tool and Analysis of Airfoil Sections for Marine
Propeller is a bonafide work carried out by Akshay Basavaraj
Bagi (1PI09ME014), Archisman Roy (1PI09ME019),
Basavaraj A Koulapur (1PI09ME026) in partial fulfillment for
the award of degree of Bachelor of Engineering in Mechanical
Engineering of the Visveswaraiah Technological University,
Belgaum during the year 2012 - 2013. It is certified that all
corrections/suggestions indicated for Internal Assessment have
been incorporated in the report deposited in the departmental
library. The project report has been approved as it satisfies the
academic requirements in respect of project work prescribed for
the Bachelor of Engineering Degree.

Signature of the guide Signature of H O D


Dr Ravichandran K S Dr K S Sridhar

Professor Professor and H O D

Signature of the examiners

(Examiner 1) (Examiner 2)

Department of Mechanical Engineering, PESIT Page 2


SYNOPSIS
The study of fluids is vital for understanding the world around us.
Traditionally this was done through studying fluid flow on models in wind
tunnels, but with the development of Computational Fluid Dynamics
techniques the process has got simpler. With the advancement of
computers and development of various fluid flow simulation softwares,
the process has now been cost effective and the laboratory work has been
minimal.

Currently there are many CFD software packages available in the market.
But most of them are costly because of their license fees. Also the
commercial CFD codes cannot be modified to suit the user‘s needs. For
those who want to develop their own code this is not helpful as there is
less scope for learning here.

To tackle this problem OpenSource Softwares came into play. One such
CFD software is OpenFOAM. It is written in C++ language for Linux
Operating System developed by OpenCFD Ltd.

This project mainly concentrates on validating OpenFOAM by solving


various problems in OpenFOAM and comparing the results with
experimental results. After validating the software we analyse various
airfoil sections for marine propeller and check the results for grid
independency.

Department of Mechanical Engineering, PESIT Page 3


ACKNOWLEDGEMENTS
The satisfaction that accompanies the successful completion of any task
would be incomplete without the mention of the people who made it
possible and whose constant encouragement and guidance has been a
source of inspiration throughout the course of the Project.

We express our heartfelt thanks to Dr K N B Murthy, Principal, for


providing a congenial atmosphere to work in.

Any amount of gratitude is incomplete without thanking H.O.D of


Mechanical Dept., Dr K S Sridhar, for his encouragement, constant
support and guidance.

We would like to thank Dr Ravichandran K S for his time and support and
suggestions without which the successful completion of this project would
not have been possible.

Department of Mechanical Engineering, PESIT Page 4


CONTENTS

Chapter Title Page


1. INTRODUCTION 6
1.1 Computational Fluid Dynamics 6
1.2 OpenFOAM 6
2. LITERATURE REVIEW 8
3. PROJECT DETAILS 9
3.1 OpenFOAM 9
3.2 OpenFOAM Environment 18
3.3 ParaView 26
3.4 Project Details 34
4. RESULTS AND CONCLUSION 57
4.1 Validation of OpenFOAM-Analysis of 57
NACA 4412 Airfoil
4.2 Analysis of Airfoil Sections for Marine 64
Propeller
5. SCOPE FOR FUTURE WORK 73
6. REFERENCES AND LINKS 74

Department of Mechanical Engineering, PESIT Page 5


Chapter 1
INTRODUCTION

1.1 Computational Fluid Dynamics (CFD)


Computational fluid dynamics or CFD is the analysis of systems involving
fluid flow, heat transfer and associated phenomena such as chemical
reactions by means of computer-based simulation. The technique is very
powerful and spans a wide range of industrial and non-industrial
application areas. Some examples are: aerodynamics of aircraft vehicles,
hydrodynamics of ships, power plant, marine engineering,
turbomachinery, environmental engineering, meteorology, biomedical
engineering and many more.
The variable cost of an experiment, in terms of facility hire and/or person-
hour costs, is proportional to the number of data points and the number
of configurations tested. In contrast, CFD codes can produce extremely
large volumes of results at virtually no added expense, and it is very
cheap to perform parametric studies, for instance to optimize equipment
performance.
In the early 90‘s CFD calculations were done manually in papers. This was
a very tedious job. With the advent of computers this problem was
solved. Various commercial CFD codes were written like FLUENT, CFX,
FLOW 3D, STAR CD etc. But these packages are very costly and the codes
cannot be modified to suit the needs of the user. This led to the
development of Open Source codes. These packages are free and the
codes can be modified by the user to suit the problem statement. One
such Open source CFD package is OpenFOAM.

1.2 OpenFOAM
OpenFOAM stands for Open Source Field Operation and
Manipulation. It is written in C++ for the Linux Operating system. It is
developed by OpenCFD Ltd. It has a large user base across most areas of

Department of Mechanical Engineering, PESIT Page 6


engineering and science, from both commercial and academic
organizations. OpenFOAM has an extensive range of features to solve
anything from complex fluid flows involving chemical reactions,
turbulence and heat transfer, to solid dynamics and electromagnetics. It
includes tools for meshing, notably snappyHexMesh, a parallelized mesher
for complex CAD geometries, and for pre- and post-processing. Almost
everything (including meshing, and pre- and post-processing) runs in
parallel as standard, enabling users to take full advantage of computer
hardware at their disposal.
By being open, OpenFOAM offers users complete freedom to customize
and extend its existing functionality. It follows a highly modular code
design in which collections of functionality (e.g. numerical methods,
meshing, physical models …) are each compiled into their own shared
library. Executable applications are then created that are simply linked to
the library functionality. OpenFOAM includes over 80 solver applications
that simulate specific problems in engineering mechanics and over 170
utility applications that perform pre- and post-processing tasks, e.g.
meshing, data visualization, etc.

Department of Mechanical Engineering, PESIT Page 7


Chapter 2
LITERATURE REVIEW
2.1 Tutorials

2.1.1 The Durham OpenFOAM Tutorial – Grant Ingram –


Durham University – July 2012

This tutorial provides a short step by step guide to calculating the flow
around an airfoil using the OpenFOAM package. It introduces the
important features of OpenFOAM. The author uses NACA 5012 airfoil for
this illustration. Meshing is done using gmsh. It is then converted to
FOAM mesh. The necessary boundary conditions are set up in the
respective text files. The system directories are suitably altered. The
solver used is simpleFoam.
Once the solution converges, the next step is post-processing. The post-
processor used here is ParaView. The pressure and velocity contours are
obtained. This tutorial introduces us to OpenFOAM environment. We get
to learn the basic functions of OpenFOAM.

2.1.2 The ‗icoFoam‘ cavity tutorial – Eric Paterson –


Pennsylvania State University – April 2010
This tutorial introduces icoFoam tutorial. This is a lid driven cavity
problem. Meshing is done using blockMesh. The necessary boundary
conditions are set up. The solver used is icoFoam. Once the solution is
converged, the next step is post-processing using ParaView. Again the
pressure and velocity contours are obtained. The vortices generated are
observed. This tutorial introduces more features of OpenFOAM and
ParaView.

Department of Mechanical Engineering, PESIT Page 8


Chapter 3

PROJECT DETAILS

3.1 OpenFOAM

3.1.1 What is OpenFOAM?

OpenFOAM stands for Open Source Field Operation and


Manipulation. It is written in C++ for the Linux Operating system. FOAM
was written by Henry Weller at Imperial College of London in 1980s. It
is now maintained by OpenCFD Ltd. It has a large user base across most
areas of engineering and science, from both commercial and academic
organizations. OpenFOAM has an extensive range of features to solve
anything from complex fluid flows involving chemical reactions,
turbulence and heat transfer, to solid dynamics and electromagnetics. It
includes tools for meshing, notably snappyHexMesh, a parallelised mesher
for complex CAD geometries, and for pre- and post-processing. Almost
everything (including meshing, and pre- and post-processing) runs in
parallel as standard, enabling users to take full advantage of computer
hardware at their disposal. OpenFOAM uses Finite Volume Method on
unstructured meshes.
By being open, OpenFOAM offers users complete freedom to customize
and extend its existing functionality. It follows a highly modular code
design in which collections of functionality (e.g. numerical methods,
meshing, physical models …) are each compiled into their own shared
library. Executable applications are then created that are simply linked to
the library functionality. OpenFOAM includes over 80 solver applications
that simulate specific problems in engineering mechanics and over 170
utility applications that perform pre- and post-processing tasks, e.g.
meshing, data visualization, etc.

Department of Mechanical Engineering, PESIT Page 9


3.1.2 Why OpenFOAM?
1. OpenFOAM is open source.
2. It is one of the best open source CFD package available.
3. The quality of C++ code is very high.
4. It comes with a fairly good documentation.
5. OpenFOAM has an easy to use high level object oriented
programming interface.
6. It can be used for both structured and unstructured meshes.
7. OpenFOAM comes with many of precompiled solvers ready for use.
8. New solvers and utilities can be created by the users with some pre-
requisite knowledge of the underlying method, physics and
programming techniques involved.
9. High license fees on other commercial CFD packages like FLUENT
or CFX.

3.1.3 OpenFOAM Installation

OpenFOAM can be installed in Ubuntu Operating System. The Windows


version is not available. For Windows, a Virtual Machine (VM) must be
installed. A VM can then be created running the Linux OS as a guest in
which OpenFOAM can be installed. Oracle® Virtual Box
(http://www.virtualbox.org/) can be used for this purpose. The user is
advised to learn the basic commands used in Ubuntu Terminal window.

3.1.3.1 Installing OpenFOAM in Virtual Machine for Windows


Oracle® Virtual Box is open source and has a good level of functionality.
The method has been tested for both the Windows XP and Windows 7
OSes on 32 bit systems.
Step 1: Creating a Virtual Machine with Oracle Virtual Box

Department of Mechanical Engineering, PESIT Page 10


The first step is to download and install Oracle Virtual Box. The user
should go to the Virtual Box download page
(https://www.virtualbox.org/wiki/Downloads) and, under Virtual Box
binaries, select the download for Windows hosts and install the software.
Once the software is installed, the user should launch Virtual Box and
select New (top left corner) to create a new VM. In the New Virtual
Machine Wizard screen, click Next.
On the next screen the user needs to name the VM and select the guest
OS. In this example, we name the VM OpenFOAM and
select Linux and Ubuntu for the OS specification, as shown below.
Click Next.

The next screen allows the user to select the memory (RAM) that your
host system (Windows) will allow the guest system (Ubuntu) to use. It is
not critical to select the optimal value now, because it can be modified
later, but the user should try to choose something that balances the
demands of both the host and guest system. Ideally, a value of 1.5 GB or
above is recommended for the VM otherwise it may run too slowly. In the
next Virtual Hard Disk menu, the user should use the default options
(Boot Hard Disk and Create new hard disk). Click Next.

Department of Mechanical Engineering, PESIT Page 11


The following screen is the welcome screen of the Create New Virtual
Disk Wizard. Click Next then, when prompted, select the default hard disk
— Dynamically Expanded Storage — which will cause the disk space taken
by the VM to be scaled dynamically as required.
The following screen asks for the location and size of the VM. Leave the
location as it is but change the size from the fairly low default 8 GB to
something larger, e.g. 25 GB. In the final screen, check the summary
and, if it is OK, click Finish to complete the installation.
Step 2: Installing Ubuntu
The next step is to install Ubuntu Linux. The user must first download an
ISO image of the Ubuntu distribution by going to the Ubuntu download
page (http://www.ubuntu.com/download/desktop). The user can choose
the current version or the long term support (LTS) 10.04 version.
After the ISO file, e.g. ubuntu-10.04.3-desktop-i386.iso, has been
downloaded, start the OpenFOAM VM by clicking the green Start arrow at
the top of the VM window. This opens the First Run Wizard, where the
user should click Next to begin installation of the guest OS. The next
screen allows the user to select the install media. i.e. the ISO
image. Click the small folder icon on the right of screen, navigate to and
select the Ubuntu ISO file, and click Open. Once the ISO file has been
selected in the Media Type as shown below, click Next.

Department of Mechanical Engineering, PESIT Page 12


The Ubuntu installer will start and the Ubuntu install wizard guides the
user through the installation. The user can consult Ubuntu
Documentation (http://ubuntuguide.org/wiki/Ubuntu_Quantal) for
further help, but of particular importance, is that the user will be given
the option to use the entire disk or a user specified setup. Choose to use
the entire disk, since this is only the space we assigned the VM. After the
installation script of Ubuntu has finished, the system asks to reboot the
VM. Once the system has rebooted, the user can log in to Ubuntu.
Step 3: Installing Guest Additions
It is worth installing Guest Additions which provides additional
functionality, particularly file-sharing between the host and guest OSes.
With the VM running, click Devices at the top of the VM window and
select Install Guest Additions. This will mount media containing the Guest
Additions as a virtual CD named VBOXADDITIONS…, in the Ubuntu
desktop. The user will then either be prompted directly to Open Autorun
Prompt or will need to click on the virtual CD icon to be prompted. The
user should Accept which will launch a script in a terminal which requires
their user password to run. Once run, the user must press the return
(enter) key as instructed.
Finally, from the drop down menu, select System->Administration-
>Update Manager to update the Ubuntu OS. Once completed, shutdown
the VM and reboot the HOST machine to enable the Guest
Additions installation to take effect.
Step 4: Installing OpenFOAM in Ubuntu VM
To install OpenFOAM in the Ubuntu Linux Virtual Machine, the user should
follow the instructions on the Ubuntu Deb Pack Installation
(http://www.openfoam.org/download/ubuntu.php) page.
Step 5: File sharing between Host and Guest
Once the user starts to use the Ubuntu VM, it is likely that he/she would
like to save or move files from the Ubuntu VM to the Windows host filing
system. For example, the user may wish to have the
an OpenFOAM directory on Windows that can be directly accessed from

Department of Mechanical Engineering, PESIT Page 13


the Ubuntu VM. Below we describe how to set that up by enabling file
sharing between the host and guest OSes.
-Create a new OpenFOAM directory (folder) on Windows, e.g. in C:\. Once
created, set the permissions to Read/Write access by hovering the cursor
over it, clicking the right mouse button and modifying the settings as
necessary.
-Enable file sharing on the new C:\OpenFOAM directory by
selecting Shared Folders… from the Devices drop-down menu on the top-
left of the VM. The Shared Folders dialog box appears in which the user
should click the add folder button (blue folder with green plus). The user
should then select the C:\OpenFOAM directory on the Windows host
system. The Auto-mount and Make Permanent boxes should be checked
but Read-only should not be checked as shown below. Click OK in theAdd
Share and Shared Folders dialog boxes.

-In the Ubuntu VM, create a new OpenFOAM directory, e.g. by opening a
terminal window (Applications->Accessories->Terminal) and typing:
mkdir $HOME/OpenFOAM

Department of Mechanical Engineering, PESIT Page 14


-From the VM, mount the C:\OpenFOAM directory on Windows by typing
in the terminal:
sudo mount -t vboxsf OpenFOAM $HOME/OpenFOAM

-Finally, in order to exchange files freely, the user should be a member of


the VirtualBox group, named vboxsf, in the Ubuntu VM. This can be
done either through the interface from the Administration->Users and
Groups menu, or simply by opening the /etc/group file in an editor by
typing:

sudo gedit /etc/hosts

and adding the user name to the vboxsf group, e.g. for user ubuntu the
group entry might look like

vboxsf:x:1001:ubuntu

For more information about shared folder access, see the following How-
To page (http://www.ubuntugeek.com/how-to-access-windows-host-
shared-folders-from-ubuntu-guest-in-virtualbox.html).

3.1.3.2 OpenFOAM Ubuntu Deb Pack Installation


This section explains the installation of OpenFOAM in Ubuntu Operating
System. The Ubuntu OS must be separately installed on the computer
with sufficient storage space.
OpenFOAM and Paraview can be simply installed using the apt package
management tool. The user will need to provide superuser password
authentication when executing the following commands with sudo.
1. In a terminal window, add OpenFOAM to the list of repository
locations for apt to search, by copying and pasting the following
in a terminal prompt (Applications -> Accessories -> Terminal).
VERS=$(lsb_release -cs)
sudo sh c "echo deb http://www.openfoam.org/download/ubuntu $VERS main > /
etc/apt/sources.list.d/openfoam.list"

Department of Mechanical Engineering, PESIT Page 15


o Note 1: Line 1 stores the version name of your Ubuntu distribution
(e.g. maverick) under $VERS, which is used in line 2
o Note 2: This only needs to be done once for a given system
2. Update the apt package list to account for the new download
repository location
sudo apt-get update

3. Install OpenFOAM (220 in the name refers to version 2.2.0):


sudo apt-get install openfoam220

4. For Ubuntu versions 11.10 and 12.04 only, install Paraview


(3120 in the name refers to version 3.12.0):
sudo apt-get install paraviewopenfoam3120

For Ubuntu version 12.10, install the system version of Paraview

sudo apt-get install paraview

OpenFOAM-2.2.0 is now installed in the /opt directory (along with and


Paraview-3.12.0 in the Ubuntu versions 11.10 and 12.04).

Installation Problems

Networking must be enabled in order to be able to install software


packages in Ubuntu. Installation failure due to networking problems
usually results in an error message that reports failures in fetching
archives and ends with a line like the following:

E: Unable to fetch some archives...

The .deb files for different versions of Ubuntu supplied can be downloaded
directly from the following locations:
http://www.openfoam.org/download/ubuntu/dists/quantal/main/binary-
amd64/openfoam220_0-1_amd64.deb
http://www.openfoam.org/download/ubuntu/dists/quantal/main/binary-
i386/openfoam220_0-1_i386.deb
http://www.openfoam.org/download/ubuntu/dists/precise/main/binary-
amd64/openfoam220_0-1_amd64.deb
http://www.openfoam.org/download/ubuntu/dists/precise/main/binary-

Department of Mechanical Engineering, PESIT Page 16


amd64/paraviewopenfoam3120_0-1_amd64.deb
http://www.openfoam.org/download/ubuntu/dists/precise/main/binary-
i386/openfoam220_0-1_i386.deb
http://www.openfoam.org/download/ubuntu/dists/precise/main/binary-
i386/paraviewopenfoam3120_0-1_i386.deb
http://www.openfoam.org/download/ubuntu/dists/oneiric/main/binary-
amd64/openfoam220_0-1_amd64.deb
http://www.openfoam.org/download/ubuntu/dists/oneiric/main/binary-
amd64/paraviewopenfoam3120_0-1_amd64.deb
http://www.openfoam.org/download/ubuntu/dists/oneiric/main/binary-
i386/openfoam220_0-1_i386.deb
http://www.openfoam.org/download/ubuntu/dists/oneiric/main/binary-
i386/paraviewopenfoam3120_0-1_i386.deb

User Configuration

In order to use the installed OpenFOAM package, complete the following

1. Open the .bashrc file in the user‘s home directory in an editor, e.g.
by typing in a terminal window (note the dot)
gedit ~/.bashrc

2. At the bottom of that file, add the following line (see Note 1) and
save the file
source /opt/openfoam220/etc/bashrc

3. Open a new terminal window (see Note 2) and test that


the icoFoam application, from the OpenFOAM package, is working
by typing
icoFoam -help

4. A ―Usage‖ message should appear. Your installation and user


configuration is complete.

Note 1: If a similar line has already been added to the user‘s .bashrc file,
e.g. for a previous version of OpenFOAM, then the line should be deleted
or, alternatively, commented out by inserting a # at the beginning of the
line.
Note 2: If a user wishes to execute icoFoam in the same terminal

Department of Mechanical Engineering, PESIT Page 17


window, they must first register the change to the .bashrcfile by typing at
the terminal prompt (note the dots): source $HOME/.bashrc

Getting Started

Create a project directory within the $HOME/OpenFOAM directory


named <USER>-2.2.0 (e.g. chris-2.2.0 for user chris and OpenFOAM
version 2.2.0) and create a directory named run within it, e.g. by typing:
mkdir -p $FOAM_RUN

Copy the tutorial examples directory in the OpenFOAM distribution to


the run directory. If the OpenFOAM environment variables are set
correctly, then the following command will be correct:

cp -r $FOAM_TUTORIALS $FOAM_RUN

Run the first example case of incompressible laminar flow in a cavity:

cd $FOAM_RUN/tutorials/incompressible/icoFoam/cavity
blockMesh
icoFoam
paraFoam

Refer to the OpenFOAM User Guide


(http://www.openfoam.org/docs/user/) to get started.

3.2 OpenFOAM Environment

This section provides a description of the basic operations of OpenFOAM.


OpenFOAM is first and foremost a C++ library, used primarily to create
executables, known as applications. The applications fall into two
categories: solvers, that are each designed to solve a specific problem in
continuum mechanics; and utilities, that are designed to perform tasks
that involve data manipulation. The OpenFOAM distribution contains
numerous solvers and utilities covering a wide range of problems.

Department of Mechanical Engineering, PESIT Page 18


One of the strengths of OpenFOAM is that new solvers and utilities can be
created by its users with some pre-requisite knowledge of the underlying
method, physics and programming techniques involved.
OpenFOAM is supplied with pre- and post-processing environments. The
interface to the pre- and post-processing are themselves OpenFOAM
utilities, thereby ensuring consistent data handling across all
environments. The overall structure of OpenFOAM is shown in Figure
3.2.1.

Fig 3.2.1: Overview of OpenFOAM structure.

3.2.1 Applications and Libraries

OpenFOAM is distributed with a large set of precompiled applications but


users also have the freedom to create their own or modify existing ones.
Applications are split into two main categories:

solvers
that are each designed to solve a specific problem in computational
continuum mechanics;

utilities
that perform simple pre-and post-processing tasks, mainly involving
data manipulation and algebraic calculations.

OpenFOAM is divided into a set of precompiled libraries that are


dynamically linked during compilation of the solvers and utilities. Libraries
such as those for physical models are supplied as source code so that
users may conveniently add their own models to the libraries.

Department of Mechanical Engineering, PESIT Page 19


3.2.1.1 Standard Solvers
The solvers with the OpenFOAM distribution are in
the $FOAM_SOLVERS directory, reached quickly by typing app at the
command line. This directory is further subdivided into several directories
by category of continuum mechanics, e.g. incompressible flow,
combustion and solid body stress analysis. Each solver is given a name
that is reasonably descriptive, e.g. icoFoam solves incompressible,
laminar flow. The below table lists only some standard solvers, more can
be found in the OpenFOAM User Guide.

Basic CFD codes


laplacianFoam Solves a simple laplacian
equation, e.g. for thermal
diffusion in a solid.
potentialFoam Simple potential flow solver
which can be used to generate
starting fields for full Navier-
Stokes codes
scalarTransportFoam Solves a transport equation for a
passive scalar

Incompressible flow
boundaryFoam Steady-state solver for
incompressible, 1D turbulent
flow, typically to generate
boundary layer conditions at an
inlet, for use in a simulation
channelFoam Incompressible LES solver for
flow in a channel
icoFoam Transient solver for
incompressible, laminar flow of

Department of Mechanical Engineering, PESIT Page 20


Newtonian fluids
pimpleFoam Large time-step transient solver
for incompressible, flow using the
PIMPLE (merged PISO-SIMPLE)
algorithm
pisoFoam Transient solver for
incompressible flow
simpleFoam Steady-state solver for
incompressible, turbulent flow

Compressible flow
rhoCentralFoam Density-based compressible flow
solver based on central-upwind
schemes of Kurganov and
Tadmor
rhoCentralDyMFoam Density-based compressible flow
solver based on central-upwind
schemes of Kurganov and
Tadmor with moving mesh
capability and turbulence
modelling
rhoSimplecFoam Steady-state SIMPLEC solver for
laminar or turbulent RANS flow of
compressible fluids
rhoSimpleFoam Steady-state SIMPLE solver for
laminar or turbulent RANS flow of
compressible fluids
sonicFoam Transient solver for trans-
sonic/supersonic, laminar or
turbulent flow of a compressible
gas

Department of Mechanical Engineering, PESIT Page 21


Combustion
coldEngineFoam Solver for cold-flow in internal
combustion engines
dieselFoam Solver for diesel spray and
combustion
engineFoam Solver for internal combustion
engines

Heat transfer and buoyancy-


driven flows
buoyantBaffleSimpleFoam Steady-state solver for buoyant,
turbulent flow of compressible
fluids using thermal baffles
buoyantSimpleFoam Steady-state solver for buoyant,
turbulent flow of compressible
fluids

Electromagnetics
electrostaticFoam Solver for electrostatics
magneticFoam Solver for the magnetic field
generated by permanent
magnets
mhdFoam Solver for
magnetohydrodynamics (MHD):
incompressible, laminar flow of a
conducting fluid under the
influence of a magnetic field

Stress analysis of solids


solidDisplacementFoam Transient segregated finite-

Department of Mechanical Engineering, PESIT Page 22


volume solver of linear-elastic,
small-strain deformation of a
solid body, with optional thermal
diffusion and thermal stresses
solidEquilibriumDisplacementFoam Steady-state segregated finite-
volume solver of linear-elastic,
small-strain deformation of a
solid body, with optional thermal
diffusion and thermal stresses

Finance
financialFoam Solves the Black-Scholes
equation to price commodities

3.2.1.2 Standard Utilities


The utilities with the OpenFOAM distribution are in the $FOAM UTILITIES
directory, reached quickly by typing util at the command line. Again the
names are reasonably descriptive, e.g. ideasToFoam converts mesh data
from the format written by I-DEAS to the OpenFOAM format. The
following table lists only few standard utilities, more can be found in the
OpenFOAM User Guide.
Pre-processing
applyBoundaryLayer Apply a simplified boundary-layer model to the velocity and
turbulence fields based on the 1/7th power-law
foamUpgradeCyclics Tool to upgrade mesh and fields for split cyclics
Generates a table suitable for use by tabulated wall
wallFunctionTable functions

Mesh generation
blockMesh A multi-block mesh generator
Extrude mesh from existing patch (by default outwards
extrudeMesh facing
normals; optional flips faces) or from patch read from file.

Department of Mechanical Engineering, PESIT Page 23


snappyHexMesh Automatic split hex mesher. Refines and snaps to surface

Mesh conversion
ansysToFoam Converts an ANSYS input mesh file, exported from I-DEAS,
to OpenFOAM format
cfx4ToFoam Converts a CFX 4 mesh to OpenFOAM format
fluent3DMeshToFoam Converts a Fluent mesh to OpenFOAM format
fluentMeshToFoam Converts a Fluent mesh to OpenFOAM format including mul-
tiple region and region boundary handling
foamMeshToFluent Writes out the OpenFOAM mesh in Fluent mesh format
gambitToFoam Converts a GAMBIT mesh to OpenFOAM format
gmshToFoam Reads .msh file as written by Gmsh

Mesh manipulation
attachMesh Attach topologically detached mesh using prescribed mesh
modifiers
checkMesh Checks validity of a mesh
mergeMeshes Merge two meshes
refineMesh Utility to refine cells in multiple directions

Post-processing at
walls
wallGradU Calculates and writes the gradient of U at the wall
wallShearStress Calculates and writes the wall shear stress, for the specified
times
Calculates and reports yPlus for all wall patches, for the
yPlusLES spec-
ified times
Calculates and reports yPlus for all wall patches, for the
yPlusRAS spec-
ified times when using RAS turbulence models

3.2.1.3 Standard Libraries


The libraries with the OpenFOAM distribution are in the $FOAM LIB/$WM OPTIONS
directory, reached quickly by typing lib at the command line. Again, the names
are prefixed by lib and reasonably descriptive, e.g.
incompressibleTransportModels contains the library of incompressible transport
models. More about standard libraries can be found in the OpenFOAM User Guide.

Department of Mechanical Engineering, PESIT Page 24


3.2.2 File structure of OpenFOAM cases
The basic directory structure for a OpenFOAM case, that contains the minimum
set of files required to run an application, is shown in Figure 3.2.2 and described
as follows:

Fig 3.2.2 Case directory structure

A constant directory
that contains a full description of the case mesh in a
subdirectory polyMesh and files specifying physical properties for the
application concerned, e.g.transportProperties.

A system directory

for setting parameters associated with the solution procedure itself. It


contains at least the following 3 files: controlDictwhere run control
parameters are set including start/end time, time step and parameters for
data output; fvSchemeswhere discretisation schemes used in the solution
may be selected at run-time; and, fvSolution where the equation solvers,
tolerances and other algorithm controls are set for the run.

Department of Mechanical Engineering, PESIT Page 25


The ‘time’ directories

containing individual files of data for particular fields. The data can be:
either, initial values and boundary conditions that the user must specify to
define the problem; or, results written to file by OpenFOAM. Note that the
OpenFOAM fields must always be initialised, even when the solution does
not strictly require it, as in steady-state problems. It is sufficient to say now
that since we usually start our simulations at time t =0, the initial conditions
are usually stored in a directory named 0 or 0.000000e+00, depending on
the name format specified. For example, in the cavity tutorial, the velocity
field U and pressure field p are initialised from
files 0/U and 0/p respectively.

3.3 ParaView (paraFoam)

The main post-processing tool provided with OpenFOAM is a reader module to run
with ParaView, an open-source, visualization application. The module is compiled
into 2 libraries, PV3FoamReader and vtkPV3Foam using version 3.10.1 of
ParaView supplied with the OpenFOAM release (PVFoamReader and vtkFoam in
ParaView version 2.x). It is recommended that this version of ParaView is used,
although it is possible that the latest binary release of the software will run
adequately. Further details about ParaView can be found at
http://www.paraview.org and further documentation is available at
http://www.kitware.com/products/paraviewguide.html.

ParaView uses the Visualisation Toolkit (VTK) as its data processing and rendering
engine and can therefore read any data in VTK format. OpenFOAM includes the
foamToVTK utility to convert data from its native format to VTK format, which
means that any VTK-based graphics tools can be used to post-process OpenFOAM
cases. This provides an alternative means for using ParaView with OpenFOAM. For
users who wish to experiment with advanced, parallel visualisation, there is also

Department of Mechanical Engineering, PESIT Page 26


the free VisIt software, available at http://www.llnl.gov/visit.

In summary, we recommend the reader module for ParaView as the primary post-
processing tool for OpenFOAM. Alternatively OpenFOAM data can be converted
into VTK format to be read by ParaView or any other VTK -based graphics tools.

3.3.1 Overview of paraFoam

paraFoam is strictly a script that launches ParaView using the reader module
supplied with OpenFOAM. It is executed like any of the OpenFOAM utilities either
by the single command from within the case directory or with the -case option
with the case path as an argument, e.g.:

paraFoam -case <caseDir>

Fig 3.3.1: The paraFoam window

ParaView is launched and opens the window shown in Figure 3.3.1. The case is
controlled from the left panel, which contains the following:

Department of Mechanical Engineering, PESIT Page 27


Pipeline Browser

lists the modules opened in ParaView, where the selected modules are
highlighted in blue and the graphics for the given module can be
enabled/disabled by clicking the eye button alongside;

Properties panel

contains the input selections for the case, such as times, regions and fields;

Display panel

controls the visual representation of the selected module, e.g. colours;

Information panel

gives case statistics such as mesh geometry and size.

ParaView operates a tree-based structure in which data can be filtered from the
top-level case module to create sets of sub-modules. For example, a contour plot
of, say, pressure could be a sub-module of the case module which contains all the
pressure data. The strength of ParaView is that the user can create a number of
sub-modules and display whichever ones they feel to create the desired image or
animation. For example, they may add some solid geometry, mesh and velocity
vectors, to a contour plot of pressure, switching any of the items on and off as
necessary.

The general operation of the system is based on the user making a selection and
then clicking the green Apply button in the Properties panel. The additional
buttons are: the Reset button which can be used to reset the GUI if necessary;
and, the Delete button that will delete the active module.

Department of Mechanical Engineering, PESIT Page 28


3.3.1.1 The Properties panel

The Properties panel for the case module contains the settings for time step,
regions and fields.

Fig 3.3.2: The properties panel for the case module.

The controls are described in Figure 3.3.2. It is particularly worth noting that in
the current reader module, data in all time directories are loaded into ParaView (in
the reader module for ParaView 2.x, a set of check boxes controlled the time that
were displayed).

As with any operation in paraFoam, the user must click Apply after making any
changes to any selections. The Apply button is highlighted in green to alert the
user if changes have been made but not accepted. This method of operation has
the advantage of allowing the user to make a number of selections before
accepting them, which is particularly useful in large cases where data processing

Department of Mechanical Engineering, PESIT Page 29


is best kept to a minimum.

There are occasions when the case data changes on file and ParaView needs to
load the changes, e.g. when field data is written into new time directories. To load
the changes, the user should check the Update GUI button at the top of the
Properties panel and then apply the changes.

3.3.1.2 The Display panel

The Display panel contains the settings for visualising the data for a given case
module.

Fig 3.3.3: The Display panel.

Department of Mechanical Engineering, PESIT Page 30


The following points are particularly important:

the data range may not be automatically updated to the max/min limits of a
field, so the user should take care to select Rescale to Data Range at
appropriate intervals, in particular after loading the initial case module;
clicking the Edit Color Map button, brings up a window in which there are
two panels:
1. The Color Scale panel in which the colours within the scale can be
chosen. The standard blue to red colour scale for CFD can be selected
by clicking Choose Preset and selecting Blue to Red Rainbox HSV.
2. The Color Legend panel has a toggle switch for a colour bar legend
and contains settings for the layout of the legend, e.g. font.
the underlying mesh can be represented by selecting Wireframe in the
Representation menu of the Style panel;
the geometry, e.g. a mesh (if Wireframe is selected), can be visualised as a
single colour by selecting Solid Color from the Color By menu and specifying
the colour in the Set Ambient Color window;
the image can be made translucent by editing the value in the Opacity text
box (1 = solid, 0 = invisible) in the Style panel.

3.3.1.3 The button toolbars

ParaView duplicates functionality from pull-down menus at the top of the main
window and the major panels, within the toolbars below the main pull-down
menus. The displayed toolbars can be selected from Toolbars in the main View
menu. The default layout with all toolbars is shown in Figure 3.3.4 with each
toolbar labelled. The function of many of the buttons is clear from their icon and,
with tooltips enabled in the Help menu, the user is given a concise description of
the function of any button.

Department of Mechanical Engineering, PESIT Page 31


Fig 3.3.4: Toolbars in ParaView

3.3.1.4 Contour plots

A contour plot is created by selecting Contour from the Filter menu at the top
menu bar. The filter acts on a given module so that, if the module is the 3D case
module itself, the contours will be a set of 2D surfaces that represent a constant
value, i.e. isosurfaces. The Properties panel for contours contains an Isosurfaces
list that the user can edit, most conveniently by the New Range window. The
chosen scalar field is selected from a pull down menu.

Very often a user will wish to create a contour plot across a plane rather than
producing isosurfaces. To do so, the user must first use the Slice filter to create
the cutting plane, on which the contours can be plotted. The Slice filter allows the
user to specify a cutting Plane, Box or Sphere in the Slice Type menu by a center
and normal/radius respectively. The user can manipulate the cutting plane like
any other using the mouse.

The user can then run the Contour filter on the cut plane to generate contour
lines.

3.3.1.5 Vector plots

Vector plots are created using the Glyph filter. The filter reads the field selected in
Vectors and offers a range of Glyph Types for which the Arrow provides a clear
vector plot images. Each glyph has a selection of graphical controls in a panel

Department of Mechanical Engineering, PESIT Page 32


which the user can manipulate to best effect.

The remainder of the Properties panel contains mainly the Scale Mode menu for
the glyphs. The most common options are Scale Mode are: Vector, where the
glyph length is proportional to the vector magnitude; and, Off where each glyph is
the same length. The Set Scale Factor parameter controls the base length of the
glyphs.

3.3.1.6 Streamlines

Streamlines are created by first creating tracer lines using the Stream Tracer
filter. The tracer Seed panel specifies a distribution of tracer points over a Line
Source or Point Cloud. The user can view the tracer source, e.g. the line, but it is
displayed in white, so they may need to change the background colour in order to
see it.

The distance the tracer travels and the length of steps the tracer takes are
specified in the text boxes in the main Stream Tracer panel. The process of
achieving desired tracer lines is largely one of trial and error in which the tracer
lines obviously appear smoother as the step length is reduced but with the
penalty of a longer calculation time.

Once the tracer lines have been created, the Tubes filter can be applied to the
Tracer module to produce high quality images. The tubes follow each tracer line
and are not strictly cylindrical but have a fixed number of sides and given radius.
When the number of sides is set above, say, 10, the tubes do however appear
cylindrical, but again this adds a computational cost.

3.3.1.7 Image output

The simplest way to output an image to file from ParaView is to select Save
Screenshot from the File menu. On selection, a window appears in which the user

Department of Mechanical Engineering, PESIT Page 33


can select the resolution for the image to save. There is a button that, when
clicked, locks the aspect ratio, so if the user changes the resolution in one
direction, the resolution is adjusted in the other direction automatically. After
selecting the pixel resolution, the image can be saved. To achieve high quality
output, the user might try setting the pixel resolution to 1000 or more in the x-
direction so that when the image is scaled to a typical size of a figure in an A4 or
US letter document, perhaps in a PDF document, the resolution is sharp.

3.4 Project Details

3.4.1 Tutorial – Lid Driven Cavity Flow

This tutorial will describe how to pre-process, run and post-process a case
involving isothermal, incompressible flow in a two dimensional square domain.
The geometry is shown in Figure 3.4.1 in which all the boundaries of the square
are walls. The top wall moves in the x-direction at a speed of 1 m/s while the
other 3 are stationary. The flow will be assumed laminar and will be solved on a
uniform mesh using the icoFoam solver for laminar, isothermal, incompressible

flow.
Fig 3.4.1: The geometry of the lid driven cavity.

Mesh generation: Open the Terminal window. In preparation of editing case files
and running the first cavity case, the user should change to the case directory in
the Terminal window to:

Department of Mechanical Engineering, PESIT Page 34


cd $FOAM_RUN/tutorials/incompressible/icoFoam/cavity

Mesh is generated just by typing blockMesh in the Terminal window. To check the
mesh type checkMesh. The message Mesh Ok should be displayed.
To edit the mesh, the user can go to cavity/constant/polyMesh/blockMeshDict file and
edit required parameters.
Boundary Conditions: Once the mesh generation is complete, the user can look
at this initial fields set up for this case. The case is set up to start at time 0s, so
the initial field data is stored in a 0 sub-directory of the cavity directory. The 0
sub-directory contains 2 files, p and U, one for each of the pressure (p) and
velocity (U) fields whose initial values and boundary conditions must be set.
There are 3 principal entries in field data files:
dimensions:
specifies the dimensions of the field, here kinematic pressure;
internalField:
the internal field data which can be uniform, described by a single value; or
nonuniform, where all the values of the field
must be specified;
boundaryField:
the boundary field data that includes boundary conditions and data for all the
boundary patches.
For this case cavity, the boundary consists of walls only, split into 2 patches
named: (1) fixedWalls for the fixed sides and base of the cavity; (2) movingWall
for the moving top of the cavity. As walls, both are given a zeroGradient boundary
condition for p, meaning ―the normal gradient of pressure is zero‖. The
frontAndBack patch represents the front and back planes of the 2D case and
therefore must be set as empty.
In this case, as in most we encounter, the initial fields are set to be uniform. Here
the pressure is kinematic, and as an incompressible case, its absolute value is not
relevant, so is set to uniform 0 for convenience.
The user can similarly examine the velocity field in the 0/U file. The dimensions
are those expected for velocity, the internal field is initialised as uniform zero,
which in the case of velocity must be expressed by 3 vector components,

Department of Mechanical Engineering, PESIT Page 35


i.e.uniform (0 0 0) The boundary field for velocity requires the same boundary
condition for the frontAndBack patch. The other patches are walls: a no-slip
condition is assumed on the fixedWalls, hence a fixedValue condition with a value
of uniform (0 0 0).
The top surface moves at a speed of 1 m/s in the -direction so requires a
fixedValue condition also but with uniform (1 0 0).
Physical properties: The physical properties for the case are stored in
dictionaries whose names are given the suffix …Properties, located in the
Dictionaries directory tree. For an icoFoam case, the only property that must be
specified is the kinematic viscosity which is stored from the transportProperties
dictionary. The user can check that the kinematic viscosity is set correctly by
opening the transportProperties dictionary to view/edit its entries. The keyword
for kinematic viscosity is nu, the phonetic label for the Greek symbol ν by which it
is represented in equations. This case will be run with a Reynolds number of 10,
where the
Reynolds number is defined as:
Re = (d*U)/ν
Where d and U are the characteristic length and velocity respectively and ν is the
kinematic viscosity. Here d=0.1 , U=1m/s , so that for Re=10, ν=0.01m2/s.
Control: Input data relating to the control of time and reading and writing of the
solution data are read in from the controlDict dictionary. The user should view this
file; as a case control file, it is located in the system directory.
The start/stop times and the time step for the run must be set. In this tutorial we
wish to start the run at time which means that OpenFOAM needs to read field data
from a directory named 0 for more information of the case file structure.
Therefore we set the startFrom keyword to startTime and then specify the
startTime keyword to be 0.
For the end time, we wish to reach the steady state solution where the flow is
circulating around the cavity. As a general rule, the fluid should pass through the
domain 10 times to reach steady state in laminar flow. In this case the flow does
not pass through this domain as there is no inlet or outlet, so instead the end

Department of Mechanical Engineering, PESIT Page 36


time can be set to the time taken for the lid to travel ten times across the cavity,
i.e. 1 s; in fact, with hindsight, we discover that 0.5 s is sufficient so we shall
adopt this value. To specify this end time, we must specify the stopAt keyword as
endTime and then set the endTime keyword to 0.5. Set deltaT = 0.005s and set
writeInterval to 20.

Discretisation and linear-solver settings: The user specifies the choice of


finite volume discretisation schemes in the fvSchemes dictionary in the system
directory. The specification of the linear equation solvers and tolerances and other
algorithm controls is made in the fvSolution dictionary, similarly in the system
directory. The user is free to view these dictionaries but we do not need to discuss
all their entries at this stage except for pRefCell and pRefValue in the PISO sub-
dictionary of the fvSolution dictionary. In a closed incompressible system such as
the cavity, pressure is relative: it is the pressure range that matters not the
absolute values. In cases such as this, the solver sets a reference level by
pRefValue in cell pRefCell. In this example both are set to 0. Changing either of
these values will change the absolute pressure field, but not, of course, the
relative pressures or velocity field.
Solution: Here we will run the icoFoam solver by typing icoFoam in the terminal
window. The progress of the job is written to the terminal window. It tells the user
the current time, maximum Courant number, initial and final residuals for all
fields.
Once the solution is converged, open paraFoam by typing paraFoam in the terminal
window.
Post-processing: Post-processing is done using ParaView. Once the paraFoam is
open click Apply button in the Pipeline Browser. Load the data at the required
time of 0.5s i.e., 5 time intervals. This is done by typing 5 in the time menu in the
right top corner of the window. To view pressure, open Display panel. In the Style
panel, select Surface from Representation menu; in the color panel, select color by ◦p
and Rescale the Data Range. The pressure field solution has, as expected, a
region of low pressure at the top left of the cavity and one of high pressure at the
top right of the cavity is displayed. The velocity profile can be viewed by changing

Department of Mechanical Engineering, PESIT Page 37


the color by option to color by ◦U. The pressure plot is shown in figure 3.4.2.

Fig 3.4.2: Pressures in the cavity case.

A color bar can be included by either by clicking the Toggle Color Legend Visibility
button in the Active Variable Controls toolbar, or by selecting Show Color Legend
from the View menu. Clicking the Edit Color Map button, either in the Active
Variable Controls toolbar or in the Color panel of the Display window, the user can
set a range of attributes of the color bar, such as text size, font selection and
numbering format for the scale. The color bar can be located in the image window
by drag and drop with the mouse.
Vector plots: select Glyph from the Filter->Alphabetical menu. In the resulting
Properties panel, the velocity field, U, is automatically selected in the vectors
menu, since it is the only vector field present. By default the Scale Mode for the
glyphs will be Vector Magnitude of velocity but, since we may wish to view the
velocities throughout the domain, the user should instead select off and Set Scale
Factor to 0.005. On clicking Apply, the glyphs appear but, probably as a single
color, e.g. white. The user should color the glyphs by velocity magnitude which,
as usual, is controlled by setting Color by U in the Display panel. The user should
also select Show Color Legend in Edit Color Map. The output is shown in Figure
3.4.3.

Department of Mechanical Engineering, PESIT Page 38


Fig 3.4.3: Velocities in the cavity case.

Streamline plots: Again, before the user continues to post-process in ParaView,


they should disable modules such as those for the vector plot described above.
We now wish to plot streamlines of velocity.
With the cavity.OpenFOAM module highlighted in the Pipeline Browser, the user
should then select Stream Tracer from the Filter menu and then click Apply. The
Seed points should be specified along a Line Source running vertically through the
center of the geometry, i.e. from to (0.05, 0, 0.005) to (0.05, 0.1, 0.005). For the
image in this guide we used: a point Resolution of 21; Max Propagation by
Length 0.5; Initial Step Length by Cell Length 0.01; and, Integration Direction BOTH. The

Runge-Kutta 2 IntegratorType was used with default parameters.

On clicking Apply the tracer is generated. The user should then select Tube from
the Filter menu to produce high quality streamline images. For the image in this
report, we used: Num. sides 6; Radius 0.0003; and, Radius factor 10. The
streamtubes are coloured by velocity magnitude. On clicking Apply the image in
Figure 3.4.4 should be produced.

Department of Mechanical Engineering, PESIT Page 39


Fig 3.4.4: Streamlines in the Cavity.

This tutorial explains the basic working of OpenFOAM and paraFoam. Now we
move on to the actual project.

3.4.2 Validation of OpenFOAM – Analysis of NACA 4412 Airfoil.


Validation of OpenFOAM is done by analyzing NACA 4412 airfoil characteristics
using OpenFOAM and comparing the results with experimental values.
Airfoil used is NACA 4412, chord length is 1m and span is 0.05m. Hex/Wedge
elements are used for meshing. Fluid is air at standard atmospheric conditions at
a velocity of 23.15m/s (45knots). Reynolds number for these conditions comes
about 1.6 million. Turbulent unsteady conditions are used and Spalart Allmaras
turbulence model is used. Solver used is simpleFoam.
Pre-processing:
Meshing:
Step 1: Download the .DAT file of NACA 4412 from (www.courses.cit.cornell.edu).
It contains the coordinates of the vertices from which the airfoil profile is formed.
Name it Vetices.DAT

Department of Mechanical Engineering, PESIT Page 40


Step 2: The .DAT file of NACA 4412 has to be converted into gmsh format (gmsh
is the tool used for meshing). It can be done directly by downloading a python
script file from (www.dur.ac.uk). To do this conversion place both .DAT file and
python file in a new directory, say, mesh. Open the Terminal window and change
the working directory to mesh. Type the following command: python dat2gmsh.py
Vertices.DAT. After this a new file called Vertices.DAT.geo is created in the mesh

directory. This file contains all the coordinates of the vertices in gmsh format.

// NACA4412 Aerofoil Shape and Spline fit

ss_lc = 0.005;
Point(1000) = { 0.99591000, 0.00228000, 0.00000000, ss_lc};
Point(1001) = { 0.98332000, 0.00530000, 0.00000000, ss_lc};
Point(1002) = { 0.96256000, 0.01018000, 0.00000000, ss_lc};
Point(1003) = { 0.93397000, 0.01672000, 0.00000000, ss_lc};
Point(1004) = { 0.89801000, 0.02463000, 0.00000000, ss_lc};
Point(1005) = { 0.85526000, 0.03361000, 0.00000000, ss_lc};
Point(1006) = { 0.80644000, 0.04331000, 0.00000000, ss_lc};
Point(1007) = { 0.75236000, 0.05339000, 0.00000000, ss_lc};
Point(1008) = { 0.69393000, 0.06349000, 0.00000000, ss_lc};
Point(1009) = { 0.63212000, 0.07325000, 0.00000000, ss_lc};
Point(1010) = { 0.56799000, 0.08233000, 0.00000000, ss_lc};
Point(1011) = { 0.50264000, 0.09037000, 0.00000000, ss_lc};
Point(1012) = { 0.43719000, 0.09706000, 0.00000000, ss_lc};
Point(1013) = { 0.37278000, 0.10208000, 0.00000000, ss_lc};
Point(1014) = { 0.31051000, 0.10521000, 0.00000000, ss_lc};
Point(1015) = { 0.25148000, 0.10627000, 0.00000000, ss_lc};
Point(1016) = { 0.19674000, 0.10519000, 0.00000000, ss_lc};
Point(1017) = { 0.14722000, 0.10201000, 0.00000000, ss_lc};
Point(1018) = { 0.10381000, 0.09684000, 0.00000000, ss_lc};
Point(1019) = { 0.06726000, 0.08992000, 0.00000000, ss_lc};
Point(1020) = { 0.03818000, 0.08151000, 0.00000000, ss_lc};
Point(1021) = { 0.01707000, 0.07189000, 0.00000000, ss_lc};

// This is the leading edge


Point(1022) = { 0.00000000, 0.05000000, 0.00000000, ss_lc};

//Pressure Side
ps_lc = 0.005;
Point(1023) = { 0.01700000, 0.02808000, 0.00000000, ps_lc};
Point(1024) = { 0.03794000, 0.01835000, 0.00000000, ps_lc};
Point(1025) = { 0.06672000, 0.00963000, 0.00000000, ps_lc};
Point(1026) = { 0.10283000, 0.00209000, 0.00000000, ps_lc};
Point(1027) = { 0.14567000, -0.00415000, 0.00000000, ps_lc};
Point(1028) = { 0.19450000, -0.00902000, 0.00000000, ps_lc};
Point(1029) = { 0.24852000, -0.01252000, 0.00000000, ps_lc};
Point(1030) = { 0.30681000, -0.01473000, 0.00000000, ps_lc};
Point(1031) = { 0.36841000, -0.01581000, 0.00000000, ps_lc};
Point(1032) = { 0.43228000, -0.01596000, 0.00000000, ps_lc};
Point(1033) = { 0.49736000, -0.01537000, 0.00000000, ps_lc};
Point(1034) = { 0.56253000, -0.01428000, 0.00000000, ps_lc};

Department of Mechanical Engineering, PESIT Page 41


Point(1035) = { 0.62670000, -0.01287000, 0.00000000, ps_lc};
Point(1036) = { 0.68876000, -0.01128000, 0.00000000, ps_lc};
Point(1037) = { 0.74764000, -0.00964000, 0.00000000, ps_lc};
Point(1038) = { 0.80232000, -0.00801000, 0.00000000, ps_lc};
Point(1039) = { 0.85184000, -0.00646000, 0.00000000, ps_lc};
Point(1040) = { 0.89535000, -0.00503000, 0.00000000, ps_lc};
Point(1041) = { 0.93206000, -0.00377000, 0.00000000, ps_lc};
Point(1042) = { 0.96132000, -0.00271000, 0.00000000, ps_lc};
Point(1043) = { 0.98261000, -0.00192000, 0.00000000, ps_lc};
Point(1044) = { 0.99554000, -0.00142000, 0.00000000, ps_lc};
Point(1045) = { 0.99987000, -0.00125000, 0.00000000, ps_lc};

Fig 3.4.5: Geometry of the airfoil in gmsh.

Step 3: The Vertices.DAT.geo file contains only vertices coordinates but we need
to create a control volume around the airfoil to analyze the flow. Add the following
lines to the above file.

// NACA aerofoils have the trailing edge undefined - so we make one up


Point(1046) = { 1.005, -0.0005, 0.00000000, ps_lc};

// Put a Spline fit through the appropriate points - note that we could
// also use BSpline but you end up with a different shape
Spline(1000) = {1000:1046,1000};

// This results in a spline that represents a NACA4412 aerofoil, it is not


// the best representation as the point density around the leading edge especially
// is a bit rough but it is good enough to be going on with

// Now add in points to make a box.


edge_lc = 0.2;

Point(1100) = { 5, 4, 0, edge_lc};
Point(1101) = { 5, -4, 0, edge_lc};
Point(1102) = { -5, -4, 0, edge_lc};
Point(1103) = { -5, 4, 0, edge_lc};

Line(1) = {1100,1101};
Line(2) = {1101,1102};
Line(3) = {1102,1103};
Line(4) = {1103,1100};

//Having defined all the lines used for the geometry Spline(1000) is the aerofoil and
// Line(1) to Line(4) are the edges we now tell gmsh how they are related

Department of Mechanical Engineering, PESIT Page 42


// Create a boundary
Line Loop (1) = {1,2,3,4};
// Tell gmsh the Spline should also be a line loop
Line Loop (2) = {1000};
// Combine the two into a surface, gmsh makes a hole automagically
Plane Surface(1) = {1,2};

// We need to extrude the surface so that the mesh is 3D for OpenFOAM

Extrude {0, 0, 1} {
Surface{1};
Layers{1};
Recombine;
}
Physical Surface("back") = {1027};
Physical Surface("front") = {1};
Physical Surface("top") = {1022};
Physical Surface("exit") = {1010};
Physical Surface("bottom") = {1014};
Physical Surface("inlet") = {1018};
Physical Surface("aerofoil") = {1026};
Physical Volume("internal") = {1};

This is the final Vertices.DAT.geo file after creating spline and control volume. It
also names the boundary patches.

Fig 3.4.6: Control volume generated.

Department of Mechanical Engineering, PESIT Page 43


Step 4: Next step is to mesh the control volume in gmsh. Open the Terminal
window
Get into the directory mesh. Type gmsh to open gmsh software. Open the
Vertices.DAT.geo file in gmsh. Go to the mesh command and do a 3D mesh. Save
the mesh. The mesh will be saved with the name Vertices.DAT.msh.

Fig 3.4.7: Mesh in gmsh.

Step 5: Create a new directory with another name, say, NACA4412. Paste the
mesh file into this directory. Paste the 3 directories of OpenFOAM – 0, constant
and system from tutorials of OpenFOAM i.e. simpleFoam solver, into this
directory.
Step 6: The mesh has to be converted into OpenFOAM format. Open the Terminal
window and change the working directory to NACA4412.
Type gmshToFoam Vertices.DAT.msh and the mesh will be converted into OpenFOAM
format.

Applying Boundary Conditions:

Department of Mechanical Engineering, PESIT Page 44


The boundary conditions have to be applied separately to p, U and other files. The
below files are after applying boundary conditions.

The boundary file in the constant directory constant/polymesh/boundary has to be


modified according to the boundary conditions i.e. inlet-velocity inlet, exit-
pressure outlet, top and bottom-velocity inlet, aerofoil-wall, front and back-
empty. This has to be reflected in the boundary file.

FoamFile
{
version 2.0;
format ascii;
class polyBoundaryMesh;
location "constant/polyMesh";
object boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* //

7
(
front
{
type empty;
nFaces 202612;
startFace 302716;
}
back
{
type empty;
nFaces 202612;
startFace 505328;
}
exit
{
type patch;
nFaces 80;
startFace 707940;
}
bottom
{
type patch;
nFaces 100;
startFace 708020;
}
inlet
{
type patch;
nFaces 80;

Department of Mechanical Engineering, PESIT Page 45


startFace 708120;
}
top
{
type patch;
nFaces 100;
startFace 708200;
}
aerofoil
{
type wall;
nFaces 2044;
startFace 708300;
}
)

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

The script file for p:

FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

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

internalField uniform 0;

boundaryField
{
inlet
{
type freestreamPressure;
}

exit
{
type freestreamPressure;
}

aerofoil
{
type zeroGradient;
}

Department of Mechanical Engineering, PESIT Page 46


top
{
type freestreamPressure;
}

bottom
{
type freestreamPressure;
}

front
{
type empty;
}

back
{
type empty;
}
}

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

The script file for U:

FoamFile
{
version 2.0;
format ascii;
class volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

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

internalField uniform (23.15 0 0);

boundaryField
{
inlet
{
type freestream;
freestreamValue uniform (23.15 0 0);
}

exit
{
type freestream;
freestreamValue uniform (23.15 0 0);
}

top
{
type freestream;

Department of Mechanical Engineering, PESIT Page 47


freestreamValue uniform (23.15 0 0);
}

bottom
{
type freestream;
freestreamValue uniform (23.15 0 0);
}

aerofoil
{
type fixedValue;
value uniform (0 0 0);
}

front
{
type empty;
}
back
{
type empty;
}
}

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

The script file for nut:

FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object nut;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

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

internalField uniform 0.14;

boundaryField
{
inlet
{
type freestream;
freestreamValue uniform 0.14;
}

Department of Mechanical Engineering, PESIT Page 48


exit
{
type freestream;
freestreamValue uniform 0.14;
}

top
{
type freestream;
freestreamValue uniform 0.14;
}

bottom
{
type freestream;
freestreamValue uniform 0.14;
}

aerofoil
{
type nutUSpaldingWallFunction;
value uniform 0;
}

front
{
type empty;
}
back
{
type empty;
}
}

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

The script file for nuTilda:

FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object nuTilda;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* //

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

internalField uniform 0.14;

Department of Mechanical Engineering, PESIT Page 49


boundaryField
{
inlet
{
type freestream;
freestreamValue uniform 0.14;
}

exit
{
type freestream;
freestreamValue uniform 0.14;
}

top
{
type freestream;
freestreamValue uniform 0.14;
}

bottom
{
type freestream;
freestreamValue uniform 0.14;
}

aerofoil
{
type fixedValue;
value uniform 0;
}

front
{
type empty;
}
back
{
type empty;
}
}

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

Other parameters:
In the constant/transportProperties file change rho value to 1.225 and nu to 1.46e-05.

Department of Mechanical Engineering, PESIT Page 50


In system/controlDict file set endTime=5000, deltaT=1. To get the Cd and Cl values
paste the following text in the controlDict file at the end.

functions
{
forces
{
type forceCoeffs;
functionObjectLibs ( "libforces.so" );
outputControl timeStep;
outputInterval 1;

patches
(
aerofoil
);

pName p;
UName U;
rhoName rhoInf;
log true;
rhoInf 1;
CofR ( 0.25 0 0 );
liftDir ( 0 1 0 );
dragDir ( 1 0 0 );
pitchAxis ( 0 0 1 );
magUInf 23.15;
lRef 1;
Aref 0.05;
}
}

All other parameters and files remain unchanged.

Solving:
Open the Terminal window and change the working directory to NACA4412. Type
simpleFoam and the solution begins. Once the solution is converged next step is

post-processing.

Post-processing:
In the Terminal window type paraFoam. The results are viewed at the time step at
which the result converges. Pressure and velocity profiles are obtained. Velocity
vector plot colored by pressure is also obtained. Next is to obtain the surface
pressure plot and from that obtain Cp Vs x/c. Follow the below given steps.

Department of Mechanical Engineering, PESIT Page 51


Step 1: Apply the filter ExtractSurface from the filters menu.
Step 2: Next apply PlotOnIntersectionCurves filter. Slice type-Z normal.
Step 3: In the Display panel - X axis Data > Use DataArray > choose Points(Magnitude)
Step 4: In the Line Series deselect U(Magnitude).
Step 5: A plot is displayed on the screen. Right click on the top of that display
screen, Convert To > Spreadsheet View. Copy the p and Points values in an Excel
sheet. Divide p values by 0.5*ρ*U 2, you get Cp. Plot Cp Vs x/c.
The pressure and velocity variation is as shown below.

Fig 3.4.8: Pressure variation around airfoil for 0 degrees angle of attack.

Fig 3.4.9: Velocity variation around airfoil for 0 degrees angle of attack.

Department of Mechanical Engineering, PESIT Page 52


Fig 3.4.10: Figure showing flow separation using velocity vectors.

Fig 3.4.11: Streamline plot for 15 degree angle of attack.

Department of Mechanical Engineering, PESIT Page 53


3.4.3 Analysis of airfoil sections for marine propeller
Three sections of the marine propeller are analyzed: Root, mid and tip sections.
The profiles are shown below:

Fig 3.4.12: Airfoil sections of the propeller.

This is a stator propeller section. Chord length = 0.05m, span = 0.05m. Fluid
used is air at standard atmospheric conditions at a velocity of 23.15m/s
(45knots). Reynolds number = 79660. Control volume dimensions are
0.45mx0.4mx0.05m. Rest all other parameters are same as NACA 4412 analysis.
The analysis done is same as NACA 4412 analysis.
The pressure and velocity profiles are shown below.
Pressure is in pascals and velocity in m/s.

Department of Mechanical Engineering, PESIT Page 54


Root-Section:

Fig 3.4.13: Pressure variation for 15 degrees angle of attack.

Fig 3.4.14: Velocity variation for 15 degrees angle of attack.

Department of Mechanical Engineering, PESIT Page 55


Mid-Section:

Fig 3.4.15: Pressure variation for 15 degrees angle of attack.

Fig 3.4.16: Velocity variation for 15 degrees angle of attack.

Department of Mechanical Engineering, PESIT Page 56


Tip-section:

Fig 3.4.17: Pressure variation for 16 degrees angle of attack.

Fig 3.4.18: Velocity variation for 16 degrees angle of attack.

Department of Mechanical Engineering, PESIT Page 57


Chapter 4
RESULTS AND CONCLUSION

4.1 Validation of OpenFOAM – Analysis of NACA 4412 airfoil


The Cp Vs x/c plot obtained for various angles of attack is shown below.

Cp Vs x/c Cp
1

0.5

0
Cp

0 0.2 0.4 0.6 0.8 1 1.2


-0.5

-1

-1.5
x/c

1 Cp Vs x/c Cp

0
0 0.2 0.4 0.6 0.8 1 1.2
Cp

-1

-2

-3 x/c

Cp vs x/c Cp
1
0.5
0
-0.5 0 0.2 0.4 0.6 0.8 1 1.2
-1
-1.5
Cp

-2
-2.5
-3
-3.5
-4
-4.5
x/c

Fig 4.1.1: Cp Vs x/c plot for various angles of attack.

Department of Mechanical Engineering, PESIT Page 58


The area under the Cp Vs x/c curve increases as the angle of attack. This shows
that the Cl increases as angle of attack increases.

For validation lift coefficient (Cl) and drag coefficient (Cd) are plotted for different
angles of attack. These values are compared with the experimental values. The
maximum difference is noted. Experimental results are obtained from a paper:
‗Visualization of stall characteristics of airfoils using the smoke wire technique‘ by
Wu and Tsung Ju, The University of Texas, 1992.

Alpha Cl – OpenFOAM Cl - experiment

0 0.33356 0.38

5 0.8061 0.84

10 1.223 1.21

12 1.3568 1.32

14 1.456 1.39

15 1.50489 1.42

16 1.53021 1.45

17 1.53872 1.25

18 1.52671 1.24

Table 4.1.1: Cl Vs Alpha.

Department of Mechanical Engineering, PESIT Page 59


Cl Vs Alpha
1.8
1.6
1.4
1.2
1
Cl

0.8
0.6
0.4
0.2
0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

alpha

Cl Cl exp

Fig 4.1.2: Cl Vs Alpha.

Cd vs alpha
0.2

0.15
Cd

0.1

0.05

0
0 2 4 6 8 10 12 14 16 18 20

alpha

Fig 4.1.3: Cd Vs Alpha

OpenFOAM gives stall angle as 17 degrees and experiments show stall angle as 16
degrees. Comparing the above values we conclude that the OpenFOAM results and
experimental results closely match with a maximum difference of 23% in Cl after
stall. Before stall the values fairly match. Near the stall, flow separation occurs.
Spalart Allmaras turbulence model is not able to solve properly during flow
separation. Also it is not possible to simulate all experimental conditions in
software. Because of all these factors we see a difference of 23% in the values.
With this we can say that OpenFOAM works close to any other commercial CFD

Department of Mechanical Engineering, PESIT Page 60


software. For further validation, NACA 4412 airfoil is analyzed for different
Reynolds number and the variation of Cl and Cd is observed.
Analysis is done for 1million and 2million Reynolds number. Variation of Cl and Cd
is observed and compared with the experimental trend. Reynolds number is
varied by changing the chord length of the airfoil. Initially the chord length was
1m and Reynolds number was 1.6million. To obtain a Reynolds number of
1million, the chord length was reduced to 0.625m and for Reynolds number of
2million it was increased to 1.25m. All the other parameters are kept same.

Alpha Cl-1million Cl-1.6million Cl-2million


0 0.23 0.20812 0.22936
5 0.525 0.50375 0.52397
10 0.733 0.76437 0.78593
15 0.911 0.94062 0.95337
16 0.9127 0.95625 0.96496
17 0.899 0.96168 0.95433
18 0.877 0.95375 0.9374
Table 4.1.2: Cl Vs Alpha for different Reynolds number.

Cl Vs alpha for different Reynolds numbers


1.2
1
0.8
0.6
Cl

0.4
0.2
0
0 2 4 6 8 10 12 14 16 18 20

alpha

1m 1.6m 2m

Fig 4.1.4: Cl Vs Alpha for different Reynolds number OpenFOAM results.

Department of Mechanical Engineering, PESIT Page 61


Cd Vs alpha for different Reynolds number
0.14

0.12

0.1

0.08

0.06
Cd

0.04

0.02

0
0 2 4 6 8 10 12 14 16 18 20

alpha

1m 1.6m 2m

Fig 4.1.5: Cd Vs Alpha for different Reynolds number OpenFOAM results.

From the above Results we can see that Cl values for different Reynolds number
are almost the same. Theoretically Cd should decrease with increase in Reynolds
number because of reduced friction. The same trend is observed in OpenFOAM
values.
With reference to the above analysis, we can say that OpenFOAM is giving fairly
good results. The results closely match the experimental results. We can say that
OpenFOAM is validated.
Further the NACA 4412 airfoil was analyzed using FLUENT. Analysis was done for
inviscid and viscous flows. The results are as tabulated below.

Department of Mechanical Engineering, PESIT Page 62


Alpha Cl-inviscid Cl-viscous
0 0.1946 0.1946
5 0.5954 0.5066
10 0.95108 0.8046
12 1.1122 0.91746
14 1.22 1.0274
15 1.308 1.0803
16 1.3517 1.1325
17 1.447 1.1825
18 1.4431 1.23
19 1.496 1.28
20 1.545 1.26
Table 4.1.3: Cl vs alpha FLUENT results for viscous and inviscid flows.

Cl Vs Alpha
1.8
1.6
1.4
1.2
1
Cl

0.8 cl-viscous
0.6 Cl-inviscid
0.4
0.2
0
0 5 10 15 20 25
Alpha

Fig 4.1.6: Cl vs alpha FLUENT results for viscous and inviscid flows.

As expected the Cl values for inviscid flow is greater than that for viscous flow. Cl
Vs Alpha plot follows the experimental trend and shows a linear variation before
stall.

4.2 Analysis of airfoil sections for marine propeller


Department of Mechanical Engineering, PESIT Page 63
Root-Section:
Alpha Cl Cd
0 0.94936 0.24287
5 1.6351 0.2659
10 1.992 0.33847
15 2.2431 0.4386
20 2.4235 0.55889
25 2.511 0.7
26 2.5159 0.73117
27 2.51536 0.76226
28 2.51057 0.7941
29 2.4982 0.82599
30 2.483 0.859
Table 4.2.1: Cl and Cd Vs Alpha

Cl Vs Alpha
3

2.5

1.5
Cl

0.5

0
0 5 10 15 20 25 30 35

Angle of Attack

Fig 4.2.1: Cl Vs Alpha

Department of Mechanical Engineering, PESIT Page 64


Cd vs alpha
1

0.9

0.8

0.7

0.6
Cd

0.5

0.4

0.3

0.2

0.1

0
0 5 10 15 20 25 30 35

Alpha

Fig 4.2.2: Cd Vs Alpha

Cp Vs x/c
3

2.5

1.5
Cp

0.5

0
0 0.2 0.4 0.6 0.8 1 1.2
-0.5
x/c

Fig 4.2.3: Cp Vs x/c

Department of Mechanical Engineering, PESIT Page 65


Mid-Section:

Alpha Cl Cd
0 0.7605 0.11267
5 1.18553 0.1424
10 1.55081 0.2132
15 1.826 0.3009
20 1.9852 0.41956
25 2.03825 0.5652
26 2.03664 0.5979
27 2.03308 0.6323
28 2.02306 0.6675
29 2.0055 0.7036
30 1.98283 0.7415
Table 4.2.2: Cl and Cd Vs Alpha

Cl Vs alpha
2.5

1.5
Cl

0.5

0
0 5 10 15 20 25 30 35

alpha

Fig 4.2.4: Cl Vs Alpha

Department of Mechanical Engineering, PESIT Page 66


Cd Vs alpha
0.8

0.7

0.6

0.5
Cd

0.4

0.3

0.2

0.1

0
0 5 10 15 20 25 30 35

alpha

Fig 4.2.5: Cd Vs Alpha

Cp Vs x/c
2

1.5

0.5
Cp

0
0 0.2 0.4 0.6 0.8 1 1.2
-0.5

-1

-1.5

-2
x/c

Fig 4.2.6: Cp Vs x/c

Department of Mechanical Engineering, PESIT Page 67


Tip-Section:
Alpha Cl Cd
0 0.458186 0.0990873
5 0.8704 0.125581
10 1.23162 0.181744
16 1.5765 0.285955
20 1.70449 0.38569
22 1.7579 0.431168
23 1.76595 0.46603
24 1.75938 0.485352
25 1.75038 0.5247
26 1.73234 0.5471
Table 4.2.3: Cl and Cd Vs Alpha

Cl vs alpha
2

1.8

1.6

1.4

1.2

1
Cl

0.8

0.6

0.4

0.2

0
0 5 10 15 20 25

alpha

Fig 4.2.7: Cl Vs Alpha

Department of Mechanical Engineering, PESIT Page 68


Cd Vs alpha
0.8

0.7

0.6

0.5

0.4
Cl

0.3

0.2

0.1

0
0 5 10 15 20 25

alpha

Fig 4.2.8: Cd Vs Alpha

Cp Vs x/c

1.5

0.5

0
Cp

0 0.2 0.4 0.6 0.8 1 1.2


-0.5

-1

-1.5

-2

x/c
-2.5

Fig 4.2.9: Cp Vs x/c

Department of Mechanical Engineering, PESIT Page 69


After analyzing the different airfoil sections of the propeller, grid
independency check was done to validate the above results. Analysis was
done for three different grid sizes i.e. different number of elements of the
mesh. Initial results had 160,000 elements. Later analysis was done for
52,000 and 100,000 elements. For the results to be independent of the
grid size, the results should be almost similar.

Alpha Cl-52,000 Cl-100,000 Cl-160,000


0 0.4896 0.4287 0.4582
5 0.8693 0.829 0.8705
10 1.2159 1.183 1.23162
16 1.5443 1.5261 1.5765
20 1.65117 1.6579 1.70449
22 1.69319 1.71365 1.75794
23 1.69479 1.72343 1.76595
24 1.68227 1.71818 1.75938
25 1.66757 1.7112 1.7504
30 1.585 1.62818 1.65754
Table 4.2.4: Cl Vs Alpha for different grid size.

Alpha Cd-52,000 Cd-100,000 Cd-160,000


0 0.085 0.094 0.099
5 0.1101 0.1185 0.1255
10 0.1653 0.1799 0.18174
16 0.271 0.2734 0.286
20 0.37325 0.371 0.38569
22 0.4219 0.4158 0.43116
23 0.4857 0.45083 0.46609
24 0.48115 0.4694 0.4853
25 0.5233 0.5084 0.5247
30 0.7202 0.6918 0.7097
Table 4.2.5: Cd Vs Alpha for different grid size.

Department of Mechanical Engineering, PESIT Page 70


Cl for different grid size

2
1.8
1.6
1.4
1.2
1
Cl

0.8
0.6
0.4
0.2
0
0 5 10 15 20 25 30 35

Angle

52K 100K 160K

Fig 4.2.10: Cl Vs alpha for different grid size.

Cd for different grid size


0.8

0.7

0.6

0.5
Cd

0.4

0.3

0.2

0.1

0
0 5 10 15 20 25 30 35

Angle

52k 100k 160k

Fig 4.2.11: Cd Vs alpha for different grid size.

Department of Mechanical Engineering, PESIT Page 71


As expected the values of Cl and Cd for different grid sizes are almost
coinciding. This validates the above analysis with a maximum error not
more than 5%.

Thus OpenFOAM is validated and different airfoil sections of marine


propeller are analyzed and results validated.

Department of Mechanical Engineering, PESIT Page 72


Chapter 5
SCOPE FOR FUTURE WORK

Analysis of NACA 4412 airfoil and airfoil section for marine propeller was
done using simpleFoam solver. It can also be done using icoFoam,
pimpleFoam and other solvers.
Analysis of airfoil sections for the rotor can also be done.
A 3-dimensional propeller can be modelled by stacking up all the airfoil
sections. It can also be analyzed using OpenFOAM.
These are just some problems to be solved, but there is lot more to be
explored in OpenFOAM.

Department of Mechanical Engineering, PESIT Page 73


Chapter 6
REFERENCES AND LINKS

1. Fluid Mechanics – Fundamental and Applications by Yunus Cengel


and John Cimbala, second edition, Tata McGraw Hill Company,
2006.
2. Introduction to Flight by John D Anderson Jr, sixthe edition, 2010,
Tata McGraw Hill Company.
3. An Introduction to Computational Fluid Dynamics – The Finite
Volume Method by H Versteeg and W Malalasekra, second edition,
2007, Pearson Education.
4. Computational Fluid Dynamics – The Basics With Applications by
John D Anderson Jr, 1995, McGraw Hill Company.
5. ‗Visualization of stall characteristics of airfoils using the smoke wire
technique‘ by Wu and Tsung Ju, The University of Texas, Arlington,
1992.
6. ‗Aerodynamic Characteristics of a NACA 4412 Airfoil‘ by David
Heffley, Baylor University, 2007.
7. The Durham OpenFOAM Tutorial by Grant Ingram, Durham
University, 2012.
8. A simpleFoam tutorial by Hamidreza Abedi, Chalmers University of
Technology, 2011.
9. www.guez.org/gmsh
10. www.openfoam.org
11. www.opencfd.com

Department of Mechanical Engineering, PESIT Page 74

View publication stats

You might also like