Fluids 04 00178
Fluids 04 00178
Fluids 04 00178
1. Introduction
Computational Fluid Dynamics (CFD) is the simulation of transport phenomena, reacting
systems, heat transfer, etc., using modelling, i.e., mathematical physical problem formulation and
numerical solution, which include discretization methods, solvers, numerical parameters and mesh
generation. The efficient and thorough development, implementation and evaluation of a suitable
curriculum, which incorporates both the theoretical and practical aspects of CFD, for undergraduate
students as an extension of their knowledge in the thermo-fluids area is warranted and necessary in
modern engineering programmes. Numerical methods have an advantage over analytical methods
of solution in that analytical methods tend to be restrictive by commonly requiring simple
geometries, unrealistic assumptions and until lately assumed linearity, whereas real engineering
problems usually have quite complex geometries and highly non-linear phenomena. However,
despite the advantages of numerical methods, the latter may miss some finer aspects of fluid
dynamics which, from the equations of analytical methods, may be more transparent, for example
the question of uniqueness of weak solutions to Navier-Stokes equations in three dimensions.
Analytical methods also often task a student to consider the treatment of any nonlinear terms found
in partial differential equations, hence encouraging a student’s interest in this important topic.
Many areas of engineering education already use mathematical modelling as a teaching tool, for
example, for diesel engine studies [1], in fluid mechanics and heat transfer [2–4] and in chemical
reactions [5]. It is important when introducing a complex topic such as CFD to have educational user-
friendly interfaces, usually in the form of dialogue graphical user interfaces (GUIs), and some work
has already been done on this [6,7], where the general aspects of the three main processes of CFD,
i.e., building the problem using a pre-processor, solving the problem, and displaying the results using
a post-processor were considered. However, although the education benefits associated with
integrating computer-assisted learning and simulation technology into undergraduate engineering
course are great [8], and, computational fluid dynamics has revolutionized approaches to research
and design, its incorporation into the teaching of undergraduate transport phenomena has still
difficulties. One of these difficulties, and the one addressed in this paper, is to efficiently and
thoroughly combine a sufficient understanding of the theoretical aspects of CFD with its practical
use. Another is to engender a critical understanding of obtained results.
To help with an initial understanding of the process of solving Navier-Stokes and related
transport equations the symbolic software, Mathematica [9] was employed to demonstrate the
mathematical aspects of some of the basic steps involved, for example meshing, discretization,
application of boundary conditions and the development of a simple solution algorithm. Two-
dimensional incompressible flows were calculated for simplicity and the Navier-Stokes, at this stage
of the course, were recast in an alternative form, i.e., in terms of streamfunction and vorticity. In many
applications, the vorticity-streamfunction form of the Navier-Stokes equations provides a better
insight into the physical mechanisms driving the flow than the “primitive variable” formulation
which is in terms of the mean velocities 𝑢, 𝑣 and pressure, 𝑝. The streamfunction and vorticity
formulation is also useful for numerical work, since it avoids some problems resulting from
discretization of the continuity equation.
The second part of this work outlines how to best introduce the practical aspects and emphasizes
concerns which must be remembered when using CFD. Issues arise when introducing simulation
into a curriculum, including learning vs. research objectives, usability vs. predetermined objectives
and student demographics. A proper balance must be sought for between these competing objectives;
for example, it is just as important that students are taught the systematic and practical ways of using
a CFD package in a general sense, as well as achieving a specific result. There is evidence from
previous studies that using simulation enhances the curriculum [4]; there is increased learning
efficiency and understanding [10,11]; there is effectiveness of hands-on learning methods [12]; and,
it is effective to use a combination of physical and simulation laboratories [7].
Other concerns when introducing CFD to students are, for example, when to introduce during
the programme, how much to introduce and how much mathematical and thermo-fluid backgrounds
are necessary [13]? When a student first commences studying CFD a lot of new knowledge and
required skills descend on them from several different curriculum areas, which must be married
together hence rendering a steep learning curve. If careful planning is not carried out, this curve may
become overwhelming for many of the students. It is also important to ensure that the CFD GUIs are
not treated as ‘black boxes’, without knowledge of what is going on inside the computer software.
This is especially true as many commercial codes now provide the opportunity of attaching in-house
coding to the main core of the software hence providing a gateway for enhanced research and code
development [14]. Without knowledge of CFD fundamentals and the core coding, code development
would not be possible. It is important that students maintain a ‘feeling’ for physical phenomena,
remember the necessary assumptions made for the mathematical modelling, and, very importantly,
know of the need to verify and validate the calculated results [15]. It has been observed that successful
implementation of CFD often requires a re-focus of course objectives and skills taught, and a re-
structuring of the course curriculum [16]. An important practical consideration is to engender into
the students a healthy skepticism concerning the calculated results and a willingness to be critical of
their results until validated [17].
In this paper the mathematical aspects of CFD are first introduced, with a particular emphasize
on how to discretize equations. This is followed by a discussion of practical details such as closure of
Fluids 2019, 4, 178 3 of 18
the Navier-Stokes equations using turbulence modelling, appropriate meshing within the
computation domain, various boundary condition, properties of fluids, and the important methods
for determining that a convergence solution has been reached. An overall description of the course is
then given. The paper finishes with conclusions drawn and possible work needed for future
development.
2.1. Introduction
In this part of the course, which lasted for four weeks, the purpose was to develop the basic steps
involved in solving Navier-Stokes equations using a finite-volume approach for incompressible
steady-state flow. The students can actually see the development of the mathematical description
linked to a programming environment solution process, so often hidden in commercial code used for
training CFD students. The students start with discretization of the governing equations, write their
own coding to generate a mesh, apply boundary conditions, provide a suitable solution algorithm
and to generate contour and x-y plots.
The students had already successfully completed courses on matrix algebra, vector calculus,
ordinary and partial differential equations, with the latter solved using a variety of numerical
methods, as well as preliminary courses on fluid mechanics and heat transfer. The students also have
reasonable experience of using Mathematica, which is a necessary prerequisite [18]. Required reading
for the course included LeVeque [19] and Ferziger and Peric [20].
In the following sections the theory taught to the students in preparation for them writing
appropriate coding is summarized.
𝜕𝑣 𝜕𝑣 𝜕𝑣 𝜕𝑣 1 𝜕𝑝 𝜕 𝑣 𝜕 𝑣 𝜕 𝑣
+𝑢 +𝑣 +𝑤 =− +𝜈 + + (3)
𝜕𝑡 𝜕𝑥 𝜕𝑦 𝜕𝑧 𝜌 𝜕𝑦 𝜕𝑥 𝜕𝑦 𝜕𝑧
𝜕𝑤 𝜕𝑤 𝜕𝑤 𝜕𝑤 1 𝜕𝑝 𝜕 𝑤 𝜕 𝑤 𝜕 𝑤
+𝑢 +𝑣 +𝑤 =− +𝜈 + + (4)
𝜕𝑡 𝜕𝑥 𝜕𝑦 𝜕𝑧 𝜌 𝜕𝑧 𝜕𝑥 𝜕𝑦 𝜕𝑧
where 𝑢, 𝑣, 𝑤 are the velocity components in the 𝑥, 𝑦, 𝑧 directions, 𝜌 is the fluid density, 𝑝 is the
pressure and 𝜈 is the kinematic viscosity.
Most flows encountered in engineering problems are turbulent because it is mostly impossible
to stop transition from laminar to turbulent flow, or, by intention, as turbulence may aid the
engineering application. For turbulent flows however, the variation of the quantities to be calculated
with time is often so rapid and with a high degree of randomness that this variation is of little
Fluids 2019, 4, 178 4 of 18
engineering relevance. Hence the quantities are averaged and most often the Reynolds-averaged
Navier-Stokes equations as shown in Equations (5–8) are used.
𝜕𝑢 𝜕𝑣̅ 𝜕𝑤
+ + =0 (5)
𝜕𝑥 𝜕𝑦 𝜕𝑧
𝜕𝑢 𝜕𝑢 𝜕𝑢 𝜕𝑢 1 𝜕𝑝̅ 𝜕 𝜕𝑢 𝜕 𝜕𝑢 𝜕 𝜕𝑢
+𝑢 + 𝑣̅ +𝑤 =− + 𝜈 −𝑢 𝑢 + 𝜈 −𝑢 𝑣 + 𝜈 −𝑢 𝑤 (6)
𝜕𝑡 𝜕𝑥 𝜕𝑦 𝜕𝑧 𝜌 𝜕𝑥 𝜕𝑥 𝜕𝑥 𝜕𝑦 𝜕𝑦 𝜕𝑧 𝜕𝑧
𝜕𝑤 𝜕𝑤 𝜕𝑤 𝜕𝑤 1 𝜕𝑝̅ 𝜕 𝜕𝑤 𝜕 𝜕𝑤 𝜕 𝜕𝑤
+𝑢 + 𝑣̅ +𝑤 =− + 𝜈 −𝑢 𝑤 + 𝜈 −𝑣 𝑤 + 𝜈 −𝑤 𝑤 (8)
𝜕𝑡 𝜕𝑥 𝜕𝑦 𝜕𝑧 𝜌 𝜕𝑦 𝜕𝑥 𝜕𝑥 𝜕𝑦 𝜕𝑦 𝜕𝑧 𝜕𝑧
As can be observed, the instantaneous quantities are replaced by their corresponding time-
averaged quantities. Extra terms appear due to the averaging process, e.g., −𝑢 𝑣 and these behave
like stress terms, often called Reynolds stresses, which need further equations if the system of
equations is to be closed. There have, over this last 60–70 years, been many suggestions as to the best
way for equation closure, none of which as yet are completely satisfactory.
𝜓 (𝑃) = 𝐮 ∙ 𝐧 d𝑠 (9)
and where the integral has to be evaluated along a curve 𝐶 from the arbitrary but fixed point 𝐴 to
point 𝑃 , 𝐮 is the velocity vector, and 𝐧 is the unit normal on the curve from 𝐴 to 𝑃 . The
streamfunction is regarded as a function of the spatial coordinates only. Streamlines are lines that are
everywhere tangential to the velocity field, and hence 𝜓 is constant along the streamlines. Invoking
the integral incompressibility constraint for an infinitesimally small triangle shows that 𝜓 is related
to the two Cartesian velocity components 𝑢 and 𝑣 via
𝜕𝜓 𝜕𝜓
𝑢= ; 𝑣=− (10)
𝜕𝑦 𝜕𝑥
Flows that are specified by a streamfunction automatically satisfy the continuity equation since
𝜕𝑢 𝜕𝑣 𝜕 𝜕𝜓 𝜕 𝜕𝜓
+ = − =0 (11)
𝜕𝑥 𝜕𝑦 𝜕𝑥 𝜕𝑦 𝜕𝑦 𝜕𝑥
For two-dimensional flows, the vorticity vector 𝜔 = ∇ × 𝐮 only has one non-zero component
(in the 𝑧 direction; i.e., 𝜔 = 𝜔𝑒 where
𝜕𝑣 𝜕𝑢
𝜔= − (12)
𝜕𝑥 𝜕𝑦
Using the definition of the velocities in terms of the streamfunction shows that
𝜕 𝜕𝜓 𝜕 𝜕𝜓
𝜔= − − = −∇ 𝜓 (13)
𝜕𝑥 𝜕𝑥 𝜕𝑦 𝜕𝑦
The Navier-Stokes equations for incompressible steady-state flow in vorticity-streamfunction
form are
𝜕𝜓 𝜕𝜔 𝜕𝜓 𝜕𝜔 1 𝜕 𝜔 𝜕 𝜔
− = + (14)
𝜕𝑥 𝜕𝑦 𝜕𝑦 𝜕𝑥 Re 𝜕𝑥 𝜕𝑦
Fluids 2019, 4, 178 5 of 18
𝜕 𝜓 𝜕 𝜓
+ = −𝜔 (15)
𝜕𝑥 𝜕𝑦
where Re is the Reynolds number.
It should be mentioned that the above formulation is only valid in two-dimensions and some
alternation is needed when three-dimensional flow is considered.
Figure 1. Summary of boundary conditions for cavity with moving lid. (Reproduced with
permission from [22]).
A rectangular box, where the lid is allowed to move in the horizontal plane from left to right, is
simulated with the moving lid driving the fluid within the box. In Figure 1 the boundary conditions
needed for solution are summarized in terms of vorticity and streamfunction. The streamfunction is
constant at the walls, as its gradient is velocity, which is zero relative to a given wall (the no-slip
condition). The vorticity boundary condition for each wall is also shown in each of the outer boxes
and are derived from the streamfunction.
respectively. The mesh is a regular Castesian grid with the nodes equally spaced at a distance ℎ, as
illustrated on Figure 2.
Figure 2. Typical Cartesian mesh used for the lid-cavity flow. (Reproduced with permission from [21]).
To discretize Equations (16) and (17) the following central-difference approximations were
introduced for spatial dimensions, obtained by adding or subtracting one Taylor series from another
and invoking the intermediate value theorem. As can be seen from Equation (18), the order of
accuracy for both the first and second derivatives is 𝑂(ℎ ).
𝜕𝑓(𝑥) 𝑓(𝑥 + ℎ) − 𝑓(𝑥 − ℎ)
= + 𝑂(ℎ )
𝜕𝑥 2ℎ
(18)
𝜕𝑓(𝑥) 𝑓(𝑥 + ℎ) − 𝑓(𝑥 − ℎ)
= + 𝑂(ℎ )
𝜕𝑥 2ℎ
Using the approximations from Equation (18), the discretized advection-diffusion equation
(Equation (16)) at the (𝑖, 𝑗) node is
𝜔 , − 2𝜔 , + 𝜔 , 𝜔, − 2𝜔 , + 𝜔 ,
+𝛾
ℎ ℎ (19)
𝜓, −𝜓, 𝜔 , −𝜔 , 𝜓 , −𝜓 , 𝜔, −𝜔,
= Re𝛾 −
2ℎ 2ℎ 2ℎ 2ℎ
The elliptic equation (Equation (17)) at the (𝑖, 𝑗) node is
𝜓 , − 2𝜓 , + 𝜓 , 𝜓, − 2𝜓 , + 𝜓 ,
+𝛾 = −𝜔(𝑥 , 𝑦 ) (20)
ℎ ℎ
The equations are applied at the internal nodes of the Cartesian mesh; i.e., 2 ≤ 𝑖 ≤ 𝑛 and 2 ≤
𝑖≤𝑛 .
1
ℒ = 𝜔 , +𝜔 , +𝛾 𝜔, +𝜔,
2(1 + 𝛾 )
Re
− 𝛾 𝜓, −𝜓, 𝜔 , −𝜔 , (23)
4
− 𝜓 , −𝜓 , 𝜔, −𝜔, −𝜔,
The following fixed-point iterative procedure, based on the Gauss-Seidel scheme (see Appendix
for a short general explanation), is then constructed
𝜓, = ℱ 𝜓( ) , 𝜓( )
, 𝜔( ), 𝜔( )
≡ 𝜓 , + 𝑝ℛ
(24)
𝜔, =𝒢 𝜓( ), 𝜓( )
, 𝜔( ), 𝜔( )
≡ 𝜔 , + 𝑝ℒ
where 𝑝 is a relaxation parameter lying in the range 0 < 𝑝 ≤ 1, and 𝑘 + 1 and 𝑘 refer to the
respective iterations. The use of this relaxation parameter is to improve the stability of a particular
computation, particularly when solving steady-state problems.
The boundary conditions now need to be determined. For the streamfunction
𝜓 , = 0 for 𝑖 = 1, … , 𝑛 ,
𝜓 , = 0 for 𝑗 = 1, … , 𝑛 ,
𝜓, = 0 for 𝑖 = 1, … , 𝑛 ,
𝜓 , = 0 for 𝑗 = 1, … , 𝑛 .
For vorticity, the following needs to be considered for, say, the left wall of the cavity with one
node outside the computational domain.
1
𝜔, = 𝜓 , − 2𝜓 , +𝜓 , +𝛾 𝜓 , − 2𝜓 , +𝜓 , (25)
ℎ
The value of 𝜓 , can be accounted for by using the no-slip boundary condition on the cavity
wall, i.e.,
𝜕𝜓
𝑣=− = 0, at 𝑥 = 0 (26)
𝜕𝑥
Using central differencing, this condition can be written as
𝜕𝜓 𝜓 , −𝜓 ,
− =0⟹− =0⟹𝜓 , =𝜓 , (27)
𝜕𝑥 , 2ℎ
where again the order of accuracy is 𝑂(ℎ ).
This finding, together with 𝜓 , = 𝜓 , =𝜓 , = 0 gives
2
𝜔 , =− 𝜓 , for 𝑗 = 2, 𝑛 (28)
ℎ
Similarly, for the other walls of the cavity the boundary conditions for vorticity can be deduced
from
𝜓 , − 2𝜓 , + 𝜓 , 𝜓, − 2𝜓 , + 𝜓 ,
𝜔(𝑥 , 𝑦 ) = − +𝛾 (29)
ℎ ℎ
to give
Fluids 2019, 4, 178 8 of 18
2
𝜔, =− 𝛾 𝜓, for 𝑖 = 1, … , 𝑛
ℎ
2
𝜔 , =− 𝛾 𝜓 , for 𝑗 = 2, … , 𝑛 (30)
ℎ
2 ℎ
𝜔, =− 𝛾 𝜓, + for 𝑖 = 1, … , 𝑛
ℎ 𝛾
It should be noted that the final boundary condition shown in Equation (30) is for the moving
lid, and the extra term is due to the tangential velocity being non-zero.
3.1. Introduction
For Computational Fluid Dynamics laboratories, each student had a desktop computer on which
was loaded software which provides the interface as a ‘three-dimensional’ fully interactive
environment. The interface uses the concept of ‘virtual reality’ and allows a student to simulate a
flow, including geometry, properties, boundary conditions, closure of equations, numerics, etc, from
beginning to end without having to resort to specialized codes, or code writing. The code used can
be used for professional engineering consultancy, so giving students useful skills and experience
which contribute to their preparation for the workplace. The virtual reality (VR) environment is
designed as a general purpose CFD interface, which can handle such problems as fluid flow, heat
transfer, reacting flows, or a combination of all, and consists of the VR-Editor (pre-processor), the VR-
Viewer (post-processor) and the solver module which performs the actual calculations. The VR-
Editor allows a student to set the overall computational domain size, define the position, size and
properties of object introduced into the domain, specify the material properties which occupy the
domain, specify inlet and outlet boundary conditions, specify initial conditions, select turbulence
models (if necessary), specify the fineness and type of computational mesh, and set the numerics by
choosing a suitable solution algorithm and which influence the speed of calculation to obtain a
convergence solution. Once the student is satisfied with problem set-up in the pre-processor,
calculations are made using the solver module and the progress of the calculations is clearly
monitored on-screen until convergence is reached. The results of the flow simulation are then
displayed on the VR-Viewer graphically or they can be analysed from the raw numerical data. The
post-processing graphical capabilities are vector plots, contour plots, iso-surfaces, streamlines and x-
y plots.
Figure 3. Summary of Computational Fluid Dynamics (CFD) interface. (Reproduced with permission
from [24]).
Each simulation process reflected the situation in engineering practice with students
systematically setting up the problem, solving and finally analysing the results. The students interact
with the software using mouse and keyboard input with no requirement for the distraction of
computer language coding so enabling them to concentrate on the CFD methodology and procedures
and how close to reality their results are. An important feature of the CFD interface is that it is stand-
alone, by which is meant that the problem-building, solving and post-processing are all combined in
the same virtual reality environment. Also important is that all the data representing the results can
be moved to the familiar Microsoft Office environment for further processing and reporting. The CFD
software package operates on the Windows OS platform using PCs with relatively low computer
power, and so the solvers have to be reasonably fast because the students have limited guided time
in the laboratories, and also to keep their level of interest heightened, calculated results should come
back reasonably quickly. In addition to producing contour plots, vector plots, etc., the post-processor
could also produce animation for transient flows.
Figure 4. Geometry and contents of a 2D computational domain with steady turbulent flow of air and
heat exchange.
Fluids 2019, 4, 178 10 of 18
Initially the pre-processing virtual reality GUI is opened and the case title immediately entered.
With reference to Figure 3, under ‘Objects’ the x-domain size is changed to 2.0 m and under ‘Mesh’ a
Cartesian grid is chosen. Under ‘Properties’, the user now checks that the default properties for this
case are chosen, i.e., ‘Air at 20 °C, 1 atm’, the ambient air is set at 20 °C, and the ambient pressure is
set at 0 Pa relative to 1 atm.
Under ‘Models’ the ‘solution for velocities and pressure’ is left ON, the ‘energy equation’ is
clicked and ‘Temperature’ is selected. The turbulence model selection is left as the KE variant
‘KECHEN’.
Under ‘Objects’ each of the objects within the domain are selected, sized and positioned and
where necessary given the relevant attributes. The objects introduced in order are, the H-BLOCK
whose attribute is ‘ALUMINIUM at 27 °C. the L-BLOCK whose attribute is ‘ALUMINIUM and which
is a HEAT SOURCE of 100 W’, the WALL-E which is a plate, the WALL-W which is a plate, the IN-
PLATE, the IN-BLOCK whose attribute is ‘COPPER’, the INLET whose attribute is velocity in the x-
direction at 0.5 m/s and whose temperature is ‘AMBIENT’, the OUTLET which has ‘PRESSURE’ as
its attribute.
Once the basic geometry is in place, a computational grid is automatically suggested and can be
inspected by the ‘MESH’ toggle, which for the present case, generates a picture as shown on Figure
5. The grid can be customized to the user’s wishes simply by clicking on ‘Grid Mesh Setting’ and
adjusting the default numbers.
In this example, ‘Initialisation’ and ‘Sources’ are taken as the defaults, and so only ‘Numerics’ is
left to inspect and adjust. Here the number of iterations is set and the convergence tolerances are left
at default. Importantly the probe used as one measure of convergence is appropriately positioned,
i.e., not too close to the inlet or not placed in an anticipated region of recirculation.
The solver is now activated to perform the simulation. The progress of the calculations is
displayed in relation to convergence, number of sweeps of the computation domain completed and
the estimated time left to complete the simulation.
Once the solver has closed, the GUI post-processor can now be opened to view the results.
Toggles are available to view ‘Vectors’, ‘Contours’, ‘Streamlines’, Iso-surfaces’, and further toggles
are available to select which calculated variable is of interest. The results can be viewed on any plane
or at any angle by the use of direction and rotation buttons respectively. A typical result is shown on
Figure 6 for a vector plot.
Fluids 2019, 4, 178 11 of 18
The students are shown how to save their work, and how to transfer results suitable for reports
and further analysis.
what they might have expected. During the hands-on sessions, the following areas listed in Table 1
were emphasized
4. Discussion
𝑒, then the calculations are halted. The iterative loops were wrapped with the Mathematica function
Timing to give an estimate of the time taken to do the calculations.
Following completion of the calculations, students had to then write coding to display contour
and vector plots of their results. An example of a contour plot obtained for the streamfunction is
given on Figure 7.
Figure 7. Contour plot of streamfunction for lid-cavity problem. (Reproduced with permission from [22]).
Extraction of the centerline velocities was also instructive for the students in that first, students
were given more experience of viewing velocity profiles, and second there are ample calculations and
measurements of the lid-cavity flow for comparison with their results [25–27]. The centerline
velocities 𝑢 (in the 𝑥 direction) and 𝑣 (in the 𝑦 direction) were derived from the streamfunction
values using the equations
𝜕𝜓 𝜓 , −𝜓,
𝑢, = = 𝑗 = 2, … . , 𝑛 (31)
𝜕𝑦 2ℎ
𝜕𝜓 𝜓 , −𝜓 ,
𝑣, =− =− 𝑖 = 2, … , 𝑛 (32)
𝜕𝑥 2ℎ
The velocity distributions for 𝑢 and 𝑣 in Figure 8 are drawn along the vertical and horizontal
centerlines, respectively.
Figure 8. Calculated centerline velocity results compared with those of Refs. [25] and [27].
(Reproduced with permission from [21]).
Fluids 2019, 4, 178 14 of 18
Importantly, the students were made aware that the profiles they calculated must be compared,
preferably with experimental measurements, to test the validity of their calculations. As can be seen
from Figure 8, the calculations for the horizontal centerline velocities compare very favourably with
those reported by [25,27] for Re = 100. Finally, the students were asked to produce coding which
displayed the formation of the streamfunction contour plot with time.
No. Question/Statement
1 I have used CFD modelling before.
2 I found the use of vorticity and streamfunction to be instructive.
3 I could relate vorticity and streamfunction to the primitive variables easily.
4 I found the use of collaboration with other students useful.
5 I preferred working on my own to working in groups.
6 Do you think the balance between CFD theory and practice was correct?
7 This CFD course enhances my understanding of fluid mechanics theory.
8 This CFD course is a useful addition to the fluid mechanics laboratories.
9 The ‘hands-on’ aspects of this CFD course has taught me extra skills.
10 Do you feel you can continue to model basic flows without much help?
11 Does this course give you confidence that you can model more difficult flows?
By using CFD I have learned things that could not be taught through traditional theory or
12
experiments.
13 I have now a sound knowledge of CFD good practice.
14 I have enjoyed this course.
15 I would recommend this CFD course to others.
Generally, student feedback surveys have a very low response rate [30,31]. However the
response rate here was relatively high (77%) and overall the results of the survey showed a positive
attitude of the students towards the course. The numerical responses to the survey are shown on
Figure 9 and indicate that students felt they had benefited from their exposure to this CFD course. In
additional comments made by the students the view was expressed that the amount of material
introduce was about right, although some felt that some of the exercises were unnecessarily long.
Students did not seem to worry about the concept of streamfunction being used but some did express
concern about their understanding of vorticity in a physical sense. The students were generally
appreciative that they could easily visualize flow using contour and vector plots and generally agreed
Fluids 2019, 4, 178 16 of 18
that the combination of basic theory combined with computer coding gave them more confidence
and understanding. Student showed some enthusiasm about learning more about CFD and in
particular how they could incorporate CFD into projects from other subjects and capstone projects.
It was noted that the students liked the hands-on and self-discover approach, although at times
some frustration was also noted, and they were fairly neutral on working in groups as opposed to
working on their own. In fact it was very noticeable that students took pride in performing the
simulations by themselves with a real sense of achievement ensuing.
Several points should also be made: the traditional view of CFD is that it has a steep learning
gradient, but it has been shown here that with proper interfaces and a limited depth of flow difficulty
that this gradient can be brought to an acceptable level. Also, it should be pointed out that for the
practical software used no mention of code development was made to the students, as the learning
outcome was to become proficient in the use of the existing coding. This would need to be remedied
by a later course which involves ways of interacting with the existing, quite complicated core coding.
Evaluation of the course will continue in the future and hence be developed according to results.
Only student views have been collected up to now but it is intended to take into account both student
and instructor views in the future. It is felt more attention to how interest is aroused in general
concerning the use of CFD is needed in future surveys as is the promotion of the use of CFD as a
research tool during say capstone projects and post-graduate work. There will also be an attempt to
elicit feedback from students who are at the ‘beyond-completion’ stage of the course.
5. Conclusions
In this paper the approach to delivering understanding of the numerical and practical aspects of
the use of Navier-Stokes equations to solve fluid mechanics problems is outlined. For the numerical
understanding, a well-defined sequence of steps needed to solve the Navier-Stokes equation cast in
vorticity-streamfunction form was outlined. The sequence was integrated with the software package
Mathematica at appropriate stages to take care of tedious computations, and hence allowed the
students to concentrate on the overall details of the solution process. In addition, it is now important
generally to integrate computer technology so as to complete and compliment lectures and theory.
This has the advantages of helping with the computations, aiding presentation for reports and the
ability to continue with further analysis as well as motivation for the students. Incorporating
Mathematica also takes away the ‘black-box’ approach so often encountered by students with full
CFD commercial codes, which give no real understanding of the numerical mathematics involved.
In addition to teaching the students some of the numerical aspects of CFD, this course also
allowed for an introduction to the type of CFD carried out in professional offices, and taught
additional topics like turbulence modelling, the idea of obtaining a grid independent solution and
Fluids 2019, 4, 178 17 of 18
how critical it is to validate results obtained by the CFD approach. One of the main reasons for the
inclusion of the second part of this course was to give the students practical skills and it was found
that the simplified interface design does provide students with hands-on experience, gained through
an interactive and user-friendly environment, and encourages student self-learning. It was noted
from a survey that students liked getting hands-on experience and the self-discovery approach,
although at times some frustration was noted when setting a problem up.
Author Contributions: Conceptual, D.A. and M.J.; methodology and software D.A.; validation and analysis,
D.A. and M.J.; original draft preparation, D.A.; review and editing, M.J.
Appendix
In general, when solving for the nodal quantities, this is in effect solving a system of 𝑛 linear
equations, where 𝑛 is the total number of nodes in the system. The system of equations can easily be
described by
𝐴𝐱 = 𝐛 (A1)
where 𝐴 is a 𝑛 × 𝑛 matrix of coefficients, 𝐱 is a vector of 𝑛 unknown values, and 𝐛 is a vector of
𝑛 constants. Rather than inverting the matrix 𝐴 directly, the Gauss-Seidel method can be used to
solve the equations iteratively, which is especially desirable for large systems. In general the Gauss-
Seidel method employs forward substitution and is given by
1
𝑥 = 𝑏 − 𝑎 𝑥 − 𝑎 𝑥 (A2)
𝑎
for 𝑖 = 1,2, … , 𝑛. The iterations are performed until the difference of the quantity value, often called
the residual error (𝐸), between iterations reaches a specified tolerance.
References
1. Assanis, D.N.; Heywood, J.B. Development and use of a computer simulation of turbo-compounded Diesel
system for engine performance and component heat transfer studies. SAE Trans. 1986, 2, 451–476.
2. Devenport, W.J.; Schetz, J.A. Boundary layer codes for students in Java. In Proceedings of the ASME Fluids
Engineering Division Summer Meeting, Washington, DC, USA, 21–25 June 1998.
3. Zheng, H.; Keith, J.M. JAVA-based heat transfer visualization tools. Chem. Eng. Educ. 2004, 38, 282–290.
4. Rozza, G.; Huynh, D.B.P.; Nguyen, N.C.; Patera, A.T. Real-time reliable simulation of heat transfer
phenomena. In Proceedings of the ASME-American Society of Mechanical Engineers-Heat Transfer
Summer Conference, San Franscisco, CA, USA, 19–23 July 2009.
5. Qian, X.; Tinker, R. Molecular dynamics simulations of chemical reactions for use in education. J. Chem.
Educ. 2006, 81, 77–90.
6. Pieritz, R.A.; Mendes, R.; Da Silva, R.F.A.F.; Maliska, C.R. CFD: An educational software package for CFD
analysis and design. Comput. Appl. Eng. Educ. 2004, 12, 20–30.
7. Stern, F.; Xing, T.; Yarbrough, D.B.; Rothmayer, A.; Rajagopalan, G.; Otta, S.P.; Caughey, D.; Bhaskaran, R.;
Smith, S.; Hutchings, B.; et al. Hands-on CFD educational interface for engineering courses and
laboratories. J. Eng. Educ. 2006, 95, 63–83.
8. Curtis, J.C. Integration of CFD into undergraduate chemical engineering curriculum. In Proceedings of the
Annual AIChE Meeting, Philadelphia, PA, USA, 16–21 November 2008.
9. Wolfram Research, Inc. Mathematica, Version 12.0; Wolfram Research, Inc.: Champaign, IL, USA, 2019.
10. Jaeger, M.; Adair, D. Human factors simulation for construction management. Eur. J. Eng. Educ. 2010, 35,
299–310.
11. Jaeger, M.; Adair, D. Communication simulation in construction management simulation: Evaluating the
learning effectiveness. Australas. J. Eng. Educ. 2012, 18, 1–14.
Fluids 2019, 4, 178 18 of 18
12. Patil, A.; Mann, L.; Howard, P.; Martin, F. Assessment of hands-on activities to enhance students’ learning
for the first year engineering skills course. In Proceedings of the 20th Australasian Association for
Engineering Education Conference, Adelaide, Australia, 6–9 December 2009; pp. 286–292.
13. Edgar, T.F. Enhancing the undergraduate computing experience. Chem. Eng. Educ. 2006, 40, 231–238.
14. Adair, D.; Jaeger, M. Incorporating computational fluid dynamics code development into an
undergraduate engineering course. Int. J. Mech. Eng. Educ. 2015, 43, 153–167.
15. Parulekar, S.J. Numerical problem solving using Mathcad in undergraduate reaction engineering. Chem.
Educ. Eng. 2006, 40, 14–23.
16. Rockstraw, D.A. Aspen Plus in the curriculum-suitable course content and teaching methodology. Chem.
Eng. Educ. 2005, 39, 68–75.
17. Finlayson, B.A.; Rosendall, B.M. Reactor/transport models for design: How to teach students and
practitioners to use the computer wisely. In AIChE Symposium Series; American Institute of Chemical
Engineers: New York, NY, USA, 2000; pp. 176–191.
18. Pomeranz, S. Using a computer algebra system to teach the finite element method. Int. J. Eng. Educ. 2000,
16, 362–368.
19. LeVeque, R.J. Finite Difference Methods for Ordinary and Partical Differential Equations: Steady-State and Time-
Dependent Problems; Siam: Philadelphia, PA, USA, 2007.
20. Ferziger, J.H.; Peric, M. Computational Methods for Fluid Dynamics; Springer: New York, NY, USA, 1996.
21. Bozeman, J.D.; Dalton, C. Numerical study of viscous flow in a cavity. J. Comput. Phys. 1973, 12, 348–363.
22. Adair, D.; Jaeger, M. Developing an understanding of the steps involved in solving Navier-Stokes
equations. Math. J. 2015, 17, 1–19.
23. Burggraf, O.R. Analytical and numerical studies of the structure of steady separated flows. J. Fluid Mech.
1966, 24, 113–151.
24. Adair, D. Incorporation of Computational Fluid Dynamics into a Fluid Mechanics Curriculum. In Advances
in Modeling of Fluid Dynamics; InTech: Berlin, Germany, 2012; ISBN 980-953-307-311.
25. Gia, U.; Ghia, K.N.; Shin, C.T. High-Re solutions for incompressible flow using the Navier-Stokes equations
and a multigrid method. J. Comput. Phys. 1982, 48, 387–411.
26. Spotz, W.F. Accuracy and performance of numerical wall boundary conditions for steady, 2D,
incompressible streamfunction vorticity. Int. J. Numer. Methods Fluids 1998, 28, 737–757.
27. Wan, D.C.; Zhou, Y.C.; Wei, G.W. Numerical solution of incompressible flows by discrete singular
convolution. Int. J. Numer. Methods Fluids 2002, 38, 789–810.
28. Launder, B.E.; Spalding, B. Mathematical Models of Turbulence; Academic Press: London, UK, 1972.
29. Agonafer, D.; Liao, D.G.; Spalding, B. The LVEL Turbulence Model for Conjugate Heat Transfer at Low Reynolds
Number, Concentration; Heat and Momentum Ltd.: London, UK, 2008.
30. Gamliel, E.; Davidovitz, L. Online versus traditional teaching evaluation: Mode can mater. Assess. Eval.
High. Educ. 2005, 30, 581–592.
31. Nulty, D.D. The adequacy of response rates to outline and paper surveys: What can be done? Assess. Eval.
High. Educ. 2008, 33, 301–314.
© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access
article distributed under the terms and conditions of the Creative Commons Attribution
(CC BY) license (http://creativecommons.org/licenses/by/4.0/).