You are on page 1of 32

Problem Specification

Consider air flowing over NACA 4412 airfoil. The freestream velocity is 50 m/s and the angle of attack is 2. Assume standard sea-level values for the freestream properties: Pressure = 101,325 Pa Density = 1.2250 kg/m3 Temperature = 288.16 K Kinematic viscosity v = 1.4607e-5 m2/s We will determine the lift and drag coefficients under these conditions using FLUENT.

Step 1: Create Geometry in GAMBIT

If you wish to skip the steps for grid creation, you can download the mesh file here (rightclick and select Save As...) and go to Step 4.

Higher Resolution Image

This tutorial leads you through the steps for generating a mesh in GAMBIT for an airfoil geometry. This mesh can then be read into FLUENT for fluid flow simulation.

In an external flow such as that over an airfoil, we have to define a farfield boundary and mesh the region between the airfoil geometry and the farfield boundary. It is a good idea to place the farfield boundary well away from the airfoil since we'll use the ambient conditions to define the boundary conditions at the farfield. The farther we are from the airfoil, the less effect it has on the flow and so more accurate is the farfield boundary condition. The farfield boundary we'll use is the line ABCDEFA in the figure above. c is the chord length.

Create a new directory called airfoil and start GAMBIT from that directory by typing gambit -id airfoil at the command prompt. Under Main Menu, select Solver > FLUENT 5/6 since the mesh to be created is to be used in FLUENT 6.0.

Import Edge
To specify the airfoil geometry, we'll import a file containing a list of vertices along the surface and have GAMBIT join these vertices to create two edges, corresponding to the upper and lower surfaces of the airfoil. We'll then split these edges into 4 distinct edges to help us control the mesh size at the surface. The file containing the vertices for the airfoil can be downloaded here: naca4412.dat (right click and select Save As...) Let's take a look at the naca4412.dat file:
255 0 0 2 0 0.001241474 0.001759397 0.002158277 0.002495536 0.002793415 0.00306332 0 0 0 0 0 0

-0.00019628 -0.000247836 -0.000275577 -0.000290986 -0.000298515 -0.000300443

The first line of the file represents the number of points on each edge (255) and the number of edges (2). The first 255 set of vertices are connected to form the edge corresponding to the upper surface; the next 255 are connected to form the edge for the lower surface. The chord length, c for the geometry in naca4412.dat file is 1, so x varies between 0 and 1. If you are using a different airfoil geometry specification file, note the range of x values in the file and determine the chord length c. You will need this later on. Main Menu > File > Import > ICEM Input ... For File Name, browse and select the naca4412.dat file. Select both Vertices and Edges under Geometry to Create: since these are the geometric entities we need to create. Deselect Face. Click Accept.

Higher Resolution Image

We have more points around the nose area because of the high curvature around the nose.

Create Farfield Boundary

Next, we will create the following farfield boundary. This picture of the
farfield nomenclature

will be handy. We will create the farfield boundary by creating vertices and joining them appropriately to form edges. Operation Toolpad > Geometry Command Button Button > Create Vertex > Vertex Command

Create the following vertices by entering the coordinates under Global and the label under Label:
Label x A B C D E F G c 21c 21c 21c c y z

12.5c 0 12.5c 0 0 0

-12.5c 0 -12.5c 0 0 0

-11.5 0 c 0

Click the FIT TO WINDOW button to scale the display so that you can see all the vertices. The resulting image should look like this:

Higher Resolution Image

Now we can create the edges using the vertices created. Operation Toolpad > Geometry Command Button Button > Create Edge > Edge Command

Create the edge AB by selecting the vertex A followed by vertex B. Enter AB for Label. Click Apply. GAMBIT will create the edge. You will see a message saying something like "Created edge: AB'' in theTranscript window. Similarly, create the edges BC, CD, DE, EG, GA and CG. Note that you might have to zoom in on the airfoil to select vertex G correctly or click on the this method for vertices selection. Next we'll create the circular arc AF. Right-click on the Create Edge button and select Arc. to select the vertices from the list and move them to the picked list. The rest of the tutorial will use

