Professional Documents
Culture Documents
Ngày……..tháng……..năm 2021
(ký tên, ghi rõ họ và tên)
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
LỜI CẢM ƠN
Để hoàn thành đồ án này, em xin gửi lời cảm ơn chân thành nhất từ đáy lòng
đến quý thầy cô Khoa Công Nghệ Hóa Học trường Đại học Công Nghiệp Thực Phẩm
Thành phố Hồ Chí Minh đã cùng dùng những tri thức và tâm huyết của mình để có thể
truyền đạt cho chúng em những kiến thức quý báu trong suốt thời gian học tập tại
trường.
Em cũng xin chân thành cảm ơn Ban chủ nhiệm Khoa, cán bộ ở Bộ môn Hóa
học cơ sở, Khoa Công nghệ Hóa học, Trường Đại học Công nghiệp Thực Phẩm Thành
phố Hồ Chí Minh đã nhiệt tình giúp đỡ, tạo điều kiện thuận lợi cho em trong quá trình
nghiên cứu, thực hiện đề tài.
Đặc biệt, em xin cảm ơn thầy ThS. Hồ Tấn Thành đã tận tâm chỉ bảo hướng dẫn
em qua từng buổi học, từng buổi nói chuyện, thảo luận về đề tài nghiên cứu. Nhờ có
những lời hướng dẫn, dạy bảo đó, em đã hoàn thành được đồ án của mình.
Em xin chân thành cảm ơn!
MỤC LỤC
iii
iv
LỜI MỞ ĐẦU
Ngày nay, các ngành kỹ thuật đang ngày càng phát triển và phức tạp hơn. Nên con
người phải cần các công cụ để hỗ trợ việc tính toán trong công tác thiết kế, chế tạo các
loại máy móc. Các công cụ hỗ trợ để giúp con người có thể thực hiện một cách nhanh
chóng, đỡ tốn chi phí và có thể đạt đến độ chính xác cao là các phần mềm tính toán
trên máy tính. Hiện nay có rất nhiều phần mềm hỗ trợ tính toán trên thị trường như: C+
+, Java ... Nhưng trong đồ án này ta sử dụng phần mềm MATLAB để thực hiện tính
toán.
Phần mềm MATLAB đã ra đời từ lâu và có ứng dụng rộng rãi trong nhiều lĩnh
vực khác nhau như: xử lý tín hiệu và ảnh, thiết kế điều khiển tự động, đo lường kiểm
tra, phân tích mô hình tài chính.... Với khả năng tính toán mạnh mẽ của mình, phần
mềm MATLAB hỗ trợ con người có thể giải quyết các phép tính phức tạp một cách
nhanh chóng. Trong khi đó việc thực hiện tính toán bằng thủ công thì khiến cho chúng
ta rất mất thời gian và độ chính xác không cao.
Nội dung đồ án: “Mô phỏng tính toán thiết bị trao đổi nhiệt vỏ bọc”. Nhằm
tìm hiểu các thao tác thực hiện mô phỏng tính toán trên MATLAB, công dụng và cách
sử dụng của hàm, tạo giao diện và hiển thị các kết quả tính toán lên giao diện.
Và cuối cùng em xin gửi lời cảm ơn chân thành và sâu sắc đến thầy cô Khoa
Công Nghệ Hóa Học và thầy ThS.Hồ Tấn Thành đã tạo điều kiện cho em thực hiện đồ
án. Trong quá trình thực hiện đồ án này chắc chắn không thể tránh khỏi những sai sót.
Kính mong quý thầy cô và các bạn nhiệt tình đóng góp để đề tài ngày càng hoàn thiện
hơn.
Em xin chân thành cảm ơn!
vi
1.1.1.1. Phân loại thiết bị trao đổi nhiệt theo công dụng
– Thiết bị gia nhiệt dùng để gia nhiệt cho sản phẩm (Ví dụ nồi nấu, lò hơi).
– Thiết bị làm mát để làm nguội sản phẩm đến nhiệt độ môi trường (Ví dụ tháp
giải nhiệt nước, bình làm mát dầu)
– Thiết bị lạnh để hạ nhiệt độ sản phẩm đến nhiệt độ nhỏ hơn môi trường (Ví dụ tủ
cấp đông, tủ lạnh).
1.1.1.2. Phân loại thiết bị trao đổi nhiệt theo nguyên lý làm việc
– Thiết bị trao đổi nhiệt tiếp xúc (hay hỗn hợp), là loại thiết bị trao đổi nhiệt trong
đó chất gia công và môi chất tiếp xúc nhau, thực hiện cả quá trình trao đổi nhiệt và
trao đổi chất, tạo ra một hỗn hợp. Ví dụ bình gia nhiệt nước bằng cách sục 1 dòng hơi.
7
– Thiết bị trao đổi nhiệt hồi nhiệt, là loại thiết bị TĐN có mặt trao đổi nhiệt được
quay, khi tiếp xúc chất lỏng 1 mặt nhận nhiệt, khi tiếp xúc chất lỏng 2 mặt toả nhiệt.
Quá trình TĐN là không ổn định và trong mặt trao đổi nhiệt có sự dao động nhiệt. Ví
dụ: bộ sấy không khí quay trong lò hơi nhà máy nhiệt điện.
−¿Thiết bị trao đổi nhiệt vách ngăn, là loại thiết bị trao đổi nhiệt có vách rắn ngăn
cách chất lỏng nóng và chất lỏng lạnh và 2 chất lỏng trao đổi nhiệt theo kiểu truyền
nhiệt. Loại thiết bị trao đổi nhiệt vách ngăn bảo đảm độ kín tuyệt đối giữa hai chất,
làm cho chất gia công được tinh khiết và vệ sinh, an toàn, do đó được sử dụng rộng rãi
trong mọi công nghệ.
−¿Thiết bị trao đổi nhiệt kiểu ống nhiệt, là loại thiết bị trao đổi nhiệt dùng ống
nhiệt để truyền tải nhiệt từ chất lỏng nóng đến chất lỏng lạnh. Môi chất trong các ống
nhiệt nhân nhiệt từ chất lỏng 1, sôi và hoá hơi thành hơi bão hoà khô, truyền đến vùng
tiếp xúc chất lỏng 2, ngưng thành lỏng rồi quay về vùng nóng để lặp lại chu trình.
Trong ống nhiệt, môi chất sôi, ngưng và chuyển động tuần hoàn, tải 1 lượng nhiệt lớn
từ chất lỏng 1 đến chất lỏng 2.
1.1.2. Thiết bị trao đổi nhiệt dạng nồi hai vỏ
Cấu tạo: vỏ ngoài được ghép chắc chắn với vỏ thiết bị bằng mặt bích (hoặc hàn
liền), giữa hai lớp vỏ tạo thành khoảng trống kín, chất tải nhiệt sẽ vào khoảng trống đó
để thực hiện đun nóng hoặc làm nguội.
Quá trình trao đổi nhiệt được thực hiện qua bề mặt vỏ trong thiết bị bao bởi vỏ
ngoài. Phần lớn các thiết bị hai vỏ dùng hơi nước nóng ngưng tụ ở không gian giữa hai
vỏ để cấp nhiệt cho dung dịch trong vỏ. cũng có thể cho nước lạnh hoặc dung dịch tải
lạnh đi qua không gian giữa hai vỏ để làm lạnh dung dịch ở trong vỏ trong. Để tăng
cường quá trình trao đổi nhiệt ta lắp thêm cánh khuấy cho dung dịch ở vỏ trong. Quá
trình làm việc của thiết bị có thể là liên tục hoặc gián đoạn.
Để thiết bị sử dụng được cho chất tải nhiệt có áp suất cao hơn ta có thể chế tạo
thành thiết bị theo cơ cấu đặc biệt. Thiết bị có ống xoắn hàn bên ngoài. Chiều cao của
vỏ ngoài không được thấp hơn mực chất lỏng trong thiết bị. Thông thường các loại
thiết bị vỏ bọc ngoài có bề mặt truyền nhiệt không quá 10 m 2, và áp suất làm việc của
hơi đốt không quá 10at
−¿Ưu điểm: Ứng dụng rộng rãi trong quá trình vừa gia nhiệt vừa khuấy, có thể
làm sạch bề mặt trao đổi nhiệt ở không gian 2 vỏ bằng cơ học.
−¿Nhược điểm: Việc bịt kín khó khăn và đắt tiền, không chịu được áp suất lớn.
toán học ứng dụng. Jack Little, một kĩ sư đã viết lại MATLAB bằng ngôn ngữ C và nó
được xây dựng thêm các thư viện phục vụ cho thiết kế hệ thống điều khiển, hệ thống
hộp công cụ (tool box), mô phỏng,… Jack xây dựng MATLAB trở thành mô hình
ngôn ngữ lập trình trên cơ sở ma trận. Steve Bangert là người đã viết trình thông dịch
cho MATLAB. Công việc này kéo dài gần 1 năm rưỡi. Sau này, Jack Little kết hợp
với Moler và Steve Bangert quyết định đưa MATLAB thành dự án thương mại – công
ty The MathWorks ra đời thời gian này – năm 1984.
Hình 1. 2 Chân dung của Cleve Moler và Jack Little (từ trái sang phải) – hai người
đồng sáng lập ra phần mềm MATLAB
10
Thư viện Toolbox, MATLAB cho phép mô phỏng tính toán, thực nghiệm nhiều
mô hình trong thực tế và kỹ thuật.
MATLAB được sử dụng trong nhiều lĩnh vực, bao gồm xử lý tín hiệu và ảnh,
truyền thông, thiết kế điều khiển tự động, đo lường kiểm tra, phân tích mô hình tài
chính, hay tính toán sinh học. Với hàng triệu kĩ sư và nhà khoa học làm việc trong môi
trường công nghiệp cũng như ở môi trường hàn lâm, MATLAB là ngôn ngữ của tính
toán khoa học.
Ứng dụng MATLAB được xây dựng dựa trên ngôn ngữ lập trình MATLAB. Ứng
dụng thường xuyên sử dụng trong MATLAB liên quan đền việc sử dụng “Command
Window” như là một vỏ toán học tương tác hoặc những tệp tin thực thi có chứa các
lệnh MATLAB. Các ứng dụng của MATLAB bao gồm:
‒ Tính toán số: Tính toán số xử lý những giá trị kiểu số và dựa vào những tính
toán vector và ma trận. Nó cũng sử dụng rộng rãi đồ họa máy tính, bao gồm các giải
trình đồ họa tương tác với các thuật toán số.
‒ Phân tích dữ liệu và trực quan hóa : Nó cho phép phân tích và trực quan hóa dữ
liệu trong một bộ phận. Dữ liệu từ những tệp tin khác nhau có thể được truy cập đồng
thời khi sử dụng phần mềm này. ‒ Phát triển chương trình và thuật toán: Đó là chương
trình máy tính cấp cao được cân nhắc tốt hơn cho việc sáng tạo ra những ngôn ngữ thế
hệ thứ 3 như C,C++ và Java. Bạn có thể viết và phát triển những phần mềm nhanh hơn
bằng việc sử dụng vector và ma trận. Điều này có thể cho kết quả ngay lập tức thông
qua việc kết hợp tương tác.
11
‒ Phát triển ứng dụng: Những ứng dụng và thành phần có thể được triển khai cho
nhiều nền tảng khác nhau. Sử dụng các hàm MATLAB, giao diện gười dùng đồ họa có
thể được tạo rất dễ dàng. Có thể tạo một ứng dụng có giao diện tích hợp.
GUIDE cũng như trong tương lai gần GUIDE sẽ biến mất trong các phiên bản mới của
MATLAB. App Designer cho phép sáng tạo các ứng dụng chuyên nghiệp mà không
cần các nhà phát triển phần mềm chuyên nghiệp. Kéo và thả các thành phần trực quan
để bố trí thiết kế giao diện người dùng đồ họa (GUI) và sử dụng trình chỉnh sửa tích
hợp để nhanh chóng lập trình trạng thái của nó.
Bảng 1. 1 Bảng so sánh môi trường làm việc giữa GUIDE và App Designer
Hiện đại √
13
App Designer sử dụng một môi trường tích hợp để bố trí giao diện người dùng và
viết mã cho trạng thái ứng dụng.
Về xây dựng ứng dụng, App Designer tích hợp hai nhiệm vụ cơ bản của việc xây
dựng ứng dụng là thiết kế giao diện các thành phần của giao diện đồ họa dành cho
người dùng và lập trình các đối tượng ứng dụng.
Về thiết kế giao diện người dùng, giữ và kéo thành phần trực quan đến khung vẽ
và sử dụng gợi ý canh chỉnh để có được bố cục chính xác. Trình thiết kế ứng dụng tự
động tạo mã hướng đối tượng chỉ định bố cục và thiết kế của ứng dụng.
14
Về cách định nghĩa trạng thái ứng dụng, sử dụng phiên bản tích hợp MATLAB
Editor để định nghĩa cho trạng thái ứng dụng của bạn. App Designer có thể kiểm tra tự
động những vấn đề về mã code bằng cách sử dụng Code Analyzer. Người dùng có thể
xem được cảnh báo và tin nhắn báo lỗi về mã code khi đang viết và dựa vào những
cảnh báo lỗi đó để chỉnh sửa ứng dụng.
15
16
ef = uieditfield(fig);
ef.Value = 'New sample';
18
SOLIDWORKS PDM hoạt động dựa trên hệ thống mạng giúp kết nối các bộ
phận trong doanh nghiệp hoặc giữa các đối tác/doanh nghiệp.
Hoạt động dựa trên nguyên tắc phân quyền. Người nắm quyền quản trị hệ thống
SOLIDWORKS PDM sẽ phân các quyền được truy cập dữ liệu thiết kế, chỉnh sửa, phê
duyệt thiết kế hoặc xóa thiết kế.
Quản lý dữ liệu: SOLIDWORKS PDM cung cấp cho người dùng thông tin đầy
đủ nhất về một tập tin đã có như tập tin được thiết kế khi nào, ai thiết kế, được dùng ở
đâu, bao nhiêu lần. Nếu tập tin có sự thay đổi, nó sẽ tự động cập nhật phiên bản mới
nhất đồng thời ghi nhận lại do ai thay đổi và luôn tạo ra một bản sao để người dùng có
thể truy xuất ngược lại khi cần thiết. Dữ liệu sẽ được quản lý an toàn và bảo mật.
Khả năng tra cứu, tìm kiếm dữ liệu nhanh chóng: Tra cứu dữ liệu nhanh chóng là
một yêu cầu quan trọng trong nền sản xuất công nghiệp mới khi mà thời gian và vấn
đề hợp tác kết nối được đặt lên nhiệm vụ hàng đầu.
SOLIDWORKS PDM hỗ trợ tất cả các định dạng CAD và các dạng file tài liệu
thông thường: Word, Excell, PPT, AI…
1.4.2.Các chức năng của SolidWorks
Chức năng CAD: Phần mềm này có ưu điểm là giao diện đẹp, thân thiện, khả
năng thiết kế nhanh hơn các phần mềm khác rất nhiều nhờ vào sự xắp xếp và bố trí các
toolbar một cách có hệ thống và hợp lý. Phần mềm này không có nhiều modul như
Catia hay unigraphics vốn là những phần mềm lớn thiết kế trong nhiều lĩnh vực như
ôtô, hàng không, điện tử, … Solidworks chủ yếu được dùng trong cơ khí chính xác,
điện tử, ôtô, thiết kế cơ 4 khí, tạo khuôn, thiết kế kim loại tấm… nói chung, về các
19
chức năng này thì Solidworks tỏ ra có không thua kém Catia, unigraphics thậm chí còn
hay hơn và tốt hơn, bởi lẽ nó chỉ chuyên về những lĩnh vực đó, cùng với người anh em
Catia của mình, Solidworks trở thành một trong những phần mềm nổi tiếng thế giới
của hãng Dassault systemn.
Chức năng CAM (SolidCam): Để dùng được chức năng này, chúng ta phải sử
dụng một modul nữa của solidworks là SolidCam. Đây là modul Cam của Solid, nó
chạy ngay trên giao diện của solidworks, việc sử dụng của SolidCam quả thật vô cùng
thân thiện, hơn hẳn Mastercam và các phần mềm khác về tính dễ sử dụng. Với các tool
của SolidCam khá mạnh và phong phú: Phay (2,5D, 3D, 5 trục...), Tiện, Turn-Mill ...
Chức năng CAE: phần mềm phân tích Cosmos để tích hợp và chạy ngay trong
môi trường của solidworks. Với modul phân tích của Solidworks là cosmos, chúng ta
có thể thực hiện được những bài phân tích vô cùng phức tạp nhưng rất hay, dưới đây là
liệt kê một vài bài toán mà tôi đã dùng để tính với COSMOS:
−¿Phân tích tĩnh học.
−¿Phân tích động học.
−¿Phân tích dao động.
−¿Phân tích nhiệt học.
−¿Phân tích động lực học ( bài toán phân tích ứng suất cơ khi cơ cấu chuyển động con
lăn, di chuyển trên ray)
−¿Phân tích sự va chạm của các chi tiết.
−¿Phân tích thủy khí động học ( thông qua bài toán phân tích lượng nước chảy qua
robin và bố trí quạt thông gió cho CPU máy tính nhằm tản nhiệt tốt hơn).
−¿Phân tích quá trình rót kim loại lỏng vào khuôn và mức độ gia nhiệt cần thiết cho
quá trình quá độ.
1.4.3.Các lệnh cơ bản trong SolidWorks
Bảng 1. 3 Các lệnh cơ bản trong SolidWorks
20
21
22
23
Trong đó: Gnl : lượng nguyên liệu ban đầu nạp vào thiết bị
ρnl: khối lượng riêng của nguyên liệu (kg/m3)
2.3.2. Thiết bị hai vỏ hình trụ đặt đứng
−¿ Đường kính vỏ trong của thiết bị hai vỏ hình trụ đặt đứng
√
V
D= 3
π ,m (2.2)
K +K'
4
Trong đó:
H
K= lấy theo cấu tạo
D
K’: tỷ số phụ thuộc vào hình dạng đáy
Đáy phẳng 0
Đáy nón π
tagα 0
4
Đáy cầu 0,071
24
( )
−1
l
Std = ( 0.5 .l 2 +l N ) . 2 +lnp (2.9)
2. S
p=( b N + √ b 2N + S 2) . S−1 (2.10)
b N =0,5. ( t −l 2) (2.7)
26
15 – 25 5 – 3,5
25 – 40 3,5 – 2,5
27
Trong đó:
∆tđ = t1đ – t2đ : hiệu số nhiệt đầu
∆tc = t1c – t2c : hiệu số nhiệt độ cuối
2.4.2. Trường hợp chảy ngược chiều
∆t đ −∆ t c ∆ t đ −∆ t c
∆ tlog= = (2.14)
∆ tđ ∆ tđ
2,3lg ln
∆ tc ∆ tc
Hiệu số nhiệt độ nào lớn hơn làm ∆tđ và ngược lại nhỏ hơn làm ∆tc
− Trường hợp 1: t1đ – t2c < t1c – t2đ
∆tđ= t1c – t2đ
∆tc = t1đ – t2c
− Trường hợp 2: t1đ – t2c > t1c – t2đ
∆tđ= t1đ – t2c
∆tc = t1c – t2đ
2.4.3. Trường hợp chảy chéo
∆ t đ −∆t c
∆ tlog=ε ∆ t (2.15)
∆t đ
2,3 lg
∆ tc
Hệ số ε ∆ t phụ thuộc vào tỷ số nhiệt độ của các chất tải nhiệt, theo P và R
t 2 c −t 2 đ
P=
t 1 đ −t 1 c
t 1 đ −t 1 c
R=
t 2 c −t 2 đ
28
Lượng nhiệt lưu thể nóng mất đi giảm từ t 1đ đến t1c đúng bằng lượng nhiệt lưu
thể lạnh tăng lên t2đ đến t2c
Q=G 1 ×C 1 × ( t 1 đ −t 1 c )=G2 ×C 2 ×(t 2đ −t 2 c ) (2.16)
Trong đó:
Q: nhiệt lượng (W)
C1,C2: nhiệt dung riêng của chất lỏng (J/Kg.độ)
G1,G2: lượng chất lỏng nóng, nguội chảy qua bề mặt trao đổi nhiệt (kg/s)
2.4.4.2. Chuyển pha
Q=D × r=G 2 ×C 2 ×(t 2đ −t 2 c ) (2.17)
Q=D 1 × ( I 1−i 1 )=G 2 ×C 2 ×(t 2 c −t 2 đ ) (2.18)
Trong đó:
(I1-i1) = r : nhiệt ngưng tụ
D1,D2: lượng chất tải nhiệt khi truyền nhiệt thay đổi trạng thái (kg/s)
G1,G2: : lượng chất tải nhiệt khi truyền nhiệt không thay đổi trạng thái (kg/s)
C1,C2:Nhiệt dung riêng tương ứng với G1,G2 (J/Kg.độ)
I1,I2: nhiệt hàm của hơi (J/Kg)
i1,i2: nhiệt hàm chất lỏng (J/Kg)
t1,t2: nhiệt độ của 2 chất tải nhiệt (oC)
2.4.5. Xác định hệ số truyền nhiệt K [2]
1
K= (2.19)
1 λi 1
+∑ +
α1 δi α2
Trong đó:
K: hệ số truyền nhiệt (W/m2.độ)
λi: hệ số dẫn nhiệt kim loại (W/m.OC)
δi: bề dày thiết bị truyền nhiệt (m)
2.4.5.1. Tính α1
B1: Giả sử tT1 bằng 1 giá trị bất kỳ [1]
B2: Tính Nu1
Cấp nhiệt trong bình phản ứng cánh khuấy mái chèo
- Tính theo Re
29
2,86.102≤Ref ≤2.58.105
( )
0,14
0,62 0,33 μf
Nu = 0,87 . ℜf . Pr f . (2.20)
μω
20≤Ref ≤ 4000
( )
0,24
2 /3 1 /3 μf
Nu = 0,145 . ℜf . Pr f . (2.21)
μω
Trong đó:
Pr: chuẩn số Prant của dòng tính theo nhiệt độ trung bình của tường, các thông số
khác tính theo nhiệt độ trung bình dòng
μf : độ nhớt của chất lỏng ở bề mặt truyền nhiệt.
μw : độ nhớt của chất lỏng ở nhiệt độ trung bình ttb=(tt+td)
Trong đó:
Pr: chuẩn số Prant của dòng tính theo nhiệt độ trung bình của tường, các thông số
khác tính theo nhiệt độ trung bình dòng
μf : độ nhớt của chất lỏng ở bề mặt truyền nhiệt.
μw : độ nhớt của chất lỏng ở nhiệt độ trung bình ttb=(tt+td)
d: đường kính cánh khuấy (m)
D: Đường kính thiết bị (m)
ρ× n ×d
2
Cp × μ
ℜ= Pr= (2.26)
μ λ
√
3
4 λ h . ρ h . r hh . ( ρf - ρh ) .g
α=0,677. (2.27)
μh .Δt.H
( )
2 1 /3
λ 2
α =b . . Δt (2.28)
υ . σ .T s
[ ( )]
2 /3
3,4. ρh
b=0,075. 1+10. (2.29)
ρf −ρh
Trong đó:
31
Gr.Pr Cs f
≤103 0,450 0
103 −¿ 5.102 1,180 0,125
5.102 −¿2.107 0,540 0,125
>2.107 0,135 0,330
3
Gr.Pr = H T . ( t T −t Ntb ) . ∆
Trong đó:
∆ : hệ số đối với nước
2 −1
∆=¿ g. β N . ρ N .C N . ( ηN . λ N )
Cấp nhiệt từ hơi ngưng tụ ở trong vỏ bọc trơn đến thành thùng khuấy
0,25 0,25
α N =1,15 [ λ N . ρN . ( ρ N −ρ ' N ) . g . r N ] [ ηN (t N −t ' N ) H T ] (2.35)
32
Trong đó:
t N : nhiệt độ ngưng tụ, ℃
ρ N , ρ' N : khối lương riêng của nước ngưng và hơi bão hòa, kg/m3
η N : độ nhớt động lực học của nước ngưng, W/moC
rN: nhiệt hóa hơi của hơi bão hòa, J/kg
g: gia tốc trọng trường, m/s2
t ' N = 0,5(t Ktb +t N ¿
t Ktb : nhiệt độ trung bình của môi trường khuấy
Re= ρ N . v N . d td . η−1
N
Pr=C N . η N . λ−1
N
−1
ε N =1+3,6. dtd . D
Trong đó:
C s : nhiệt dung riêng của chất mang nhiệt (J/kgoC)
ρ N ,: khối lương riêng củachất mang nhiệt (kg/m3)
λ N : độ dẫn nhiệt của chất mang nhiệt (W/moC)
η N : độ nhớt động lực học của nước ngưng (W/moC)
D: đường kính thiết bị (m)
dtd: đường kính tương đương (m)
vN : vận tốc chất lỏng đi trong thiết bị (m/s)
Vận tốc thiết bị đi trong vỏ bọc loại nửa ống xoắn hoặc ống xoắn:
V SN
vN = (2.37)
SN
Trong đó:
S N :diện tích tiết diện chảy, m2
V SN : lưu lượng chất mang nhiệt, m3/s
− Đối với với xoắn
2
SN = 0,25.π.no . do (2.38)
− Đối với vỏ bọc
S N =0,5.r o . [ l 2−l 2 .( 1− A1 ) ] (2.39)
Trong đó:
33
√ ( )
−0,5
Fr N −0,3
0,1
α N =2,5. λ N Q . ρ N . ρ . l 0,35
N . . ( g . ρ'N .σ N ) . d−0,25
td (2.43)
ηN
Trong đó:
Q :lượng nhiệt cần truyền trong một đơn vị thời gian, J/s;
λ N , ρ N , η N , σ N : độ dẫn nhiệt, khối lượng riêng, độ nhớt động lực học và sức căng
bề mặt của nước ngưng
rN: nhiệt ngưng tụ của chất mang nhiệt ở nhiệt độ tN (J/kg);
g: gia tốc trọng trường (m/s2)
34
'
ρ N : khối lượng riêng của hơi bão hòa (kg/m3)
lN: chiều dài của dòng mang nhiệt
với vỏ bọc loại nửa ống xoắn l N =π . ( D+2. S ) . nV
với ống xoắn: l N = π . D x . n x
Ở đây: S: chiều dày thùng khuấy;
nx: số vòng xoắn
dtd: đường kính tương đương
B6: Tính q2
q 2=α 2 ×(t T 2−t 2) (2.44)
B7: So sánh q1 với q2 sai số 5% , nếu sai số lớn hơn 5% thì giả sử lại tT1 và tính lại
|q 1−q 2|
%q= .100
q 1 + q2 (2.45)
2
2.4.6.Tính diện tích bề mặt trao đổi nhiệt
Q=K . F . ∆ tlog (2.46)
Q
¿ ≫ F= (2.47)
K . ∆tlog
2.4.7.Công suất khuấy trộn
N= K N . ρ. n3 . d 3k (2.46)
Trong đó:
N: công suất khuấy trộn, W
KN: chuẩn số công suất
N
K N= 3 5
ρ .n . d k
2.4.8.Chuẩn số Frud: tỉ số giữa lực quán tính và trọng trường
n . d2
Fr = (2.48)
g
Trong đó:
n: vận tốc của cánh khuấy, m/s
g: gia tốc trọng trường, m/s2
d: đường kính thiết bị, m;
2.4.9.Chuẩn số Weber: tỉ số giữa lực quán tính và sức căng bề mặt
2 3
n .ρ.d ck
We= (2.49)
σ
σ : sức căng bề măt chất lỏng được khuấy, N/m
2.4.10. Thời gian đồng đều
35
τ . n=Kn (2.50)
Trong đó: n: số vòng quay cánh khuấy, (vòng/s)
( )
5 /3
D −1/ 3
K τ =6,7 . . Kn (2.51)
dk
2.4.11. Đáy thiết bị
Chiều dày của đáy nón làm việc dưới áp suất trong
( p
S= 2. φ . σ −p .
cp cos α
+C ) D
(2.52)
Trong đó
D: đường kính đáy lớn, m
α : nửa góc đỉnh
Đáy nón chịu áp suất ngoài thì chiều dày đáy nón tăng lên 1,4 lần
Chiều dày đáy khum và đáy elip
( p
S= 2. φ . σ −0,5. p . 4. h +C
cp đ
) D
(2.53)
Trong đó
h đ : chiều cao của đáy, m
D :đường kính đáy, m
Tăng bền cho lỗ
d o =2.
[ ( S−C )
Sv ]
−0,875. √ Dt . ( S−C )−C (m) (2.54)
Trong đó:
Sv = S-C-C’
Dt: đường kính tình toán
D D2
Với hình trụ Dt = D, với đáy nón Dt = , với đáy khum hoặc elip Dt =
cos α 2.h d
2.4.12. Nắp thiết bị
[ σ]
.φ h (2.55)
p
[ σ ]: ứng suất cho phép khi kéo, N/mm2
φ h: hệ số bền mối hàn
p: ấp suất tính toán trong thiết bị
[σ ]
Nếu 4,5 ≤ φ ≤25
p h
' p. R t
S= (2.56)
2. [ σ ] . φ h -p
36
[σ]
Nếu φ ≥ 25
p h
p . Dt
S' = (2.57)
2. [ σ ] . φ h
Rt: bán kính cong bên trong của đỉnh, mm
Nếu nắp phẳng
S=
k .D
ko
.
√p
σ cp
+C (2.58)
Trong đó
D: đường kính nắp, m
C: lượng dư kể tới ăn mòn và sia lệch do chế tạo
p: áp suất tính toán, lấy bằng áp suất làm việc, N/m2
σ cp: ứng suất cho phép của vật liệu, N/m2
2.4.13.Thông số kết cấu
a. Độ gọn thiết bị
F
g= (2.59)
V
b. Suất tiêu hao kim loại
G
b= (2.60)
F
2.4.14. Bích và đệm nối bít kín thiết bị
‒ Chọn loại bích liền không cổ bằng thép CT3
‒ Theo ([4], Bảng XIII.27/417), cho kiểu bích liền bằng thép CT3 (Kiểu I) với thiết bị
đáy nắp
‒ Theo ([4], Bảng XIII.31/433), tương ứng với ([4], Bảng XIII.27/417).
2.4.15. Tai treo Chân đỡ
Thiết bị làm bằng thép thép không rỉ (X18H10T), có khối lượng riêng ρ = 7.9 × 103
(kg/m3 )
a. Khối lượng của nắp và đáy.
‒ Ta có khối lượng của đáy và nắp là như nhau.
‒ Tra ([4], Bảng XIII.11/384)có khối lượng của đáy và nắp là như nhau.
b. Khối lượng thân thiết bị
π. D2n π. D2t
m 1 =( - ).H.ρ (2. 61 )
4 4
Trong đó:
Dn: đường kính ngoài thiết bị(m)
37
m2=n . ( 4
−
4 )
π . D2b π . D 2t '
. H . ρL (2. 62 )
MATLAB. Có 2 cách khởi động giao diện: nhấn vào biểu tượng hoặc chuột
phải Open.
38
Bước 2: Sau khi khởi động xong, giao diện MATLAB hiện ra như hình ảnh phía
dưới đây
Hình 3. 2 Giao diện của phần mềm MATLAB sau khi khởi động
Bước 3: Gõ chữ appdesigner vào khung command window. Lưu ý chỉ có thể đánh
“appdesigner” không thể đánh cách khác vì MATLAB quy định chữ viết thường và
39
Bước 4: MATLAB sẽ thực thi lệnh mở cửa sổ của appdesigner. Sau khi khởi động
xong, sẽ thấy có cửa sổ appdesigner hiện lên trên màn hình.
40
41
‒ New : mở thêm file AppDesigner (.mlapp). Lưu ý đối với AppDesigner mở file
không thể di chuyển Tab, không tách thành 2 cửa sổ được trừ khi mở thêm một cửa sổ
MATLAB nữa
‒ Open : cho phép mở tệp tin gần đây để xem hoặc chỉnh sửa
‒ Save : có 3 chế độ là Save (lưu tệp tin đang mở) , Save As (lưu với một tên
khác đè lên tên file cũ, file mới hiện lên, file cũ đóng) và Save Copy As ( giữ nguyên
file cũ, sau khi đổi tên file mới, file mới sẽ nằm trong thư mục)
‒ Run : chạy và kiểm tra chương trình đã viết, có 2 chế độ chạy: 1 là chạy hết
toàn bộ chương trình, 2 là chạy đến điều kiện đầu vào đã đưa ra.
b. Tab Canvas
‒ Align : canh chỉnh lề cho các chi tiết đã chọn gồm có canh trái , canh
giữa , canh phải , canh thẳng hàng ở phía trên chi tiết , canh thẳng hàng dựa
vào trung điểm của các chi tiết theo chiều ngang , canh thẳng hàng ở phía dưới chi
tiết .
‒ Same size (Arrange) : Sắp xếp các đối tượng có cùng kích cỡ với nhau, có 3
chế độ sắp xếp: theo chiều rộng và chiều cao giữa 2 chi tiết, theo chiều cao của chi tiết,
theo chiều rộng của chi tiết.
‒ Grouping (Arrange) : Nhóm các chi tiết với nhau, phím tắt Ctrl + G, có thể
thêm chi tiết mới vào group bằng Add to Group hoặc bỏ chi tiết ra khỏi group bằng
Remove from Group. Hủy không tạo group giữa các chi tiết với nhau Ungroup (Ctrl +
Shift + G).
42
‒ Space : chỉnh khoảng cách giữa tiêu đề chi tiết với chi tiết, có thể áp dụng
cho hàng ngang (Apply Horizontally) hoặc hàng dọc(Apply Vertically).
‒ View : xem chế độ dạng lưới (tick vào ô Show Grid) hoặc không xem
(bỏ tick vảo ô Show Grid), xem trợ giúp về canh chỉnh (Show alignment hints), xem
trợ giúp về chỉnh kích cỡ giao diện (Show resizing hints)
‒ Run : chạy và kiểm tra chương trình đã viết, có 2 chế độ chạy: 1 là chạy hết
toàn bộ chương trình, 2 là chạy đến điều kiện đầu vào đã đưa ra.
43
1. Phần tìm kiếm mã code: cho phép tìm kiếm các câu lệnh đã viết trong ứng dụng
bao gồm các Callbacks, Functions và Properties.
‒ Các callbacks là phần mã code viết cho các chi tiết (thường là các chi tiết lớn như
Button Pushed)
‒ Functions là các hàm thực hiện có trong ứng dụng, có 2 kiểu Functions: riêng tư
(Private) và công cộng (Public).
+ Chế độ riêng tư (Private): chia sẻ các functions sử dụng chỉ trong nội bộ app
+ Chế độ công cộng (Public): chia sẻ các functions sử dụng từ app này sang app
khác (hay nói cách khác là bên ngoài app)
‒ Properties là các giá trị sử dụng trong app, có 2 kiểu Properties: riêng tư (Private) và
công cộng (Public).
+ Chế độ riêng tư (Private): chia sẻ các properties sử dụng chỉ trong nội bộ app.
+ Chế độ công cộng (Public): chia sẻ các properties sử dụng từ app này sang app
khác (hay nói cách khác là bên ngoài app)
2. Phần cho phép nhìn thấy bố cục ứng dụng: cho phép người thiết kế vừa thiết kế
vừa theo dõi bố cục app đã viết mà không cần phải bấm về chế độ Design view.
3. Phần tìm kiếm chi tiết: Tìm kiếm các code tương ứng với các chi tiết, chèn các
code của chi tiết vào khi viết chương trình
4. Phần thuộc tính của chi tiết: thể hiện các thuộc tính đặc trưng của chi tiết như
phông chữ, tương tác với chi tiết, vị trí trong giao diện…
Hình 3.9 Các thành phần trong giao diện viết phương trình
44
‒ Ở cửa sổ này cũng có 2 tab giống nhau phần thiết kế giao diện cho ứng dụng
gồm Designer và Editor.
a. Tab Designer
‒ New : mở thêm file AppDesigner (.mlapp). Lưu ý đối với AppDesigner mở file
không thể di chuyển Tab, không tách thành 2 cửa sổ được trừ khi mở thêm một cửa sổ
MATLAB nữa
‒ Open : cho phép mở tệp tin gần đây để xem hoặc chỉnh sửa
‒ Save : có 3 chế độ là Save (lưu tệp tin đang mở) , Save As (lưu với một tên
khác đè lên tên file cũ, file mới hiện lên, file cũ đóng) và Save Copy As ( giữ nguyên
file cũ, sau khi đổi tên file mới, file mới sẽ nằm trong thư mục)
‒ Run : chạy và kiểm tra chương trình đã viết, có 2 chế độ chạy: 1 là chạy hết
toàn bộ chương trình, 2 là chạy đến điều kiện đầu vào đã đưa ra.
b. Tab Editor
‒ Save : có 3 chế độ là Save (lưu tệp tin đang mở) , Save As (lưu với một tên
khác đè lên tên file cũ, file mới hiện lên, file cũ đóng) và Save Copy As ( giữ nguyên
file cũ, sau khi đổi tên file mới, file mới sẽ nằm trong thư mục).
45
‒ Function (Insert) : chèn thêm function vào trong ứng dụng, tùy chọn dạng
chèn private hoặc public.
‒ Property (Insert) : chèn thêm properties vào trong ứng dụng, tùy chọn dạng
chèn private hoặc public.
‒ Go to (Navigate) : điều hướng con trỏ tới vị trí dòng cần tìm + Go to
(Navigate) : điều hướng con trỏ tới code cần tìm.
‒ Comment (Edit) : lệnh comment cho phép người dùng ghi chú mà
không bị ảnh hưởng đến các lệnh thực thi của chương trình, lệnh xóa comment cho
phép người dùng ngưng thao tác lệnh comment.
‒ Indent (Edit) :canh chỉnh tất cả câu lệnh có trong app và theo các tầng
(class) của nó , canh chỉnh 1 dòng câu lệnh về phía bên phải , canh chỉnh 1 dòng câu
lệnh về phía bên trái
‒ : cho phép hiển thị những cảnh báo khi sai câu lệnh
3.2. Thiết kế dao diện
Kéo và thả chi tiết Tab Group vào trong cửa sổ thiết kế. Đồng thời kéo Label vào
trong cửa sổ. Thực hiện các thay đổi sau:
‒ Tab → Tính cơ cấu thiết bị
‒ Tab 2 → Tính diện tích bề mặt truyền nhiệt
‒ Tab 3 → Tính bích nối
‒ Tab 4 → Tính đáy nắp
‒ Tab 5 → Tính tai treo chân đỡ
3.2.1. Tab tính cơ cấu thiết bị
Kéo và thả 2 Panel vào trong cửa sổ thiết kế. Đồng thời kéo và thả thêm 5 Drop
Down và 14 Edit Field vào trong 1 Panel. Panel thứ 2 thêm vào2 Edit Field và 5 Edit
Field. Thực hiện các thay đổi sau:
3.2.1.1. Đối với Panel 1
‒ Đổi tên Panel → Thông số nhập liệu
‒ Vào Penel Properties → Backround Color → Đổi màu cho Panel
‒ Đổi tên Edit Field → Nhiệt độ dòng nóng vào
‒ Đổi tên Edit Field 1 → Nhiệt độ dòng nóng ra
46
+ Option 6 → CacbondiSunfide
+ Option 7 → Trichchloroethylene
+ Option 8→ Dichloroethane
+ Option 9 → AcetalDehyde
+ Option 10→ Acid Acetic
+ Option 11 → Acetamide
+ Option 12 → Ethylene Glycol
47
+ Option 13 → PropionicAcid
‒ Thay đổi các Option trong Drop Down 4 như sau:
+ Option 1→ Dòng nóng trong thiết bị
+ Option 2 → Dòng nóng ngoài thiết bị
‒ Thay đổi các Option trong Drop Down 5 như sau:
+ Option 1→ H2O
+ Option 2 → Dầu máy biến áp
+ Option 3→ Hơi bão hòa
48
‒ Sắp xếp các đối tượng cho logic và thao tác dễ dàng với người sử dụng. Kết quả
nào trước để trước, kết quả có sau để sau.
‒ Kéo kích cỡ cửa sổ lại vừa vặn với các đối tượng cũng như dễ dàng khi mở lên.
‒ Dùng Align > Canh thẳng hàng để chỉnh các nút Button nằm thẳng hàng với nhau
Hình 3. 13 Giao diện tính diện tích bề mặt trao đổi nhiệt
50
51
52
S_n=(app.ptt/(2*app.hsb*app.us-app.ptt))*(app.Dtrtr/cos(app.emphaC_d))+app.C
% tang ben cho lo
d0=2*((app.S_t/(app.S_t-app.C))-0.875*(sqrt((app.Dtrtr*(app.S_t-
app.C)))))
% tinh day than
if strcmp(app.CD.Value,'Đáy khum')
app.Sd=app.Dtrtr*(sqrt((app.ptt*0.25)/app.us))
app.Fd=pi*(app.Dtrtr^2/2)
elseif strcmp(app.CD.Value,'Đáy nón')
app.Sd=(app.ptt/(2*app.hsb*app.us-app.ptt))*(app.Dtrtr/cos(app.emphaC_d))
+app.C
app.Fd=pi*(app.Dtrtr^2/2)*sqrt((app.Dtrtr^2/2)^2+(app.hd)^2)
elseif strcmp(app.CD.Value,'Đáy cầu')
app.Sd=(app.ptt/((2*app.hsb*app.us)-
(0.5*app.ptt)))*(app.Dtrtr/(4*app.hd))+app.C
app.Fd=2*pi*(app.Dtrtr2/2)
end
53
% tinh day vo
if strcmp(app.CD.Value,'Đáy khum')
app.Sdn=app.Dtrtr*(sqrt((app.p_ng*0.25)/app.us))
elseif strcmp(app.CD.Value,'Đáy nón')
app.Sdn=(app.ptt/(2*app.hsb*app.us-app.p_ng))*(app.Dtrtr/cos(app.emphaC_d))
+app.C
elseif strcmp(app.CD.Value,'Đáy cầu')
app.Sdn=(app.ptt/((2*app.hsb*app.us)-
(0.5*app.p_ng)))*(app.Dtrtr/(4*app.hd))+app.C
end
% hien thi ket qua
app.sn.Value=S_n;
app.sd.Value=app.Sd;
app.s_dn.Value=app.Sdn;
3.4. Viết callbacks cho nút mặt bích
Dtb_new=ceil(app.Dtrtr)
Dtb_mb=Dtb_new*10^3
v_P = [0.1 0.3 0.6 1 1.6 2.5 4 6.4]
vidx = find((app.p )< v_P,1,'first')
if ~isempty(vidx)
P2 = v_P(vidx)
end
t5=readtable('Bangsolieu.xlsx','sheet',2)
k = 1
for i = 1:size(t5,1)
if (t5{i,1} == (P2)) && (t5{i,2} == Dtb_mb)
ketqua =table2array(t5(i,:))
app.h1 = table2array(t5(i,9))
Z=table2array(t5(i,8))
app.D_bich1 =table2array(t5(i,3))
app.d_b=table2array(t5(i,4))
k = k+1
end
end
app.h.Value=app.h1;
app.db.Value=app.D_bich1;
app.D_b.Value=app.d_b;
app.z.Value=Z;
3.5. Viết callbacks cho nút tai treo chân đỡ
%khoi gluong than thiet bi
ro_thep=7900;
54
m1=(((pi*(app.Dngtr^2))/4)-((pi*(app.Dtrtr)^2)))*app.H*ro_thep
m2=((pi*((app.Dngng)^2)/4)-(pi*((app.Dtrng)^2)))*app.H*ro_thep
m3=app.Fd*(app.Sd*10^-3)*ro_thep
m4=app.Fd*(app.Sdn*10^-3)*ro_thep
%m5=(pi*(app.h1*(10^-3))*ro_thep*((((app.D_bich1*(10^-3))^2)-
((app.d_b*(10^-3)))^2))/4)
m5=(((pi*(app.D_bich1*(10^-3))^2)/4)-((pi*(app.d_b*(10^-3))^2)/4))*app.h1*ro_
thep
m6=app.Gnl
m=m1+m2+m3+m4+m5+m6
G=10*m
j = 4
ptb = k_new +j
G2 = G/ptb
v1 = sort(T9(:,1))
vidx1 = find(v1 >= G2,1,'first')
if ~isempty(vidx1)
L1 = T9(T9(:,1) == v1(vidx1),:)
V1_table = array2table(L1)
end
sotaitreo=j
while G2 > 80000
j = j+4
ptb = k_new+j
G2 = G/ptb
v1 = sort(T9(:,1))
vidx1 = find( v1 >=G2,1,'first')
if ~isempty(vidx1)
L1 = T9(T9(:,1) == v1(vidx1),:)
end
sotaitreo=j
end
end
3.6. Mô phỏng thiết bị nồi hai vỏ
3.6.1. Mô phỏng đáy nắp thiết bị
Bước 1: Chọn mặt phẳng bằng Front Plane để vẽ thiết bị, nhấp chọn biểu tượng
Circle trên thanh Sketch hoặc nhấn phím tắt C trên bàn phím rồi Enter.
Bước 2: Chọn tâm đường tròn.
Bước 3: Thay đổi đường kính tại bảng Parameters. Tại nhập giá trị bán kính
1000 sau đó nhấn Enter kết thúc.
Bước 3: Nhấn chọn biếu tượng tạo vòm khối 3D và chọn chiều cao là
600mm, nhấn Enter để kết thúc lệnh.
Bước 4: Chọn mặt phẳng Top Plane, vào Sket chọn vẽ đường tròn nhập bán kính
90 nhấn Enter để kết thúc lệnh.
Bước 5: Vào Feature chọn lệnh tạo khối đùn 3D nhập khoảng cách cần đùn
50mm, nhán Enter để kết thúc lệnh.
56
Bước 1: Chọn mặt phẳng bằng Front Plane để vẽ thiết bị, nhấp chọn biểu tượng Circle
trên thanh Sketch hoặc nhấn phím tắt C trên bàn phím rồi Enter.
Bước 2: Vào Feature chọn lệnh tạo khối đùn 3D nhập khoảng cách cần đùn
1500mm, nhán Enter để kết thúc lệnh.
Bước 3: Vào Feature chọn lệnh làm rỗng thân thiết bị nhập khoảng cách
1500mm , nhấn Enter để kết thúc lệnh.
Bước 4: Chọn mặt phẳng bằng Top Plane, tại mặt phẳng sử dụng lệnh để vẽ vỏ
bọc bên ngoài thiết bị. Sau đó Vào Feature chọn lệnh tạo khối đùn 3D nhập,
nhán Enter để kết thúc lệnh.
Bước 5: Chọn mặt phẳng bằng Top Plane, tại mặt phẳng sử dụng lệnh để vẽ chân
thiết bị. Lưu ý vẽ các nét liền không tạo khoảng trống. Sau đó Vào Feature chọn lệnh
57
Bước 6: Chọn mặt phẳng bằng Front Plane, tại đây sử dụng lệnh để vẽ đáy thiết
bị trên mặt phẳng 2D. Lưu ý vẽ các nét liền không tạo khoảng trống. Sau đó Vào
Feature chọn lệnh tạo khối đùn 3D nhập, nhán Enter để kết thúc lệnh.
Bước 7: Chọn mặt phẳng Top Plane, vào Sket chọn vẽ đường tròn nhập bán kính
70 nhấn Enter để kết thúc lệnh.
Bước 8: Vào Feature chọn lệnh tạo khối đùn 3D nhập khoảng cách cần đùn
900mm, nhán Enter để kết thúc lệnh.
Bước 9: Chọn mặt phẳng Top Plane, vào Sket chọn vẽ đường tròn nhập bán kính
950mm nhấn Enter để kết thúc lệnh.
Bước 10: Vào Feature chọn lệnh tạo khối đùn 3D nhập khoảng cách cần đùn
50mm, nhán Enter để kết thúc lệnh.
Bước 11: Vào Evaluate chọn lệnh vát cạnh khối vừa đùn.
58
Bước 1: Chọn mặt phẳng bằng Front Plane để vẽ thiết bị, nhấp chọn biểu tượng
vẽ ống dẫn, tiếp theo sử dụng lệnh đẻ vẽ đường cong.
Bước 2: Vào Feature chọn lệnh tạo khối đùn 3D nhập khoảng cách cần đùn
50mm, nhấn Enter để kết thúc lệnh.
Bước 1: Chọn mặt phẳng bằng Front Plane để vẽ, nhấp chọn biểu tượng Circle trên
thanh Sketch hoặc nhấn phím tắt C trên bàn phím rồi Enter.
Bước 2: Vào Feature chọn lệnh tạo khối đùn 3D nhập khoảng cách cần đùn
1000mm, nhấn Enter để kết thúc lệnh.
Bước 3: Chọn mặt phẳng bằng Front Plane, sử dụng lệnh Line vẽ hình cánh
khuấy (Cánh khuấy turbin).
Bước 4: Vào Feature chọn lệnh tạo khối đùn 3D nhập khoảng cách cần đùn
90mm, nhấn Enter để kết thúc lệnh.
Bước 5: Tại đầu còn lại của trục khuấy, chọn mặt phẳng Front Plane, nhấp chọn biểu
tượng Circle trên thanh Sketch nhập bán kính 120mm, nhấn Enter để kết thúc lệnh.
Bước 6: Vào Feature chọn lệnh tạo khối đùn 3D nhập khoảng cách cần đùn
160mm, nhấn Enter để kết thúc lệnh.
60
61
Số tai treo n 0 0%
Số chân đỡ n 8 0%
62
KẾT LUẬN
Quá trình thực hiện khóa luận tốt nghiệp với đề tài “MÔ PHỎNG TÍNH TOÁN
THIẾT KẾ THIẾT BỊ TRAO ĐỔI NHIỆT NỒI HAI VỎ” đã thực hiện đúng các
mục tiêu nêu ra.
‒ Tìm hiểu về quá trình truyền nhiệt, các loại thiết bị truyền nhiệt, các phần
mềm được áp dụng trong bài học như phần mềm tính toán MATLAB, phần mềm
xây dựng chương trình AppDesigner, phần mềm mô phỏng thiết bị trao đổi nhiệt
nồi hai vỏ SolidWorks.
‒ Tổng hợp các công thức truyền nhiệt và tính toán cơ khí của tính toán thiết bị
trao đổi nhiệt nồi hai vỏ. Đồng thời nêu ra được sơ đồ tính toán chung được áp
dụng.
‒ Mô phỏng được tính toán thiết bị trao đổi nhiệt nồi hai vỏ bằng phần mềm
AppDesigner gồm có 2 nội dung: thiết kế giao diện và lập trình các đối tượng.
Chương trình cho phép tính toán thiết bị trao đổi nhiệt nồi hai vỏ 16 loại lưu chất
khác nhau. Cuối cùng, thực hiện mô phỏng được thiết bị trao đổi nhiệt nồi hai vỏ
trong môi trường SolidWorks.
Tuy nhiên bên cạnh đó đề tài còn có một số hạn chế cần phải được thực hiện
thêm vào và chỉnh sửa để có một phần mềm tốt hơn.
‒ Chưa kết hợp được các giao diện tính toán thành một giao diện duy nhất
‒ Chỉ thiết kế cho trường hợp thiết bị vỏ bọc trơn, còn những trường hợp khác
vẫn chưa hoàn thiện được.
63
64
app.t1d=app.t1v.Value;
app.t1c=app.t1r.Value;
app.t2d=app.t2v.Value;
app.t2c=app.t2r.Value;
app.p=app.P_lv.Value;
app.t=app.T.Value;
app.Gnl=app.g_nl.Value;
Dk_x=app.dx.Value;
Lx=app.lx.Value;
if strcmp(app.TTB.Value,'H2O')
app.ts=100;
65
ro_nuoc=[1000 1000 998 996 992 988 983 978 972 965 958 951 943 935 926
917 907 897 887]; %kg/m3
Cp_nuoc=[4.23 4.19 4.19 4.18 4.18 4.18 4.18 4.19 4.19 4.19 4.23 4.23
4.23 4.27 4.27 4.32 4.36 4.4 4.44]; %kJ/kg.do
lamda_nuoc=[55.1 57.5 59.9 61.8 63.4 64.8 65.9 66.8 67.5 68 68.3 68.5
68.6 68.6 68.5 68.4 68.3 67.9 67.5]; %W/m.do
miu_nuoc=[1790 1310 1000 804 657 549 470 406 355 315 282 256 231 212 196
185 174 163 153]; %Pa.S
B_nuoc=[-0.63 0.7 1.82 3.21 3.87 4.49 5.11 5.70 6.32 6.95 7.5 8 8.6 9.2
9.7 10.3 10.8 11.5 12.2]; %1/K
pr_nuoc=[13.7 9.25 7.02 5.42 4.31 3.54 2.98 2.55 2.21 1.95 1.75 1.58
1.43 1.32 1.23 1.17 1.1 1.05 1.01];
rhh_nuoc=[2493.1 2470.4 2448.2 2425.6 2403 2380 2356.9 2333 2310 2285
2260 2234 2207 2179 2150 2120 2089 2056 2021]; %kJ/kg
p1=interp1(t_nuoc,p_nuoc,ttb1);
app.ro1=interp1(t_nuoc,ro_nuoc,ttb1);
app.Cp1=interp1(t_nuoc,Cp_nuoc,ttb1)*1000; %J/kg.do
app.lamda1=interp1(t_nuoc,lamda_nuoc,ttb1)*10^(-2);%W/m.do
app.miu1=interp1(t_nuoc,miu_nuoc,ttb1)*10^(-6);%N.s/m2
app.B1=interp1(t_nuoc,B_nuoc,ttb1)*10^(-4);%1/do
pr1=interp1(t_nuoc,pr_nuoc,ttb1);
app.rhh1=interp1(t_nuoc,rhh_nuoc,ttb1);%J/kg
app.o1=132.67*(1-((ttb1+273)/647.13))^0.955;
Methanol
elseif strcmp(app.TTB.Value,'Methanol')
app.ts=64.7;
66
app.ro1=(0.272*0.2719^(-(1-((ttb1+273)/512.58))^0.23))*1000;
app.Cp1=(40.152+0.31*(ttb1+273)+((-1.03)*10^-
3)*((ttb1+273)^2)+(1.46*10^-6)*(ttb1+273)^3)/32;
app.miu1=(10^(-9.0562+((1.2542*10^3)/(ttb1+273))+(2.2383*10^-
2)*(ttb1+273)+(-2.3538*10^-5)*(ttb1+273)^2))*10^-3;
app.rhh1=(52.723*(1-(ttb1+273)/512.58)^0.377)*(1000/32);
app.lamda1=10^(-1.1793+0.6191*(1-(ttb1+273)/512.58)^(2/7));
app.o1=68.329*(1-((ttb1+273)/512.58))^1.2222;
Acetone
elseif strcmp(app.TTB.Value,'Acetone')
app.ts=56;
app.ro1=(0.2773*0.2576^(-(1-((ttb1+273)/508.2))^0.3))*1000;
app.Cp1=(46.878+0.627*(ttb1+273)+((-2.08)*10^-
3)*((ttb1+273)^2)+(2.96*10^-6)*(ttb1+273)^3)/58;
app.miu1=(10^(-7.2126+((9.0305*10^2)/(ttb1+273))+(1.8385*10^-
2)*(ttb1+273)+(-2.0353*10^-5)*(ttb1+273)^2))*10^-3;
app.rhh1=(49.244*(1-(ttb1+273)/508.2)^0.481)*(1000/58);
app.lamda1=10^(-1.3857+0.7643*(1-(ttb1+273)/508.2)^(2/7));
app.o1=62.2*(1-((ttb1+273)/508.2))^1.222;
Ethanol
elseif strcmp(app.TTB.Value,'Etanol')
app.ts=78.37;
app.ro1=(0.2657*0.264^((1-((ttb1+273)/516.25))^0.24))*1000;
app.Cp1=(59.342+0.364*(ttb1+273)+((-1.22)*10^-
3)*((ttb1+273)^2)+(1.8*10^-6)*(ttb1+273)^3)/46;
67
app.miu1=(10^(-5.0177+((8.7365*10^2)/(ttb1+273))+(1.0302*10^-
2)*(ttb1+273)+(-1.0883*10^-5)*(ttb1+273)^2))*10^-3;
app.rhh1=(43.122*(1-(ttb1+273)/516.25)^0.079)*(1000/46);
app.lamda1=10^(-1.3172+0.6987*(1-(ttb1+273)/516.25)^(2/7));
app.o1=67.036*(1-(ttb1+273)/400)^1.2286;
NaCl
elseif strcmp(app.TTB.Value,'NaCl')
app.ts=465;
app.Cp1=26.445+0.0830*ttb1-(8.5459*10^(-5)*(ttb1+273)^2)+6.2288*(10^(-
8))*(ttb1+273)^3-1.6304*(10^-11)*((ttb1+273)^4);
app.ro1=(0.27127*0.10591*(-1-((ttb1+273)/3400))^0.37527)*1000;
app.miu1=(10^(-0.9169+((1.0789*10^3)/(273+ttb1))-(7.6231*10^(-
5))*(ttb1+273)-(7.62321*(10^-5)*(ttb1+273)^2)))*10^-3;
app.rhh1=(170.710*(1-(ttb1+273)/3400)^0.380)*(1000/58.5);
app.lamda1=51.6119-0.029610*(ttb1+273)+4.7053*(10^-4)*(ttb1+273);
app.o1=201*(1-((ttb1+273)/3400))^1.4978;
app.ro1=(0.5661*0.2766^(-(1-((ttb1+273)/556.35))^0.29))*1000
appCp1=(9.671+0.934*(ttb1+273)+((-2.68)*10^-3)*((ttb1+273)^2)+(3.04*10^-
6)*(ttb1+273)^3)/154
app.miu1=(10^(-6.4564+((1.0379*10^3)/(ttb1+273))+(1.4021*10^-
2)*(ttb1+273)+(-1.4107*10^-5)*(ttb1+273)^2))*10^-3
app.rhh1=(37.890*(1-(ttb1+273)/556.35)^0.241)*(1000/154)
app.lamda1=10^(-1.8791+1.0875*(1-(ttb1+273)/556.35)^(2/7))
68
app.o1=66.75*(1-((ttb1+273)/556.35))^1.214
Cacbondisunfide
elseif strcmp(app.TTB.Value,'CacbondiSunfide')
app.ro1=(0.4759*0.2875^(-(1-((ttb1+273)/552))^0.32))*1000
app.Cp1=(39.938+0.236*(ttb1+273)+((-7.21)*10^-
4)*((ttb1+273)^2)+(1.04*10^-6)*(ttb1+273)^3)/76
app.miu1=(10^(-9.1108+((1.1216*10^3)/(ttb1+273))+(2.3216*10^-
2)*(ttb1+273)+(-2.2648*10^-5)*(ttb1+273)^2))*10^-3
app.rhh1=(34.997*(1-(ttb1+273)/552)^0.299)*(1000/76)
app.lamda1=10^(-1.2917+0.5809*(1-(ttb1+273)/552)^(2/7))
app.o1=79.59*(1-((ttb1+273)/552))^1.1909
Trichloroethylene
elseif strcmp(app.TTB.Value,'trichloroethylene')
app.ro1=(0.5042*0.2695^(-(1-((ttb1+273)/571))^0.29))*1000
app.Cp1=(59.916+0.473*(ttb1+273)+((-1.40)*10^-
3)*((ttb1+273)^2)+(1.84*10^-6)*(ttb1+273)^3)/131.5
app.miu1=(10^(-5.5389+((7.8313*10^2)/(ttb1+273))+(1.2849*10^-
2)*(ttb1+273)+(-1.3292*10^-5)*(ttb1+273)^2))*10^-3
app.rhh1=(46.915*(1-(ttb1+273)/571)^0.396)*(1000/131.5)
app.lamda1=10^(-2.1042+1.4428*(1-(ttb1+273)/571)^(2/7))
app.o1=72.517*((1-((ttb1+273)/571))^1.2537)
Dichloethane
elseif strcmp(app.TTB.Value,'Dichloethane')
app.ro1=(0.4123*0.2653^(-(1-((ttb1+273)/523))^0.29))*1000
69
app.Cp1=(57.325+0.56*(ttb1+273)+((-1.81)*10^-
3)*((ttb1+273)^2)+(2.56*10^-6)*(ttb1+273)^3)/99
app.miu1=(10^(-3.8388+((5.9046*10^2)/(ttb1+273))+(8.0953*10^-
3)*(ttb1+273)+(-9.9210*10^-6)*(ttb1+273)^2))*10^-3
app.rhh1=(42.180*(1-(ttb1+273)/523)^0.367)*(1000/99)
app.lamda1=10^(-1.7265+0.993*(1-(ttb1+273)/523)^(2/7))
app.o1=72.11*((1-((ttb1+273)/523))^1.253)
Acetal Dehyde
elseif strcmp(app.TTB.Value,'AcetalDehyde')
app.ro1=(0.2821*0.26^(-(1-((ttb1+273)/461))^0.28))*1000
app.Cp1=(45.056+0.449*(ttb1+273)+((-1.66)*10^-
3)*((ttb1+273)^2)+(2.70*10^-6)*(ttb1+273)^3)/44
app.miu1=(10^(-6.6171+((6.8123*10^2)/(ttb1+273))+(1.9979*10^-
2)*(ttb1+273)+(-2.5563*10^-5)*(ttb1+273)^2))*10^-3
app.rhh1=(44.950*(1-(ttb1+273)/461)^0.594)*(1000/44)
app.lamda1=10^(-1.4826+0.9821*(1-(ttb1+273)/461)^(2/7))
app.o1=67.66*((1-((ttb1+273)/461))^1.194)
Acid Acetic
app.ro1=(0.3518*0.2695^(-(1-((ttb1+273)/592.71))^0.27))*1000
app.Cp1=(-18.944+1.1*(ttb1+273)+((-2.89)*10^-
3)*((ttb1+273)^2)+(2.93*10^-6)*(ttb1+273)^3)/60
app.miu1=(10^(-3.8937+((7.8482*10^2)/(ttb1+273))+(6.6650*10^-
3)*(ttb1+273)+(-7.5606*10^-6)*(ttb1+273)^2))*10^-3
app.rhh1=(11.575*(1-(ttb1+273)/592.71)^-0.650)*(1000/60)
70
app.lamda1=10^(-1.2836+0.5893*(1-(ttb1+273)/592.71)^(2/7))
app.o1=57.05*((1-((ttb1+273)/592.71))^1.0703)
Acetamide
elseif strcmp(app.TTB.Value,'Acetamide')
app.ro1=(0.2813*0.2191^(-(1-((ttb1+273)/761))^0.29))*1000
app.Cp1=(-42.231+1.13*(ttb1+273)+((-2.37)*10^-
3)*((ttb1+273)^2)+(1.92*10^-6)*(ttb1+273)^3)/59
app.miu1=(10^(-15.0576+((3.0478*10^3)/(ttb1+273))+(2.4646*10^-
2)*(ttb1+273)+(-1.5506*10^-5)*(ttb1+273)^2))*10^-3
app.rhh1=(67.370*(1-(ttb1+273)/761)^0.183)*(1000/59)
app.lamda1=10^(-2.1785+1.9059*(1-(ttb1+273)/761)^(2/7))
app.o1=90.94*((1-((ttb1+273)/761))^1.314)
Ethylene Glycol
elseif strcmp(app.TTB.Value,'EthyleneGlycol')
app.ro1=(0.325*0.255^(-(1-((ttb1+273)/645))^0.17))*1000
app.Cp1=(75.878+0.642*(ttb1+273)+((-1.65)*10^-
3)*((ttb1+273)^2)+(1.69*10^-6)*(ttb1+273)^3)/62
app.miu1=(10^(-16.9728+((3.1886*10^3)/(ttb1+273))+(3.2537*10^-
2)*(ttb1+273)+(-2.4480*10^-5)*(ttb1+273)^2))*10^-3
app.rhh1=(88.2*(1-(ttb1+273)/645)^0.397)*(1000/62)
app.lamda1=10^(-0.5918+0*(1-(ttb1+273)/645)^(2/7))
app.o1=106.49*((1-((ttb1+273)/645))^1.2222)
Propionic Acid
app.ro1=(0.3228*0.2592^(-(1-((ttb1+273)/604))^0.28))*1000
71
app.Cp1=(29.869+0.946*(ttb1+273)+((-2.56)*10^-
3)*((ttb1+273)^2)+(2.78*10^-6)*(ttb1+273)^3)/74
app.miu1=(10^(-5.0177+((8.7365*10^2)/(ttb1+273))+(1.0302*10^-
2)*(ttb1+273)+(-1.0883*10^-5)*(ttb1+273)^2))*10^-3
app.rhh1=(41.271*(1-(ttb1+273)/604)^0.241)*(1000/74)
app.lamda1=10^(-1.2207+0.4764*(1-(ttb1+273)/604)^(2/7))
app.o1=58.465*((1-((ttb1+273)/604))^1.1793)
t_hoinuoc=[100 110 120 130 140 150 160 170 180 190 200 210 220 230 240
250 260 270 280 290 300 310 320 330 340 350 360 370]; %oC
ro_hoinuoc=[0.598 0.826 1.121 1.496 1.966 2.547 3.258 4.122 5.157 6.394
7.862 9.588 11.62 13.99 16.76 19.98 23.72 28.09 33.19 39.15 46.21 54.58
64.72 77.10 92.76 113.6 144 203]; %kg/m3
Cp_hoinuoc=[0.510 0.520 0.527 0.539 0.553 0.572 0.592 0.617 0.647 0.682
0.722 0.764 0.814 0.868 0.927 0.993 1.067 1.15 1.25 1.36 1.5 1.7 1.96
2.36 2.95 3.88 5.5 13.5]; %
lamda_hoinuoc=[2.04 2.14 2.23 2.31 2.4 2.48 2.59 2.69 2.81 2.94 3.05 3.2
3.35 3.52 3.69 3.88 4.13 4.39 4.72 5.01 5.39 5.88 6.46 7.10 8 9.2 11.0
14.7]; %kcal/m.h.do
miu_hoinuoc=[1.22 1.27 1.31 1.35 1.38 1.42 1.46 1.5 1.54 1.59 1.63 1.67
1.72 1.77 1.81 1.86 1.92 1.97 2.03 2.1 2.17 2.24 2.33 2.44 2.57 2.71
2.97 3.44]; %kg.s/m2
pr_hoinuoc=[1.08 1.09 1.09 1.11 1.12 1.16 1.18 1.21 1.25 1.30 1.36 1.41
1.47 1.54 1.61 1.68 1.75 1.82 1.90 2.01 2.13 2.29 2.5 2.86 3.35 4.03
5.23 11.10];
rhh_hoinuoc=[539.0 532.6 526.1 519.3 512.3 505 497.4 489.5 481.3 472.6
463.5 453.9 443.7 433.0 421.7 409.8 396.8 383.2 368.5 352.6 335.4 316.5
295.7 272.2 245.3 213.3 171.9 104.7]; %kcal/kg
72
app.ro1=interp1(t_hoinuoc,ro_hoinuoc,ttb1); %kg/m3
app.Cp1=interp1(t_hoinuoc,Cp_hoinuoc,ttb2)*4186; %J/kg.K
app.lamda1=interp1(t_hoinuoc,lamda_hoinuoc,ttb2)*4.186*0.2778*10^(-2);
%W/m.K
app.miu1=interp1(t_hoinuoc,miu_hoinuoc,ttb2)*9.807*10^-5; %N.s/m2
pr1=interp1(t_hoinuoc,pr_hoinuoc,ttb2);
app.rhh1=interp1(t_hoinuoc,rhh_hoinuoc,ttb2)*4186; %J/kg
ro_dau=[892.5 886.4 880.3 874.2 868.2 862.1 856.0 850 843.9 837.8 831.8
825.7 819.6];%kg/m3
Cp_dau=[1.549 1.620 1.666 1.729 1.788 1.846 1.905 1.964 2.2026 2.085
2.144 2.202 2.261];%kJ/kg.do
miu_dau=[692.8 335.5 198.2 128.5 89.4 65.3 49.5 38.6 30.8 25.4 21.3 18.1
15.7];%Ns/m2
B_dau=[6.8 6.85 6.9 6.95 7 7.05 7.1 7.15 7.2 7.25 7.3 7.35 7.40];%1/K
pr_dau=[866 484 298 202 145 111 87.8 71.3 59.3 50.5 43.9 38.8 34.9];
app.Cp2=interp1(t_dau,Cp_dau,ttb2)*1000;%J/kg.oC
app.lamda2=interp1(t_dau,lamda_dau,ttb2);%W/m.oC
app.miu2=interp1(t_dau,miu_dau,ttb2)*10^-4;%Ns/m2
pr2=interp1(t_dau,pr_dau,ttb2);
73
app.B2=interp1(t_dau,B_dau,ttb2)*10^-4;%1/K
app.ro2=interp1(t_dau,ro_dau,ttb2);%kg/m3
Vnl=app.Gnl/app.ro1
app.emphaC=0.09275;
V=Vnl/app.emphaC;
for K=0.1:0.01:10
if strcmp(app.CD.Value,'Đáy khum');
k=0;
app.emphaC_d=0.5;
k=(pi/4)*tan(app.emphaC);
phi0=[90];
phi_non=[20 40 60 80 100];
app.emphaC_d=interp1(phi_non,emphaC_non,phi0);
app.hd=(app.Dtrtr/2)/tan(phi0/2);
k=[0.071];
74
phi0=[200];
phicau=[100 140 160 180 200 220 240 260 280 300 320 340 ];
emphaCcau=[0.286 0.3815 0.5 0.61 0.731 0.804 0.878 0.934 0.971 0.991
0.998 1];
app.emphaC_d=interp1(phicau,emphaCcau,phi0);
app.hd=((0.25*app.Dtrtr)+(2*app.S_t))
end
app.Dtrtr=(V/((pi/4)*K+k))^(1/3);
if strcmp(app.CD.Value,'Đáy khum');
app.H=(V*pi)/app.Dtrtr;
app.H=((V*pi)/app.Dtrtr)+app.hd;
app.H=((V*pi)/app.Dtrtr)+app.hd;
end
K2=app.H*app.Dtrtr;
kt=(abs(K-K2)/((K+K2)/2))*100;
kt<0
break
end
if strcmp(app.CD.Value,'Đáy khum');
Hv=Ho+(Ho*1/3)+0.045;
Hv=Ho+(Ho*1/3)+0.045+app.hd
Hv=Ho+(Ho*1/3);
end
if strcmp(app.CVL.Value,'Thép CT3')
E=interp1(T_CT3,E_CT3,ttb1)*10^6;
app.us=interp1(t_thep,us_CT3,ttb1) ;
app.lamda=interp1(t_thep,lamda_CT3,ttb1);
app.us=interp1(t_thep,us_15K,ttb1);
76
app.lamda=interp1(t_thep,lamda_15K,ttb1);
E=interp1(t_thep,E_15K,ttb1)*10^6;
app.us=interp1(t_thep,us_20K,ttb1);
app.lamda=interp1(t_thep,lamda_20K,ttb1);
E=interp1(t_thep,E_20K,ttb1)*10^6;
app.us=interp1(t_thep,us_25K,ttb1);
app.lamda=interp1(t_thep,lamda_25K,ttb1);
E=interp1(t_thep,E_25K,ttb1)*10^6;
app.us=interp1(t_thep,us_15XM,ttb1);
app.lamda=interp1(t_thep,lamda_15XM,ttb1);
77
E=interp1(t_thep,E_15XM,ttb1)*10^6;
app.us=interp1(t_thep,us_12XM,ttb1);
app.lamda=interp1(t_thep,lamda_12XM,ttb1);
E=interp1(t_thep,E_12XM,ttb1)*10^6;
app.us=interp1(t_thep,us_1X18,ttb1);
app.lamda=interp1(t_thep,lamda_1X18,ttb1);
E=interp1(t_1X18,E_1X18,ttb1)*10^6;
end
p_tt=app.p
if ttb1>100
app.p_ng=app.ro2*Hv*9.81*(10^-6)
78
elseif ttb1<100
app.p_ng=1
end
app.p_ng=1
end
app.hsb=0.95;
app.ptt=app.p;
for C2=0:0.001:0.003;
C1=0.01*app.t;
app.C=C1+C2;
app.S_t=((app.Dtrtr*app.ptt)/((2.3*app.hsb*app.us)-app.ptt))+app.C;
app.a=app.S_t-app.C
if app.a<= 0.01;
C2=0.003;
elseif app.a<=0.02
C2=0.002;
elseif app.a<=0.003
C2=0.001;
elseif app.a<=0.03
79
C2=0;
end
break
end
if p_tt>=app.p_ng
app.ptt=p_tt
for C2=0:0.001:0.003;
C1=0.01*app.t;
app.C=C1+C2
app.S_t=((app.Dtrtr*app.ptt)/((2.3*app.hsb*app.us)-app.ptt))+app.C;
if app.a<= 0.01;
C2=0.003;
elseif app.a<=0.02
C2=0.002;
elseif app.a<=0.003
C2=0.001;
elseif app.a<=0.03
C2=0;
end
end
elseif p_tt<app.p_ng
80
app.ptt=app.p_ng
for C2=0:0.001:0.003;
C1=0.01*app.t;
app.C=C1+C2
app.S_t=app.Dtrtr*((2.2^-1)*4*app.ptt*(E^-1))^(1/3)+app.C
app.Dngtr=app.Dtrtr+app.S_t;
app.Dtrng=app.Dngtr+0.1;
if app.a<= 0.01;
C2=0.003;
elseif app.a<=0.02
C2=0.002;
elseif app.a<=0.003
C2=0.001;
elseif app.a<=0.03
C2=0;
end
end
app.ptt=app.p_ng
for C2=0:0.001:0.003;
C1=0.01*app.t;
app.C=C1+C2;
81
app.S_t=app.Dtrtr*((2.2^(-1))*4*app.ptt*(E^(-1)))^(1/3)+app.C
if app.a<= 0.01;
C2=0.003;
elseif app.a<=0.02
C2=0.002;
elseif app.a<=0.003
C2=0.001;
elseif app.a<=0.03
C2=0;
end
end
end
end
if p_tt>=app.p_ng
app.ptt=p_tt
for C2=0:0.001:0.003;
C1=0.01*app.t;
app.C=C1+C2;
app.S_t=((app.Dtrtr*app.ptt)/((2.3*app.hsb*app.us)-app.ptt))+app.C
if app.a<= 0.01;
C2=0.003;
elseif app.a<=0.02
82
C2=0.002;
elseif app.a<=0.003
C2=0.001;
elseif app.a<=0.03
C2=0;
end
end
else p_tt<app.p_ng
app.ptt=app.p_ng;
for C2=0:0.001:0.003;
C1=0.01*app.t;
app.C=C1+C2;
app.S_t=app.Dtrtr*((2.2^-1)*4*app.ptt*(E^-1))^(1/3)+app.C
if app.a<= 0.01;
C2=0.003;
elseif app.a<=0.02
C2=0.002;
elseif app.a<=0.003
C2=0.001;
elseif app.a<=0.03
C2=0;
end
83
end
app.Dngtr=app.Dtrtr+app.S_t
app.Dtrng=app.Dngtr+0.1
Bề dày vỏ thiết bị
% be day vo thiet bi
app.S_v=(app.Dtrng*app.p_ng)/((2.3*app.us*app.hsb)-app.p_ng)+app.C
ro=Dk_x/2
So=(app.ro1*ro)/(0.8*app.us)+app.C
app.S_v=(2*ro*sqrt(app.p_ng/(2*0.8*app.us))) +
((app.Dtrtr*app.p)/(4*app.us*app.hsb)) +app.C
end
app.vTB.Value=V;
app.H_t.Value=app.H;
app.H_v.Value=Hv;
app.dngng.Value=app.Dngng;
app.dtrtr.Value=app.Dtrtr
Làm mới
84
app.vTB.Value=0;
app.H_t.Value=0;
app.H_v.Value=0;
app.dngng.Value=0;
app.dtrtr.Value=0;
85
Ndc
N
hsb
mphaC
emphaC_d
hd
p_ng
p
Fd
Dngtr
Dngng
Sd
Sdn
d_b
h1
D_bich1
B1
B2
% Description
end
C. TÍNH TOÁN DIỆN TÍCH BỀ MẶT TRAO ĐỔI NHIỆT
Tính đường kính cánh khuấy
Dck=0.45*app.Dtrtr;
if 0.001<app.miu1<4
vth=[1.75];
Cn=49;
elseif 4<app.miu1<8
vth=[1.25];
Cn=49;
elseif 8<app.miu1<15
86
vth=[0.75];
Cn=49;
end
Dck=app.Dtrtr/5
if 0.001<app.miu1<5
vth=9.75;
Cn=800;
elseif 5<app.miu1<15
vth=12.7;
Cn=800;
elseif 15<app.miu1<25
vth=3.85;
Cn=800;
end
Dck=app.Dtrtr*0.7
if 0.001<app.miu1<0.05
vth=2.5;
Cn=(340*app.H)/Dck
elseif 0.5<app.miu1<3
vth=3.2;
87
Cn=(340*app.H)/Dck
end
Dck=app.Dtrtr/5
if 0.001<app.miu1<0.1
vth=13;
Cn=(70*app.H)/Dck
elseif 0.1<app.miu1<4
vth=6.9;
Cn=(70*app.H)/Dck
end
end
% chuan so Frud
Fr=(app.n*(Dck^2))/9.81
% chuan so Weber
We= ((app.n^2)*app.ro1*(Dck^3))/app.o1
Tính Re1
Re=(app.ro1*app.n*(Dck^2))/app.miu1
Tính công suất khuấy trộn
Kn=Cn/Re
N=Kn*app.ro1*(app.n^3)*(Dck^3)
88
Kt=6.7*((app.Dtrtr/Dck)^(5/30))*(Kn^(-1/3))
tL=Kt/app.n %s
app.Dngtr=app.Dtrtr+app.S_t
Ftb=(pi/4)*(app.Dtrng^2-app.Dngtr^2)
U=(pi*app.Dtrng) + (pi*app.Dngtr)
Dtd=(4*Ftb)/U
Tính ∆ tlog
if strcmp(app.CDC.Value,'Xuôi chiều')
A=abs(app.t1d-app.t2c);
B=abs(app.t1c-app.t2d);
if A>B
DeltaTmax= A; %tMax
DeltaTmin= B; %tMin
else A<B;
89
DeltaTmax= B; %tMax
DeltaTmin= A; %tMin
end
DeltaTlog=(DeltaTmax-DeltaTmin)/(2.3*log10(DeltaTmax/DeltaTmin)) %hieu
so nhiet do trung binh
P=abs((app.t2c-app.t2d)/(app.t1d-app.t1c));
R=abs((app.t1d-app.t1c)/(app.t2c-app.t2d));
if R>=4&&0<=P&&P<=0.2;
elseif 3<=R&&R<4&&0.1<=P&&P<=0.26;
elseif 2<=R&&R<3&&0.15<=P&&P<=0.36;
elseif 1.5<=R&&R<2&&0.15<=P&&P<=0.45;
elseif 1<=R&&R<1.5&&0.2<=P&&P<=0.55;
elseif 0.8<=R&&R<1&&0.25<=P&&P<=0.61;
90
elseif 0.6<=R&&R<0.8&&0.3<=P&&P<=0.7;
elseif 0.4<=R&&R<0.6&&0.35<=P&&P<=0.78;
elseif 0.2<=R&&R<0.4&&0.45<=P&&P<=0.9;
else
epsilon=1;
end
DeltaTlog=
abs((epsilon*(DeltaTmax-DeltaTmin))/(2.3*log10(DeltaTmax/DeltaTmin)))
end
if app.t2c<100
Q=(app.Gnl/tL)*app.Cp1*(app.t1d-app.t1c)
Re1=(app.ro1*app.n*(Dck^2))/app.miu1
91
Pr1=(app.Cp1*app.miu1)/app.lamda1
for tT1=app.t2d:0.001:app.t1d;
if strcmp(app.TTB.Value,'H2O')
t_nuoc=[0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180];
%oC
miu_nuoc=[1790 1310 1000 804 657 549 470 406 355 315 282 256 231 212 196 185
174 163 153]; %Pa.S
miuT=interp1(t_nuoc,miu_nuoc,tT1)*10^(-6);
elseif strcmp(app.TTB.Value,'Methanol')
miuT=(10^(-9.0562+((1.2542*10^3)/(tT1+273))+(2.2383*10^-2)*(tT1+273)+(-
2.3538*10^-5)*(tT1+273)^2))*10^-3;
elseif strcmp(app.TTB.Value,'Acetone')
miuT=(10^(-7.2126+((9.0305*10^2)/(tT1+273))+(1.8385*10^-2)*(tT1+273)+(-
2.0353*10^-5)*(tT1+273)^2))*10^-3;
elseif strcmp(app.TTB.Value,'Etanol')
miuT=(10^(-6.4406+((1.1176*10^3)/(tT1+273))+(1.3721*10^-2)*(tT1+273)+(-
1.5465*10^-5)*(tT1+273)^2))*10^-3;
elseif strcmp(app.TTB.Value,'NaCl')
miuT=(10^(-0.9169+((1.0789*10^3)/(273+tT1))-(7.6231*10^(-5))*(tT1+273)-
(7.62321*(10^-5)*(tT1+273)^2)))*10^-3;
end
Nu1=0.33*(Re1*(Pr1^0.5)+4000)^(2/3);
if 30<Re1<400
92
Nu1=0.54*(Re1^0.67)*(Pr1^0.33)*((app.miu1/miuT)^0.14);
elseif 4*(10^3)<Re1<3*(10^5)
Nu1=0.74*(Re1^0.67)*(Pr1^0.33)*((app.miu1/miuT)^0.14);
end
Nu1=0.36*(Re1^(2/3))*(Pr1^(1/3))*((app.miu1/miuT)^0.14);
Nu1=0.55*(Re1^0.64)*(Pr1^0.3)*((Dck/app.Dtrtr)^0.4)*((app.miu1/miuT)^0.32);
end
empha1=(Nu1*(app.lamda1))/app.Dtrtr;
q1=empha1*(abs(app.t1d-tT1)) ;
qT=q1;
tT2=tT1-((qT*(app.S_t))/app.lamda);
GrPr=(app.H^3)*(tT1-
(0.5*(app.t1d+app.t1c)))*(9.81*app.B2*app.ro2*app.Cp2*(app.miu2*app.lamda2)^
(-1));
if GrPr<=10^-3
f=0;
Cs=0.45;
elseif 10^-3<GrPr<5*10^2
f=0.125;
Cs=1.180;
93
elseif 5*10^2<GrPr<2*10^7
Cs=0.540;
f=0.125;
elseif GrPr>2*10^7
Cs=0.135;
f=0.33;
end
empha2=Cs*app.lamda1*((GrPr)^f)*(app.H^-1);
G2=(Q)/(app.Cp2*abs((app.t2c-app.t2d)));%kg/s
v2=(G2/app.ro2)/Ftb; %m/s
Re2=app.ro2*v2*Dtd*(app.Dtrtr^-1);
e=1+(3.6*Dtd*(app.Dtrtr^-1));
if strcmp(app.TTB.Value,'H2O')
t_nuoc=[0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180];
%doC
miu_nuoc=[1790 1310 1000 804 657 549 470 406 355 315 282 256 231 212 196 185
174 163 153]; %Pa.S
miuT2=interp1(t_nuoc,miu_nuoc,tT2)*10^(-6);
miu_dau=[692.8 335.5 198.2 128.5 89.4 65.3 49.5 38.6 30.8 25.4 21.3 18.1
15.7];%Ns/m2
miuT2=interp1(t_dau,miu_dau,tT2)*10^-6;%Ns/m2
94
end
empha2=0.023*(app.lamda2*10^3)*(app.miu2^0.14)*e*(Re2^0.33)*(Dtd^-
1)*(miuT2^-0.14);
end
q2=empha2*(abs(tT2-app.t2d));
q=(abs(q1-q2)/((q1+q2)/2))*100;
if q<5;
break
end
K= 1/((1/empha1)+((app.S_t+app.S_v)/app.lamda)+(1/empha2));
F=Q/(K*DeltaTlog);
end
elseif app.t2c>100
Q=(app.Gnl/tL)*app.rhh1
Re1=(app.ro1*app.n*(Dck^2))/app.miu1
Pr1=(app.Cp1*app.miu1)/app.lamda1
v1=app.n*app.Dtrtr*pi
for tT1=app.t2d:0.001:app.t1d
delta=abs(tT1-app.ts);
if strcmp(app.TTB.Value,'H2O')
t_nuoc=[0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180];
%oC
ro_nuoc=[1000 1000 998 996 992 988 983 978 972 965 958 951 943 935 926 917
907 897 887]; %kg/m3
95
roT=interp1(t_nuoc,ro_nuoc,tT1)*1000;
qs=1.4*app.rhh1*(sqrt(app.ro1))*(sqrt(sqrt(app.o1*9.81*(roT-app.ro1))));
empha1=46*(delta^2.33)*(qs^0.5);
elseif strcmp(app.TTB.Value,'Methanol')
roT=(0.272*(0.2719^(-(1-((tT1+273)/512.58))^(0.23))));
b=0.075*(1+10*(roT/(abs(app.ro1-roT))))^(2/3);
empha1=b*((((app.lamda1)^2)/(v1*app.o1*app.ts))^(1/3))*(delta^2);
elseif strcmp(app.TTB.Value,'Acetone');
roT=(0.2773*0.2576^(-(1-((tT1+273)/508.2))^(0.3)));
b=0.075*(1+10*(roT/(app.ro1-roT)))^(2/3);
empha1=b*(((app.lamda1)^2)/(v1*app.o1*app.ts))^(1/3)*(delta^2);
elseif strcmp(app.TTB.Value,'Etanol');
roT=(0.2657*0.264^(-(1-((tT1+273)/516.25))^(0.24)));
b=0.075*(1+10*(roT/(app.ro1-roT)))^(2/3);
empha1=b*(((app.lamda1)^2)/(v1*app.o1*app.ts))^(1/3)*(delta^2);
elseif strcmp(app.TTB.Value,'NaCl')
roT=(0.27127*0.10591*(-1-((tT1+273)/3400))^(0.37527));
b=0.075*(1+10*(roT/(app.ro1-roT)))^(2/3);
empha1=b*((((app.lamda1)^2)/(v1*app.o1*app.ts))^(1/3))*(delta^2);
end
q1=empha1*(abs(app.t1d-tT1)) ;
qT=q1;
tT2=tT1-((qT*app.S_t)/app.lamda);
96
GrPr=app.H*(tT1-(0.5*(app.t1d+app.t1c)));
if GrPr<=10^-3
f=0;
Cs=0.45;
elseif 10^-3<GrPr<5*10^2
f=0.125;
Cs=1.180;
elseif 5*10^2<GrPr<2*10^7
Cs=0.540;
f=0.125;
elseif GrPr>2*10^7
Cs=0.135;
f=0.33;
end
empha2=Cs*app.lamda1*((GrPr)^f)*(app.H^-1);
G2=(Q)/(app.Cp2*abs((app.t2c-app.t2d)));%kg/s
v2=(G2/app.ro2)/Ftb; %m/s
Re2=app.ro2*v2*Dtd*(app.Dtrtr^-1);
e=1+(3.6*Dtd*(app.Dtrtr^-1));
if strcmp(app.NTB.Value,'H2O')
t_nuoc=[0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180];
%doC
97
miu_nuoc=[1790 1310 1000 804 657 549 470 406 355 315 282 256 231 212 196 185
174 163 153]; %Pa.S
miuT2=interp1(t_nuoc,miu_nuoc,tT2)*10^(-6);
miu_dau=[692.8 335.5 198.2 128.5 89.4 65.3 49.5 38.6 30.8 25.4 21.3 18.1
15.7];%Ns/m2
miuT2=interp1(t_dau,miu_dau,tT2)*10^-3;%Ns/m2;
end
empha2=0.023*app.lamda2*(app.miu2^0.14)*e*(Re2^0.33)*(Dtd^-1)*(miuT2^-0.14);
end
q2=empha2*(abs(tT2-app.t2d));
q=(abs(q1-q2)/((q1+q2)/2))*100;
if q<3
K= 1/((1/empha1)+((app.S_t+app.S_v)/app.lamda)+(1/empha2));
F=Q/(K*DeltaTlog);
break
end
end
end
if app.t2c<100
98
Q=((app.Gnl*app.ro1*10^(3))/60)*app.Cp1*abs((app.t1d-app.t1c))
Re1=(app.ro1*app.n*(Dck^2))/app.miu1;
Pr1=(app.Cp1*app.miu1)/app.lamda1;
for tT1=app.t2d:0.001:app.t1d;
if strcmp(app.TTB.Value,'H2O')
t_nuoc=[0 10 20 30 40 50 60 70 80 90 100
110 120 130 140 150 160 170 180]; %doC
miu_nuoc=[1790 1310 1000 804 657 549 470 406 355 315 282 256 231 212 196 185
174 163 153]; %Pa.S
miuT=interp1(t_nuoc,miu_nuoc,tT1)*10^(-6);
elseif strcmp(app.TTB.Value,'Methanol')
miuT=(10^(-9.0562+((1.2542*10^3)/(tT1+273))+(2.2383*10^-2)*(tT1+273)+(-
2.3538*10^-5)*(tT1+273)^2))*10^-3;
elseif strcmp(app.TTB.Value,'Acetone')
miuT=(10^(-7.2126+((9.0305*10^2)/(tT1+273))+(1.8385*10^-2)*(tT1+273)+(-
2.0353*10^-5)*(tT1+273)^2))*10^-3;
elseif strcmp(app.TTB.Value,'Etanol')
miuT=(10^(-6.4406+((1.1176*10^3)/(tT1+273))+(1.3721*10^-2)*(tT1+273)+(-
1.5465*10^-5)*(tT1+273)^2))*10^-3;
elseif strcmp(app.TTB.Value,'NaCl')
miuT=(10^(-0.9169+((1.0789*10^3)/(273+tT1))-(7.6231*10^(-5))*(tT1+273)-
(7.62321*(10^-5)*(tT1+273)^2)))*10^-3;
elseif strcmp(app.TTB.Value,'CacbondiSunfide')
miuT=(10^(-9.1108+((1.1216*10^3)/(tT1+273))+(2.3216*10^-2)*(tT1+273)+(-
2.2648*10^-5)*(tT1+273)^2))*10^-3;
elseif strcmp(app.TTB.Value,'trichloroethylene')
99
miuT=(10^(-5.5389+((7.8313*10^2)/(tT1+273))+(1.2849*10^-2)*(tT1+273)+(-
1.3292*10^-5)*(tT1+273)^2))*10^-3;
elseif strcmp(app.TTB.Value,'Dichloroethane')
miuT=(10^(-3.8388+((5.9046*10^2)/(tT1+273))+(8.0953*10^-3)*(tT1+273)+(-
9.9210*10^-6)*(tT1+273)^2))*10^-3;
elseif strcmp(app.TTB.Value,'AcetalDehyde')
miuT=(10^(-6.6171+((6.8123*10^2)/(tT1+273))+(1.9979*10^-2)*(tT1+273)+(-
2.5563*10^-5)*(tT1+273)^2))*10^-3;
miuT=(10^(-3.8937+((7.8482*10^2)/(tT1+273))+(6.6650*10^-3)*(tT1+273)+(-
7.5606*10^-6)*(tT1+273)^2))*10^-3;
elseif strcmp(app.TTB.Value,'Acetamide')
miuT=(10^(-15.0576+((3.0478*10^3)/(tT1+273))+(2.4646*10^-2)*(tT1+273)+(-
1.5506*10^-5)*(tT1+273)^2))*10^-3;
miuT=(10^(-16.9728+((3.1886*10^3)/(tT1+273))+(3.2537*10^-2)*(tT1+273)+(-
2.4480*10^-5)*(tT1+273)^2))*10^-3;
miuT=(10^(-5.0177+((8.7365*10^2)/(tT1+273))+(1.0302*10^-2)*(tT1+273)+(-
1.0883*10^-5)*(tT1+273)^2))*10^-3 ;
end
Nu1=0.33*(Re1*(Pr1^0.5)+4000)^(2/3);
if 30<Re1<400
Nu1=0.54*(Re1^0.67)*(Pr1^0.33)*((app.miu1/miuT)^0.14);
100
elseif 4*(10^3)<Re1<3*(10^5)
Nu1=0.74*(Re1^0.67)*(Pr1^0.33)*((app.miu1/miuT)^0.14);
end
Nu1=0.36*(Re1^(2/3))*(Pr1^(1/3))*((app.miu1/miuT)^0.14);
Nu1=0.55*(Re1^0.64)*(Pr1^0.3)*((Dck/app.Dtrtr)^0.4)*((app.miu1/miuT)^0.32);
end
empha1=(Nu1*app.lamda1)/app.Dtrtr;
q1=empha1*(abs(app.t1d-tT1)) ;
qT=q1;
tT2=tT1-((qT*app.S_t)/app.lamda);
if strcmp(app.NTB.Value,'H2O')
delta=interp1(tN,delta,ttb2)*10^9;
delta=9.81*app.B2*app.ro2^2*app.Cp2*(app.miu2*app.lamda2)^-1;
end
GrPr=app.H^3*(tT1-ttb2)*delta;
if GrPr<=10^3
101
Cs=0.450;
f=0;
Cs=1.180;
f=0.125;
Cs=0.54;
f=0.125;
elseif GrPr>2*10^7
Cs=0.135;
f=0.330;
end
empha2=Cs*app.lamda2*(GrPr^f)*(app.H^-1);
q2=empha2*(abs(tT2-app.t2d));
q=(abs(q1-q2)/((q1+q2)/2))*100;
if q<5;
K= 1/((1/empha1)+((app.S_t+app.S_v)/app.lamda)+(1/empha2))
F=Q/(K*DeltaTlog)
break
end
end
elseif app.t2c>=100
Q=(((app.Gnl/tL)*app.ro1*10^(-3))/60)*app.Cp1*(app.t1d-app.t1c)
102
Re1=(app.ro1*app.n*(Dck^2))/app.miu1;
Pr1=(app.Cp1*app.miu1)/app.lamda1;
for tT1=app.t2d:0.001:app.t1d;
if strcmp(app.TTB.Value,'H2O')
t_nuoc=[0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180];
%doC
miu_nuoc=[1790 1310 1000 804 657 549 470 406 355 315 282 256 231 212 196 185
174 163 153]; %Pa.S
miuT=interp1(t_nuoc,miu_nuoc,tT1)*10^(-6);
elseif strcmp(app.TTB.Value,'Methanol')
miuT=(10^(-9.0562+((1.2542*10^3)/(tT1+273))+(2.2383*10^-2)*(tT1+273)+(-
2.3538*10^-5)*(tT1+273)^2))*10^-3;
elseif strcmp(app.TTB.Value,'Acetone')
miuT=(10^(-7.2126+((9.0305*10^2)/(tT1+273))+(1.8385*10^-2)*(tT1+273)+(-
2.0353*10^-5)*(tT1+273)^2))*10^-3;
elseif strcmp(app.TTB.Value,'Etanol')
miuT=(10^(-6.4406+((1.1176*10^3)/(tT1+273))+(1.3721*10^-2)*(tT1+273)+(-
1.5465*10^-5)*(tT1+273)^2))*10^-3;
elseif strcmp(app.TTB.Value,'NaCl')
miuT=(10^(-0.9169+((1.0789*10^3)/(273+tT1))-(7.6231*10^(-5))*(tT1+273)-
(7.62321*(10^-5)*(tT1+273)^2)))*10^-3;
elseif strcmp(app.TTB.Value,'CacbondiSunfide')
miuT=(10^(-9.1108+((1.1216*10^3)/(tT1+273))+(2.3216*10^-2)*(tT1+273)+(-
2.2648*10^-5)*(tT1+273)^2))*10^-3;
elseif strcmp(app.TTB.Value,'trichloroethylene')
miuT=(10^(-5.5389+((7.8313*10^2)/(tT1+273))+(1.2849*10^-2)*(tT1+273)+(-
1.3292*10^-5)*(tT1+273)^2))*10^-3;
103
elseif strcmp(app.TTB.Value,'Dichloethane')
miuT=(10^(-3.8388+((5.9046*10^2)/(tT1+273))+(8.0953*10^-3)*(tT1+273)+(-
9.9210*10^-6)*(tT1+273)^2))*10^-3;
elseif strcmp(app.TTB.Value,'AcetalDehyde')
miuT=(10^(-6.6171+((6.8123*10^2)/(tT1+273))+(1.9979*10^-2)*(tT1+273)+(-
2.5563*10^-5)*(tT1+273)^2))*10^-3;
miuT=(10^(-3.8937+((7.8482*10^2)/(tT1+273))+(6.6650*10^-3)*(tT1+273)+(-
7.5606*10^-6)*(tT1+273)^2))*10^-3;
elseif strcmp(app.TTB.Value,'Acetamide')
miuT=(10^(-15.0576+((3.0478*10^3)/(tT1+273))+(2.4646*10^-2)*(tT1+273)+(-
1.5506*10^-5)*(tT1+273)^2))*10^-3;
miuT=(10^(-16.9728+((3.1886*10^3)/(tT1+273))+(3.2537*10^-2)*(tT1+273)+(-
2.4480*10^-5)*(tT1+273)^2))*10^-3;
miuT=(10^(-5.0177+((8.7365*10^2)/(tT1+273))+(1.0302*10^-2)*(tT1+273)+(-
1.0883*10^-5)*(tT1+273)^2))*10^-3 ;
end
Nu1=0.33*(Re1*(Pr1^0.5)+4000)^(2/3);
if 30<Re1<400
Nu1=0.54*(Re1^0.67)*(Pr1^0.33)*((app.miu1/miuT)^0.14);
elseif 4*(10^3)<Re1<3*(10^5)
104
Nu1=0.74*(Re1^0.67)*(Pr1^0.33)*((app.miu1/miuT)^0.14);
end
Nu1=0.36*(Re1^(2/3))*(Pr1^(1/3))*((app.miu1/miuT)^0.14);
Nu1=0.55*(Re1^0.64)*(Pr1^0.3)*((Dck/app.Dtrtr)^0.4)*((app.miu1/miuT)^0.32);
end
empha1=(Nu1*app.lamda1)/app.Dtrtr;
q1=empha1*(abs(app.t1d-tT1)) ;
qT=q1;
tT2=tT1-((qT*app.S_t)/app.lamda);
if strcmp(app.NTB.Value,'H2O')
delta=interp1(tN,delta,ttb2)*10^-9;
delta=9.81*app.B2*app.ro2^2*app.Cp2*(app.miu2*app.lamda2)^-1;
end
GrPr=app.H^3*(tT1-ttb2)*delta;
if GrPr<=10^3
Cs=0.450;
105
f=0;
Cs=1.180;
f=0.125;
Cs=0.54;
f=0.125;
elseif GrPr>2*10^7
Cs=0.135;
f=0.330;
end
empha2=Cs*app.lamda2*(GrPr^f)*(app.H^-1);
q2=empha2*(abs(tT2-app.t2d));
q=(abs(q1-q2)/((q1+q2)/2))*100;
if q<5;
break
end
K= 1/((1/empha1)+((app.S_t+app.S_v)/app.lamda)+(1/empha2));
F=Q/(K*DeltaTlog);
end
end
106
if app.t2c<100
Q=(((app.Gnl/tL)*app.ro1))*app.Cp1*((app.t2c-app.t2d))
Re1=(app.ro1*app.n*(Dck^2))/app.miu1;
Pr1=(app.Cp1*app.miu1)/app.lamda1;
for tT1=app.t2d:0.001:app.t1d;
if strcmp(app.TTB.Value,'H2O')
t_nuoc=[0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180];
%doC
miu_nuoc=[1790 1310 1000 804 657 549 470 406 355 315 282 256 231 212 196 185
174 163 153]; %Pa.S
miuT=interp1(t_nuoc,miu_nuoc,tT1)*10^(-6);
elseif strcmp(app.TTB.Value,'Methanol')
miuT=(10^(-9.0562+((1.2542*10^3)/(tT1+273))+(2.2383*10^-2)*(tT1+273)+(-
2.3538*10^-5)*(tT1+273)^2))*10^-3;
elseif strcmp(app.TTB.Value,'Acetone')
miuT=(10^(-7.2126+((9.0305*10^2)/(tT1+273))+(1.8385*10^-2)*(tT1+273)+(-
2.0353*10^-5)*(tT1+273)^2))*10^-3;
elseif strcmp(app.TTB.Value,'Etanol')
miuT=(10^(-6.4406+((1.1176*10^3)/(tT1+273))+(1.3721*10^-2)*(tT1+273)+(-
1.5465*10^-5)*(tT1+273)^2))*10^-3;
elseif strcmp(app.TTB.Value,'NaCl')
miuT=(10^(-0.9169+((1.0789*10^3)/(273+tT1))-(7.6231*10^(-5))*(tT1+273)-
(7.62321*(10^-5)*(tT1+273)^2)))*10^-3;
elseif strcmp(app.TTB.Value,'CacbondiSunfide')
miuT=(10^(-9.1108+((1.1216*10^3)/(tT1+273))+(2.3216*10^-2)*(tT1+273)+(-
2.2648*10^-5)*(tT1+273)^2))*10^-3
107
elseif strcmp(app.TTB.Value,'trichloroethylene')
miuT=(10^(-5.5389+((7.8313*10^2)/(tT1+273))+(1.2849*10^-2)*(tT1+273)+(-
1.3292*10^-5)*(tT1+273)^2))*10^-3
elseif strcmp(app.TTB.Value,'Dichloethane')
miuT=(10^(-3.8388+((5.9046*10^2)/(tT1+273))+(8.0953*10^-3)*(tT1+273)+(-
9.9210*10^-6)*(tT1+273)^2))*10^-3
elseif strcmp(app.TTB.Value,'AcetalDehyde')
miuT=(10^(-6.6171+((6.8123*10^2)/(tT1+273))+(1.9979*10^-2)*(tT1+273)+(-
2.5563*10^-5)*(tT1+273)^2))*10^-3
miuT=(10^(-3.8937+((7.8482*10^2)/(tT1+273))+(6.6650*10^-3)*(tT1+273)+(-
7.5606*10^-6)*(tT1+273)^2))*10^-3
elseif strcmp(app.TTB.Value,'Acetamide')
miuT=(10^(-15.0576+((3.0478*10^3)/(tT1+273))+(2.4646*10^-2)*(tT1+273)+(-
1.5506*10^-5)*(tT1+273)^2))*10^-3
elseif strcmp(app.TTB.Value,'EthyleneGlycol')
miuT=(10^(-16.9728+((3.1886*10^3)/(tT1+273))+(3.2537*10^-2)*(tT1+273)+(-
2.4480*10^-5)*(tT1+273)^2))*10^-3
miuT=(10^(-5.0177+((8.7365*10^2)/(tT1+273))+(1.0302*10^-2)*(tT1+273)+(-
1.0883*10^-5)*(tT1+273)^2))*10^-3
end
Nu1=0.33*(Re1*(Pr1^0.5)+4000)^(2/3);
if 30<Re1<400
108
Nu1=0.54*(Re1^0.67)*(Pr1^0.33)*((app.miu1/miuT)^0.14);
elseif 4*(10^3)<Re1<3*(10^5)
Nu1=0.74*(Re1^0.67)*(Pr1^0.33)*((app.miu1/miuT)^0.14);
end
Nu1=0.36*(Re1^(2/3))*(Pr1^(1/3))*((app.miu1/miuT)^0.14);
Nu1=0.55*(Re1^0.64)*(Pr1^0.3)*((Dck/app.Dtrtr)^0.4)*((app.miu1/miuT)^0.32);
end
empha1=(Nu1*app.lamda1)/app.Dtrtr;
q1=empha1*(abs(app.t1d-tT1)) ;
qT=q1;
tT2=tT1-((qT*app.S_t)/app.lamda);
t_nuoc=[0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180];
%doC
ro_nuoc=[1000 1000 998 996 992 988 983 978 972 965 958 951 943 935 926 917
907 897 887]; %kg/m3
lamda_nuoc=[55.1 57.5 59.9 61.8 63.4 64.8 65.9 66.8 67.5 68 68.3 68.5 68.6
68.6 68.5 68.4 68.3 67.9 67.5]; %W/m.do
miu_nuoc=[1790 1310 1000 804 657 549 470 406 355 315 282 256 231 212 196 185
174 163 153]; %Pa.S
rhh_nuoc=[2493.1 2470.4 2448.2 2425.6 2403 2380 2356.9 2333 2310 2285 2260
2234 2207 2179 2150 2120 2089 2056 2021]; %kJ/kg
109
roN=interp1(t_nuoc,ro_nuoc,ttb1);
lamdaN=interp1(t_nuoc,lamda_nuoc,ttb1)*10^(-2);%W/m.K
miuN=interp1(t_nuoc,miu_nuoc,ttb1)*10^(-6); %N.s/m2
rhhN=interp1(t_nuoc,rhh_nuoc,ttb1)*4186; %J/kg
tN=0.5*(ttb2+ttb1);
empha2=1.15*((lamdaN*roN*(roN-app.ro2)*9.81*rhhN)^(0.25))*((miuN*(app.t1d-
tN)*app.H)^(0.25));
q2=empha2*(abs(tT2-app.t2d));
q=(abs(q1-q2)/((q1+q2)/2))*100;
if q<5;
K= 1/((1/empha1)+((app.S_t+app.S_v)/app.lamda)+(1/empha2));
F=Q/(K*DeltaTlog) ;
break
end
end
elseif app.t2c>100
Q=(app.Gnl/tL)*app.rhh1
Re1=(app.ro1*app.n*(Dck^2))/app.miu1;
Pr1=(app.Cp1*app.miu1)/app.lamda1;
if strcmp(app.TTB.Value,'H2O')
t_nuoc=[0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180];
%doC
miu_nuoc=[1790 1310 1000 804 657 549 470 406 355 315 282 256 231 212 196 185
174 163 153]; %Pa.S
110
miuT=interp1(t_nuoc,miu_nuoc,tT1)*10^(-6);
elseif strcmp(app.TTB.Value,'Methanol')
miuT=(10^(-9.0562+((1.2542*10^3)/(tT1+273))+(2.2383*10^-2)*(tT1+273)+(-
2.3538*10^-5)*(tT1+273)^2))*10^-3;
elseif strcmp(app.TTB.Value,'Acetone')
miuT=(10^(-7.2126+((9.0305*10^2)/(tT1+273))+(1.8385*10^-2)*(tT1+273)+(-
2.0353*10^-5)*(tT1+273)^2))*10^-3;
elseif strcmp(app.TTB.Value,'Etanol')
miuT=(10^(-6.4406+((1.1176*10^3)/(tT1+273))+(1.3721*10^-2)*(tT1+273)+(-
1.5465*10^-5)*(tT1+273)^2))*10^-3;
elseif strcmp(app.TTB.Value,'NaCl')
miuT=(10^(-0.9169+((1.0789*10^3)/(273+tT1))-(7.6231*10^(-5))*(tT1+273)-
(7.62321*(10^-5)*(tT1+273)^2)))*10^-3;
elseif strcmp(app.TTB.Value,'CacbondiSunfide')
miuT=(10^(-9.1108+((1.1216*10^3)/(tT1+273))+(2.3216*10^-2)*(tT1+273)+(-
2.2648*10^-5)*(tT1+273)^2))*10^-3
elseif strcmp(app.TTB.Value,'trichloroethylene')
miuT=(10^(-5.5389+((7.8313*10^2)/(tT1+273))+(1.2849*10^-2)*(tT1+273)+(-
1.3292*10^-5)*(tT1+273)^2))*10^-3
elseif strcmp(app.TTB.Value,'Dichloethane')
miuT=(10^(-3.8388+((5.9046*10^2)/(tT1+273))+(8.0953*10^-3)*(tT1+273)+(-
9.9210*10^-6)*(tT1+273)^2))*10^-3
elseif strcmp(app.TTB.Value,'AcetalDehyde')
miuT=(10^(-6.6171+((6.8123*10^2)/(tT1+273))+(1.9979*10^-2)*(tT1+273)+(-
2.5563*10^-5)*(tT1+273)^2))*10^-3
111
miuT=(10^(-3.8937+((7.8482*10^2)/(tT1+273))+(6.6650*10^-3)*(tT1+273)+(-
7.5606*10^-6)*(tT1+273)^2))*10^-3
elseif strcmp(app.TTB.Value,'Acetamide')
miuT=(10^(-15.0576+((3.0478*10^3)/(tT1+273))+(2.4646*10^-2)*(tT1+273)+(-
1.5506*10^-5)*(tT1+273)^2))*10^-3
elseif strcmp(app.TTB.Value,'EthyleneGlycol')
miuT=(10^(-16.9728+((3.1886*10^3)/(tT1+273))+(3.2537*10^-2)*(tT1+273)+(-
2.4480*10^-5)*(tT1+273)^2))*10^-3
miuT=(10^(-5.0177+((8.7365*10^2)/(tT1+273))+(1.0302*10^-2)*(tT1+273)+(-
1.0883*10^-5)*(tT1+273)^2))*10^-3
end
Nu1=0.33*(Re1*(Pr1^0.5)+4000)^(2/3);
if 30<Re1<400
Nu1=0.54*(Re1^0.67)*(Pr1^0.33)*((app.miu1/miuT)^0.14);
elseif 4*(10^3)<Re1<3*(10^5)
Nu1=0.74*(Re1^0.67)*(Pr1^0.33)*((app.miu1/miuT)^0.14);
end
Nu1=0.36*(Re1^(2/3))*(Pr1^(1/3))*((app.miu1/miuT)^0.14);
112
Nu1=0.55*(Re1^0.64)*(Pr1^0.3)*((Dck/app.Dtrtr)^0.4)*((app.miu1/miuT)^0.32);
end
empha1=(Nu1*app.lamda1)/app.Dtrtr;
q1=empha1*(abs(app.t1d-tT1)) ;
qT=q1;
tT2=tT1-((qT*app.S_t)/app.lamda);
t_nuoc=[0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180];
%doC
ro_nuoc=[1000 1000 998 996 992 988 983 978 972 965 958 951 943 935 926 917
907 897 887]; %kg/m3
lamda_nuoc=[55.1 57.5 59.9 61.8 63.4 64.8 65.9 66.8 67.5 68 68.3 68.5 68.6
68.6 68.5 68.4 68.3 67.9 67.5]; %W/m.do
miu_nuoc=[1790 1310 1000 804 657 549 470 406 355 315 282 256 231 212 196 185
174 163 153]; %Pa.S
rhh_nuoc=[2493.1 2470.4 2448.2 2425.6 2403 2380 2356.9 2333 2310 2285 2260
2234 2207 2179 2150 2120 2089 2056 2021]; %kJ/kg
roN=interp1(t_nuoc,ro_nuoc,ttb1);
lamdaN=interp1(t_nuoc,lamda_nuoc,ttb1)*10^(-2);%W/m.K
miuN=interp1(t_nuoc,miu_nuoc,ttb1)*10^(-6); %N.s/m2
rhhN=interp1(t_nuoc,rhh_nuoc,ttb1)*4186; %J/kg
tN=0.5*(ttb2+ttb1);
empha2=1.15*(lamdaN*roN*(roN-app.ro2)*9.81*rhhN)^(0.25)*(miuN*(app.t1d-
tN)*app.H)^(0.25);
q2=empha2*(abs(tT2-app.t2d));
q=(abs(q1-q2)/((q1+q2)/2))*100;
113
if q<5;
K= 1/((1/empha1)+((app.S_t+app.S_v)/app.lamda)+(1/empha2));
F=Q/(K*DeltaTlog);
break
end
end
end
Hiển thị kết quả Tab tính diện tích truyền nhiệt
app.qtn.Value=Q;
app.ktn.Value=K;
app.ftb.Value=F;
app.D_Ck.Value=Dck;
Làm mới kết quả Tab tính diện tích bề mặt trao đổi nhiệt
app.qtn.Value=0;
app.ktn.Value=0;
app.ftb.Value=0;
app.D_Ck.Value=0;
Mx=(1.5*app.Ndc)/app.n
Dtr=(((16*Mx)/(pi*app.t*app.us))^3)^(1/3)
114
Dtb_new=ceil(app.Dtrtr)
Dtb_mb=Dtb_new*10^3
if ~isempty(vidx)
P2 = v_P(vidx)
end
t5=readtable('Bangsolieu.xlsx','sheet',2)
k = 1
for i = 1:size(t5,1)
ketqua =table2array(t5(i,:))
app.h1 = table2array(t5(i,9))
Z=table2array(t5(i,8))
app.D_bich1 =table2array(t5(i,3))
app.d_b=table2array(t5(i,4))
k = k+1
end
end
app.h.Value=app.h1;
app.db.Value=app.D_bich1;
app.D_b.Value=app.d_b;
115
app.z.Value=Z;
app.h.Value=0;
app.db.Value=0;
app.D_b.Value=0;
app.z.Value=0;
ro_thep=7900;
m1=(((pi*(app.Dngtr^2))/4)-((pi*(app.Dtrtr)^2)))*app.H*ro_thep
m2=((pi*((app.Dngng)^2)/4)-(pi*((app.Dtrng)^2)))*app.H*ro_thep
m3=app.Fd*(app.Sd*10^-3)*ro_thep
m4=app.Fd*(app.Sdn*10^-3)*ro_thep
%m5=(pi*(app.h1*(10^-3))*ro_thep*((((app.D_bich1*(10^-3))^2)-((app.d_b*(10^-
3)))^2))/4)
m5=(((pi*(app.D_bich1*(10^-3))^2)/4)-((pi*(app.d_b*(10^-3))^2)/
4))*app.h1*ro_thep
m6=app.Gnl
m=m1+m2+m3+m4+m5+m6
G=10*m
t8 = readtable('bangsolieu.xlsx','sheet',6);% chan
t9 = readtable('bangsolieu.xlsx','sheet',7);%tai TREO
T8 = t8{:,:}
116
T9 = t9{:,:}
k = 4
G1 = G/k
if G1 <= 80000
v = sort(T8(:,1))
if ~isempty(vidx)
L = T8(T8(:,1) == v(vidx),:)
V_table = array2table(L)
end
sochando=k
%G=table2array(
k_new = 8
j = 4
ptb = k_new +j
G2 = G/ptb
v1 = sort(T9(:,1))
if ~isempty(vidx1)
L1 = T9(T9(:,1) == v1(vidx1),:)
V1_table = array2table(L1)
end
117
sotaitreo=j
j = j+4
ptb = k_new+j
G2 = G/ptb
v1 = sort(T9(:,1))
if ~isempty(vidx1)
L1 = T9(T9(:,1) == v1(vidx1),:)
end
sotaitreo=j
end
end
tGt=(L(:,1))
Q=(L(:,2))
q=(L(:,3))
Lcd=(L(:,4))
Bcd=(L(:,5))
B1cd=(L(:,6))
B2cd= (L(:,7))
Hcd=(L(:,8))
Hc=(L(:,9))
Scd=(L(:,10))
118
Lc=(L(:,11))
Dc=(L(:,12))
app.fcd.Value=Q
app.g.Value=tGt
app.qcd.Value=q
app.lcd.Value=Lcd
app.bcd.Value=Bcd
app.b1cd.Value=B1cd
app.b2cd.Value=B2cd
app.hcd.Value=Hcd
app.hc.Value=Hc
app.lc.Value=Lc
app.dcd.Value=Dc
app.scd.Value=sochando
119