GIẢI SỐ PHƯƠNG TRÌNH PARABOLIC
Bài giảng điện tử
TS. Lê Xuân Đại
Trường Đại học Bách Khoa TP HCM
Khoa Khoa học ứng dụng, bộ mơn Tốn ứng dụng
Email:
TP. HCM — 2013.
ng.com
TS. Lê Xuân Đại (BK TPHCM)
/>GIẢI SỐ PHƯƠNG TRÌNH PARABOLIC
TP. HCM — 2013.
1 / 26
Nội dung
1
Các phương pháp sai phân giải phương trình
truyền nhiệt một chiều
ng.com
TS. Lê Xuân Đại (BK TPHCM)
/>GIẢI SỐ PHƯƠNG TRÌNH PARABOLIC
TP. HCM — 2013.
2 / 26
Nội dung
1
2
Các phương pháp sai phân giải phương trình
truyền nhiệt một chiều
Các phương pháp sai phân giải phương trình
truyền nhiệt dừng hai chiều
ng.com
TS. Lê Xuân Đại (BK TPHCM)
/>GIẢI SỐ PHƯƠNG TRÌNH PARABOLIC
TP. HCM — 2013.
2 / 26
Phương trình truyền nhiệt một chiều
Phương trình truyền nhiệt một chiều
Cho các số a < b, T > 0. Xét
QT = (a, b) × (0, T ]; QT = [a, b] × [0, T ].
Phương trình truyền nhiệt
ut − uxx = f (x, t)
thỏa điều kiện u(x, 0) = g (x), a < x < b và điều
kiện biên u(a, t) = ga (t), u(b, t) = gb (t), trong
đó f (x, t), g (x), ga (t), gb (t) là những hàm số cho
ng.com
/>trước.
TS. Lê Xuân Đại (BK TPHCM)
GIẢI SỐ PHƯƠNG TRÌNH PARABOLIC
TP. HCM — 2013.
3 / 26
Phương trình truyền nhiệt một chiều
Sơ đồ sai phân hiện
Sơ đồ sai phân hiện
Ta lấy lưới sai phân
x = mh, t = nτ,
m, n = 0, 1, 2, 3, . . .
Xét sơ đồ sai phân dạng
n
n
− 2umn + um−1
umn+1 − umn um+1
n
−
=
f
= f (xm , tn )
m
τ
h2
với điều kiện
um0 = g (xm ), u0n = ga (tn ), uNn = gb (tn ).
ng.com
TS. Lê Xuân Đại (BK TPHCM)
/>GIẢI SỐ PHƯƠNG TRÌNH PARABOLIC
TP. HCM — 2013.
4 / 26
Phương trình truyền nhiệt một chiều
Sơ đồ sai phân hiện
Bài toán thực tế
Xét thanh kim loại dài L = 10cm với
c = 0.49cal /(s.cm.0C ), ∆x = 2cm, ∆t = 0.1s,
u(x, 0) = 0, u(0, t) = 1000C , u(10, t) =
500C , t > 0. Thanh kim loại bằng nhôm với
C = 0.2174cal /(g .0C ) và ρ = 2.7g /cm3.
ng.com
TS. Lê Xuân Đại (BK TPHCM)
/>GIẢI SỐ PHƯƠNG TRÌNH PARABOLIC
TP. HCM — 2013.
5 / 26
Phương trình truyền nhiệt một chiều
Sơ đồ sai phân hiện
Phương trình truyền nhiệt
∂u
∂ 2u
= k. 2 , 0 < x < 10, t > 0
∂t
∂x
u(x, 0) = 0, u(0, t) = 100, u(10, t) = 50 trong đó
k = c/(ρ.C ) = 0.835
Hãy tìm nhiệt độ của thanh kim loại tại
x = 2cm, x = 4cm, x = 6cm, x = 8cm
ng.com
TS. Lê Xuân Đại (BK TPHCM)
/>GIẢI SỐ PHƯƠNG TRÌNH PARABOLIC
TP. HCM — 2013.
6 / 26
Phương trình truyền nhiệt một chiều
ng.com
TS. Lê Xuân Đại (BK TPHCM)
Sơ đồ sai phân hiện
t–x 0 2 4 6
0.0 . . . .
0.1 . . . .
0.2 . . . .
0.3 . . . .
0.4 . . . .
0.5 . . . .
0.6 . . . .
0.7 . . . .
0.8 . . . .
0.9
. . . .
/>
8 10
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
GIẢI SỐ PHƯƠNG TRÌNH PARABOLIC
TP. HCM — 2013.
7 / 26
Phương trình truyền nhiệt một chiều
ng.com
TS. Lê Xuân Đại (BK TPHCM)
Sơ đồ sai phân hiện
t–x 0 2 4 6
1.0 . . . .
1.1 . . . .
1.2 . . . .
1.3 . . . .
1.4 . . . .
1.5 . . . .
1.6 . . . .
1.7 . . . .
1.8 . . . .
1.9
. . . .
/>
8 10
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
GIẢI SỐ PHƯƠNG TRÌNH PARABOLIC
TP. HCM — 2013.
8 / 26
Phương trình truyền nhiệt một chiều
ng.com
TS. Lê Xuân Đại (BK TPHCM)
Sơ đồ sai phân hiện
t–x 0 2 4 6
2.0 . . . .
2.1 . . . .
2.2 . . . .
2.3 . . . .
2.4 . . . .
2.5 . . . .
2.6 . . . .
2.7 . . . .
2.8 . . . .
2.9
. . . .
/>
8 10
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
GIẢI SỐ PHƯƠNG TRÌNH PARABOLIC
TP. HCM — 2013.
9 / 26
Phương trình truyền nhiệt một chiều
Sơ đồ sai phân ẩn
Sơ đồ sai phân ẩn
Ta lấy lưới sai phân
x = mh, t = nτ,
m, n = 0, 1, 2, 3, . . .
Xét sơ đồ sai phân dạng
n+1
n+1
− 2umn+1 + um−1
umn+1 − umn um+1
−
= fmn = f (xm , tn )
2
τ
h
với điều kiện
um0 = g (xm ), u0n = ga (tn ), uNn = gb (tn ).
ng.com
TS. Lê Xuân Đại (BK TPHCM)
/>GIẢI SỐ PHƯƠNG TRÌNH PARABOLIC
TP. HCM — 2013.
10 / 26
Phương trình truyền nhiệt một chiều
Sơ đồ sai phân ẩn
Bài toán thực tế
Xét thanh kim loại dài L = 10cm với
c = 0.49cal /(s.cm.0C ), ∆x = 2cm, ∆t = 0.1s,
u(x, 0) = 0, u(0, t) = 1000C , u(10, t) =
500C , t > 0. Thanh kim loại bằng nhôm với
C = 0.2174cal /(g .0C ) và ρ = 2.7g /cm3.
ng.com
TS. Lê Xuân Đại (BK TPHCM)
/>GIẢI SỐ PHƯƠNG TRÌNH PARABOLIC
TP. HCM — 2013.
11 / 26
Phương trình truyền nhiệt một chiều
Sơ đồ sai phân ẩn
Phương trình truyền nhiệt
∂u
∂ 2u
= k. 2 , 0 < x < 10, t > 0
∂t
∂x
u(x, 0) = 0, u(0, t) = 100, u(10, t) = 50 trong đó
k = c/(ρ.C ) = 0.835
Hãy tìm nhiệt độ của thanh kim loại tại
x = 2cm, x = 4cm, x = 6cm, x = 8cm
ng.com
TS. Lê Xuân Đại (BK TPHCM)
/>GIẢI SỐ PHƯƠNG TRÌNH PARABOLIC
TP. HCM — 2013.
12 / 26
Phương trình truyền nhiệt một chiều
ng.com
TS. Lê Xuân Đại (BK TPHCM)
Sơ đồ sai phân ẩn
t–x 0 2 4 6
0.0 . . . .
0.1 . . . .
0.2 . . . .
0.3 . . . .
0.4 . . . .
0.5 . . . .
0.6 . . . .
0.7 . . . .
0.8 . . . .
0.9
. . . .
/>
8 10
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
GIẢI SỐ PHƯƠNG TRÌNH PARABOLIC
TP. HCM — 2013.
13 / 26
Phương trình truyền nhiệt một chiều
ng.com
TS. Lê Xuân Đại (BK TPHCM)
Sơ đồ sai phân ẩn
t–x 0 2 4 6
1.0 . . . .
1.1 . . . .
1.2 . . . .
1.3 . . . .
1.4 . . . .
1.5 . . . .
1.6 . . . .
1.7 . . . .
1.8 . . . .
1.9
. . . .
/>
8 10
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
GIẢI SỐ PHƯƠNG TRÌNH PARABOLIC
TP. HCM — 2013.
14 / 26
Phương trình truyền nhiệt một chiều
ng.com
TS. Lê Xuân Đại (BK TPHCM)
Sơ đồ sai phân ẩn
t–x 0 2 4 6
2.0 . . . .
2.1 . . . .
2.2 . . . .
2.3 . . . .
2.4 . . . .
2.5 . . . .
2.6 . . . .
2.7 . . . .
2.8 . . . .
2.9
. . . .
/>
8 10
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
GIẢI SỐ PHƯƠNG TRÌNH PARABOLIC
TP. HCM — 2013.
15 / 26
Phương trình truyền nhiệt dừng trong miền hình chữ nhật
Phát biểu bài toán
Cho a < b, c < d . Xét trong mặt phẳng tọa độ
vng góc Oxy một miền chữ nhật Ω
Ω = {(x, y ) : a < x < b, c < y < d }
Đường biên của Ω ký hiệu là Γ.
Xét bài tốn: tìm hàm u(x, y ) thỏa mãn phương
trình Poisson
∂ 2u ∂ 2u
∆u = 2 + 2 = f (x, y ), (x, y ) ∈ Ω
∂x
∂y
và điều kiện biên: u(x, y ) = g (x, y ), (x, y ) ∈ Γ.
Trong đó f (x, y />), g (x, y ) là các hàm cho trước.
ng.com
TS. Lê Xuân Đại (BK TPHCM)
GIẢI SỐ PHƯƠNG TRÌNH PARABOLIC
TP. HCM — 2013.
16 / 26
Phương trình truyền nhiệt dừng trong miền hình chữ nhật
Lưới sai phân. Hàm lưới
Chia Ω thành ô nhỏ. Chọn trước N, M > 1 là
b−a
d −c
những số nguyên, đặt h =
và k =
.
N
M
Đặt xi = a + ih, yj = c + jk. Mỗi điểm (xi , yj ) gọi
là nút lưới. Tập hợp tất cả các nút bên trong Ω
được ký hiệu là Ωhk
Mỗi hàm số xác định tại các nút của lưới gọi là
một hàm lưới. Kí hiệu u(xi , yj ) = uij . Ta sẽ tính
gần đúng giá trị của nghiệm u(x, y ) tại các nút
(xi , yj ) và ký hiệu giá trị gần đúng đó là vij :
vij ≈ u(xi , yj ).
ng.com
TS. Lê Xuân Đại (BK TPHCM)
/>GIẢI SỐ PHƯƠNG TRÌNH PARABOLIC
TP. HCM — 2013.
17 / 26
Phương trình truyền nhiệt dừng trong miền hình chữ nhật
Phương trình sai phân
vi+1j − 2vij + vi−1j vij+1 − 2vij + vij−1
+
= f (xi , yj )
h2
k2
với (xi , yj ) ∈ Ωhk
vij = g (xi , yj ), (xi , yj ) ∈ Γhk ,
với Γhk là tập hợp các nút trên biên.
ng.com
TS. Lê Xuân Đại (BK TPHCM)
/>GIẢI SỐ PHƯƠNG TRÌNH PARABOLIC
TP. HCM — 2013.
18 / 26
Phương trình truyền nhiệt dừng trong miền hình chữ nhật
Phương pháp lặp Seidel co dãn
Với γ = (h/k)2 phương trình sai phân viết lại
vi+1j + vi−1j + γ(vij+1 + vij−1) − 2(1 + γ)vij = h2fij
Do đó
vij =
1
[vi+1j +vi−1j +γ(vij+1 +vij−1)−h2fij ]
2(1 + γ)
Phương pháp lặp Seidel xuất phát từ xấp xỉ đầu
(0)
uij cho trước
(m)
vij
=
1
(m−1)
(m)
(m)
(m−1)
[vi+1j + vi−1j + γ(vij−1 + vij+1 ) − h2 fij ]
2(1 + γ)
ng.com
TS. Lê Xuân Đại (BK TPHCM)
/>GIẢI SỐ PHƯƠNG TRÌNH PARABOLIC
TP. HCM — 2013.
19 / 26
Phương trình truyền nhiệt dừng trong miền hình chữ nhật
Phương pháp lặp Seidel co dãn
(m)
Sau mỗi lần tính ra các vij , ta lại tăng cường tốc
độ hội tụ bằng phép co dãn
(m)
vij
(m)
= λ.vij
(m−1)
+ (1 − λ).vij
,1 < λ < 2
Q trình tính lặp co dãn dừng lại khi sai số tương
đối
(m)
δm = max
i,j
vij
(m−1)
− vij
(m)
vij
× 100%
δ,
trong đó δ là mức độ chính xác tương đối cho
ng.com
/>trước.
TS. Lê Xuân Đại (BK TPHCM)
GIẢI SỐ PHƯƠNG TRÌNH PARABOLIC
TP. HCM — 2013.
20 / 26
Phương trình truyền nhiệt dừng trong miền hình chữ nhật
Ví dụ
Ví dụ
Tìm phân bố nhiệt độ u đã ổn định trong một bản
mỏng kim loại hình vng khơng có nguồn nhiệt
và có suất dẫn nhiệt là 1. Bản hình vng có cạnh
dài 1 đơn vị, đáy dưới ln ở 0o C , đáy trên luôn ở
100o C , cạnh trái ở 75o C , cạnh phải ở 50o C
ng.com
TS. Lê Xuân Đại (BK TPHCM)
/>GIẢI SỐ PHƯƠNG TRÌNH PARABOLIC
TP. HCM — 2013.
21 / 26
Phương trình truyền nhiệt dừng trong miền hình chữ nhật
Ví dụ
∂ 2u ∂ 2u
∆u = 2 + 2 = 0,
∂x
∂y
(x, y ) ∈ Ω = {(x, y ) : 0 < x < 1, 0 < y < 1} và
điều kiện biên:
u(x, 0) = 0, 0 < x < 1, u(x, 1) = 100, 0 < x < 1,
u(0, y ) = 75, 0 < y < 1, u(1, y ) = 50, 0 < y < 1
1
Chọn N = M = 4 ⇒ h = k = . Với điều kiện
4
biên ta có vi0 = 0, vi4 = 100, v0j = 75, v4j = 50,
i = 1, 2, 3; j = 1, 2, 3.
ng.com
TS. Lê Xuân Đại (BK TPHCM)
/>GIẢI SỐ PHƯƠNG TRÌNH PARABOLIC
TP. HCM — 2013.
22 / 26
Phương trình truyền nhiệt dừng trong miền hình chữ nhật
Ví dụ
Phương trình sai phân
vi+1j + vi−1j + vij+1 + vij−1
vij =
4
và tính theo cơng thức lặp Seidel
(m)
(m)
vij
(m)
(m−1)
vij−1 + vi−1j + vij+1
=
4
(m−1)
+ vi+1j
(0)
với xấp xỉ đầu vij = 0.
ng.com
TS. Lê Xuân Đại (BK TPHCM)
/>GIẢI SỐ PHƯƠNG TRÌNH PARABOLIC
TP. HCM — 2013.
23 / 26
Phương trình truyền nhiệt dừng trong miền hình chữ nhật
Ví dụ
(m)
Sau mỗi lần tính ra các vij , ta lại tăng cường tốc
độ hội tụ bằng phép co dãn
(m)
vij
(m)
= λ.vij
(m−1)
+ (1 − λ).vij
, 1 < λ = 1, 5 < 2
Q trình tính lặp co dãn dừng lại khi sai số tương
đối
(m)
δm = max
vij
(m−1)
− vij
(m)
vij
i,j
× 100%
δ,
trong đó δ = 1%.
ng.com
TS. Lê Xuân Đại (BK TPHCM)
/>GIẢI SỐ PHƯƠNG TRÌNH PARABOLIC
TP. HCM — 2013.
24 / 26