An industrial mixer stirs fluid inside a rectangular vessel. One side of the vessel is heated. The flow can be
approximated as two dimensional and the configuration is shown in figure 1.
When the mixer is started, the fluid has an initial temperature of T(x, y, t = 0) = y through the domain,
where y is the vertical location. At time t0 = 0 (s), the mixer begins to rotate the fluid inside the vessel.
You are required to determine the temperature of the fluid at location x = 0.5 m and y = 0.25 m at time
t = t0 + 1 s and also determine the final steady state temperature (as time goes to infinity) at this same
location. This problem can be treated as two dimensional and the length and height of the domain are
L = 1 m. The fluid has thermal diffusivity of α = 0.1 [m2/s].
7\ \ 7\ \
Figure 1: Solution Domain with thermal boundary conditions
The assignment is arranged into two parts:
In Part A you will obtain a steady solution to the heat equation for this problem using a second order
accurate finite difference scheme and an iterative solver. Your goal is to obtain the solutions (T(x, y)) on a
range of mesh sizes and use these solutions to estimate the exact value of temperature at location (x = 0.5 m,
y = 0.25 m ).
In Part B you will obtain a transient solution to the heat equation for this problem using a first order
implicit finite difference discretisation in time. The goal is to report the temperature at location (x = 0.5 ,
y = 0.25) at time t = 1 s using a number of grid sizes and time steps sizes and estimate the exact solution.
You will present your results for each part in a short report. In this report you must briefly explain your
method, the discrete equations solved, how boundary conditions were applied, explain what simulations
were performed and how you determined your solution is accurate. Details for each section are given in the
Discretise the governing equation and boundary conditions with second order accurate centered finite difference approximations. Use Matlab to write an iterative solver to solve the governing equation (1) to find
the temperature. You should follow the steps below and then present your method, solution and accuracy
tests in a short report.
1. Discretise the governing equations and boundary conditions using a second order accurate centered
finite difference scheme.
2. Write a Matlab code to solve the discrete set of equations using the Gauss-Seidel SOR method. Set a
stopping criterion for the solver (any of the methods given in the notes are fine).
3. You might like to play around with the relaxation factor ω to find a value that seems optimal (you
don’t need to report on these tests). An optimal value is one that attains a solution in as few iterations
as possible. The optimal value may vary with grid size.
4. Vary the grid size so ∆x = ∆y = L/2
n where n = 3, 4.... Demonstrate the accuracy of your scheme
by monitoring the T at (x, y) = (0.5, 0.25). Choose an appropriate stopping criterion for the solver for
each grid size.
5. Determine the grid size for which the solution is asymptotic, then estimate the exact solution accurate
to 6 significant figures. Note: Ensure you store your results to a large number of significant figures
and make sure your stopping criterion is small enough.
6. Using the above results write a short ∼ 3 page report presenting your solution T(x, y) and in particular
the result T(x = 0.5, y = 0.25). You must explain what mesh size and convergence criterion you used.
You are to clearly demonstrate to the reader that your solution is accurate. You should briefly present
your numerical method including the final discrete equations you solve. Your report should explain
how you ensured your final solution was accurate and refer to the sources of error in your calculations