Báo cáo Giải số phương trình truyền nhiệt 2D trình bày nghiên cứu về phương pháp giải số để giải phương trình truyền nhiệt hai chiều, một trong những phương trình toán học có nhiều ứng dụng, và đề xuất kĩ thuật đưa thuật toán vào máy tính để xây dựng chương trình mô phỏng quá trình truyền nhiệt theo thời gian.
Trang 1Nguyễn Thị Trà My, Lớp K60E, Khoa Toán – Tin
GVHD: TS Nguyễn Hùng Chính
Tóm tắt: Mô phỏng toán học là một ngành đã và đang phát triển hết sức mạnh mẽ trên thế giới và có
vai trò quan trọng trong hầu hết các lĩnh vực của đời sống xã hội Cùng với sự phát triển của công nghệ thông tin nói chung và công nghệ tính toán nói riêng, những mô hình toán học phức tạp (xuất phát từ các khoa học và thực tiễn) đã được số hóa thành công nghệ và đem lại hiệu quả kinh tế cao Báo cáo này trình bày nghiên cứu về phương pháp giải số để giải phương trình truyền nhiệt hai chiều, một trong những phương trình toán học có nhiều ứng dụng, và đề xuất kĩ thuật đưa thuật toán vào máy tính để xây dựng chương trình mô phỏng quá trình truyền nhiệt theo thời gian
Từ khóa: Phương pháp xấp xỉ sai phân, lược đồ tường minh, sự ổn định của lược đồ, phương trình
truyền nhiệt, điều kiện biên Dirichlet.
I MỞ ĐẦU
Tại sao phải giải số (xấp xỉ nghiệm) của một phương trình toán học? Như chúng ta
đã biết, phần lớn các mô hình toán học trong thực tế đều không giải được nghiệm đúng, vì vậy cần xấp xỉ nghiệm và điều khiển được sai số của nghiệm gần đúng Hơn nữa, việc giải
số sẽ đưa đến thuật toán, tức là ta có thể ra lệnh cho máy tính thực hiện các phép tính để tìm ra kết quả
Phương trình truyền nhiệt là một phương trình đạo hàm riêng quan trọng xuất phát từ
mô hình vật lí và có giá trị thực tiễn nhất định Việc giải phương trình truyền nhiệt cho ta khảo sát sự phân bố nhiệt lượng theo thời gian của một vùng chất điểm, như một thanh kim loại (với trường hợp 1 chiều) và mảnh kim loại (với trường hợp 2 chiều)
Phương pháp phổ biến để giải đúng phương trình truyền nhiệt vẫn được biết đến là phương pháp Fourier (được phát triển từ năm 1822 bởi nhà toán học Joseph Fourier) Tuy nhiên, trong thực hành thí nghiệm, việc cần thay đổi các dữ kiện bài toán, cũng như việc số liệu trong thực hành phải tính toán lớn đều làm cho việc giải đúng gặp khó khăn, vì vậy mà người ta cần đến phương pháp số để giải phương trình truyền nhiệt
Phương pháp số là một lĩnh vực của toán học chuyên nghiên cứu các phương pháp giải gần đúng các bài toán dựa trên những số liệu cụ thể và cho kết quả dưới dạng số Với
sự hỗ trợ của máy tính, phương pháp số là công cụ không thể thiếu cho phép thực hiện tính toán với tốc độ tính toán nhanh và khối lượng tính toán lớn
Báo cáo tập trung vào việc xây dựng phương pháp giải số, thuật toán để giải bài toán truyền nhiệt, sự ổn định, điều kiện ổn định và đề xuất kĩ thuật số hóa lược đồ, lập chương trình máy tính và mô phỏng số trong MATLAB
II NỘI DUNG
1 Phương pháp số và thuật toán
1.1 Bài toán
Trang 2với là một hằng số dương đặc trưng cho vận tốc truyền nhiệt
Giả sử trạng thái ban đầu là:
và điều kiện trên biên xác định bởi:
,
1.2 Giải số (xấp xỉ nghiệm) phương trình
Ta phân hoạch miền Ω bởi lưới hình chữ nhật (xem Hình 1) có các đỉnh xác định bởi
điểm với i = 1,2, ,N x và j = 1,2, ,N y trong đó:
Đồng thời, ta xét phân hoạch thời gian t bởi các điểm , và kí
hiệu:
Để giải gần đúng phương trình (1), trước tiên ta xấp xỉ các đạo hàm [1] bậc nhất theo biến thời gian và đạo hàm bậc hai theo biến không gian bởi:
Áp dụng vào phương trình (1), ta được:
Biểu diễn theo các phần tử còn lại, ta có lược đồ:
trong đó:
Trang 3hợp không có nguồn nhiệt tác động vào hệ và điều kiện biên đồng nhất bằng không Nghiệm gần đúng của (1) là bộ các giá trị rời rạc có dạng Ta thực hiện phép biến đổi Fourier hai chiều cho nghiệm xấp xỉ trên như sau:
Ta có tính chất sau đây: Giả sử với , ta có:
Như vậy:
Tương tự, ta có:
Áp dụng tính chất trên đây của phép biến đổi Fourier vào lược đồ (2) với , ta được:
với
Lược đồ (2) được gọi là ổn định khi và chỉ khi
tức là:
Trang 4Từ đó suy ra :
Như vậy, ràng buộc (*) chính là điều kiện ổn định của lược đồ Trong quá trình mô phỏng, các dữ liệu đầu vào cần phải thỏa mãn điều kiện (*) để đảm bảo thuật toán trong
máy tính hội tụ và cho kết quả tin cậy
1.4 Dạng ma trận của lược đồ
Điều đầu tiên, ta nhận thấy với cách biểu diễn lược đồ ở trên, ta đã phân hoạch miền
Ω thành lưới chữ nhật tương ứng với ma trận vuông cấp , và mỗi điểm lưới u i,j trong
lược đồ đều phải được tính từ 4 số hạng lân cận là u i−1,j (bên trái), u i+1,j (bên phải), u i,j−1
(bên trên), u i,j+1 (bên dưới):
Hình 1 Phân hoạch, sơ đồ các điểm trên lưới ảnh hướng đến việc tính
Xét lược đồ (2) với , ta có:
Cho chạy, tức là viết phương trình trên lần lượt với và biểu diễn kết quả thu được dưới dạng ma trận, ta có:
Trang 5(3)
Mặt khác, quan sát ma trận , ta nhận thấy có 2 thành phần ,
không được lặp lại trong quá trình tính toán, đó cũng chính là giá trị hàm nhiệt độ xác định
ở thời điểm t m , tức là α(t m ), β(t m ), ở điểm biên đầu x0 và điểm biên cuối trên đường thẳng phân hoạch tại Vì vậy, khi chuyển hệ trên thành dạng ma trận ta cần đưa hai thành phần này ra ngoài thành số hạng tự do (vectơ b)
Tiếp theo, ta đặt:
Khi đó, (3) được viết gọn như sau:
trong đó, I là ma trận vuông đơn vị cấp , B là ma trận vuông cấp xác định bởi:
Thực hiện tương tự như trên với , ta thu được một hệ gồm phương trình tuyến tính với các biến là các vectơ chiều:
Tương tự như đã xử lí với ma trận B, ta chuyển 2 phần tử mang giá trị ở biên trên và dưới ra một vectơ tự do Như vậy dạng ma trận của lược đồ (3) là:
Trang 6
trong đó, ma trận A là một ma trận vuông đối xứng có cấp là
Ta xác định cụ thể tại những vị trí 1, 2, 3, , N x chứa giá trị của biên dưới (Γ3), vị trí
N x , 2N x , 3N x , , N x N y chứa giá trị của biên phải (Γ2) 1, N x + 1, 2N x +1 , , (N y −1)N x+1 chứa giá trị của biên trái (Γ1), N x N y −N x , , N x N y chứa giá trị của biên trên (Γ4)
Việc xác định này sẽ rất thuận lợi trong việc gán các giá trị biên vào đúng vị trí trong các vectơ điều kiện biên tùy theo yêu cầu của bài toán
2 Mã lệnh trong MATLAB và mô phỏng nghiệm của bài toán
2.1 Sơ đồ hóa lược đồ ta cần thực hiện các bước
Bảng 1 Đoạn code của ma trận A và vectơ điều kiện biên trong bài toán
- Mở một tệp tin "heatequation2D.m"
% Dieu kien bien
Left = 0.0d0 * ones(Ny,1);
Right = 80.d0 * ones(Ny,1);
Top = 20.d0 * ones(1,Nx);
Bottom = 20.d0 * ones(1,Nx);
% Dieu kien bien trai + phai
G = zeros(Nx*Ny,1);
G(1:Nx:Nx*Ny) = mu* LambdaY *
Left;
G(Nx:Nx:Nx*Ny) = mu * LambdaY *
Right;
% Dieu kien bien tren + duoi
H = zeros(Nx*Ny,1);
H(1:Nx) = mu * LambdaX * Bottom;
H(Nx*Ny - Nx + 1:Nx*Ny) = mu *
LambdaX * Top;
% Xay dung ma tran A
% Duong cheo chinh
e = ones(Nx,1);
V0 = -2*mu*(LambdaX + LambdaY)*e; V1 = mu*LambdaY * e;
T1 = spdiags([V1 V0 V1],-1:1,Nx,Nx); I1 = eye(Nx);
T1 = T1 + I1;
A1 = kron(eye(Ny),T1);
% Duong cheo tren, duoi
I2 = mu * LambdaX * eye(Nx);
T2 = spdiags([ones(Ny,1)],1,Ny,Ny); A2 = kron(T2,I2);
A3 = kron(T2',I2);
A = A1 + A2 + A3;
Trang 7- Xây dựng vectơ hàm F
- Xây dựng ma trận A
- Thực hiện thuật toán để giải
- Vẽ đồ thị nghiệm của bài toán tại thời điểm muốn khảo sát
Điều khó khăn nhất của ta trong việc sơ đồ hóa lược đồ để thực hiện thuật toán trong MATLAB chính là viết thuật toán xây dựng ma trận A và vectơ điều kiện biên b Bảng 1
mô tả đoạn code của ma trận A và vectơ điều kiện biên trong bài toán
2.2 Sử dụng chương trình máy tính để mô phỏng quá trình truyền nhiệt
Dựa vào kết quả mô phỏng, ta có thể đánh giá về tính đúng đắn của lược đồ mà chúng ta xây dựng Hơn nữa, bằng mô phỏng và chuẩn hóa chương trình tính toán trên MATLAB, một phương trình đạo hàm riêng thuần túy toán học có thể mang lại hiệu quả thực tiễn nhất định khi giải quyết được trong nhiều trường hợp, nhanh chóng và dễ thực hiện hơn nhiều so với việc giải đúng
Sau đây, tôi xin giới thiệu một số kết quả mô phỏng từ các bài toán có điều kiện ban biên khác nhau:
a) Ví dụ 1: Bài toán truyền nhiệt 2 chiều với điều kiện ban đầu:
u0= 20 và điều kiện biên: α0 = 0, α1 = 80, β0 = 20, β1 = 20
Hình 2 Sự truyền nhiệt của mảnh kim loại (5x5) có hệ số C=1, tại thời điểm t = 5
b) Ví dụ 2: Bài toán truyền nhiệt 2 chiều với điều kiện ban đầu: u0= 20 và điều kiện biên: α0 = 20, α1 = 20, β0 = 200, β1 = 200
Trang 8
Hình 3 Sự truyền nhiệt của mảnh kim loại (5x5) có hệ số C=1 qua các thời điểm t’
c) Ví dụ 3: Bài toán truyền nhiệt 2 chiều với điều kiện ban đầu: u0= 20 và điều kiện biên: α0 = 200, α1 = 200, β0 = 200, β1 = 200
Hình 4 Sự truyền nhiệt của mảnh kim loại (5x5) có hệ số C=1 qua các thời điểm t”
III KẾT LUẬN
Đề tài đã tập trung vào những công việc sau:
1 Đề xuất một phương án giải số phương trình truyền nhiệt 2 chiều
2 Nghiên cứu lí thuyết về sự ổn định của lược đồ và kiểm chứng, so sánh kết quả thông qua mô phỏng
Trang 9Một số hướng nghiên cứu tiếp theo:
1 Giải số phương trình truyền nhiệt với vận tốc truyền nhiệt khác hằng số (mô hình sát thực tế là tổng quát hơn)
2 Xây dựng lược đồ giải gần đúng cho bài toán trên một miền xác định không phải
là hình chữ nhật Đây là bài toán khó hơn rất nhiều, có thể đòi hỏi những kiến thức toán học khác
3 Song song hóa thuật toán phục vụ cho những ứng dụng đòi hỏi khối lượng tính toán lớn
TÀI LIỆU THAM KHẢO
[1] Nguyễn Minh Chương, Nguyễn Văn Khải, Khuất Văn Ninh, Nguyễn Văn Tuấn,
Nguyễn Tường, Giải tích số, NXB Giáo dục, 2007
[2] Laurent Di Menza, Analyse numérique des équations aux derivée partielles,
Published by Cassini, 2009
[3] Peter J Olver, Numerical Methods, Lecture Notes, 2011