In the Create Real Circular Arc menu, the box next to Center will be yellow. That means that the vertex you select will be taken as the center of the arc. Select vertex G and click Apply. Now the box next to End Points will be highlighted in yellow. This means that you can now select the two vertices that form the end points of the arc. Select vertex A and then vertex F. Enter AF under Label. ClickApply. If you did this right, the arc AF will be created. If you look in the transcript window, you'll see a message saying that an edge has been created. Similarly, create an edge corresponding to arc EF.

Higher Resolution Image

Create Faces
The edges we have created can be joined together to form faces. We will need to define three faces as shown in the image above. Two rectangular faces, rect1 and rect2 lie to the right of the airfoil. The third face, circ1 consists of the area outside of the airfoil but inside of the semi-circular boundary. Operation Toolpad > Geometry Command Button Button > Form Face > Face Command

This brings up the Create Face From Wireframe menu. Recall that we had selected vertices in order to create edges. Similarly, we will select edges in order to form a face. To create the face rect1, select the edges AB, BC, CG, and GA. Enter rect1for the label and click Apply. GAMBIT will tell you that it has "Created face: rect1'' in the transcript window. Similarly, create the face rect2 by selecting ED, DC, CG and GE. To create the last face we will need to make two separate faces, one for the outer boundary and one for the airfoil and then subtract the airfoil from the boundary . Create semi-circular face circ1 by selecting GA, AF, FE and EG and enter circ1 for the label. Create the face for the airfoil by selecting corresponding edges. Subtract the airfoil from circ1.

Operation Toolpad > Geometry Command Button Button

> Face Command

right click on the Boolean Operations Button

and select Subtract

The Face box will be highlighted yellow. Shift click to select circ1, the outer semicircular boundary. Then select the lower box labeled Subtract Faces which will allow you to select faces to subtract from our outer boundary. Select the airfoil face and click apply.

Step 2: Mesh Geometry in GAMBIT

Mesh Faces
We'll mesh each of the 3 faces separately to get our final mesh. Before we mesh a face, we need to define the point distribution for each of the edges that form the face i.e. we first have to mesh the edges. We'll select the mesh stretching parameters and number of divisions for each edge based on three criteria:
1. We'd like to cluster points near the airfoil since this is where the flow is modified the most; the mesh resolution as we approach the farfield boundaries can become progressively coarser since the flow gradients approach zero. 2. Close to the surface, we need the most resolution near the leading and trailing edges since these are critical areas with the steepest gradients. 3. We want transitions in mesh size to be smooth; large, discontinuous changes in the mesh size significantly decrease the numerical accuracy.

The edge mesh parameters we'll use for controlling the stretching are successive ratio, first length and last length. Each edge has a direction as indicated by the arrow in the graphics window. Thesuccessive ratio Ris the ratio of the length of any two successive divisions in the arrow direction as shown below. Go to the index of the GAMBIT User Guide and look under Edge>Meshing for this figure and accompanying explanation. This help page also explains what the first and last lengths are; make sure you understand what they are.

Operation Toolpad > Mesh Command Button Button > Mesh Edges

> Edge Command

Select the edge GA. The edge will change color and an arrow and several circles will appear on the edge. This indicates that you are ready to mesh this edge. Make sure the arrow is pointing upwards. You can reverse the direction of the edge by clicking on the Reverse button in the Mesh Edges menu. Enter a ratio of 1.15. This means that each successive mesh division will be 1.15 times bigger in the direction of the arrow. Select Interval Count under Spacing. Enter 45 for Interval Count. Click Apply. GAMBIT will create 45 intervals on this edge with a successive ratio of 1.15. For edges AB and CG, we'll set the First Length (i.e. the length of the division at the start of the edge) rather than the Successive Ratio. Repeat the same steps for edges BC, AB and CG with the following specifications:
Edges Arrow Direction Successive Ratio Interval Count 1.15 First Length 0.02c 45 Interval Count 60

