Ứng dụng chương trình Matlab trong việc giải một số bài toán tính đường mặt nước dòng chảy trong kênh hở

Tóm tắt: ứng dụng phần mềm để giải quyết các bài toán kỹ thuật làmột xu h-ớng tất yếu

hiện nay. Matlab làmột trong những phần mềm có khả năng ứng dụng cao vàrất tiện ích trong

các tr-ờng đại học trên thế giới hiện nay. Bài báo này giới thiệu một số ứng dụng của Matlab

tính toán đ-ờng mặt n-ớc dòng chảy trong kênh hở.

Summary: Using software to solve the technical problems is a current tendency.

The Matlab program is one of some software which are usually applied by many universities

in the world. This article presents some applications of Matlab in the open channel flow

problems.

pdf11 trang | Chuyên mục: MATLAB | Chia sẻ: dkS00TYs | Lượt xem: 2106 | Lượt tải: 2download
Tóm tắt nội dung Ứng dụng chương trình Matlab trong việc giải một số bài toán tính đường mặt nước dòng chảy trong kênh hở, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
AR
Qn
S ==⇒ (1) CT 2 
Từ ph−ơng trình vi phân cơ bản của dòng chảy ổn định, thay đổi dần không áp: 
3
2
23
4
H
22
0
2
3
4
H
22
0
2
0
gA
BQ
1
AR
Qn
S
gA
BV
1
R
Vn
S
Fr1
SS
dx
dy
−
−
=
−
−
=
−
−= (2) 
trong đó: S0 - độ dốc đáy kênh; 
n - hệ số nhám Manning; 
V - vận tốc trung bình mặt cắt, 
A
Q
V = ; 
RH - bán kính thuỷ lực; 
B - chiều rộng mặt thoáng; 
A - diện tích mặt cắt −ớt; 
Fr - số Frút, 
gy
V
Fr = ; 
Q - l−u l−ợng (m3/s). 
 Sai phân ta có: y
