Transfer
V.Vuorinen
Aalto University School of Engineering
Heat and Mass Transfer Course, Autumn 2016
Fin 1
Fin 2
x
z
Fin 19
x
z
Assumptions:
- (100/19) W of heat leaves through each fin.
Fin 19 - 1d conduction in aluminium
- heat enters from left and exits only from right
- gaps between fins are insulated
Discretization by Finite Difference
Method ∂T ∂2 T
=α
∂t ∂x
2
( )
n+1 n n n n
( )
n
∂T
n
T i −T i 2
∂ T T i +1 −2T +T
≈ ≈ i i−1
∂t i Δt 2
∂x i Δx
2
n
Known from previous timestep n: T i
n+1
Unknown on the n+1 timestep: Ti
Discretization by Finite Difference
Method
Continuous version of Discrete version of
heat equation heat equation
2 n +1 n n n n
∂T ∂ T T i −T i T i+ 1−2 T i +T i −1
=α =α
∂t ∂x
2
Δt Δx
2
αΔ t
CFL=
Δ x2
Courant-
Friedrichs- n n n
Lewy number T i +1−2 T i +T i−1
T n+1
n
(CFL<0.5 for
i =T i +Δ t α 2
stability).
Δx
Now we have an explicit update scheme for T in each discrete grid
point i. This is the explicit Euler scheme (most simple timestepping).
Discrete Representation of the
Scheme
i=1 i=2 i=3 i=N+1 i=N+2
t=t T1 T2 T3 TN+1 TN+2
n+2
n n n
t n=n Δ t ,n=0,1,2,... T i +1−2 T i +T i−1
T n+1
i =T n
i +Δ t α
Δ x2
Boundary Condition Types
• The problem: some numerical value needs to be assigned to the ”ghost cells”
• Otherwise: we can not calculate second derivative of T in cells i=2 and i=N+1
• Case 1: Given temperature value (Dirichlet or “fixed value”) → heat flux through boundary
• Case 2: Isolated (Neumann or “zero-gradient”) → no heat flux through boundary
• Case 3: Given heat flux → heat flux through boundary
x=0 x=L
n n n n
Case 1: (T +T )/ 2=T min
1 2 (T N +1 +T
)/2=T maxN+2
Case 2: n
T 1=T 2
n
T =T nN +2 n
N +1
Case 3: −k (T n2−T n1 )/Δ x=q L k (T nN +2−T )/Δ x=q Rn
N +1
→ In all the cases a “ghost cell” value is needed.
→ Ghost cell: we can imagine a virtual cell outside the domain
where we enter a temperature value so that the desired BC
becomes exactly fulfilled.
Summary of the Numerical Solution
Scheme for 1d Heat Equation
1) Set boundary conditions to cells 1 and N+2 T ni (Known)
using T from step n.
4) Go back to 1)
This Scheme is Extremely Short to
Program in Matlab
Program: /Example1d/HeatDiffusion.m
Execution: >> HeatDiffusion
What it does: Solves 1d heat equation in equispaced grid, fixed Tleft and Tright.
Main for-loop:
for(t=1:K)
% set boundary conditions
T(1) = 2*Tleft - T(2); T(N+2) = 2*Tright - T(N+1);
Note: I use constantly the “trick” which makes Matlab-programs often very fast.
% define a table which refers to the 'inner points' Example for N+1 = 5
in = 2:(N+1);
The Following Folders and Files for
Matlab Programs Provided (Week 1)
/Example0d/ Execute by
cool0d.m >> cool0d
/Examples1d/ Execute by e.g.
HeatDiffusion.m >> HeatDiffusion
ConvectionDiffusion.m
/HowToPlot/ Demos on plotting Figures.
DrawingSurface.m Execute by e.g.:
PlottingFigure.m >> DrawingSurface
SurfaceAnimation.m
/Examples2d/
CaseDefinition.m computedT.m GradX.m 2d heat transfer code.
GradY.m HeatDiffusion2d.m project.m Execute by:
solveTemperature.m >> HeatDiffusion2d
circle.m DivDiv.m GradXskew.m
GradYskew.m Laplacian.m setTBCs.m
visualizeResults.m
Part 2: 2 dimensional finite difference methods
Overview
• Previously you learned about 0d and 1d heat transfer problems and their numerical
solution
• Here we extend things into 2d (3d) cases which is straightforward
• We consider the simple case of a square domain
• Real geometries: Welcome to CFD (spring) & CFD-modeling (autumn) courses
• Real geometries: finite volume methods or finite element methods
Thinking task
( )
n+1 n n n n n
( )
∂T
n
T i , j −T i , j 2
∂ T T i +1, j−2 T i , j +T i−1, j
≈ X: ≈
∂ t i, j Δt ∂ x2 i, j Δ x2
( )
n n n n
2
∂ T T i , j +1−2 T i , j +T i , j−1
Y:
2
≈ 2
∂y i, j Δy
Discretization by Finite Difference
Method
αΔ t
CFL=
Explicit Euler timestepping for 2d heat equation: Δ x2
n n n n n n
n+1 n T i +1, j −2 T i , j +T i −1, j T i , j+1 −2 T i , j +T i , j−1
T i,j =T + Δ t α
i, j 2
+Δ t α
Δx Δ y2
Which is equal to the “delta” form:
n n n n n n
n T i +1, j −2 T +T
i, j i−1, j T i , j+ 1 −2 T + T
i, j i , j −1
Δ T =Δ t α
i, j 2
+Δ t α 2
Δx Δy
Where:
Δ T ni , j=T ni ,+1j −T ni , j
Visualization of 2d Cartesian Grid
x=0 x=Lx This corner
cell would be
Ghost cells “idle”/useless
where
y=Ly
boundary
conditions n Ghost cells
given. For example: T i , j +1 where
Zero gradient:
boundary
n n n n n n conditions
T ghost =Ti−1, j T ghost T i−1, j T i,j T i+1, j given
Fixed temperature:
T nghost =2 T target−T ni−1, j T ni , j −1
y=0
Δy
Cell face center Cell center
Δx
Summary of the Numerical Solution
Scheme for 2d Heat Equation
(Known and
1) Set boundary conditions (BC's) to the ghost cells T ni , j hence BC
using T from step n. update possible)
T n+1
i,j
3) Update time according to t = t + dt
t n+1 =t n +Δ t
4) Go back to 1)
Also This Scheme is Extremely Short
to Program in Matlab
Program: /Examples2d/HeatDiffusion2d.m
Execution: >> HeatDiffusion2d
What it does: Solves 2d heat equation in Cartesian grid, various BC's possible.
It is also possible to simulate materials with variable heat diffusivity to simulate
conduction in e.g. “layered” materials.
The “heart” of this 2d code is the computation of dT in the .m file computedT.m
dT=dt*DivDiv(T,nu,east,west,north,south,inx,iny,dx,dy);
- In short the “cryptic” function DivDiv.m is needed to evaluate
divergence of the diffusive flux (conservatively) i.e. ∇⋅α ∇ T
- The contents of the function DivDiv.m looks lengthy but it is
so only to account for the fact that the code assumes diffusivity (x,y) - dependent.
The function solveTemperature.m applies the 4th order Runge-Kutta method
(for better stability than Euler) to evaluate dT several times and finally
accumulates them together to end up in essentially the same outcome as Euler
method.
T new =T old + Δ T
Tleft =Ttop=500K
Tleft =500K Tright =293K
Tright =300K
Bottom and top walls are zero gradient Bottom wall is zero temperature gradient
keeping solution 1d i.e. thermally insulated
Tleft =500K Tright =293K
Conducting
Top & Bottom zero gradient
Insulated
pocket (k=0) Non-
conducting
Zoom: note
that isolines
meet the surface
perpendicular for zero-gradient
Thank you for your attention!