Báo cáo khoa học: "ứ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ở" pot

11 581 1
Báo cáo khoa học: "ứ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ở" pot

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ứng dụng chơng trình matlab việc giải số toán tính đờng mặt nớc dòng chảy kênh hë Ks Ngun viÕt Bé m«n Thủ lùc - Thuỷ văn Khoa Công trình Trờng Đại học Giao thông Vận tải Tóm tắt: ứng dụng phần mềm để giải qut c¸c bμi to¸n kü tht lμ mét xu h−íng tất yếu Matlab l phần mềm có khả ứng dụng cao v tiện ích trờng đại học giới Bμi b¸o nμy giíi thiƯu mét sè øng dơng Matlab tính toán đờng mặt nớc dòng chảy 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 CT I Đặt vấn đề Matlab tổ hợp cấu trúc chơng trình với hàm toán học đà xác định trớc ứng dụng Matlab đa dạng ta xây dựng chơng trình khác để giải toán kỹ thuật, cụ thể toán tính vẽ đờng mặt nớc kênh hở ta viết chơng trình theo sơ đồ khối: Nhập liệu Tính chiều sâu dọc theo dòng chảy Tính toán c¸c u tè thủ lùc (b¸n kÝnh, chu vi, diƯn tích) Tính chiều dài kênh Vẽ đờng mặt nớc In kết Khi tính toán đờng mặt nớc thờng phải áp dụng phơng pháp gần có phơng ph¸p céng trùc tiÕp song viƯc tÝnh to¸n cho khèi lợng tính toán lớn độ xác không cao Vì sử dụng Matlab để giải toán làm cho việc tính nhanh mức độ xác theo yêu cầu II Tiếp cận vấn đề Ta xét toán dòng chảy không áp cống tròn: Mặt cắt ngang i-i ã Phơng pháp Từ công thức tính lu lợng Sêdi-Manning rút ra: CT Q= n2 Q n2 V = RH S0 A ⇒ S0 = 4 n RH A RH (1) Từ phơng trình vi phân dòng chảy ổn định, thay đổi dần không áp: dy S − S = = dx − Fr S0 − n2 V RH V 2B gA đó: S0 - độ dốc đáy kênh; n - hệ số nhám Manning; V - vận tốc trung bình mặt cắt, 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, Fr = V gy Q - l−u l−ỵng (m3/s) ; S0 − Q ; A = n2 Q RH A 1− Q 2B gA (2) Sai ph©n ta cã: ⎡ ⎢ 1− Q B ⎢ gA ΔL = ⎢ ⎢ n2 Q ⎢ S0 − ⎢ RH A ⎣ ⎤ ⎥ ⎥ ⎥ Δy ⎥ ⎥ ⎥ ⎦ (3) Sơ đồ khối: Bắt đầu y y i +1 = y i + Δy Bi = × r − (y i − r ) πr 2θ r − sin(2θ) 360 Pi = r × 2θ × π / 180 Ai = R Hi = Ai Pi A + A i +1 B + Bi +1 R + R Hi +1 Ai = i , Bi = i , R Hi = Hi 2 ⎡ Q Bi ⎢ 1− ⎢ 9,81 × A i ⎢ ΔL i+1 = ⎢ n2 Q ⎢ S0 − ⎢ R Hi A i ⎣ ⎤ ⎥ ⎥ ⎥ × Δy ⎥ ⎥ ⎥ ⎦ i L i +1 = ∑ ΔL i + ΔL i +1 VÏ quan hÖ L = f(y) In kết Kết thúc CT ã Phơng pháp Từ phơng trình vi phân e de = S S f chuyển thành phơng trình sai ph©n = S0 − S f ΔL dx ΔL = DÉn ®Õn: Δe S0 − S f đó: e - lợng đơn vị mặt cắt, e i = y i + Q2 2gA i ; S f - độ dốc thuỷ lực trung bình Sơ đồ khối: cấu trúc chơng trình Matlab không thay đổi ta thay đổi công thức tính độ tăng chiều dài Li Bắt đầu y y i +1 = y i + Δy Bi = × r − (y i − r ) ; Pi = r × 2θ × π / 180 CT Ai = Ai = A πr 2θ r − sin(2θ) ; R Hi = i 360 Pi A i + A i +1 B + Bi +1 R + R Hi +1 , Bi = i , R Hi = Hi 2 ΔL i +1 ⎡⎛ 2 ⎞ ⎛ ⎟ − ⎜y + Q ⎢⎜y + Q ⎢ ⎜ i +1 2gA ⎟ ⎜ i 2gA i +1 ⎠ ⎝ i ⎝ =⎢ 2 ⎢ n Q S0 − ⎢ ⎢ A i R Hi ⎣ i L i +1 = ∑ ΔL i + ΔL i +1 VÏ quan hÖ L= f(y); In kÕt qu¶ KÕt thóc ⎞⎤ ⎟⎥ ⎟⎥ ⎠⎥ ⎥ ⎥ ⎥ ã Phơng pháp 3: Phơng pháp tính lặp (TRAP) y i +1 = y i + suy Δl i+1 = víi F(i) = Δli +1[F(i) + F(i + 1)] 2 × Δy i F(i) + F(i + 1) S − S fi 1− Q2 Bi gA i Chơng trình Matlab thay đổi công thức tính Li : Bắt đầu y y i +1 = y i + Δy Bi = × r − ( y i − r ) πr 2θ r sin(2θ) − 360 Pi = r × 2θ × π / 180 Ai = R Hi = Ai Pi S − S fi F(i) = 1− Q2 gA i Bi × Δy i F(i) + F(i + 1) ΔL i +1 = i L i +1 = ∑ ΔL i + ΔL i +1 VÏ quan hÖ L = f(y) In kết Kết thúc CT Ví dụ: Một dòng chảy có lu lợng 10 m3/s dọc theo cống tròn có bán kính r = m Nếu mặt cắt 1, chiều sâu dòng chảy 0,8 m Tính chiều dài kênh từ mặt cắt đến mặt cắt có độ sâu 1,2 m phía hạ lu? Kênh làm bêtông (n = 0,014) có độ dốc dọc không đổi S0 = 0,003 ã Chơng trình Matlab CT % Tinh duong mat nuoc 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 day "delta_l" va "l" bang 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 kenh ho'); axis([0 100 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 liÖu: tang chieu sau (m): 0.1 ban kinh mat cat kenh (m): nham kenh: 0.014 luu luong kenh m^3/s: 10 doc day kenh: 0.003 KÕt qu¶: Section y(m) delta_y(m) delta_l(m) l(m) 0.80 0.10 0.00 0.00 0.90 0.10 27.09 27.09 1.00 0.10 25.79 52.88 1.10 0.10 23.98 76.86 1.20 0.10 21.51 98.37 dong chay kenh ho 1.8 1.6 CT chieu cao chat long 1.4 1.2 0.8 0.6 0.4 0.2 0 10 20 30 40 50 60 chieu dai kenh 70 80 90 100 ã Chơng trình Mablab 2: % Tinh duong mat nuoc 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'); CT 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 day "delta_l" va "l" bang 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 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 kenh ho'); axis([0 100 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 liệu: tang chieu sau (m): 0.1 ban kinh mat cat kenh (m): nham kenh: 0.014 luu luong kenh m^3/s: 10 doc day kenh: 0.003 KÕt qu¶: Section delta_y(m) delta_l(m) l(m) 0.80 y(m) 0.10 0.00 0.00 0.90 0.10 27.48 27.48 1.00 0.10 26.10 53.58 1.10 0.10 24.23 77.81 1.20 0.10 21.72 99.53 dong chay kenh ho 1.8 1.6 chieu cao chat long 1.4 1.2 0.8 0.6 CT 0.4 0.2 0 10 20 30 40 50 60 chieu dai kenh 70 80 90 100 ã Chơng trình Matlab 3: % Tinh duong mat nuoc 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 CT 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 day "delta_l" va "l" bang 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 kenh ho'); axis([0 100 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: tang chieu sau (m): 0.1 ban kinh mat cat kenh (m): nham kenh: 0.014 luu luong kenh m^3/s: 10 doc day kenh: 0.003 Section y (m) 0.80 delta_y (m) delta_l (m) l (m) 0.10 0.00 0.00 0.90 0.10 27.11 27.11 1.00 0.10 25.79 52.90 1.10 0.10 23.93 76.83 1.20 0.10 21.38 98.21 dong chay kenh ho 1.8 1.6 chieu cao chat long 1.4 1.2 0.8 0.6 0.4 0.2 0 10 20 30 40 50 60 chieu dai kenh 70 80 90 100 III Kết luận Phơng pháp cho kết giống nhau; phơng pháp cho kết l = 98,37 m, phơng pháp cho kết qu¶ l = 98,21 m Nh− vËy, cïng mét cÊu trúc chung chơng trình Matlab tính toán đờng mặt nớc đợc cải biến đa vào nhiều phơng pháp giải khác để so sánh, đánh giá chọn phơng pháp thích hợp Ví dụ ta thấy đợc lợi ích chơng trình máy tính, giúp ta giải hàng loạt toán tơng tự cách thay đổi kiện đầu vào thay đổi công thức tính phù hợp với toán, u điểm việc giải toán máy tính cho kết chi tiết 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 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 CT ... dụ: Một dòng chảy có lu lợng 10 m3/s dọc theo cống tròn có bán kính r = m Nếu mặt cắt 1, chiều sâu dòng chảy 0,8 m Tính chiều dài kênh từ mặt cắt đến mặt cắt có độ sâu 1,2 m phía hạ lu? Kênh. .. chơng trình Matlab tính toán đờng mặt nớc đợc cải biến đa vào nhiều phơng pháp giải khác để so sánh, đánh giá chọn phơng pháp thích hợp Ví dụ ta thấy đợc lợi ích chơng trình máy tính, giúp ta giải. .. chơng trình máy tính, giúp ta giải hàng loạt toán tơng tự cách thay đổi kiện đầu vào thay đổi công thức tính phù hợp với toán, u điểm việc giải toán máy tính cho kết chi tiết hình ảnh trực quan sinh

Ngày đăng: 06/08/2014, 13:21

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan