Tải bản đầy đủ (.ppt) (46 trang)

Slide Bài giảng Phương pháp số trong công nghệ hóa học (Tuần 2)

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 (537.01 KB, 46 trang )


PHƯƠNG PHÁP SỐ
TRONG CÔNG NGHỆ HÓA HỌC
Mã học phần: CH3454
TS. Nguyễn Đặng Bình Thành
BM:Máy & TBCN Hóa chất
Numerical Methods in Chemical Engineering

MUA BÀI THÍ NGHIỆM
Lớp cử một người (Lớp trưởng) lên Bộ môn Quá trình thiết
bị
Tại C4-109
Thứ năm ngày 16 tháng 2 năm 2012
Sáng 9h-11h30
Chiều 13h30-15h30
Gặp cô Hoa mua tài liệu. 25.000/5 bài.

Ứng dụng đơn giản: Vấn đề nội suy trong
kỹ thuật hóa học
Tại sao phải sử
dụng nội suy trong
tính toán các quá
trình CN Hóa
học???
Các đường
cong này được
xây dựng từ???

Ứng dụng đơn giản: Vấn đề nội suy trong
kỹ thuật hóa học
Tính toán?



Ứng dụng đơn giản: Vấn đề nội suy trong
kỹ thuật hóa học
Các thuật toán nội suy: Tuyến tính, Lagrance,
Newton, …
x
s
y
s
y
1
x
1
x
n
x
k-1
x
k
y
k-1
y
k
y
n
0
y
x
Nhưng…
Không có số liệu

thực nghiệm!!!
Giả thiết đường cong
nối giữa hai điểm là
đường thẳng
Đó là???
Nội suy
tuyến tính!!!

Ứng dụng đơn giản: Vấn đề nội suy trong
kỹ thuật hóa học
Nội suy tuyến tính
x
s
y
s
y
1
x
1
x
n
x
k-1
x
k
y
k-1
y
k
y

n
0
y
x
Phương trình đường
thẳng đi qua hai
điểm (x
k-1
,y
k-1
) và
(x
k
,y
k
):
1
1
1
1






=


kk

