Tài liệu Xây dựng phần mềm mô phỏng quá trình truyền nhiệt

  • Số trang: 22 |
  • Loại file: PDF |
  • Lượt xem: 53 |
  • Lượt tải: 0
nhattuvisu

Đã đăng 27125 tài liệu

Mô tả:

LỜI CẢM ƠN Sau 6 tháng tham gia nghiên cứu và hoàn thành đề tài này đã giúp tôi bổ sung được rất nhiều kiến thức bổ ích không chỉ chuyên ngành mà còn ở nhiều lãnh vực, ngành nghề khác. Những kiến thức hữu ích này sẽ giúp tôi vững tin hơn để thực hiện những đề tài lớn sau này. Tôi xin chân thành cảm ơn Thầy – PGS.TS Phan Đình Tuấn đã định hướng, tận tình chỉ dẫn giúp tôi tiếp cận và hoàn thành đề tài này. Tôi xin chân thành cảm ơn Ban chủ nhiệm Khoa Công nghệ Sinh học và Môi trường đã luôn tạo điều kiện thuận lợi trong suốt thời gian qua để tôi có thể thực hiện tốt đề tài này. Ngoài ra, tôi xin chân thành cảm ơn các Thầy Cô trong Khoa, các anh chị đồng nghiệp, bạn bè đã luôn động viên và giúp đỡ tôi trong suốt chặng đường hoàn thành đề tài. 1 MỤC LỤC I. GIỚI THIỆU ............................................................................................................................... 3 1.1. Đặt vấn đề .............................................................................................................................. 3 1.2. Mục tiêu ................................................................................................................................. 3 II. TỔNG QUAN .............................................................................................................................. 3 2.1. Cơ sở lý thuyết của quá trình truyền nhiệt ........................................................................... 3 2.2. Truyền nhiệt ổn định đối với tường phẳng không có nguồn nhiệt bên trong: ................... 5 2.3. Tổng quan về Adobe Flash và ngôn ngữ Action Sript ........................................................ 5 III. PHƢƠNG PHÁP NGHIÊN CỨU ............................................................................................ 6 IV. XÂY DỰNG MÔ HÌNH ............................................................................................................. 6 4.1. Kết hợp giải thuật và ngôn ngữ lập trình Action Sript. ....................................................... 6 4.2. Giao diện phần mềm ............................................................................................................. 6 V. KẾT QUẢ..................................................................................................................................... 8 VI. KẾT LUẬN VÀ KIẾN NGHỊ ................................................................................................. 11 VII. TÀI LIỆU THAM KHẢO ....................................................................................................... 11 PHỤ LỤC ........................................................................................................................................... 12 Phụ lục 1: Code cho quá trình truyền nhiệt ổn định ..................................................................... 12 Phụ lục 2: Code cho quá trình truyền nhiệt không ổn định .......................................................... 14 2 XÂY DỰNG PHẦN MỀM MÔ PHỎNG QUÁ TRÌNH TRUYỀN NHIỆT I. GIỚI THIỆU 1.1. Đặt vấn đề Quá trình truyền nhiệt là một quá trình đặc trưng và rất quan trọng cho những ai làm việc và học tập liên quan đến công nghệ hóa học nói chung cũng như các ngành sinh học, thực phẩm, y học, môi trường … Truyền nhiệt không phải quá trình truyền vật chất mà là quá trình truyền năng lượng nên rất khó hình dung, ta không thể quan sát được bằng mắt thường diễn biến của quá trình này. Hiện nay số lượng các phần mềm mô phỏng trong lĩnh vực công nghệ hóa học rất lớn, trong đó phổ biến nhất là PRO II, Hysys, Dynsim. Tuy nhiên các phần mềm này đòi hỏi bản quyền, khá phức tạp để sử dụng và chỉ tập trung vào việc tính toán, xử lý số liệu các quá trình truyền vận, hóa lý, hóa học … mà hạn chế đi tính trực quan của quá trình. Thế nên việc xây dựng phần mềm mô phỏng diễn biến các quá trình công nghệ, đặc biệt là quá trình truyền nhiệt một cách trực quan hơn, dễ tiếp cận hơn là rất cần thiết. Bên cạnh đó mô hình sẽ còn giúp cho việc tính toán nhanh chóng và thuận tiện hơn. 1.2. Mục tiêu Xây dựng phần mềm tính toán và mô phỏng quá trình truyền nhiệt bằng phần mềm Adobe Flash và ngôn ngữ lập trình Action Script nhằm để trực quan hóa và xử lý số liệu nhanh chóng đối với các bài toán liên quan đến quá trình truyền nhiệt mà cụ thể là quá trình truyền nhiệt qua vách phẳng. Từ giải thuật của mô hình này sẽ làm nền tảng cho các mô hình phức tạp ứng dụng trong công nghệ hóa học nói chung sau này. II. TỔNG QUAN 2.1. Cơ sở lý thuyết của quá trình truyền nhiệt Phương trình Fourier cho quá trình truyền nhiệt trong vật rắn: q T   2T  2T  2T qv  2T  2T  2T  ( 2  2  2 )   a( 2  2  2 )  v  c x y z c x y z c Trong đó: 3 a  : hệ số dẫn nhiệt độ c Hay viết ở dạng toán tử: q T  a2T  v  ...  T  f ( x, y, z, )  truyền nhiệt không ổn định  c  qv  0     Neáu  T   T  f ( x, y , z )  v à  0   truyền nhiệt ổn định      2T  0  Phöông trình Laplace  Trong đó toán tử  2T được dùng để thay cho đạo hàm bậc 2 của hàm số T hay Trong hệ tọa độ Decac thì  2T   2T  2T  2T   x 2 y 2 z 2 Trong hệ tọa độ trụ thì  2T 1 T 1  2T  2T T 2    r r r r 2  2 z 2 2 Với r : vector bán kính z : độ cao theo trục vuông góc  : góc cực Trong hệ tọa độ cầu thì 2T   2T 2 T 1   1  2T 2 T   .  . (1   )  . r 2 r r r 2     r 2 (1   2 )  2 Với: r : vector bán kính   cos : là góc giữa vector bán kính và trục Oz  : là góc giữa hình chiếu của vector bán kính lên mặt phẳng Oxy với trục Oz Trường nhiệt trong bản phẳng cổ điển (dài rộng dày) q T  a 2T  v  c - Ở chế độ truyền nhiệt ổn định ( a 2T  T  0 ) thì ta có  qv 0 c 4 Hay  2T  - qv  Nếu qv  0 thì 0  2T d 2T  0 x 2 dx 2 Từ đây cho ta hàm nhiệt độ T trong bản phẳng là tuyến tính T(x) 2.2. Truyền nhiệt ổn định đối với tƣờng phẳng không có nguồn nhiệt bên trong: Đây là loại trường nhiệt một chiều (một biến) nên phương trình truyền nhiệt tổng quát có dạng: d 2T 0 dx 2 Với điều kiện biên loại 1: T ( x)  t1  T ( x)  t2 taïi x  0 taïi x   Nguyên hàm khi tích phân 2 lần phương tình trên là T ( x)  C1 x  C2 Từ điều kiện biên ta có C1  T ( x)  t1  (t1  t2 ) t2  t1  ; C2  t1 , tức x : Hay ở dạng không thứ nguyên:  ( x)  t1  T ( x) x  t1  t2  Cường độ dòng nhiệt truyền qua bức tường phẳng sẽ là: q  .grad T   dT   (t1  t2 ) dx  Và nhiệt lượng truyền dẫn qua tường đó là Q  q.F   .F .(t1  t2 )  2.3. Tổng quan về Adobe Flash và ngôn ngữ Action Sript Adobe Flash trước đây là Macromedia Flash, còn được gọi một cách đơn giản là Flash, là chương trình sáng tạo đa phương tiện lẫn phần mềm dùng để hiển thị chúng là Macromedia Flash Player, chương trình này được viết và phân phối bởi Adobe Systems. 5 Flash dùng kỹ thuật đồ họa vectơ và đồ họa điểm (raster graphics) kết hợp với ngôn ngữ lập trình riêng là ActionScript để diễn hoạt và truyền tải các luồng âm thanh hoặc hình ảnh thông qua Flash Player. Với việc sử dụng đồ họa dạng vectơ nên kích thước file rất nhỏ, thuận tiện cho việc lưu trữ, truyền tải và chạy ứng dụng. Flash là công cụ chuyên dụng để phát triển và thiết kế các phần mềm mô phỏng kèm các tạo hiệu ứng động phức tạp, các mô thức động linh hoạt cao. Sử dụng ngôn ngữ lập trình ActionScript để tạo các tương tác, các hoạt cảnh trong mô hình, kết hợp được các file âm thanh, hình ảnh động từ đơn giản đến phức tạp. III. PHƢƠNG PHÁP NGHIÊN CỨU Thu thập và tổng hợp tài liệu về cơ sở lý thuyết của quá trình truyền nhiệt. Nghiên cứu các mô hình toán tính quá trình truyền nhiệt qua vách. Xây dựng phần mềm tính toán và mô phỏng quá trình truyền nhiệt. IV. XÂY DỰNG MÔ HÌNH 4.1. Kết hợp giải thuật và ngôn ngữ lập trình Action Sript. Tham khảo phần phụ lục 4.2. Giao diện phần mềm Chú thích: (1). Khung nhập nhiệt độ của lò đốt (nguồn nhiệt) T1, đơn vị oC (2). Khung nhập giá trị hệ số cấp nhiệt của nguồn nhiệt 1, đơn vị W/m2 .K (3). Khung chọn vật liệu cho vách (tường) gồm các vật liệu cơ bản: - Thép thường - Thép hợp kim cao - Gạch chịu lửa - Gạch cách nhiệt - Gạch thường - Bê tông (4). Khung nhập hệ số dẫn nhiệt của tường , đơn vị W/m.K (5). Khung nhập giá trị bề dày của vách (tường) , đơn vị m (6). Khung nhập nhiệt độ bên ngoài (không khí) T 2, đơn vị oC (7). Khung nhập hệ số cấp nhiệt của không khí 2, đơn vị W/m2.K 6 6 3 7 1 4 2 5 8 10 9 11 12 13 15 14 16 17 H.1. Giao diện chính của phần mềm 7 (8). Nút chạy chương trình (9). Khung hiển thị nhiệt độ bề mặt tường phía trong T v1, đơn vị oC (10). Khung hiển thị nhiệt độ bề mặt tường phía ngoài T v2, đơn vị oC (11). Khung hiển thị nhiệt độ nguồn nhiệt T1, đơn vị o C (12). Khung hiển thị hệ số truyền nhiệt trung bình của quá trình K, đơn vị W/m2.K (13). Khung hiển thị nhiệt độ bên ngoài T 2, đơn vị oC (14). Bảng màu quy đổi hiển thị nhiệt độ của nguồn nhiệt (15). Bảng màu quy đổi thể hiện nhiệt độ của vách và vật liệu tương ứng (16). Bảng màu quy đổi thê hiện nhiệt độ phía ngoài vách (17). Khung thể hiện thời gian truyền nhiệt cho quá trình không ổn định V. KẾT QUẢ Dùng phần mềm xây dựng được để tính toán các bài ví dụ minh họa sau: Bài toán 1: Tính toán hệ số truyền nhiệt, nhiệt độ tường lò làm bằng gạch chịu nhiệt . Biết nhiệt độ trong lò đốt đạt 1200oC, nhiệt độ không khí bên ngoài là 30oC, bề dày vách bằng 300 mm. Kết quả tính toán từ phần mềm thể hiện trong H.2 Bài toán 2: Tương tự bài 1 với nhiệt độ nguồn nhiệt bên trong đạt gần 1000oC, vật liệu là thép không rỉ có bề dày 50 mm, nhiệt độ bên ngoài là 50oC Kết quả tính toán từ phần mềm thể hiện trong H.3 Bài toán 3: Tính toán các thông số cơ bản của quá trình truyền nhiệt không ổn định từ nguồn nhiệt 1200oC ra môi trường ngoài qua lớp tường có vật liệu cấu tạo là gạch chịu lửa, bề dày 300 mm. Kết quả tính toán từ phần mềm thể hiện trong H.4 8 H.2. Kết quả tính toán cho bài toán 1 H.3. Kết quả tính toán cho bài toán 2 9 H.4. Kết quả tính toán cho bài toán 3 10 VI. KẾT LUẬN VÀ KIẾN NGHỊ Phần mềm giải quyết gần như thành công các bài toán truyền nhiệt qua vách, bên cạnh kèm theo hiệu ứng màu sắc giúp thể hiện quá trình một cách trực quan. Tuy nhiên truyền nhiệt qua vách phẳng nói riêng hay quá trình dẫn nhiệt trong vật rắn nói chung chỉ là một phần trong quá trình truyền nhiệt tổng quát. Trong bài, các quá trình truyền nhiệt do bức xạ, do đối lưu … vẫn chưa được xét đến nên đây cũng chính là hạn chế không nhỏ, đòi hỏi cần có thời gian để phát triển mở rộng. VII. TÀI LIỆU THAM KHẢO [1]. Phạm Văn Bôn, Nguyễn Đình Thọ, Giáo trình QT & TB CNHH, Tập 5 : Quá trình và thiết bị truyền nhiệt, NXB ĐH Quốc gia TP HCM, 2002. [2]. Phạm Xuân Toản, Cá Tập 3, Cá n n hệ h uá trình và thiết bị truyền nhiệt, NXB hoa học và [3]. Trần Xoa, Nguyễn Trọng n hệ H uá trình và thiết bị tr n h t và th ph ỹ thuật Hà Nội, huông, Phạm Xuân Toản, Sổ t y Quá trình và thiết bị C n họ , Tập 1,2, Nhà xuất bản hoa học và 11 ỹ thuật Hà Nội, 2004. , . PHỤ LỤC Phụ lục 1: Code cho quá trình truyền nhiệt ổn định nhiet.onPress = function(){ var t1:String = nlodot.text; var t2:String = ngoai.text; var l:String = nlanda.text; var d:String = nbeday.text; var a1:String = nanpha1.text; var a2:String = nanpha2.text; var n1 = value; var n2 = value; var nvl:String = select_cb.value; n1 = t1; m2 = t2; if(nvl<7 and nvl > 0){ matc._x =150 -310*(nvl-1); trace (+nvl); } onEnterFrame = function(){ if ( t1<800){ nhiet1 = 800; } if(t1>1500){ nhiet1 = 1500; } if (t1>= 800 and t1<= 1500){ 12 nhiet1 = n1; } n2 = Math.round(m2); nhiet2 = n2; K = Math.round((1/(1/a1 + 1/a2 + d/l))*100)/100; q = K*(n1-n2); tv1 = Math.round(n1 - q/a1); tv2 = Math.round(tv1 - q*(d/l)); k1 = 150*(3/(n1 - tv1)); lodot._xscale = 100*k1; lodot._x = -k1*(1500 - n1)/3; k2 = 200*(3/(tv1-tv2)); tuong._xscale = 100*k2; tuong._x = 149 - k2*((1500-tv1)/3); k3 = 150*(3/(tv2-n2)); khongkhi._xscale = 100*k3; khongkhi._x = 349 - k3*((1500-tv2)/3); if (rang11.hitTest(_root._xmouse,_root._ymouse,true)){ if (_ymouse<285 or _xmouse>470 ){ ktt._x = _xmouse -15; ktt._y = _ymouse+5; } else{ ktt._x = _xmouse+5; ktt._y = _ymouse - 20; } 13 if(0<_xmouse<150){ tod = t1- Math.round( Math.round((t1-tv1)*_xmouse/150)); } if(_xmouse>150 and _xmouse <=350){ tod = Math.round(tv1)- Math.round( Math.round((tv1-tv2)*(_xmouse-150)/200)); } if(_xmouse>350 and _xmouse <499){ tod = Math.round(tv2)- Math.round( Math.round((tv2-m2)*(_xmouse-350)/150)); } } } } Phụ lục 2: Code cho quá trình truyền nhiệt không ổn định track.onPress = function(){ var t0C = num.text; if (t0C<=1500 and t0C>=0){ toado = t0C/3; if(toado <=500/3){ red = 00; green = 255; blue = 255 - Math.round(toado*255/500*3); } if(toado >500/3 and toado <=2*500/3){ red = 00+ Math.round((toado-500/3)*255/500*3); green = 255; blue = 00; 14 } if(toado >2*500/3 and toado <=500){ red = 255; green = 255 - Math.round((toado -2*500/3)*255/500*3); blue = 00; } rgb = (red<<16)|(green<<8)|(blue); nenColor = new Color("nen"); nenColor.setRGB(rgb); vec._x = toado; } } var giay = value; var phut = value; var gio = value; gi = 0; giay ="0"+0; phut = "0"+0; gio = "0" +0; nhiet.onPress = function(){ tod = 0; sst = 0; ho = 0; ph = 0; nhiet.onPress = function(){ var t1:String = nlodot.text; 15 var t22:String = ngoai.text; var l:String = nlanda.text; var d:String = nbeday.text; var a1:String = nanpha1.text; var a2:String = nanpha2.text; var n1 = value; var n2 = value; var nvl:String = select_cb.value; n1 = t1; m2 = t2; if(nvl<7 and nvl > 0){ matc._x =150 -310*(nvl-1); } onEnterFrame = function(){ if ( t1<800){ nhiet1 = 800; } if(t1>1500){ nhiet1 = 1500; } if (t1>= 800 and t1<= 1500){ nhiet1 = n1; } if (m2 50){ tv2 = tv21; } else { tv2 = tv22; 17 } k1 = 150*(3/(n1 - tv1)); lodot._xscale = 105*k1; lodot._x = -k1*(1500 - n1)/3; k2 = 200*(3/(tv1-tv2)); tuong._xscale = 100*k2; tuong._x = 149 - k2*((1500-tv1)/3); k3 = 150*(3/(tv2-n2)); khongkhi._xscale = 100*k3; khongkhi._x = 349 - k3*((1500-tv2)/3); if (rang11.hitTest(_root._xmouse,_root._ymouse,true)){ if (_ymouse<285 or _xmouse>470 ){ ktt._x = _xmouse -15; ktt._y = _ymouse+5; } else{ ktt._x = _xmouse+5; ktt._y = _ymouse - 20; } if(0<_xmouse<150){ tod = t1- Math.round( Math.round((t1-tv1)*_xmouse/150)); } if(_xmouse>150 and _xmouse <=350){ tod = Math.round(tv1)- Math.round( Math.round((tv1-tv2)*(_xmouse-150)/200)); } if(_xmouse>350 and _xmouse <499){ 18 tod = Math.round(tv2)- Math.round( Math.round((tv2-m2)*(_xmouse-350)/150)); } } if(mov._x<120){ mov._x = mov._x + a1/1; } if(mov._x>=120 and mov._x<=340){ mov._x = mov._x+l/(d*5); } if(mov._x>340 and mov._x<=450){ mov._x = mov._x + a2/1; } if (mov._x >450) { mov._x=-50} if(mov1._x<120){ mov1._x = mov1._x + a1/1; } if(mov1._x>=120 and mov1._x<=340){ mov1._x = mov1._x+l/(d*5); } if(mov1._x>340 and mov._x<=450){ mov1._x = mov1._x + a2/1; } if (mov1._x >450) { mov1._x=-50} if(mov2._x<120){ 19 mov2._x = mov2._x + a1/1; } if(mov2._x>=120 and mov2._x<=340){ mov2._x = mov2._x+l/(d*5); } if(mov2._x>340 and mov2._x<=450){ mov2._x = mov2._x + a2/1; } if (mov2._x >450) { mov2._x=-50 } if(mov3._x<120){ mov3._x = mov3._x + a1/1; } if(mov3._x>=120 and mov3._x<=340){ mov3._x = mov3._x+l/(d*5); } if(mov3._x>340 and mov3._x<=450){ mov3._x = mov3._x + a2/1; } if (mov3._x >450) { mov3._x=-50 } if(mov4._x<120){ mov4._x = mov4._x + a1/1; } 20
- Xem thêm -