Bài Giảng Phương Pháp Số TRong CNHH
Trang 1PHƯƠ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
Tuần 9-10
Trang 2Chương 3
Phương trình và hệ phương trình vi phân
Mở đầu. Các bài toán thường gặp có thể 2 loại:
điều kiện bổ sung (điều kiện ban đầu) đã cho tại không quá một điểm
C - hằng số tích phân, phụ thuộc điều kiện ban đầu
- Mỗi giá trị của C 1 nghiệm xác định
- Xác định C cần biết thêm 1 điều kiện ban đầu, ví dụ
- Nghiệm tổng quát : y = x2 + x + C; (b)
y(x=1) = 2; (c) (b) C = 0;
Nghiệm của (a) là y = x2 + x thoả mãn (a) và (c).Bài toán tìm hàm số y(x) thoả mãn p/t vi phân (a) và điều kiện
Trang 3Chương 3
Phương trình và hệ phương trình vi phân
Bài toán Côsi đối với phương trình vi phân cấp 1:
( 2 ) - điều kiện Côsi hay điều kiện ban đầu
Trang 4Chương 3
Phương trình và hệ phương trình vi phân
* Bài toán biên.
Bài toán giải phương trình vi phân với điều kiện bổ sung được cho tại nhiều hơn 1 điểm
- Cho khoảng [a, b];
- Tìm hàm y = y(x) trên [a, b] thoả mãn:
Trong nhiều trường hợp giải gần đúng
y’ + p(x)y’ +q(x,y) = f(x); a ≤ x ≤ b ( 3 )với điều kiện y(a) = α; y(b) = β ( 4 )
Trang 5Chương 3
Phương trình và hệ phương trình vi phân
Giải bài toán Côsi.
Phương pháp chuỗi Taylo. y’ = f(x, y); x0 ≤ x ≤ X
y(x0) = η ;Khai triển nghiệm y(x) tại x = x0:
⋅⋅
⋅ +
− +
⋅⋅
⋅ +
− +
− +
k
x
y x
x
x
y x
x
x
y x
(
! 2
) (
( )
)
( 2
0
0 0
0
);
, (
)) (
, (
) (
' x0 f x0 y x0 f x0 η
)' ' (
y
f x
y
x x
f x
y x f y
∂
∂ +
y
f x
x
f x
∂
∂ +
∂
∂
Trang 6− +
⋅⋅
⋅ +
− +
− +
k
x
y x
x
x
y x
x
x
y x
(
! 2
) (
( )
)
( 2
0
0 0
Trang 7Chương 3
Phương trình và hệ phương trình vi phân
3.1 Giải phương trình vi phân bằng phương pháp Euler
- Là phương pháp số;
- Xác định từng giá trị của y(x) theo giá trị cụ thể của x
bảng các giá trị x và y(x) tương ứng
Nội dung: - Chia [x0, X] n đoạn bằng các nút xi cách đều
xi Lưới sai phân trên [x0, X]
xi – nút của lưới; h - bước của lưới: h = const;
- y(x) nghiệm đúng của (1), (2)
y’ = f(x,y); x0 ≤ x ≤ X
y(x ) = η ;
( 1 )( 2 )
Trang 8Chương 3
Phương trình và hệ phương trình vi phân
3.1 Giải phương trình vi phân bằng phương pháp Euler
Thành lập công thức tính:
- y(xi) – giá trị đúng của y(x) tại xi;
- yi – giá trị gần đúng tính được của y(xi);
- Giả sử đã biết ui, cần tính ui+1 tại xi+1
- Khai triển Taylor tại xi; h đủ nhỏ bỏ qua các số hạng cuối
);
)(
( )
( )
; )
( xi+1 − xi = h y ′ ( xi) = f ( xi, y ( xi) ) ;
( , ( ) ) ;
) ( )
( )
Trang 9Chương 3
Phương trình và hệ phương trình vi phân
3.1 Giải phương trình vi phân bằng phương pháp Euler
- Điều kiện ban đầu y0 = η
Nhận xét: - Đơn giản, không phải giải p/trình nào, thuận tiện
lập trình giải trên máy tính
y’ = f(x,y); x0 ≤ x ≤ X
y(x0) = η ;
( 1 )( 2 )
ih x
xi+1 = i +
Trang 10Chương 3
Phương trình và hệ phương trình vi phân
3.1 Giải phương trình vi phân bằng phương pháp Euler
- Đánh giá sai số: Sau khi tính được u tại xi với bước h: u(xi,h)
tính u(xi, h/2) nghiệm sai số :
; 2
, )
, ( )
( 2
x y x
y
h x
Trang 11Chương 3
Phương trình và hệ phương trình vi phân
3.1 Giải phương trình vi phân bằng phương pháp Euler
- Ấn định số khoảng chia n; - Tính h = (x – x0)/n ;
- Tính xi = x0 + ih; - Đặt y0 = η
- Tính yi+1 = yi + h.f(xi,yi) với i = 0, 1, 2, , n ;
- Đặt y(xi, h) = yi; thay h = h/2 tính lại;
- Đặt y(xi,h/2) = yi; y(xi, h/2) ~ y(xi)
2
, )
, ( )
( 2
x y x
y
h x
Trang 120 (
2 '
y
y
x y
y
Trang 130 (
2 '
y
y
x y
y
Trang 140 (
2 '
y
y
x y
y
Trang 15Chương 3
Phương trình và hệ phương trình vi phân
3.2 Giải phương trình vi phân bằng phương pháp hình
thang
Phương pháp Ơle có độ chính xác không cao
Thay (9)
[ ( , ) ( , ) ] ; 2
* 1 1
u*i+1 trong (11) được tính theo công thức Ơle:
Đã chứng minh được phương pháp này có độ chính xác cấp 2:
).
( 0
; )
Trang 16Chương 3
Phương trình và hệ phương trình vi phân
3.2 Giải phương trình vi phân bằng phương pháp hình
thang
;
) 1
( 1
)
(
1 − − ≤ ε
+ + i k
) 0
) 1
( 1 1
)
(
+ +
i i
i i i
* 1 1
Trang 17Chương 3
Phương trình và hệ phương trình vi phân
3.2 Giải phương trình vi phân bằng phương pháp Kutta
Runge-Bậc 2:
trong đó
);
( 2
1
2 1
);
, (
.
);
, (
1 2
1
k y
h x
f h k
y x
f h k
i i
i
i
+ +
=
=
(15)
Trang 18Chương 3
Phương trình và hệ phương trình vi phân
3.2 Giải phương trình vi phân bằng phương pháp Kutta
1
3 2
(
);
2
, 2
(
);
, (
2 1
3
1 2
1
k k
y h x
f h k
k y
h x
f h k
y x f h k
i i
i i
i i
+
− +
=
+ +
=
=
(17)
Trang 19Chương 3
Phương trình và hệ phương trình vi phân
3.2 Giải phương trình vi phân bằng phương pháp
( 6
1
4 3
2 1
yi+ = i + + + + (16)
);
,(
);
2
,2
(
);
2
,2
(
);
,(
2 3
1 2
1
k y
h x
f h k
k y
h x
f h k
k y
h x
f h k
y x f h k
i i
i i
i i
++
=
++
=
++
=
=
(17)
Trang 200 (
2 '
y
y
x y
y
3.2 Giải phương trình vi phân bằng phương pháp Kutta
Trang 210 (
2 '
y
y
x y
Trang 220 (
2 '
y
y
x y
Trang 23Chương 3
Phương trình và hệ phương trình vi phân
3.3 Giải hệ phương trình vi phân bằng phương pháp
.,
,,(
).,
.,
,,(
).,
.,
,,(
2 1
2 1 2
2
2 1 1
1
n n
n
n n
y y
y x f y
y y
y x f y
y y
y x f y
Trang 24Chương 3
Phương trình và hệ phương trình vi phân
3.3 Giải hệ phương trình vi phân bằng phương pháp
Euler
Công thức Euler:
( 23 )
h i x
x
y y
y x f
h y
y
y y
y x f
h y
y
y y
y x f
h y
y
i n i
i i
n i
n i
n
i n i
i i
i i
i n i
i i
i i
.
) , ,
, ,
(
, ,
(
) , ,
, ,
(
, ,
2 ,
1 ,
1
,
, ,
2 ,
1 2
, 2 1
,
2
, ,
2 ,
1 1
, 1 1
h = −
Trang 28Chương 3
Phương trình và hệ phương trình vi phân
3.3 Giải hệ phương trình vi phân bằng phương pháp Euler
0 (
1 )
0 (
cos sin
sin cos
2 1
2 1
' 2
2 1
' 1
y y
x y
x y
y
x y
x y
y
Trang 29Chương 3
Phương trình và hệ phương trình vi phân
3.4 Giải hệ phương trình vi phân bằng phương pháp Runge-Kutta
Trang 30Chương 3
Phương trình và hệ phương trình vi phân
3.4 Giải hệ phương trình vi phân bằng phương pháp Runge-Kutta
Trang 31Chương 3
Phương trình và hệ phương trình vi phân
3.4 Giải hệ phương trình vi phân bằng phương pháp Runge-Kutta
Trang 32Chương 3
Phương trình và hệ phương trình vi phân
3.4 Giải hệ phương trình vi phân bằng phương pháp Runge-Kutta
Trang 33Chương 3
Phương trình và hệ phương trình vi phân
3.4 Giải hệ phương trình vi phân bằng phương pháp Runge-Kutta
Trang 34Chương 3
Phương trình và hệ phương trình vi phân
3.4 Giải hệ phương trình vi phân bằng phương pháp Runge-Kutta
Trang 35D C
B A
k
k k
3
1
2
⇒ +
+
⇔ +
Biết:
Tại t = 0: CA = CA,0, CB = CB,0, CC = CC,0, CD = CD,0, CE = CE,0.
Các hằng số tốc độ phản ứng:
)) /(
exp(
)) /(
exp(
, 1 ,
0 , 1 2
, 1 ,
0 , 1 1
RT E
k k
RT E
k k
r a r
f a f
Trang 36A D
C B D
C B
A C
C B D
C B
A B
D C B
A A
C C k dC
C C k C
C
k dt
dC
C C k C
C k C
C
k dt
dC
C C k C
C k C
C
k dt
dC
C C k C
C
k dt
dC
2 1
3 2
1
3 2
1
2 1
Trang 37C B
D C
B A
k k
k k
+
⇔ +
+
⇔ +
exp(
)) /(
exp(
)) /(
exp(
, 2 ,
0 , 2 3
, 1 ,
0 , 1 2
, 1 ,
0 , 1 1
RT E
k k
RT E
k k
RT E
k k
f a f
r a r
f a f
Trang 38D C B
A D
C B D
C B
A C
C B D
C B
A B
D C B
A A
C C k C
C k
dC dC
C C k C
C
k dt
dC
C C k C
C k C
C
k dt
dC
C C k C
C k C
C
k dt
dC
C C k C
C
k dt
dC
2 1
3 2
1
3 2
1
2 1
Trang 39Chương 3
Phương trình và hệ phương trình vi phân3.5 Ứng dụng
Khảo sát động học của một hệ phản ứng phức tạp
Trang 41Chương 3
Phương trình và hệ phương trình vi phân3.5 Ứng dụng
Khảo sát động học của một hệ phản ứng phức tạp
Trang 43Chương 3
Phương trình và hệ phương trình vi phân3.5 Ứng dụng
Khảo sát động học của một hệ phản ứng phức tạp