k
kk
k
yy
yy
xx
xx
)(
1
1
1
1 −






+=
ks
kk
kk
ks
xx
xx
yy
yy

Ứng dụng đơn giản: Vấn đề nội suy trong
kỹ thuật hóa học

Nội suy tuyến tính
Thuật toán:
1. Chỉ ra khoảng (x
k-1
,x
k
) chứa giá trị x
s
 giá trị của
k
2. Đưa giá trị của k tìm được vào biểu thức nội suy
tuyến tính
)(
1
1
1
1 −






+=
ks
kk
kk
ks
xx
xx

yy
yy

Ứng dụng đơn giản: Vấn đề nội suy trong
kỹ thuật hóa học
Nội suy tuyến tính
Procedure NOSUY(xs:real;VAR ys:real;Y,X:mX);
Begin
k:=0;
{so sánh xs với các giá trị x1, …, xn}
{Số vòng lặp sẽ là không xác định!!!?}
{Sử dụng cấu trúc:}
{Repeat … Until hoặc While … End}
Repeat
k:=k+1;
Until xs < x[k];

Ứng dụng đơn giản: Vấn đề nội suy trong
kỹ thuật hóa học
Nội suy tuyến tính
Procedure NOSUY(xs:real;VAR ys:real;Y,X:mX);
Begin
k:=0;
Repeat
k:=k+1;
Until xs < x[k];
{Ra khỏi vòng lặp trên đã tìm được giá trị k}
ys:=y[k-1]+(y[k]-y[k-1])*(xs-x[k-1])
/(x[k]-x[k-1]);
End;


Ứng dụng đơn giản: Vấn đề nội suy trong
kỹ thuật hóa học
Ví dụ 1:
Cho hỗn hợp lỏng Bezne – Toluen, biết hàm lượng
Benzen trong pha lỏng x = 0,4 (phần mol). Hãy xác định
hàm lượng Benze trong pha hơi ở trạng thái cân bằng.
x = 0,4
y
CB
= ?

Ứng dụng đơn giản: Vấn đề nội suy trong
kỹ thuật hóa học
Ví dụ 1:
Dữ liệu thực nghiệm về cân bằng pha:
x y T x y T
0 0 110,6 50 71,2 92,1
5 11,8 108,3 60 79 89,4
10 21,4 106,1 70 85,4 86,8
20 38 102,2 80 91 84,4
30 51,1 98,6 90 95,9 82,3
40 61,9 95,2 100 100 80,2

Ứng dụng đơn giản: Vấn đề nội suy trong
kỹ thuật hóa học
Ví dụ 1:
Program CB1;
uses crt;
type

mX=array [1 50] of real;
var
X,Y:mX;
xs,ys:real;
n,i,j,k:integer;
Procedure NOSUY(xs:real;VAR ys:real;Y,X:mX);
Begin

Ứng dụng đơn giản: Vấn đề nội suy trong
kỹ thuật hóa học
Ví dụ 1:
Procedure NOSUY(xs:real;VAR ys:real;Y,X:mX);
Begin
k:=0;
Repeat
k:=k+1;
Until xs<x[k];
ys:=y[k-1]+ (y[k]-y[k-1])*(xs-x[k-1])
/(x[k]-x[k-1]);
End;
{Chương trình chính}

Ứng dụng đơn giản: Vấn đề nội suy trong
kỹ thuật hóa học
Ví dụ 1:
{Chương trình chính}
BEGIN
clrscr;
writeln (‘Nhập số điểm thực nghiệm n = ’);
readln (n);

{Nhập các số liệu của pha lỏng x[i]}
For i:=1 to n do
Begin
writeln (‘x[‘,i,’] =‘);readln (x[i]);
End;

Ứng dụng đơn giản: Vấn đề nội suy trong
kỹ thuật hóa học
Ví dụ 1:
{Chương trình chính}
BEGIN

{Nhập các số liệu của pha hơi ở TTCB y[i]}
For i:=1 to n do
Begin
writeln (‘y[‘,i,’] =‘);readln (y[i]);
End;
{Tìm hàm lượng pha hơi cân bằng với xs=0.4}

Ứng dụng đơn giản: Vấn đề nội suy trong
kỹ thuật hóa học
Ví dụ 1:
{Chương trình chính}
BEGIN

{Tìm hàm lượng pha hơi cân bằng với xs=0.4}
writeln (‘Nhập giá trị xs =’);readln(xs);
NOISUY (xs,ys,Y,X);
{Hiển thị kết quả}
writeln (‘Hàm lượng y cân bằng, yCB =’,ys);

readln;
END.

Ứng dụng đơn giản: Vấn đề nội suy trong
kỹ thuật hóa học
Ví dụ 2:
Cho hỗn hợp lỏng Bezne – Toluen, biết hàm lượng
Benzen trong pha khí (hơi) y = 0,6 (phần mol). Hãy xác
định hàm lượng Benze trong pha lỏng ở trạng thái cân
bằng.
x
CB
= ?
y = 0,6

Ứng dụng đơn giản: Vấn đề nội suy trong
kỹ thuật hóa học
Ví dụ 2:
Dữ liệu thực nghiệm về cân bằng pha:
x y T x y T
0 0 110,6 50 71,2 92,1
5 11,8 108,3 60 79 89,4
10 21,4 106,1 70 85,4 86,8
20 38 102,2 80 91 84,4
30 51,1 98,6 90 95,9 82,3
40 61,9 95,2 100 100 80,2

Ứng dụng đơn giản: Vấn đề nội suy trong
kỹ thuật hóa học
Ví dụ 2:

Program CB2;
uses crt;
type
mX=array [1 50] of real;
var
X,Y:mX;
xs,ys:real;
n,i,j,k:integer;
Procedure NOSUY(xs:real;VAR ys:real;Y,X:mX);
Begin

Ứng dụng đơn giản: Vấn đề nội suy trong
kỹ thuật hóa học
Ví dụ 2:
Procedure NOSUY(xs:real;VAR ys:real;Y,X:mX);
Begin
k:=0;
Repeat
k:=k+1;
Until xs<x[k];
ys:=y[k-1]+ (y[k]-y[k-1])*(xs-x[k-1])
/(x[k]-x[k-1]);
End;
{Chương trình chính}

Ứng dụng đơn giản: Vấn đề nội suy trong
kỹ thuật hóa học
Ví dụ 2:
{Chương trình chính}
BEGIN

clrscr;
writeln (‘Nhập số điểm thực nghiệm n = ’);
readln (n);
{Nhập các số liệu của pha lỏng x[i]}
For i:=1 to n do
Begin
writeln (‘x[‘,i,’] =‘);readln (x[i]);
End;

Ứng dụng đơn giản: Vấn đề nội suy trong
kỹ thuật hóa học
Ví dụ 2:
{Chương trình chính}
BEGIN

{Nhập các số liệu của pha hơi ở TTCB y[i]}
For i:=1 to n do
Begin
writeln (‘y[‘,i,’] =‘);readln (y[i]);
End;
{Tìm hàm lượng pha lỏng cân bằng với ys=0.6}

Ứng dụng đơn giản: Vấn đề nội suy trong
kỹ thuật hóa học
Ví dụ 2:
{Chương trình chính}
BEGIN

{Tìm hàm lượng pha lỏng cân bằng với ys=0.6}
writeln (‘Nhập giá trị ys =’);readln(ys);

NOISUY (ys,xs,X,Y);
{Hiển thị kết quả}
writeln (‘Ham lượng x cân bằng, yCB =’,xs);
readln;
END.

Ứng dụng đơn giản: Vấn đề nội suy trong
kỹ thuật hóa học
Ví dụ 3:
Cho hệ hơi nước bão hòa, biết nhiệt độ của hệ là
T = 119,6
o
C. Hãy xác định áp suất hơi bão hòa p
S
của
hệ?
T = 119,6
o
C
p
S
= ?

Ứng dụng đơn giản: Vấn đề nội suy trong
kỹ thuật hóa học
Ví dụ 3:

×