You are on page 1of 14

Lecture 05: Modelling Advection (Coupled water

and heat flow)


Timo Heimovaara

Section Geo-Engineering, Delft University of Technology

CIE4365 Period 4, 2017

1 / 14
Outline

2 / 14
Heat Balance equation

bw T
+ qh = 0
t
with
qh = qDiff + qconv = T + vT
where v is the velocity of the water in the pores (v = qw /w ).
Rewriting in 1D gives:

bw (w )T
= (qh )
t z
T bw
bw (w ) +T = (qh )
t t z
so:
T bw
bw (w ) = (qh ) T
t z t

3 / 14
Water Balance equation

w
+ qw = 0
t
with
qw == Ksat krel (w ) (hw + 1)
The saturated hydraulic conductivity is a function of temperature:
sat
K sat =
w g(T )

4 / 14
Temperature and Viscosity
Table: Dynamic viscosity as a function of temperature

T(o C) (mPa/s)
0 1.787
5 1.519
10 1.307
20 1.002
30 0.798
40 0.653
50 0.547
60 0.467
70 0.404
80 0.355
90 0.315
100 0.282

5 / 14
Advection and diffusion

1 Advection: Heat moves because phase (water) is flowing;


2 Diffusion: Heat moves because of a gradient in temperature;
Similar for solute transport. Why?

6 / 14
Eulerian advection methods


= vx
t x
upwind
discretization
t
it i1
it+t = it vx t
x
stability
criterium:
x
t
vx

7 / 14
Numerical Diffusion increases with smaller t

8 / 14
Exposing the diffusion term in upwind differences

it i1
t
it+t = it vx x t can be rewritten as

vx t
it+t = it (2it 2i1
t t
+ i+1 t
i+1 ),
2x
or

!
it+t it t i1
t
vx x t
i1 2it + i+1
t
= vx i+1 + .
t 2x 2 x 2
Numerical diffusion term in upwind differences

!
it+t it t
t i1 vx x t
i1 t
2it + i+1
= vx i+1 +
t 2x 2 x 2

simplifies to :
   central  2 

= vx +D
t i x i x2
 central t t  2  t 2 t + t
where x = i+12xi1 and x2 = i1 xi2 i+1
i i
and D = vx x/2
other types of differencing no solution
Alternative Techniques
Marker in Cell

Mixed Eulerian and Lagrangian algorithm


Advection is solved by allowing Lagrangian particles to move
along flow field;
Diffusion and reactions are solved using Eulerian approach
This a so-called operator splitting technique ...
Cannot make use of ODE solvers of MATLAB ... :-(

13 / 14
Marker in Cell Algorithm

1 Distribute a (large) number of markers over across your Eulerian Grid;


2 Use an interpolation technique to initialize the temperatures of each individual
marker;
3 Use the information from the velocity field to calculate the velocity of each
individual marker;
4 Move the markers using the time step xAt+t = xAt + vxA t (but you can also
use a Runge Kutta method!), recycle markers that have left the model
domain;
5 Calculate the averaged temperature at the nodes using the advected
markers;
6 Use the averaged temperature to calculate the change in nodal temperatures
due to diffusion
7 Update temperatures of the markers by interpolating the temperature
difference
8 repeat from step 3.
9 A detailed explanation can be found in Chapters 8 and 10 of Gerya, 2010.

You might also like