Professional Documents
Culture Documents
5.finite Difference Method 1D Diffusion
5.finite Difference Method 1D Diffusion
Numerical Fluid
analysis Mechanics
CFD
Computer
Science
Recall the example problem in Lecture 1 …...
2
An example: development of a transient laminar flow in a channel
1. Physical assumptions & governing principles:
² Initial velocity =0
²The flow is driven by a body force (or constant pressure gradient) starting at t=0
²Governing equations:
y
mass conservation – continuity equation x
2L
3
An example: development of a transient laminar flow in a channel
2. Mathematical model
y
2L x
4
Analytical solution (the method of separation of variables)
Exact solution
u " y2 % ∞ 4(−1)k ( (k + 0.5)2 π 2ν t + ( y+
= $1− 2 ' − ∑ exp *− - cos *)(k + 0.5)π -
u0 # L & k=0 [π (k + 0.5)]3 ) L2 , L,
write(*,*) 'anu, dt, aL, dy, CFL=', anu, dt, aL, dy, CFL write(55,100)ycc,theory1,u(j)/u0,abs(u(j)-theory1)/theory1
t = 0.d0 end do
Tend = 3.0d0*aL*aL/anu !!!!!!!!!!
nsteps = Tend / dt end if
write(*,*) 'Tend, dt, Ntime, nsteps=', Tend, dt, Ntime, nsteps
100 format(2x, 4f16.12)
enddo
end program
Transient_Laminar_Flow_FD_Codes/Channel_FD_onwall0_class.f90
8
5. Verification and validation
9
Truncation errors
The original PDE The finite-difference approximation
𝜕𝑢 𝜕 "𝑢 𝑢#$%& − 𝑢#$ $
𝑢#'& − 2𝑢#$ + 𝑢#%&
$
= g! + ν " = g! + ν
𝜕𝑡 𝜕𝑦 Δ𝑡 Δ𝑦 "
What are the leading-order truncation-error terms?
(This is related to Homework 2(b))
% %
Δ𝑡 &
Δ𝑡 % '
Δ𝑦 % (
Δ𝑦 '
𝜕# 𝑢 = 𝑔 + 𝜈 ⋅ 𝜕$$ 𝑢 − 𝜕## 𝑢 ⋅ − 𝜕### 𝑢 ⋅ + 𝜈 ⋅ 𝜕$$$$ 𝑢 ⋅ + 𝜈 ⋅ 𝜕$$$$$$ 𝑢 ⋅ + 𝑂 Δ𝑡 & + 𝑂 Δ𝑦 ( [𝐴]
2 6 12 360
"𝑢 ) 𝑢
Δ𝑡 ) 𝑢0
Δ𝑦 "
𝐹𝑟𝑜𝑚 𝐴 , 𝜕(( =𝜈 −⋅ 𝜕**( 𝜕(((
⋅ + 𝜈 ⋅ 𝜕****( 𝑢 ⋅ + 𝑂 Δ𝑡 " + 𝑂 Δ𝑦 + , [𝐵]
2 12
) + + Δ𝑡 ,
Δ𝑦 "
𝐹𝑟𝑜𝑚 𝐴 , 𝜕**( 𝑢 = 𝜈 ⋅ 𝜕**** 𝑢 − 𝜕**(( 𝑢 ⋅ + 𝜈 ⋅ 𝜕****** 𝑢 ⋅ + 𝑂 Δ𝑡 " + 𝑂 Δ𝑦 + , [𝐶]
2 12
' )
𝐹𝑟𝑜𝑚 𝐵 , 𝑡ℎ𝑒𝑛 𝐴 , 𝜕$$## 𝑢 = 𝜈 ⋅ 𝜕$$$$# 𝑢 + 𝑂 Δ𝑡 + 𝑂 Δ𝑦 % = 𝜈 % ⋅ 𝜕$$$$$$
(
𝑢 + 𝑂 Δ𝑡 + 𝑂 Δ𝑦 % , [𝐷]
& ' % (
Δ𝑡 (
Δ𝑦 %
𝐹𝑟𝑜𝑚 𝐶 + [𝐷], 𝑡ℎ𝑒𝑛 𝜕$$# 𝑢 =𝜈⋅ 𝜕$$$$ 𝑢 −𝜈 ⋅ 𝜕$$$$$$ 𝑢 ⋅ + 𝜈 ⋅ 𝜕$$$$$$ 𝑢 ⋅ + 𝑂 Δ𝑡 % + 𝑂(Δ𝑡 ⋅ Δ𝑦 % ) + 𝑂(Δ𝑦 ' )
2 12
𝐹𝑟𝑜𝑚 𝐵 + 𝐷 , ) 𝑢 = 𝜈 ⋅ 𝜕 + 𝑢 + 𝑂 Δ𝑡 + 𝑂 Δ𝑦 " = 𝜈 ) ⋅ 𝜕 ,
𝜕((( "
**(( ****** 𝑢 + 𝑂 Δ𝑡 + 𝑂 Δ𝑦
The concept of the modified equation (2)
" 𝑢 ⋅ -( ) -( ! -.! -."
𝜕( 𝑢 + 𝜕(( + 𝜕((( 𝑢 ⋅ +𝑂 Δ𝑡 ) =𝑔+ " 𝑢
𝜈𝜕** + +
𝜈𝜕**** 𝑢 ⋅ +𝜈 ,
⋅ 𝜕****** 𝑢 ⋅ + 𝑂(Δ𝑦 +)
" , &" ),/
Therefore,
"𝑢 𝛥𝑦 " ,
𝜕(( = 𝜈 "𝜕****
+ 𝑢 − 𝜈 )𝜕******
, 𝑢 ⋅ Δt + 𝜈" 𝜕****** 𝑢 + 𝑂 Δ𝑡 " + 𝑂 Δ𝑡 ⋅ Δ𝑦 " + 𝑂(Δ𝑦 +),
6
" 𝑢
𝜈Δ𝑡 𝛥𝑦 " + "
Δ𝑡 " Δ𝑡 ⋅ Δ𝑦 " Δ𝑦 + ,
𝜕( 𝑢 = 𝑔 + 𝜈𝜕** −𝜈⋅ − 𝜕**** 𝑢 + 𝜈 ⋅ 𝜈 ⋅ −𝜈⋅ + 𝜕 𝑢
2 12 3 12 360 ******
+𝑂 Δ𝑡 ) + 𝑂 Δ𝑡 " ⋅ Δ𝑦 " + 𝑂 Δ𝑡 ⋅ Δ𝑦 + + 𝑂 Δ𝑦 ,
νΔ𝑡
We call this the modified equation 𝛼≡
Δ𝑦 !
" 𝑢
𝜈 ⋅ Δ𝑦 " +
𝜈 ⋅ Δ𝑦 +
𝜕( 𝑢 = 𝑔 + 𝜈𝜕** − ⋅ 6𝛼 − 1 𝜕**** 𝑢 + ⋅ 120𝛼 " − 30𝛼 + 1 𝜕******
, 𝑢
12 360
The steady-state solution of the modified equation (1)
" 𝑢
𝜈 ⋅ Δ𝑦 " +
𝜈 ⋅ Δ𝑦 +
𝜕( 𝑢 = 𝑔 + 𝜈𝜕**− ⋅ 6𝛼 − 1 𝜕**** 𝑢 + ⋅ 120𝛼 " − 30𝛼 + 1 𝜕******
, 𝑢
12 360
+𝑂 Δ𝑡 ) + 𝑂 Δ𝑡 " ⋅ Δ𝑦 " + 𝑂 Δ𝑡 ⋅ Δ𝑦 + + 𝑂 Δ𝑦 ,
𝑦" 𝑦+ 𝑦,
𝑢 = 𝑢/ 1−𝑎 " −𝑏 + −𝑐 ,
𝐿 𝐿 𝐿
Boundary conditions:
𝑎+𝑏+𝑐 =1
And
0
1 𝑦" 𝑦+ 𝜈 ⋅ Δ𝑦 " 1 𝑦"
= 𝑔 + 𝜈𝑢/ −2𝑎 " − 12𝑏 + − 30𝑐 , − ⋅ 6𝛼 − 1 −24𝑏 + − 360𝑐 ,
𝐿 𝐿 𝐿 12 𝐿 𝐿
𝜈 ⋅ Δ𝑦 + 1
+ ⋅ 120𝛼 " − 30𝛼 + 1 −720𝑐 ,
360 𝐿
The steady-state solution of the modified equation (2)
0
1 𝑦" 𝑦+ 𝜈 ⋅ Δ𝑦 " 1 𝑦" 𝜈 ⋅ Δ𝑦 +
= 𝑔 + 𝜈𝑢/ −2𝑎 " − 12𝑏 + − 30𝑐 , − ⋅ 6𝛼 − 1 −24𝑏 + − 360𝑐 , +
𝐿 𝐿 𝐿 12 𝐿 𝐿 360
1
⋅ 120𝛼 " − 30𝛼 + 1 −720𝑐 ,
𝐿
Therefore
𝑦+
0 = 𝜈𝑢/ −30𝑐 ,
𝐿
𝑦 " 𝜈 ⋅ Δ𝑦 " 𝑦"
0 = 𝜈𝑢/ −12𝑏 + − ⋅ 6𝛼 − 1 −360𝑐 ,
𝐿 12 𝐿
1 𝜈 ⋅ Δ𝑦 " 1 𝜈 ⋅ Δ𝑦 + 1
0 = 𝑔 + 𝜈𝑢/ −2𝑎 " − ⋅ 6𝛼 − 1 −24𝑏 + + ⋅ 120𝛼 " − 30𝛼 + 1 −720𝑐
𝐿 12 𝐿 360 𝐿,
Finally,
1
𝑐 = 0, 𝑏 = 0, 𝑎 = 1, 0 = 𝑔 + 𝜈𝑢/ −2
𝐿"
The steady state solution is unchanged.
The transient solution of the modified equation
" 𝑢
𝜈 ⋅ Δ𝑦 " +
𝜈 ⋅ Δ𝑦 +
𝜕( 𝑢 = 𝑔 + 𝜈𝜕** − ⋅ 6𝛼 − 1 𝜕**** 𝑢 + ⋅ 120𝛼 " − 30𝛼 + 1 𝜕******
, 𝑢
12 360
4
𝑢1 𝑦" 𝑘 + 0.5 "𝜋 "𝜈1 𝑡 𝑦
= 1 − " + K 𝐶2 exp − cos 𝑘 + 0.5 𝜋
𝑢/ 𝐿 𝐿" 𝐿
23/
4 ⋅ −1 2
𝐶2 = − )
𝜋 𝑘 + 0.5
Alternatively,
𝛼 1 2" 𝑘 + 0.5 "𝜋 " 𝛼" 𝛼 1 2+ ⋅ 𝑘 + 0.5 +𝜋 +
𝜈1 = 𝜈 1 + − + − + ,
2 12 𝑁" 3 12 360 𝑁+
νΔ𝑡
𝛼≡ "
Δ𝑦
The theoretical prediction of relative error (1)
Theoretical solution of the modified equation
4
𝑢1 𝑦" 𝑘 + 0.5 "𝜋 "𝜈1 𝑡 𝑦
= 1 − " + K 𝐶2 exp − cos 𝑘 + 0.5 𝜋
𝑢/ 𝐿 𝐿" 𝐿
23/
4 ⋅ −1 2
𝐶2 = − )
𝜋 𝑘 + 0.5
𝛼 1 4 𝑘 + 0.5 "𝜋 " 𝛼 " 16 𝑘 + 0.5 +𝜋 + νΔ𝑡
𝜈1 = 𝜈 1 + − + , 𝛼≡
2 12 𝑁" 3 𝑁+ Δ𝑦 "
𝑢1 − 𝑢
Predicted relative error =
𝑢
The theoretical prediction of relative error (2)
νΔ𝑡
For fixed 𝛼 ≡
Δ𝑦 "
4
𝑢1 𝑦" 𝑘 + 0.5 "𝜋 "𝜈1 𝑡 𝑦
= 1 − " + K 𝐶2 exp − cos 𝑘 + 0.5 𝜋
𝑢/ 𝐿 𝐿" 𝐿
23/
.
𝑢* − 𝑢 1 𝛼 1 𝑘 + 0.5 % 𝜋 % 𝜈𝑡 4 𝑘 + 0.5 % 𝜋 % 𝑘 + 0.5 % 𝜋 % 𝜈𝑡 𝑦
=− − C 𝐶+ ⋅ 𝑒𝑥𝑝 − 𝑐𝑜𝑠 𝑘 + 0.5 𝜋
𝑢 𝑢 2 12 𝐿% 𝑁% 𝐿% 𝐿
+,-
1
~
𝑁"
Theoretically, we prove that
(1) The relative error ~ 1/N2
(2) The relative error decreases with dimensionless time
The theoretical prediction of relative error
Last night’s results Today’s corrected results
àNumerical instability
𝑒 1⋅ 345 6#
⋅ 𝑒7 +⋅86$
= 1 − 2𝛼 𝑒 1⋅36# ⋅ 𝑒 7 +⋅86$
+ α 𝑒 1⋅36# ⋅ 𝑒 7 +⋅ 895 6$
+ 𝑒 1⋅36# ⋅ 𝑒 7 +⋅ 845 6$
𝑒 1⋅ 345 6#
⋅ 𝑒7 +⋅86$
= 𝑒 1⋅36# ⋅ 𝑒 7 +⋅86$
+ α ⋅ 𝑒 1⋅ 345 6#
𝑒7 +⋅ 895 6$
− 2𝑒 7 +⋅86$
+ 𝑒7 +⋅ 845 6$
Stability requirement
1 Always met for any α
𝑒 F⋅-( =
1 + 2α 1 − cos 𝑘Δ𝑥
⇒ unconditionally stable
1 1
≤ ≤1
1 + 4α 1 + 2α 1 − cos 𝑘Δ𝑥
Code implementation of the implicit scheme
𝑢#$%& = 𝑢#$ + g ⋅ Δ𝑡 + α 𝑢#'&
$%&
− 2𝑢#$%& + 𝑢#%&
$%&
, 𝑓𝑜𝑟 𝑗 = 2, 3, … , 𝑁
$%&
−α ⋅ 𝑢#'& + 1 + 2𝛼 ⋅ 𝑢#$%& − α ⋅ 𝑢#%&
$%&
= 𝑢#$ + g ⋅ Δ𝑡 , 𝑗 = 2,3,4,5, … . . , 𝑁