Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (833.04 KB, 76 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<small>TP HỒ CHÍ MINH, tháng 1 năm 2024</small>
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2"><small>Cán bộ hướng dẫn khoa học: TS. Đặng Văn VinhTS. Nguyễn Quốc Lân</small>
<small>Cán bộ chấm Phản biện 1: TS. Lê Xuân Đại</small>
<small>Cán bộ chấm Phản biện 2: PGS.TS Nguyễn Huy Tuấn</small>
<small>Luận văn thạc sĩ này được bảo vệ tại Trường Đại học Bách Khoa, Đại học Quốcgia TP Hồ Chí Minh, ngày 05 tháng 01 năm 2024.</small>
<small>Thành phần Hội đồng đánh giá luận văn bao gồm:1. Chủ tịch: PGS.TS Nguyễn Đình Huy</small>
<small>2. Thư ký: TS. Phan Thị Hường3. Phản biện 1: TS. Lê Xuân Đại</small>
<small>4. Phản biện 2: PGS.TS Nguyễn Huy Tuấn5. Ủy viên: PGS.TS Cao Thanh Tình</small>
<small>Xác nhận của chủ tịch Hội đồng đánh giá luận văn và trưởng Khoa quản lýchuyên ngành sau khi luận văn đã chỉnh sửa (nếu có).</small>
<small>ỨNG DỤNG</small>
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3"><small>Trường Đại học Bách KhoaĐộc lập - Tự do - Hạnh phúc</small>
<small>Họ và tên học viên: Võ Thị Ánh LoanMSHV: 2170957Ngày, tháng, năm sinh: 06/11/1986Nơi sinh: Long An</small>
<small>I. TÊN ĐỀ TÀI: ỨNG DỤNG CỦA BÀI TOÁN BIÊN TỰ DO STEFAN(APPLICATION OF THE FREE BOUNDARY STEFAN PROBLEM)NHIỆM VỤ VÀ NỘI DUNG</small>
<small> Kiến thức cơ sở liên quan đến phương pháp số giải phương trình truyềnnhiệt.</small>
<small> Phương pháp số để giải quyết bài toán truyền nhiệt với biên tự do Stefanmột chiều, giới thiệu cơ sở lý thuyết và các bước để giải bài toán Stefantrong tọa độ cầu bằng phương pháp số.</small>
<small> Giới thiệu quy trình sản xuất phân Urê của nhà máy Đạm Phú Mỹ, giớithiệu một ứng dụng của bài toán Stefan hai pha để mơ hình hóa Tháplàm hạt Urê.</small>
<small>II. NGÀY GIAO NHIỆM VỤ: 04/09/2023</small>
<small>III. NGÀY HOÀN THÀNH NHIỆM VỤ: 18/12/2023</small>
<small>IV. CÁN BỘ HƯỚNG DẪN: TS. Đặng Văn Vinh - TS. Nguyễn Quốc LânTP Hồ Chí Minh, ngày . . . tháng . . . năm 2024</small>
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">Trong suốt quãng thời gian thực hiện luận văn thạc sĩ này, tôi xin bày tỏ lòng
biết ơn chân thành đến những người đã góp phần quan trọng làm cho nghiên
cứu này trở thành hiện thực.
Đầu tiên và trước hết, tôi xin gửi lời cảm ơn sâu sắc đến hai Thầy hướng dẫn
của mình, TS. Đặng Văn Vinh và TS. Nguyễn Quốc Lân. Những người Thầy
không chỉ là những người hướng dẫn tận tâm, mà còn là nguồn động viên, sự hỗ
trợ và nguồn động lực quan trọng giúp tơi vượt qua những khó khăn và hồn
thành luận văn này.
Tơi cũng xin bày tỏ lịng biết ơn đặc biệt đến PGS.TS Nguyễn Đình Huy,
người đã tạo điều kiện thuận lợi, hỗ trợ và chia sẻ những góp ý quý báu, góp
phần quan trọng vào việc hồn thành tốt luận văn.
Ngồi ra, tơi muốn chân thành cảm ơn tới gia đình và người thân, những
người đã luôn ủng hộ và động viên tôi trong suốt hành trình này. Đặc biệt, tơi
xin gửi lời cảm ơn sâu sắc đến cha, mẹ, chồng và hai con, vì sự hỗ trợ và động
lực không ngừng để tôi phấn đấu và hoàn thành tốt luận văn.
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">Toán Ứng Dụng, khoa Khoa học ứng dụng, Trường Đại học Bách khoa TP Hồ
Chí Minh đã tạo điều kiện tốt nhất để tơi hồn thành luận văn.
Xin chân thành cảm ơn!
TP Hồ Chí Minh, ngày 20 tháng 12 năm 2023
Người thực hiện luận văn
Võ Thị Ánh Loan
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">Bài toán biên Stefan là một trong những vấn đề quan trọng trong lĩnh vực
truyền nhiệt và nghiên cứu về đối lưu chất trong các hệ thống nhiệt độ. Được
đặt tên theo nhà toán học người Áo Josef Stefan, bài tốn này tập trung vào
việc mơ phỏng và giải quyết hiện tượng đổi pha trong quá trình truyền nhiệt.
Đặc biệt, nó quan tâm đến biên giữa hai chất có nhiệt độ khác nhau và sự thay
đổi của biên này theo thời gian. Các hiểu biết từ bài toán này không chỉ giúp
chúng ta hiểu sâu hơn về cơ chế truyền nhiệt trong các hệ thống phức tạp mà
còn cung cấp cơ sở cho việc thiết kế và tối ưu hóa các q trình truyền nhiệt
trong nhiều ngành cơng nghiệp.
Với sự phức tạp của việc xử lý điều kiện biên thay đổi theo thời gian, đề tài
này hứa hẹn mang lại cái nhìn chi tiết và sâu sắc về nhiều ứng dụng thực tế của
bài toán biên Stefan trong lĩnh vực truyền nhiệt, đồng thời cung cấp cơ hội để
phát triển và cải tiến các phương pháp mô phỏng và giải quyết vấn đề này.
Luận văn này tập trung vào ứng dụng của bài toán biên tự do vào việc giải
bài toán Stefan một chiều và các bước để giải bài toán stefan trong hệ tọa độ
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">Luận văn gồm 3 chương.
<small></small> Chương 1. Kiến thức chuẩn bị. Chương này cung cấp kiến thức cần
thiết đủ để hiểu về phương pháp số giải bài toán truyền nhiệt một chiều,
hai chiều, ba chiều.
<small></small> Chương 2. Phương pháp số giải bài toán truyền nhiệt với biên
tự do Stefan. Chương này giới thiệu bài toán Stefan một chiều do thầy
Nguyễn Quốc Lân cung cấp với sự phân tích lý thuyết sâu sắc và đưa ra các
bước cụ thể để viết chương trình. Chương trình được tơi viết trên matlab
đã chạy ổn định, cho ra kết quả phù hợp. Chương này cũng giới thiệu cơ
sở lý thuyết và các bước để giải bài toán Stefan trong tọa độ cầu bằng
phương pháp số.
<small></small> Chương 3. Bài tốn Stefan hai pha để mơ hình hóa Tháp làm hạt
Urê. Chương này giới thiệu một ứng dụng của bài toán Stefan trong sản
xuất phân Urê. Ở đây, chúng tơi giới thiệu quy trình sản xuất phân Urê
của nhà máy Đạm Phú Mỹ (xem [3] - Chương 3 - Mục 3.3 - Trang 66) và
kết quả của bài báo [6] vào sản xuất phân Urê.
Qua việc kết hợp sâu sắc giữa kiến thức cơ sở, bài toán Stefan hai pha và
phương pháp số, hy vọng luận văn sẽ đóng góp một phần nhỏ vào sự phát triển
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">ngành công nghiệp và môi trường.
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">The Stefan problem is one of the crucial issues in the field of heat transfer
and the study of convection phenomena in thermal systems. Named after the
Austrian mathematician Josef Stefan, this problem focuses on simulating and
solving phase-change phenomena during heat transfer processes. Specifically, it
concerns the interface between two substances with different temperatures and
how this interface changes over time. Insights gained from this problem not only
deepen our understanding of heat transfer mechanisms in complex systems but
also provide a foundation for designing and optimizing heat transfer processes
in various industries.
Given the complexity of handling time-varying boundary conditions, this
topic promises to offer detailed and profound insights into many practical
ap-plications of the Stefan problem in the field of heat transfer. It also provides
opportunities to develop and enhance simulation and solution methods for this
This thesis concentrates on the application of the free boundary Stefan
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">prob-Stefan problem in spherical coordinates.
The thesis consists of three chapters:
<small></small> Chapter 1: Background Knowledge. This chapter provides the
nec-essary background knowledge to understand numerical methods for
solv-ing one-dimensional, two-dimensional, and three-dimensional heat transfer
<small></small> Chapter 2: Numerical Solution of the Stefan Problem with Free
Boundary. This chapter introduces the one-dimensional Stefan problem
provided by Professor Nguyen Quoc Lan with in-depth theoretical analysis
and specific steps for program implementation. The MATLAB program I
developed runs stably and produces appropriate results. This chapter also
introduces the theoretical basis and steps for solving the Stefan problem in
spherical coordinates using numerical methods.
<small></small> Chapter 3: Two-Phase Stefan Problem for Modeling the Urea
Granulation Tower. This chapter introduces an application of the Stefan
problem in urea fertilizer production. Here, we present the urea fertilizer
production process at the Phu My Fertilizer Plant (see [3] Chapter 3
-Section 3.3 - Page 66) and the results of the paper [6] on urea fertilizer
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">By combining fundamental knowledge, the two-phase Stefan problem, and
numerical methods, it is hoped that this thesis will contribute to the development
and improvement in the field of urea fertilizer production, bringing long-term
benefits to both the industry and the environment.
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">Lời cảm ơn ii
1.1 Phương pháp số giải phương trình truyền nhiệt trong khơng gian
một chiều . . . . 1
1.2 Phương pháp số giải phương trình truyền nhiệt trong khơng gian
hai chiều . . . . 14
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">ba chiều . . . . 16
Chương 2. Phương pháp số giải bài toán truyền nhiệt với biêntự do Stefan 182.1 Bài toán Stefan một chiều . . . . 19
2.2 Bài toán Stefan trong tọa độ cầu . . . . 26
Chương 3. Bài tốn Stefan hai pha để mơ hình hóa Tháp làmhạt Urê 313.1 Quy trình sản xuất phân Urê - Xưởng Urê nhà máy Đạm Phú Mỹ 323.1.1 Công đoạn nén CO2 . . . . 32
3.1.2 Tổng hợp Urê và thu hồi <small>N H</small><sub>3</sub> - <small>CO</small><sub>2</sub> cao áp . . . . 33
3.1.3 Phân hủy cacbanmate và thu hồi<small>N H3− CO2</small> trung và thấpáp . . . . 36
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">Ký hiệu Ý nghĩa
<small>u</small><sub>t</sub> Đạo hàm riêng của u theo thời gian t
<small>v</small><sub>t</sub> Đạo hàm riêng của v theo thời gian t
<small>u</small><sub>xx</sub> Đạo hàm bậc hai của u theo x
<small>u</small><sub>yy</sub> Đạo hàm bậc hai của u theo y
<small>u</small><sub>zz</sub> Đạo hàm bậc hai của u theo z
<small>u</small><sub>rr</sub> Đạo hàm bậc hai của u theo bán kính r
<small>v</small><sub>rr</sub> Đạo hàm bậc hai của v theo bán kính r
<small>k</small> Hệ số dẫn nhiệt
<small>△t</small> Bước thời gian
<small>△r</small> Khoảng cách giữa các điểm lưới trong không gian
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">1.1 Thí nghiệm lý tưởng về sự truyền nhiệt trong một thanh trụ dài
với điều kiện biên đồng nhất . . . . 2
1.2 Mô phỏng sai phân tiến . . . . 3
2.1 Đồ thị của nhiệt độ u theo thời gian t . . . . 25
2.2 Đồ thị của nhiệt độ u theo vị trí x . . . . 26
3.1 Sơ đồ công nghệ sản xuất Urê . . . . 33
3.2 Sơ đồ quy trình tổng hợp và thu hồi cao áp . . . . 35
3.3 Phân hủy cacbanmate và thu hồi <small>N H</small><sub>3</sub><small>− CO</small><sub>2</sub> trung áp . . . . 36
3.4 Phân hủy cacbanmate và thu hồi <small>N H3− CO2</small> thấp áp . . . . 37
3.5 Cô đặc dịch Urê . . . . 38
3.6 Tháp tạo hạt . . . . 39
3.7 Cấu hình giọt Urê lỏng . . . . 44
3.8 Vận tốc dừng ở các kích thước khác nhau của các hạt Urê . . . 50
3.9 Nhiệt độ tại tâm của các giọt nước so với thời gian cho các đườngkính hạt khác nhau . . . . 50
3.10 Phân bố nhiệt độ theo thời gian của một hạt có đường kính 1.6 mm 513.11 Vận tốc dừng (Terminal Velocity), thời gian cần thiết (RequiredTime), và chiều cao tối thiểu (Minimum Height) cho q trìnhđơng cứng hoàn toàn . . . . 52
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">2.1 Bảng 3 mốc . . . . 20
3.1 Các thơng số và giá trị của q trình tạo hạt . . . . 48
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">Những kiến thức cơ bản được trình bày trong chương này gồm:
Giả sử chúng ta xét phương trình truyền nhiệt trong khơng gian một chiều.
Phương trình này có thể dùng để miêu tả sự lan truyền nhiệt trong một thanh
Phương trình được viết dưới dạng
<small>ut= α</small><sup>2</sup><small>uxx</small>
<small>0 < x < L,t > 0</small>
với nghiệm là một hàm u = u(x,t) là một hàm số của 2 biến x và t. Ở đây:
<small> x</small> là biến khơng gian, do đó <small>x ∈ [0, L]</small>, với <small>L</small> là chiều dài của thanh.
<small> t</small> là biến thời gian, do đó <small>t ≥ 0</small>.
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">Chúng ta giả sử điều kiện ban đầu là <small>u(x, 0) = f (x)</small>, <small>∀x ∈ [0, L]</small> với hàm số <small>f</small>
cho trước và các điều kiện biên là <small>u(0, t) = u(L, t) = 0</small>
<small>Hình 1.1: Thí nghiệm lý tưởng về sự truyền nhiệt trong một thanh trụ dài với điềukiện biên đồng nhất</small>
Chia thanh ra thành n đoạn: <small>x</small><sub>0</sub> <small>= 0</small>, <small>x</small><sub>1</sub> <small>= △x</small>, <small>x</small><sub>2</sub><small>= 2△x</small>, ..., <small>x</small><sub>n</sub> <small>= L</small>
Giá trị của hàm tại các nút trên trục hoành bằng <small>f (x)</small>: <small>u(x, 0) = f (x)</small>
Giá trị của hàm tại các nút trên trục tung bằng 0: <small>u(0, t) = 0</small>
Giá trị của hàm tại các nút trên biên phải bằng 0: <small>u(L, t) = 0</small>
Tính giá trị của các hàm tại các nút bên trong hình chữ nhật: <small>u(x</small><sub>i</sub><small>, t</small><sub>j</sub><small>) = u</small><sub>i,j</sub>
*** Phương pháp sai phân tiến (forward difference method)
Tại bước thứ j theo thời gian, ta xấp xỉ đạo hàm bởi sai phân tiến:
<small>u</small><sub>t</sub> <small>≈</small> <sup>u</sup><small>i,j+1ưui,j</small>
<small>△t</small> , <small>u</small><sub>xx</sub> <small>≈</small> <sup>u</sup><small>iư1,jư2ui,j+ui+1,j</small>
Thay vào phương trình (1.1), ta có
<small>△t= α</small><sup>2 u</sup><small>iư1,jư2ui,j+ui+1,j</small>
<small>△x2</small>
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20"><small>Hình 1.2: Mơ phỏng sai phân tiến</small>
<small>ui,j+1− ui,j=</small> <sup>α</sup><sub>△x</sub><sup>2</sup><sup>△t</sup><small>2(ui−1,j− 2ui,j+ ui+1,j)</small>
<small>u</small><sub>i,j+1</sub> <small>= (1 − 2</small><sup>α</sup><sub>△x</sub><sup>2</sup><sup>△t</sup><small>2)u</small><sub>i,j</sub><small>+</small> <sup>α</sup><sub>△x</sub><sup>2</sup><sup>△t</sup><small>2(u</small><sub>i−1,j</sub><small>+ u</small><sub>i+1,j</sub><small>)</small>
Đặt <small>λ =</small> <sup>α</sup><sub>△x</sub><sup>2</sup><sup>△t</sup><small>2</small> , ta có <small>u</small><sub>i,j+1</sub><small>= λu</small><sub>i−1,j</sub> <small>+ (1 − 2λ)u</small><sub>i,j</sub><small>+ λu</small><sub>i+1,j</sub>
Ở mỗi bước thời gian, ta cần tìm giá trị nhiệt độ tại n-1 điểm.
Với <small>t</small><sub>0</sub> <small>= 0</small> (n-1 nút trên trục hoành): <small>u(x, 0) = f (x)</small>
Với <small>t1= △t</small> (n-1 nút ở ngay bên trên trục hoành 1 hàng):
<small>u</small><sub>i,1</sub> <small>= λu</small><sub>i−1,0</sub><small>+ (1 − 2λ)u</small><sub>i,0</sub><small>+ λu</small><sub>i+1,0</sub><small>,</small> với i = 1, ..., n-1
<small>u</small><sub>1,1</sub> <small>= λu</small><sub>0,0</sub><small>+ (1 − 2λ)u</small><sub>1,0</sub><small>+ λu</small><sub>2,0</sub> = <small>(1 − 2λ)u</small><sub>1,0</sub><small>+ λu</small><sub>2,0</sub><small>u</small><sub>2,1</sub> <small>= λu</small><sub>1,0</sub><small>+ (1 − 2λ)u</small><sub>2,0</sub><small>+ λu</small><sub>3,0</sub>
<small>u</small><sub>3,1</sub> <small>= λu</small><sub>2,0</sub><small>+ (1 − 2λ)u</small><sub>3,0</sub><small>+ λu</small><sub>4,0</sub>
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21"><small>un−1,1= λun−2,0+ (1 − 2λ)un−1,0+ λun,0</small> = <small>λun−2,0+ (1 − 2λ)un−1,0</small>
Với <small>t</small><sub>2</sub> <small>= 2△t</small> (n-1 nút ở hàng thứ 3 từ dưới lên):
<small>u</small><sub>i,2</sub> <small>= λu</small><sub>i−1,1</sub><small>+ (1 − 2λ)u</small><sub>i,1</sub><small>+ λu</small><sub>i+1,1</sub>, với i = 1, ..., n-1
<small>u1,2= λu0,1+ (1 − 2λ)u1,1+ λu2,1</small> = <small>(1 − 2λ)u1,1+ λu2,1</small>
<small>u</small><sub>2,2</sub> <small>= λu</small><sub>1,1</sub><small>+ (1 − 2λ)u</small><sub>2,1</sub><small>+ λu</small><sub>3,1</sub><small>u</small><sub>3,2</sub> <small>= λu</small><sub>2,1</sub><small>+ (1 − 2λ)u</small><sub>3,1</sub><small>+ λu</small><sub>4,1</sub>
<small>u</small><sub>n−1,2</sub> <small>= λu</small><sub>n−2,1</sub><small>+ (1 − 2λ)u</small><sub>n−1,1</sub><small>+ λu</small><sub>n,1</sub> = <small>λu</small><sub>n−2,1</sub><small>+ (1 − 2λ)u</small><sub>n−1,1</sub>
Với <small>t</small><sub>j</sub> <small>= j△t</small> (n-1 nút ở hàng thứ j+1 từ dưới lên):
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22"><small>u</small><sub>i,j</sub> <small>= λu</small><sub>iư1,jư1</sub><small>+ (1 ư 2λ)u</small><sub>i,jư1</sub><small>+ λu</small><sub>i+1,jư1</sub>, với i = 1, ..., n-1
<small>u1,j= λu0,jư1+ (1 ư 2λ)u1,jư1+ λu2,jư1</small> = <small>(1 ư 2λ)u1,jư1+ λu2,jư1</small>
<small>u</small><sub>2,j</sub> <small>= λu</small><sub>1,jư1</sub><small>+ (1 ư 2λ)u</small><sub>2,jư1</sub><small>+ λu</small><sub>3,jư1</sub><small>u</small><sub>3,j</sub> <small>= λu</small><sub>2,jư1</sub><small>+ (1 ư 2λ)u</small><sub>3,jư1</sub><small>+ λu</small><sub>4,jư1</sub>
<small>u</small><sub>nư1,j</sub> <small>= λu</small><sub>nư2,jư1</sub><small>+ (1 ư 2λ)u</small><sub>nư1,jư1</sub><small>+ λu</small><sub>n,jư1</sub> = <small>λu</small><sub>nư2,jư1</sub><small>+ (1 ư 2λ)u</small><sub>nư1,jư1</sub>
Để tính giá trị của hàm <small>u(x, t)</small> ở n-1 nút tại hàng j, ta thực hiện phép nhân
ma trận A với vectơ chứa n-1 giá trị của hàng thứ j-1
*** Phương pháp sai phân lùi (backward difference method)
Tại bước thứ j theo t, ta xấp xỉ đạo hàm bởi sai phân lùi
<small>u</small><sub>t</sub> <small>≈</small> <sup>u</sup><small>i,jưui,jư1</small>
<small>△t</small> , <small>u</small><sub>xx</sub> <small>≈</small> <sup>u</sup><small>iư1,jư2ui,j+ui+1,j</small>
Thay vào phương trình (1.1), ta có
<small>△t= α</small><sup>2 u</sup><small>iư1,jư2ui,j+ui+1,j</small>
<small>u</small><sub>i,j</sub> <small>ư u</small><sub>i,jư1</sub><small>=</small> <sup>α</sup><sub>△x</sub><sup>2</sup><sup>△t</sup><small>2(u</small><sub>iư1,j</sub> <small>ư 2u</small><sub>i,j</sub><small>+ u</small><sub>i+1,j</sub><small>)</small>
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23"><small>ui,j−1= (1 + 2</small><sup>α</sup><sub>△x</sub><sup>2</sup><sup>△t</sup><small>2)ui,j−</small> <sup>α</sup><sub>△x</sub><sup>2</sup><sup>△t</sup><small>2(ui−1,j+ ui+1,j)</small>
Đặt <small>λ =</small> <sup>α</sup><sub>△x</sub><sup>2</sup><sup>△t</sup><small>2</small> , ta có <small>u</small><sub>i,j−1</sub><small>= −λu</small><sub>i−1,j</sub><small>+ (1 + 2λ)u</small><sub>i,j</sub> <small>− λu</small><sub>i+1,j</sub>
Ở mỗi bước thời gian, ta cần tìm giá trị nhiệt độ tại n-1 điểm.
Với <small>t</small><sub>0</sub> <small>= 0</small> (n-1 nút trên trục hoành): <small>u(x, 0) = f (x)</small>
Với <small>t</small><sub>1</sub> <small>= △t</small> (n-1 nút ở ngay bên trên trục hoành 1 hàng):
<small>ui,0= −λui−1,1+ (1 + 2λ)ui,1− λui+1,1</small>, với i = 1, ..., n-1
<small>u</small><sub>1,0</sub> <small>= −λu</small><sub>0,1</sub><small>+ (1 + 2λ)u</small><sub>1,1</sub><small>− λu</small><sub>2,1</sub> = <small>(1 + 2λ)u</small><sub>1,1</sub><small>− λu</small><sub>2,1</sub><small>u</small><sub>2,0</sub> <small>= −λu</small><sub>1,1</sub><small>+ (1 + 2λ)u</small><sub>2,1</sub><small>− λu</small><sub>3,1</sub>
<small>u</small><sub>3,0</sub> <small>= −λu</small><sub>2,1</sub><small>+ (1 + 2λ)u</small><sub>3,1</sub><small>− λu</small><sub>4,1</sub>
<small>un−1,0= −λun−2,1+ (1 + 2λ)un−1,1− λun,1</small> = -<small>λun−2,1+ (1 + 2λ)un−1,1</small>
Với <small>t</small><sub>2</sub> <small>= 2△t</small> (n-1 nút ở hàng thứ 3 từ dưới lên):
<small>u</small><sub>i,1</sub> <small>= −λu</small><sub>i−1,2</sub><small>+ (1 + 2λ)u</small><sub>i,2</sub><small>− λu</small><sub>i+1,2</sub>, với i = 1, ..., n-1
<small>u1,1= −λu0,2+ (1 + 2λ)u1,2− λu2,2</small> = <small>(1 + 2λ)u1,2− λu2,2</small>
<small>u</small><sub>2,1</sub> <small>= −λu</small><sub>1,2</sub><small>+ (1 + 2λ)u</small><sub>2,2</sub><small>− λu</small><sub>3,2</sub>
</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24"><small>u</small><sub>3,1</sub> <small>= −λu</small><sub>2,2</sub><small>+ (1 + 2λ)u</small><sub>3,2</sub><small>− λu</small><sub>4,2</sub>
<small>u</small><sub>n−1,1</sub> <small>= −λu</small><sub>n−2,2</sub><small>+ (1 + 2λ)u</small><sub>n−1,2</sub><small>− λu</small><sub>n,2</sub> = -<small>λu</small><sub>n−2,2</sub><small>+ (1 + 2λ)u</small><sub>n−1,2</sub>
Với <small>t</small><sub>j</sub> <small>= j△t</small> (n-1 nút ở hàng thứ j+1 từ dưới lên):
<small>ui,j−1= −λui−1,j+ (1 + 2λ)ui,j− λui+1,j</small>, với i = 1, ..., n-1
<small>u</small><sub>1,j−1</sub> <small>= −λu</small><sub>0,j</sub><small>+ (1 + 2λ)u</small><sub>1,j</sub> <small>− λu</small><sub>2,j</sub> = <small>(1 + 2λ)u</small><sub>1,j</sub> <small>− λu</small><sub>2,j</sub><small>u</small><sub>2,j−1</sub> <small>= −λu</small><sub>1,j</sub><small>+ (1 + 2λ)u</small><sub>2,j</sub> <small>− λu</small><sub>3,j</sub>
<small>u</small><sub>3,j−1</sub> <small>= −λu</small><sub>2,j</sub><small>+ (1 + 2λ)u</small><sub>3,j</sub> <small>− λu</small><sub>4,j</sub>
<small>un−1,j−1= −λun−2,j+ (1 + 2λ)un−1,j− λun,j</small> = -<small>λun−2,j+ (1 + 2λ)un−1,j</small>
</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">Giải hệ phương trình, tìm được nhiệt độ ở hàng j: <small>(u</small><sub>1,j</sub><small>; u</small><sub>2,j</sub><small>; ...; u</small><sub>n−1,j</sub><small>)</small>
*** Phương pháp Crank - Nicolson
Tại bước thứ j theo t, ta xấp xỉ đạo hàm bởi sai phân tiến:
<small>u</small><sub>i−1,j</sub><small>− 2u</small><sub>i,j</sub> <small>+ u</small><sub>i+1,j</sub>
<small>△x2+</small> <sup>u</sup><sup>i−1,j+1</sup><small>− 2u</small><sub>i,j+1</sub><small>+ u</small><sub>i+1,j+1</sub><small>△x2</small>
<small>u</small><sub>i,j+1</sub><small>− u</small><sub>i,j</sub> <small>=</small> <sup>α</sup>
<small>u</small><sub>i−1,j</sub> <small>− 2u</small><sub>i,j</sub> <small>+ u</small><sub>i+1,j</sub>
<small>△x2+</small><sup>u</sup><sup>i−1,j+1</sup><small>− 2u</small><sub>i,j+1</sub><small>+ u</small><sub>i+1,j+1</sub><small>△x2</small>
Tìm nhiệt độ ở hàng 1 (j=0)
<small>−</small><sup>λ</sup><sub>2</sub><small>u</small><sub>0,1</sub><small>+ (1 + λ)u</small><sub>1,1</sub><small>−</small> <sup>λ</sup><sub>2</sub><small>u</small><sub>2,1</sub><small>=</small> <sup>λ</sup><sub>2</sub><small>u</small><sub>0,0</sub><small>+ (1 − λ)u</small><sub>1,0</sub><small>+</small><sup>λ</sup><sub>2</sub><small>u</small><sub>2,0</sub><small>−</small><sup>λ</sup><sub>2</sub><small>u1,1+ (1 + λ)u2,1−</small> <sup>λ</sup><sub>2</sub><small>u3,1=</small> <sup>λ</sup><sub>2</sub><small>u1,0+ (1 − λ)u2,0+</small><sup>λ</sup><sub>2</sub><small>u3,0</small>
</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">với A =
<small>−</small><sup>λ</sup><sub>2</sub> <small>1 + λ−</small><sup>λ</sup><sub>2</sub> <small>...00−</small><sup>λ</sup><sub>2</sub> <small>1 + λ −</small><sup>λ</sup><sub>2</sub> <small>...0</small>
, <small>u</small><sup>(1)</sup> =
với B =
, <small>u</small><sup>(0)</sup> =
Tìm nhiệt độ ở hàng j+1 (theo t)
<small>−</small><sup>λ</sup><sub>2</sub><small>u</small><sub>0,j+1</sub><small>+ (1 + λ)u</small><sub>1,j+1</sub><small>−</small> <sup>λ</sup><sub>2</sub><small>u</small><sub>2,j+1</sub> <small>=</small> <sup>λ</sup><sub>2</sub><small>u</small><sub>0,j</sub> <small>+ (1 − λ)u</small><sub>1,j</sub> <small>+</small> <sup>λ</sup><sub>2</sub><small>u</small><sub>2,j</sub><small>−</small><sup>λ</sup><sub>2</sub><small>u1,j+1+ (1 + λ)u2,j+1−</small> <sup>λ</sup><sub>2</sub><small>u3,j+1=</small> <sup>λ</sup><sub>2</sub><small>u1,j+ (1 − λ)u2,j+</small> <sup>λ</sup><sub>2</sub><small>u3,j</small>
<small>−</small><sup>λ</sup><sub>2</sub><small>u</small><sub>2,j+1</sub><small>+ (1 + λ)u</small><sub>3,j+1</sub><small>−</small> <sup>λ</sup><sub>2</sub><small>u</small><sub>4,j+1</sub> <small>=</small> <sup>λ</sup><sub>2</sub><small>u</small><sub>2,j</sub> <small>+ (1 − λ)u</small><sub>3,j</sub> <small>+</small> <sup>λ</sup><sub>2</sub><small>u</small><sub>4,j</sub>
<small>Au</small><sup>(1)</sup><small>= Bu</small><sup>(0)</sup>
</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">với A =
<small>−</small><sup>λ</sup><sub>2</sub> <small>1 + λ−</small><sup>λ</sup><sub>2</sub> <small>...00−</small><sup>λ</sup><sub>2</sub> <small>1 + λ −</small><sup>λ</sup><sub>2</sub> <small>...0</small>
, <small>u</small><sup>(1)</sup> =
với B =
, <small>u</small><sup>(0)</sup> =
*** Ưu và nhược điểm của 3 phương pháp trên:
Các phương pháp sai phân tiến, sai phân lùi và Crank-Nicolson là các phương
pháp số được sử dụng để giải quyết phương trình truyền nhiệt trong không gian
một chiều, hai chiều và ba chiều. Dưới đây là một tóm tắt về ưu điểm và nhược
điểm của mỗi phương pháp:
1. Phương pháp sai phân tiến (Forward Difference):
Ưu điểm:
- Đơn giản và dễ triển khai.
- Tốc độ tính tốn nhanh hơn so với một số phương pháp khác.
</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">- Độ ổn định tương đối tốt khi áp dụng cho các vấn đề truyền nhiệt ổn định.
- Tính chính xác tương đối tốt, đặc biệt đối với vấn đề không gian và thời
gian biến đổi chậm.
Nhược điểm:
- Địi hỏi giải hệ phương trình tuyến tính lớn, làm tăng độ phức tạp tính
- Có thể gây nhiễu và không ổn định khi sử dụng bước thời gian lớn và trong
một số vấn đề không gian biến đổi nhanh.
3. Phương pháp Crank-Nicolson:
Ưu điểm:
</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">- Tính ổn định cao và đảm bảo tính ổn định ngay cả khi sử dụng bước thời
gian lớn.
- Tính chính xác tương đối tốt, đặc biệt đối với vấn đề không gian và thời
gian biến đổi chậm.
- Giảm thiểu sai số so với phương pháp sai phân tiến và sai phân lùi.
Nhược điểm:
- Địi hỏi giải hệ phương trình tuyến tính lớn, làm tăng độ phức tạp tính tốn
so với phương pháp sai phân tiến.
- Tốn nhiều thời gian tính tốn hơn so với phương pháp sai phân tiến và sai
phân lùi.
Tổng quan, các phương pháp sai phân tiến, sai phân lùi và Crank-Nicolson
đều có ưu điểm và nhược điểm riêng. Sự lựa chọn phương pháp nào phụ thuộc
vào tính chất của vấn đề cần giải quyết và yêu cầu về độ chính xác và tốc độ
tính tốn. Đối với các vấn đề truyền nhiệt phức tạp trong không gian hai chiều
và ba chiều, việc sử dụng phương pháp Crank-Nicolson thường được ưu tiên do
khả năng cân bằng giữa tính ổn định và độ chính xác cao hơn so với phương
pháp sai phân tiến và sai phân lùi.
Ngoài phương pháp sai phân hữu hạn cịn có một số phương pháp khác để
giải phương trình truyền nhiệt. Dưới đây là một số phương pháp phổ biến khác:
</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">1. Phương pháp phần tử hữu hạn (Finite Element Method - FEM): Phương
pháp này chia không gian thành các phần tử nhỏ hơn và xấp xỉ giá trị của biến
cần giải trên các điểm trong mỗi phần tử. Sau đó, sử dụng nguyên lý cân bằng
năng lượng, ta có thể xây dựng hệ phương trình tuyến tính và giải nó để tìm ra
giá trị biến cần giải.
2. Phương pháp phần tử hữu hạn tăng cường (Finite Element Method with
Enrichment): Phương pháp này là một mở rộng của FEM, được sử dụng khi
giá trị biến cần giải có đặc điểm khơng liên tục hoặc phương trình truyền nhiệt
có biên độ lớn tại một số vùng cụ thể. Bằng cách sử dụng các hàm cơ sở tăng
cường, phương pháp này cung cấp một độ chính xác cao hơn trong các khu vực
đặc biệt.
3. Phương pháp phần tử biên (Boundary Element Method - BEM): Phương
pháp này tập trung vào việc xấp xỉ giá trị biến cần giải trên biên của vùng quan
tâm thay vì trên tồn khơng gian. Bằng cách sử dụng phương trình biên và
nguyên lý cân bằng năng lượng, phương pháp này giảm số lượng biến và phương
trình cần giải so với phương pháp phần tử hữu hạn.
4. Phương pháp phần tử điểm (Meshless Method): Đây là một phương pháp
dựa trên việc xấp xỉ giá trị biến cần giải dựa trên các điểm trong khơng gian,
thay vì chia khơng gian thành các phần tử như FEM. Phương pháp này tránh
</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">việc xử lý mạng lưới phần tử và có khả năng mơ hình hóa các vùng khơng đều
hoặc có biên độ lớn.
5. Phương pháp enthalpy (nhiệt động lực học): nghiên cứu q trình trao đổi
và chuyển hóa năng lượng dựa vào kết quả thực nghiệm từ sự quan sát của q
trình tự nhiên, từ đó tổng qt hóa thành các nguyên lý nhiệt động lưc học.
Phương pháp này mang lại độ chính xác tương đương với HBIM (phương pháp
cân bằng nhiệt).
Mỗi phương pháp có ưu điểm và nhược điểm riêng, và lựa chọn phương pháp
phù hợp phụ thuộc vào tính chất của vấn đề và yêu cầu cụ thể.
Phương trình truyền nhiệt trong khơng gian hai chiều có dạng
<small>∂u∂t</small> <sup>= α</sup>
Sử dụng phương pháp sai phân hữu hạn bằng cách xấp xỉ các đạo hàm riêng
theo công thức sai phân
<small>∂x2≈</small> <sup>U</sup><sup>i+1,j,m</sup><sup>− 2U</sup><sup>i,j,m</sup><sup>+ U</sup><sup>i−1,j,m</sup><small>(△x)2</small>
</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">Thay vào phương trình truyền nhiệt (1.4), ta được
<small>△t= α(</small><sup>U</sup><small>i+1,j,m−2Ui,j,m+Ui−1,j,m</small>
<small>(△x)2+</small> <sup>U</sup><small>i,j+1,m−2Ui,j,m+Ui,j−1,m</small>
<small>(△y)2)U</small><sub>i,j,m+1</sub><small>− U</small><sub>i,j,m</sub> <small>= α△t(</small><sup>U</sup><small>i+1,j,m−2Ui,j,m+Ui−1,j,m</small>
<small>(△x)2+</small> <sup>U</sup><small>i,j+1,m−2Ui,j,m+Ui,j−1,m</small>
Phương trình truyền nhiệt trong không gian hai chiều được giải bằng phương
pháp sai phân hữu hạn. Phương pháp này chia không gian thành một lưới hữu
hạn các điểm, và sử dụng phương trình sai phân để xác định sự biến đổi của
nhiệt độ qua thời gian và không gian.
</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">Phương trình truyền nhiệt trong khơng gian ba chiều có dạng
<small>∂u∂t</small> <sup>= α</sup>
<small>∂</small><sup>2</sup><small>u∂x2+</small> <sup>∂</sup>
<small>2u∂y2+</small> <sup>∂</sup>
<small>= α(uxx+ uyy+ uzz)</small> (1.5)Với
<small> u = u(x, y, z, t)</small> là nhiệt độ như là một hàm số theo thời gian và không gian.
Sử dụng phương pháp sai phân hữu hạn bằng cách xấp xỉ các đạo hàm riêng
theo công thức sai phân
</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34"><small>∂t</small> <sup>= U</sup><sup>t</sup> <small>≈</small> <sup>U</sup><sup>i,j,k,m+1</sup><sup>− U</sup><sup>i,j,k,m</sup><small>△t</small>
Thay vào phương trình truyền nhiệt (1.5), ta được
<small>(△z)2)U</small><sub>i,j,k,m+1</sub> <small>= U</small><sub>i,j,k,m</sub><small>+ α△t(</small><sup>U</sup><small>i+1,j,k,m−2Ui,j,k,m+Ui−1,j,k,m</small>
<small>(△x)2+</small><sup>U</sup><small>i,j+1,k,m−2Ui,j,k,m+Ui,j−1,k,m</small>
</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">Chương 2 gồm hai phần. Ở phần 1, chúng tơi xin giới thiệu bài tốn truyền
nhiệt một chiều được Thầy Nguyễn Quốc Lân cung cấp thuật toán chi tiết.
Chương trình được tơi viết trên matlab đã chạy ổn định, cho ra kết quả phù
hợp. Trong phần 2, chúng tơi xin giới thiệu bài tốn Stefan hai pha trong tọa
độ cầu (xem [9] - Trang 2). Phương pháp sai phân hữu hạn dùng để giải phương
trình truyền nhiệt trong bài báo trên dẫn đến một công thức phức tạp, gây khó
khăn khi viết chương trình. Vì thế, chúng tơi tìm được trong bài báo [5] - Trang
3, các tác giả giới thiệu một cách đổi biến hợp lý để đưa phương trình (2.4) về
dạng quen thuộc (2.1a), có cơng thức lặp đơn giản, dễ viết chương trình hơn.
Như vậy, chúng ta có thể dùng phương pháp của bài toán Stefan một chiều để
giải bài toán Stefan hai pha trong tọa độ cầu được cho bởi phương trình (2.4)
</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">tương ứng với pha rắn và phương trình (2.5) tương ứng với pha lỏng.
Xét bài tốn truyền nhiệt một chiều với phương trình truyền nhiệt (2.1a),
điều kiện biên (2.1b), điều kiện ban đầu (2.1c), (2.1d) và biên Stefan (2.1e).
Tìm hàm nhiệt độ <small>u(x, t)</small> thỏa
Bước chia trục x: <small>△</small>x
Bước chia trục t: <small>△</small>t
Nút lưới có tọa độ (i<small>△</small>X; j<small>△</small>t)
Giá trị tại nút: u(i<small>△</small>x;j<small>△</small>t) = <small>u</small><sup>j</sup><sub>i</sub>
Vectơ <small>u</small><sup>(n)</sup> <small>=</small><sup></sup><small>u</small><sup>n</sup><sub>0</sub><small>; u</small><sup>n</sup><sub>1</sub><small>; u</small><sup>n</sup><sub>2</sub><small>; ...</small>: Giá trị nhiệt độ trên thanh cùng 1 mức thời gian
<small>s</small><sub>j</sub> <small>= s(j△t)</small>: Vị trí của biên Stefan ở thời điểm <small>j△t</small>.Ý tưởng sơ đồ số: Giả sử <small>u</small><sup>(j)</sup><small>, s</small><sub>j</sub> đã biết, cần tính <small>u</small><sup>(j+1)</sup>
</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37"><small></small> Bước 1: Dùng sai phân tiến theo <small>t</small> và sai phân phù hợp theo x, từ (2.1e),
Công thức xấp xỉ đạo hàm cấp 1 (*), cấp 2 (**) tại mốc chia (không cách
đều): gọi <small>f (x)</small> là đa thức nội suy spline bậc 3 biên tự nhiên của Bảng 3 mốc a
Khi đó, ta có cơng thức lắp ghép (để viết chương trình) cho sơ đồ ẩn. Công
thức này chỉ dùng cho trường hợp hay xảy ra nhất trong thực tế, khi biên <small>s</small><sub>i</sub> (i
<small>≥</small> 1) không trùng các điểm chia <small>k△x ⇒ p</small><sub>i</sub><small>> 0</small>. Trường hợp <small>s</small><sub>i</sub> trùng với điểmchia nào đó sẽ bổ sung sau (xử lý như bài toán biên cơ bản). Ký hiệu <small>µ =</small> <sub>(△x)</sub><sup>k.△t</sup><small>2</small>.
Các bước dùng để viết chương trình
</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38"><small></small> Bước 1: Tính <small>s</small><sub>1</sub> <small>= s</small><sub>0</sub><small>−</small> <sub>λ</sub><sup>1</sup><small>.</small><sub>△x</sub><sup>△t</sup><small>.(u</small><sup>0</sup><sub>1</sub><small>− u</small><sup>0</sup><sub>0</sub><small>)</small> Bước 2: Tính <small>m</small><sub>1</sub> <small>=</small><sup></sup> <sup>s</sup><small>1</small>
<small>1+1</small>.Vế phải <small>b</small><sub>1</sub> <small>= u</small><sup>0</sup><sub>1</sub><small>+ µu</small><sub>h</sub><small>, b</small><sub>i</sub> <small>= u</small><sup>0</sup><sub>i</sub> <small>(2 ≤ i ≤ m</small><sub>1</sub><small>)</small>.
<small></small> Bước 6: Tính ma trận 3 đường chéo <small>A</small><sub>m</sub><sub>j+1</sub><sub>×m</sub><sub>j+1</sub> và vectơ vế phải <small>b</small>:Chéo trên <small>a</small><sub>i,i+1</sub><small>= −µ, (1 ≤ i ≤ m</small><sub>j+1</sub><small>− 1)</small>
</div>