GA and BC Upwards Edges Arrow Direction

AB and CG Left to Right

Note that later we'll select the length at the trailing edge to be 0.02c so that the mesh length is continuous between IG and CG, and HG and CG. Now that the appropriate edge meshes have been specified, mesh the face rect1: Operation Toolpad > Mesh Command Button Button > Mesh Faces > Face Command

Select the face rect1. The face will change color. You can use the defaults of Quad (i.e. quadrilaterals) and Map. Click Apply. The meshed face should look as follows:

Higher Resolution Image

Next mesh face rect2 in a similar fashion. The following table shows the parameters to use for the different edges:
Edges Arrow Direction Successive Ratio Interval Count 1.15 First Length 0.02c 45 Interval Count 60

EG and CD Downwards Edges DE Arrow Direction Left to Right

The resultant mesh should be symmetric about CG as shown in the figure below.

Higher Resolution Image

Split Edges
Next, we will split the top and bottom edges of the airfoil into two edges so that we have better control of the mesh point distribution. Figure of the splitting edges is shown below.

We need to do this because a non-uniform grid spacing will be used for x<0.3c and a uniform grid spacing for x>0.3c. To split the top edge into HI and IG, select Operation Toolpad > Geometry Command Button > Edge Command Button > Split/Merge Edge Make sure Point is selected next to Split With in the Split Edge window. Select the top edge of the airfoil by Shift-clicking on it. We'll use the point at x=0.3c on the upper surface to split this edge into HI and IG. To do this, enter 0.3 for x: under Global. If your c is not equal to one, enter the value of 0.3*c instead of just 0.3.For instance, if c=4, enter 1.2. From here on, whenever you're asked to enter (some factor)*c, calculate the appropriate value for your c and enter it. Click Apply. You will see a message saying "Edge edge.1 was split, and edge edge.3 created'' in the Transcript window. Repeat this procedure for the lower surface to split it into HJ and JG. Use the point at x=0.3c on the lower surface to split this edge.

Higher Resolution Image

Finally, let's mesh the face consisting of circ1 and the airfoil surface. For edges HI and HJ on the front part of the airfoil surface, use the following parameters to create edge meshes:

Edges Arrow Direction Last Length Interval Count HI HJ From H to I From H to J 0.02c 0.02c 40 40

For edges IG and JG, we'll set the divisions to be uniform and equal to 0.02c. Use Interval Size rather than Interval Count and create the edge meshes:
Edges Arrow Direction Successive Ratio Interval Size 1 0.02c

IG and JG Left to Right

For edge AF, the number of divisions needs to be equal to the number of divisions on the line opposite to it, in this case, the upper surface of the airfoil(this is a subtle point; chew over it). To determine the number of divisions that GAMBIT has created on edge IG, select Operation Toolpad > Mesh Command Button Button >Summarize Edge Mesh > Edge Command