AR
Qn
S
gA
BQ
1
L
23
4
H
22
0
3
2
Δ
⎥⎥
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎢⎢
⎣
⎡
−
−
=Δ (3) 
Sơ đồ khối: 
Kết thúc
Bắt đầu 
yΔ
yyy i1i Δ+=+
i
i
Hi
i
22
i
2
i
2
i
P
A
R
180/2rP
)2sin(
2
r
360
2r
A
)ry(r2B
=
πìθì=
θ−θπ=
−−ì=
2
RR
R,
2
BB
B,
2
AA
A 1HiHiHi
1ii
i
1ii
i
+++ +=+=+= 
y
AR
Qn
S
A81,9
BQ
1
L
2
i
3
4
Hi
22
0
3
i
i
2
1i Δì
⎥⎥
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎢⎢
⎣
⎡
−
ì
−
=Δ + 
1i
i
1
i1i LLL ++ Δ+Δ= ∑ 
Vẽ quan hệ L = f(y)
In kết quả 
 CT 2
 • Ph−ơng pháp 2 
Từ ph−ơng trình vi phân f0 SSdx
de −= chuyển thành ph−ơng trình sai phân f0 SSL
e −=Δ
Δ
. 
Dẫn đến: 
f0 SS
e
L −
Δ=Δ 
trong đó: e - năng l−ợng đơn vị mặt cắt, 
2
i
2
ii
gA2
Q
ye += ; fS - độ dốc thuỷ lực trung bình. 
Sơ đồ khối: cấu trúc ch−ơng trình Matlab về cơ bản không thay đổi ta chỉ thay đổi công thức 
tính độ tăng chiều dài . iLΔ
Bắt đầu 
yΔ
yyy i1i Δ+=+
i
i
Hi
22
i
i
2
i
2
i
P
A
R;)2sin(
2
r
360
2r
A
180/2rP;)ry(r2B
=θ−θπ=
πìθì=−−ì=
2
RR
R,
2
BB
B,
2
AA
A 1HiHiHi
1ii
i
1ii
i
+++ +=+=+= 
⎥⎥
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎢⎢
⎣
⎡
−
⎟⎟⎠
⎞
⎜⎜⎝
⎛ +−⎟⎟⎠
⎞
⎜⎜⎝
⎛ +
=Δ +
+
+
3
4
Hi
2
i
22
0
2
i
2
i2
1i
2
1i
1i
RA
Qn
S
gA2
Q
y
gA2
Q
y
L 
1i
i
1
i1i LLL ++ Δ+Δ= ∑ 
Vẽ quan hệ L= f(y); In kết quả 
Kết thúc 
CT 2 
 • Ph−ơng pháp 3: Ph−ơng pháp tính lặp (TRAP) 
[ ])1i(F)i(Fl
2
1
yy 1ii1i ++Δ+= ++ 
suy ra 
)1i(F)i(F
y2
l i1i ++
Δì=Δ + 
với 
i3
i
2
fi0
B
gA
Q
1
SS
)i(F
−
−= 
Ch−ơng trình Matlab chỉ thay đổi công thức tính iLΔ : 
Bắt đầu
yΔ
yyy i1i Δ+=+
i
i
Hi
i
22
i
2
i
2
i
P
A
R
180/2rP
)2sin(
2
r
360
2r
A
)ry(r2B
=
πìθì=
θ−θπ=
−−ì=
i3
i
2
fi0
B
gA
Q
1
SS
)i(F
−
−= 
)1i(F)i(F
y2
L i1i ++
Δì=Δ + 
1i
i
1
i1i LLL ++ Δ+Δ= ∑ 
Vẽ quan hệ L = f(y) 
In kết quả 
Kết thúc 
 CT 2
 Ví dụ: 
Một dòng chảy có l−u l−ợng 10 m3/s dọc theo một cống tròn có bán kính r = 1 m. Nếu tại 
mặt cắt 1, chiều sâu dòng chảy là 0,8 m. Tính chiều dài kênh từ mặt cắt 1 đến mặt cắt 2 có độ 
sâu 1,2 m về phía hạ l−u? Kênh làm bằng bêtông (n = 0,014) có độ dốc dọc không đổi S0 = 
0,003. 
• Ch−ơng trình Matlab 1 
% ----------------Tinh duong mat nuoc trong kenh ho------------------- 
clear all;close all; 
c=pi./180; 
delta_y=input('do tang chieu sau(m)\n'); 
r=input('ban kinh mat cat kenh(m)\n'); 
n=input('do nham kenh\n'); 
q=input('luu luong kenh m^3/s\n'); 
so=input('do doc day kenh\n'); 
y=[0.80: delta_y: 1.20]; 
%chieu sau dong chay thay doi tu 0.8 den 1.2m 
for i=1:length(y); 
 al_pha=(180./pi)*acos((y(i)-r)/r); 
 the_ta=180-al_pha; 
 b(i)=2*sqrt(r.^2-(y(i)-r).^2); 
 %chieu rong dinh mat cat kenh 
 A(i)=r.^2*the_ta*c-r.^2/2.*sin(2*the_ta*c); 
 %dien tich mat cat ngang 
 P(i)=r.*2.*the_ta*c; 
 %chu vi uot cua mat cat kenh 
 rh(i)=A(i)./P(i); 
 %ban kinh thuy luc 
CT 2 end 
delta_l(1)=0; 
l(1)=0; 
%cac gia tri ban dau trong day "delta_l" va "l" bang 0 
for i=1:length(y)-1; 
 A_av(i)=(A(i)+A(i+1))./2; 
 b_av(i)=(b(i)+b(i+1))./2; 
 rh_av(i)=(rh(i)+rh(i+1))./2; 
 %gia tri trung binh dt,be rong dinh,ban kinh thuy luc 
 delta_l(i+1)=((1-(q.^2.*b_av(i))./(9.81.*A_av(i).^3))./(so-
(n).^2.*(q.^2./(rh_av(i).^(4./3).*A_av(i).^2)))).*delta_y; 
 %xac dinh chieu dai theo y va delta_y dua tren cac gia tri trung binh 
 l(i+1)=sum(delta_l(1:i))+delta_l(i+1); 
 %chieu dai kenh 
end 
plot(l,y);%Ve quan he l va y 
grid; 
xlabel('chieu dai kenh'); 
ylabel('chieu cao chat long'); 
title('dong chay trong kenh ho'); 
axis([0 100 2 4]); 
fprintf('\n\n\nsection y, m delta_y, m delta_l, m l, m\n'); 
for i=1:length(y); 
 fprintf('%1.0f %2.2f %1.2f %4.2f %4.2f\n', i, y(i), 
delta_y, delta_l(i), l(i)); 
end 
%---------------------Ket thuc---------------------------- 
 • Nhập dữ liệu: 
do tang chieu sau (m): 0.1 
ban kinh mat cat kenh (m): 1 
do nham kenh: 0.014 
luu luong kenh m^3/s: 10 
do doc day kenh: 0.003 
Kết quả: 
 Section y(m) delta_y(m) delta_l(m) l(m) 
 1 0.80 0.10 0.00 0.00 
 2 0.90 0.10 27.09 27.09 
 3 1.00 0.10 25.79 52.88 
 4 1.10 0.10 23.98 76.86 
 5 1.20 0.10 21.51 98.37 
0 10 20 30 40 50 60 70 80 90 100
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
chieu dai kenh
ch
ie
u 
ca
o 
ch
at
 lo
ng
dong chay trong kenh ho
CT 2
• Ch−ơng trình Mablab 2: 
% ----------------Tinh duong mat nuoc trong kenh ho------------------- 
clear all;close all; 
c=pi./180; 
delta_y=input('do tang chieu sau(m)\n'); 
r=input('ban kinh mat cat kenh(m)\n'); 
n=input('do nham kenh\n'); 
 q=input('luu luong kenh m^3/s\n'); 
so=input('do doc day kenh\n'); 
y=[0.80: delta_y: 1.20]; 
%chieu sau dong chay thay doi tu 0.8 den 1.2m 
for i=1:length(y); 
 al_pha=(180./pi)*acos((y(i)-r)/r); 
 the_ta=180-al_pha; 
 b(i)=2*sqrt(r.^2-(y(i)-r).^2); 
 %chieu rong dinh mat cat kenh 
 A(i)=r.^2*the_ta*c-r.^2/2.*sin(2*the_ta*c); 
 %dien tich mat cat ngang 
 P(i)=r.*2.*the_ta*c; 
 %chu vi uot cua mat cat kenh 
 rh(i)=A(i)./P(i); 
 %ban kinh thuy luc 
end 
delta_l(1)=0; 
l(1)=0; 
%cac gia tri ban dau trong day "delta_l" va "l" bang 0 
for i=1:length(y)-1; 
 A_av(i)=(A(i)+A(i+1))./2; 
 b_av(i)=(b(i)+b(i+1))./2; 
 rh_av(i)=(rh(i)+rh(i+1))./2; 
 %gia tri trung binh dt,be rong dinh,ban kinh thuy luc 
 y(i+1)=y(i)+delta_y; 
 delta_l(i+1)=(((y(i+1)+q.^2./(2*9.81.*A(i+1).^2))-
(y(i)+q.^2./(2*9.81*A(i).^2)))/(so-
(n.^2*q.^2./(A_av(i).^2*rh_av(i).^(4./3))))); 
 %xac dinh chieu dai theo y va delta_y dua tren cac gia tri trung 
binh CT 2 
 l(i+1)=sum(delta_l(1:i))+delta_l(i+1); 
 %chieu dai kenh 
end 
plot(l,y);%Ve quan he l va y 
grid; 
xlabel('chieu dai kenh'); 
ylabel('chieu cao chat long'); 
title('dong chay trong kenh ho'); 
axis([0 100 0 2]); 
fprintf('\n\n\nsection y, m delta_y, m delta_l, m l, m\n'); 
for i=1:length(y); 
 fprintf('%1.0f %2.2f %1.2f %4.2f %4.2f\n', i, 
y(i), delta_y, delta_l(i), l(i)); 
end 
%---------------------Ket thuc---------------------------- 
• Nhập dữ liệu: 
do tang chieu sau (m): 0.1 
ban kinh mat cat kenh (m): 1 
do nham kenh: 0.014 
luu luong kenh m^3/s: 10 
 do doc day kenh: 0.003 
Kết quả: 
 Section y(m) delta_y(m) delta_l(m) l(m) 
1 0.80 0.10 0.00 0.00 
2 0.90 0.10 27.48 27.48 
3 1.00 0.10 26.10 53.58 
4 1.10 0.10 24.23 77.81 
5 1.20 0.10 21.72 99.53 
0 10 20 30 40 50 60 70 80 90 100
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
chieu dai kenh
ch
ie
u 
ca
o 
ch
at
 lo
ng
dong chay trong kenh ho
CT 2
• Ch−ơng trình Matlab 3: 
% ----------------Tinh duong mat nuoc trong kenh ho------------------- 
clear all;close all; 
c=pi./180; 
delta_y=input('do tang chieu sau(m)\n'); 
r=input('ban kinh mat cat kenh(m)\n'); 
n=input('do nham kenh\n'); 
q=input('luu luong kenh m^3/s\n'); 
so=input('do doc day kenh\n'); 
y=[0.80: delta_y: 1.20]; 
%chieu sau dong chay thay doi tu 0.8 den 1.2m 
for i=1:length(y); 
 al_pha=(180./pi)*acos((y(i)-r)/r); 
 the_ta=180-al_pha; 
 b(i)=2*sqrt(r.^2-(y(i)-r).^2); 
 %chieu rong dinh mat cat kenh 
 A(i)=r.^2*the_ta*c-r.^2/2.*sin(2*the_ta*c); 
 %dien tich mat cat ngang 
 P(i)=r.*2.*the_ta*c; 
 %chu vi uot cua mat cat kenh 
 rh(i)=A(i)./P(i); 
 %ban kinh thuy luc 
 F(i)=(so-(n).^2.*(q.^2./(rh(i).^(4./3).*A(i).^2)))./((1-
(q.^2.*b(i))./(9.81.*A(i).^3))); 
end 
delta_l(1)=0; 
l(1)=0; 
%cac gia tri ban dau trong day "delta_l" va "l" bang 0 
for i=1:length(y)-1; 
 delta_l(i+1)=2*delta_y./(F(i)+F(i+1)); 
 %xac dinh chieu dai theo y va delta_y 
 l(i+1)=sum(delta_l(1:i))+delta_l(i+1); 
 %chieu dai kenh 
end 
plot(l,y);%Ve quan he l va y 
grid; 
xlabel('chieu dai kenh'); 
ylabel('chieu cao chat long'); 
title('dong chay trong kenh ho'); 
axis([0 100 0 2]); 
fprintf('\n\n\nsection y, m delta_y, m delta_l, m l, m\n'); 
for i=1:length(y); 
 fprintf('%1.0f %2.2f %1.2f %4.2f %4.2f\n', i, 
y(i), delta_y, delta_l(i), l(i)); 
CT 2 
end 
%---------------------Ket thuc---------------------------- 
Nhập dữ liệu: 
do tang chieu sau (m): 0.1 
ban kinh mat cat kenh (m): 1 
do nham kenh: 0.014 
luu luong kenh m^3/s: 10 
do doc day kenh: 0.003 
Section y (m) delta_y (m) delta_l (m) l (m) 
 1 0.80 0.10 0.00 0.00 
 2 0.90 0.10 27.11 27.11 
 3 1.00 0.10 25.79 52.90 
 4 1.10 0.10 23.93 76.83 
 5 1.20 0.10 21.38 98.21 
 0 10 20 30 40 50 60 70 80 90 100
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
chieu dai kenh
ch
ie
u 
ca
o 
ch
at
 lo
ng
dong chay trong kenh ho
III. Kết luận CT 2
Ph−ơng pháp 1 và 3 cho kết quả khá giống nhau; ph−ơng pháp 1 cho kết quả l = 98,37 m, 
ph−ơng pháp 3 cho kết quả l = 98,21 m. 
Nh− vậy, cùng một cấu trúc chung của ch−ơng trình Matlab tính toán đ−ờng mặt n−ớc có 
thể đ−ợc cải biến đ−a vào nhiều ph−ơng pháp giải khác nhau để so sánh, đánh giá và chọn 1 
ph−ơng pháp thích hợp. 
Ví dụ trên ta thấy đ−ợc sự lợi ích của ch−ơng trình máy tính, nó có thể giúp ta giải quyết 
hàng loạt bài toán t−ơng tự bằng cách thay đổi dữ kiện đầu vào và thay đổi công thức tính phù 
hợp với bài toán, −u điểm của việc giải bài toán trên máy tính là cho kết quả khá chi tiết và hình 
ảnh trực quan sinh động qua đó giúp cho ng−ời học tiếp cận dần với ph−ơng pháp học mới. 
Tài liệu tham khảo 
[1] Irving H. Shames. Mechanics of Fluid. NXB Mc Graw – Hill, 2003. 
[2] Young W. Hwon & Hyochoong Bang. The Finite Element Method Using Matlab, 2000. 
[3] Phùng Văn Kh−ơng, Trần Đình Nghiên (chủ biên), Bùi Thị Vinh. Thuỷ lực. NXB Giao thông 
Vận tải, 1994Ă 

File đính kèm:

  • pdfỨng dụng chương trình Matlab trong việc giải một số bài toán tính đường mặt nước dòng chảy trong kênh hở.pdf