Select edge IG and then Elements under Component and click Apply. This will give the total number of nodes (i.e. points) and elements (i.e. divisions) on the edge in the Transcriptwindow. The number of divisions on edge IG is 35. (If you are using a different geometry, this number will be different; I'll refer to it as NIG). So the Interval Count for edge AF is NHI+NIG= 40+35= 75. Similarly, determine the number of divisions on edge JG. This comes out as 35 for the current geometry. So the Interval Count for edge EF is 75. Create the mesh for edges AF and EF with the following parameters:
Edges Arrow Direction First Length Interval Count AF EF From A to F From E to F 0.02c 0.02c 40+NIG 40+NJG

Mesh the face. The resultant mesh is shown below.

Higher Resolution Image

Step 3: Specify Boundary Types in GAMBIT

We'll label the boundary AFE as farfield1, ABDE as farfield2 and the airfoil surface as airfoil. Recall that these will be the names that show up under boundary zones when the mesh is read into FLUENT.

Group Edges
We'll create groups of edges and then create boundary entities from these groups. First, we will group AF and EF together. Operation Toolpad > Geometry Command Button > Group Command Button > Create Group Select Edges and enter farfield1 for Label, which is the name of the group. Select the edges AF and EF. Note that GAMBIT adds the edge to the list as it is selected in the GUI.

Click Apply. In the transcript window, you will see the message "Created group: farfield1 group".

Similarly, create the other two farfield groups. You should have created a total of three groups:
Group Name farfield1 farfield2 farfield3 airfoil Edges in Group AF,EF AB,DE BC,CD HI,IG,HJ,JG (name might vary)

Define Boundary Types

Now that we have grouped each of the edges into the desired groups, we can assign appropriate boundary types to these groups.

Operation Toolpad > Zones Command Button Types Under Entity, select Groups.

> Specify Boundary

Select any edge belonging to the airfoil surface and that will select the airfoil group. Next to Name:, enter airfoil. Leave the Type as WALL.

Click Apply. In the Transcript Window, you will see a message saying "Created Boundary entity: airfoil". Similarly, create boundary entities corresponding to farfield1, farfield2 and farfield3 groups. Set Type to VelocityInlet for farfield1 and farfield2. Set Type to Pressure-Outlet for farfield3.

Save Your Work

Main Menu > File > Save

Export Mesh
Main Menu > File > Export > Mesh... Save the file as airfoil.msh. Make sure that the Export 2d Mesh option is selected. Check to make sure that the file is created.

Step 4: Set Up Problem in FLUENT

Start > Programs > Fluent Inc > FLUENT 6.3.26 Select 2ddp from the list of options and click Run.

Import File
Main Menu > File > Read > Case... Navigate to your working directory and select the airfoil.msh file. Click OK. The following should appear in the FLUENT window:

Check that the displayed information is consistent with our expectations of the airfoil grid.

Analyze Grid
Grid > Info > Size How many cells and nodes does the grid have? Display > Grid Note what the surfaces farfield1, farfield2, etc. correspond to by selecting and plotting them in turn. Zoom into the airfoil. Where are the nodes clustered? Why?

Define Properties
Define > Models > Solver...

Under the Solver box, select Pressure Based.

Click OK. Define > Models > Viscous Select Inviscid under Model.

Click OK. Define > Models > Energy The speed of sound under SSL conditions is 340 m/s so that our freestream Mach number is around 0.15. This is low enough that we'll assume that the flow is incompressible. So the energy equation can be turned off.

Make sure there is no check in the box next to Energy Equation and click OK. Define > Materials Make sure air is selected under Fluid Materials. Set Density to constant and equal to 1.225 kg/m3.

Click Change/Create. Define > Operating Conditions We'll work in terms of gauge pressures in this example. So set Operating Pressure to the ambient value of 101,325 Pa.

Click OK. Define > Boundary Conditions

Set farfield1 and farfield2 to the velocity-inlet boundary type. For each, click Set.... Then, choose Components under Velocity Specification Method and set the x- and y-components to that for the freestream. For instance, the x-component is 50*cos(1.2)=49.99. (Note that 1.2 is used as our angle of attack instead of 2 to adjust for the error caused by assuming the airfoil to be 2D instead of 3D.)

Click OK. Set farfield3 to pressure-outlet boundary type, click Set... and set the Gauge Pressure at this boundary to 0. Click OK.

Step 5: Solve!
Solve > Control > Solution Take a look at the options available. Under Discretization, set Pressure to PRESTO! and Momentum to SecondOrder Upwind.

(click picture for larger image) Click OK. Solve > Initialize > Initialize... As you may recall from the previous tutorials, this is where we set the initial guess values (the base case) for the iterative solution. Once again, we'll set these values to be equal to those at the inlet (to review why we did this look back to the tutorial about CFG programs) . Select farfield1 under Compute From.

Click Init. Solve > Monitors > Residual... Now we will set the residual values (the criteria for a good enough solution). Once again, we'll set this value to 1e-06.

(click picture for larger image) Click OK. Solve > Monitors > Force... Under Coefficient, choose Lift. Under Options, select Print and Plot. Then, Choose airfoil under Wall Zones. Lastly, set the Force Vector components for the lift. The lift is the force perpendicular to the direction of the freestream. So to get the lift coefficient, set X to -sin(1.2)=-020942 and Y to cos(1.2)=0.9998.

(click picture for larger image) Click Apply for these changes to take effect. Similarly, set the Force Monitor options for the Drag force. The drag is defined as the force component in the direction of the freestream. So under Force Vector, set X to cos(1.2)=0.9998 and Y to sin(1.2)=0.020942 Turn on only Print for it.

Report > Reference Values Now, set the reference values to set the base cases for our iteration. Select farfield1 under Compute From.

Click OK. Note that the reference pressure is zero, indicating that we are measuring gage pressure. Main Menu > File > Write > Case... Save the case file before you start the iterations. Solve > Iterate Make note of your findings, make sure you include data such as; What does the convergence plot look like? How many iterations does it take to converge? How does the Lift coefficient compared with the experimental data? Main Menu > File > Write > Case & Data...

Save case and data after you have obtained a converged solution.

Step 6: Analyze Results

Lift Coefficient
The solution converged after about 480 iterations.
! 476 1.0131e-06 4.3049e-09 1.5504e-09 6.4674e-01 2.4911e-03 477 solution is converged 477 9.9334e-07 4.2226e-09 1.5039e-09 6.4674e-01 2.4910e-03 0:00:48 0:00:38 524 523

From FLUENT main window, we see that the lift coefficient is 0.647. This compare fairly well with the literature result of 0.6 from Abbott et al.

Plot Velocity Vectors

Let's see the velocity vectors along the airfoil. Display > Vectors Enter 4 next to Scale. Enter 3 next to Skip. Click Display.

Higher Resolution Image

As can be seen, the velocity of the upper surface is faster than the velocity on the lower surface.

White Background on Graphics Window To get white background go to: Main Menu > File > Hardcopy

Make sure that Reverse Foreground/Background is checked and select Color in Coloring secti

Higher Resolution Image

On the leading edge, we see a stagnation point where the velocity of the flow is nearly zero. The fluid accelerates on the upper surface as can be seen from the change in colors of the vectors.

Higher Resolution Image

On the trailing edge, the flow on the upper surface decelerates and converge with the flow on the lower surface.

Do note that the time for fluid to travel top and bottom surface of the airfoil is not necessarily the same,

Plot Pressure Coefficient

Pressure Coefficient is a dimensionless parameter defined by the equation

where p is the static pressure, P ref is the reference pressure, and q ref is the reference dynamic pressure defined by

The reference pressure, density, and velocity are defined in the Reference Values panel in Step 5. Please refer to FLUENT's help for more information. Go to Help > User's Guide Index for help. Plot > XY Plot... Change the Y Axis Function to Pressure..., followed by Pressure Coefficient. Then, select airfoil under Surfaces.

Click Plot.

Higher Resolution Image

The lower curve is the upper surface of the airfoil and have a negative pressure coefficient as the pressure is lower than the reference pressure.

Plot Pressure Contours

Plot static pressure contours. Display > Contours... Select Pressure... and Pressure Coefficient from under Contours Of. Check the Filled and Draw Grid under Options menu. Set Levels to 50.

Click Display.

Higher Resolution Image

From the contour of pressure coefficient, we see that there is a region of high pressure at the leading edge (stagnation point) and region of low pressure on the upper surface of airfoil. This is of what we expected from analysis of velocity vector plot. From Bernoulli equation, we know that whenever there is high velocity, we have low pressure and vise versa.

Step 7: Validate the Results

Force Conventions

FLUENT report forces in term of pressure force and viscous force. For instance, we are interested in th

(Drag)total = (Drag)pressure + (Drag)viscous

Drag due to pressure:

Drag due to viscous effect:

where e d is the unit vector parallel to the flow direction. n is unit vector perpendicular to the surface of airfoil. t is unit vector parallel to the surface of airfoil. Similarly, if we are interested in the lift on the airfoil, (Lift) = (Lift)pressure + (Lift)viscous Lift due to pressure:

Lift due to viscous effect:

where e l is the unit vector perpendicular to the flow direction. n is unit vector perpendicular to the surface of airfoil. t is unit vector parallel to the surface of airfoil.

Report Force
We will first investigate the Drag on the airfoil. Main Menu > Report > Forces...

Select Forces. Under Force Vector, enter 0.9998 next to X. Enter 0.02094 next to Y. Select airfoil under Wall Zones. Click Print. Here's is what we see in the main menu:
Force vector: (0.99980003 0.02094 0) pressure pressure viscous total zone name force cient coefficient coefficient n ---------------------------------- -------------airfoil 0024897052 0 ---------------------------------- -------------net 0024897052 0 viscous force n force total coeffi n

-------------- -------------- -------------- ----------------3.8125084 0 3.8125084 0. 0.0024897052 -------------- -------------- -------------- ----------------3.8125084 0 3.8125084 0. 0.0024897052

Cd = (Cd)pressure + (Cd)skin friction where (Cd)pressure is due to pressure force. (Cd)skin friction is due to viscous force. Indeed, we see that the (Cd)skin friction is zero because of the inviscid model.

In reality, (Cd)skin friction has biggest contribution to drag but ignored because of the inviscid model that we s during the computation.

Now, let's look at the lift coefficient. Main Menu > Report > Forces... Select Forces. Under Force Vector, enter -0.02094 next to X. Enter 0.9998 next to Y. Select airfoil under Wall Zones. Click Print. Here's is what we see in the main menu:
Force vector: (-0.02094 0.99980003 0) pressure viscous total pressure viscous total zone name force force force coefficient coefficient coefficient n n n ------------------------- -------------- -------------- -------------- ------------- -------------- -------------airfoil 1008.3759 0 1008.3759 0.6585058 0 0.6585058 ------------------------- -------------- -------------- -------------- ------------- -------------- -------------net 1008.3759 0 1008.3759 0.6585058 0 0.6585058

Similarly, lift force is due to the contribution of pressure force and viscous force. Cl = (Cl)pressure + (Cl)skin friction where (Cl)pressure is due to pressure force. (Cl)skin friction is due to viscous force. Since our model is inviscid, (Cl)skin friction is zero. We see that the lift coefficient compare well with the experimental value of 0.6.

Do note that the lift coefficient for inviscid model is higher than the experimental value. In reality, if we tak

will lower the overall lift coefficient. Since our inviscid model neglect the effect of viscosity, we have a slig

Grid Convergence
A finer mesh with four times the original mesh density was created. The lift coefficient was found to be 0.649.
Original Mesh Fine Mesh %Dif Cl 0.647 Cd 0.00249 0.649 0.00137 0.3% 45%

We see that the difference in drag coefficient is very large. We used inviscid case for our model, so we are expecting a Cd of zero. However, since the parameter of interest is the lift coefficient, and the value lift coefficient does not deviate much from original mesh to fine mesh, we concluded that the fine mesh is good enough.

The modeling result obtained is still off from the literature result. Further validation steps are needed befo

our result is the choice of viscous model. We used inviscid model which basically assumed that the flow i turbulence model for this high Reynolds number flow.

Following table shows comparison of modeling result with experimental data.
Cl Cd

FLUENT Fine Mesh 0.649 0.00137 Experiment Theory 0.6 0.007 0

Though further validation steps are still needed before we can come up with a model that will accurately represent the physical flow, this simple tutorial demonstrates the use of reasonable assumption and approximation in obtaining understanding of physical flow properties around an airfoil.

The experimental data is taken from Theory of Wing Sections By Ira Herbert Abbott, Albert Edward Von Doenhoff pg. 488
Google scholar link