Đề tai nghiên cứu KH đạt giải Nhì cấp Trường Đại Học Xây Dựng " Nghiên cứu mô hình hoá bài toán dòng ổn định không đều trong kênh hở"
Trang 1TRƯỜNG ĐẠI HỌC XÂY DỰNG HÀ NỘI
KHOA CÔNG TRÌNH THỦY
Trang 2Năm học 2010-2011
LỜI CÁM ƠN
Chúng em xin chân thành cám ơn:
Cô Đặng Thanh Hương trong thời gian vừa qua đã hướng dẫnchúng em tận tình để chúng em có thể đi đúng hướng nghiên cứu,thành quả có được trong đề tài này có phần công lao to lớn của cô
Thầy Dương Thanh Quỳnh đẫ giúp đỡ chúng em trong quátrình thiết lập chương trình tính toán bằng phần mền C++
Bộ Môn thủy lực-thủy văn, Trường Đại Học Xây Dựng đãtạo điều kiện cho chúng em được nghiên cứu phát triển ý tưởng để
có được thành quả này
Ký tên
HOÀNG QUÝ NHÂN
Trang 3Tài liệu tham khảo:
Thuỷ lực công trình (Hà Nội 2008- NXB XD)
4- GS.TS Doãn Tam Hòe
Phương pháp tính trong kỹ thuật (Hà Nội - 2009) 5- Tin Học Đại Cương ( Trường ĐHXD - 2002)
6- MIKE 11 Introduction
7- Số liệu tham khảo JICA Nhật Bản 1995 - 2000
Trang 4
Các ký hiệu dùng trong đề tài
Khối lượng riêng của nước
Áp lực thuỷ tĩnhDiện tích mặt cắt ướt
Độ dốc trung bình của đoạn lòng dẫn
Độ dốc mái(hệ số mái dốc)
Hệ số nhámVấn tốc trung bình của khối nước đạng xét
Độ sâu từ điểm đang xét tới đáy
Độ sâu lớn nhất tại mặt cắt dòng chảy
Bề rộng mặt thoáng
Độ dốc thuỷ lựcKhoảng cách từ đáy lòng dẫn tới mặt chuẩn sosánh
Hệ số Fơ-rút
Hệ số chezy
Trang 5đổ vào hồ Yên Sở……….…… ……… trang 18
V.1 Bài toán sông Kim Ngưu……… ………trang 18 V.2 Bài toán 1……… ……….…….trang 18 V.3 Bài toán 2……… ……….….trang 21 Chương V: Kết luận và kiến nghị ……….…trang 25
Trang 6Danh mục bảng: Bảng số liệu bài toán 1 (trang 19).
Bảng kết quả bài toán 1 (trang 20)
Bảng số liệu bài toán 2 (trang 23)
Bảng kết quả bài toán 2 (trang 24)
Danh mục biểu đồ:
Hình 1 (trang 8)
Hình 2 (trang 11)
Hình 3 mắt cắt kênh giả định (trang12)
Hình 4 bình đồ cao trình mặt nước (trang 21)
Phụ lục: Hình ảnh kết quả tính bằng chương trinh C++
Hình 5: Hình ảnh bài toán 1 sông kim ngưu (Trang 26).Hình 6: Hình ảnh bài toán 2 (trang 27)
Trang 7Chương I: ĐẶT VẤN ĐỀ - TỔNG QUAN ĐỀ TÀI
Từ đầu thế kỷ XX đến nay các nhà thủy lực học trên thế giới
đã dày công tìm tòi và đa ra rất nhiều phơng pháp để tính toán dòngchảy ổn định không đều trong kênh hở Đây có thể coi là mộtnhiệm vụ quan trọng và thờng gặp trong công tác thiết kế các côngtrình thủy lợi, giao thông và cấp thoát nớc Cho tới nay chỳng ta đó
cú rất nhiều cụng trỡnh nghiờn cứu về thuỷ lực cơ sở dũng chảy hở,
cú những ứng dụng thực tiễn quan trọng trong cuộc sống cũng nhưtrong thực tiễn sản xuất
Để tính toán đợc dòng chảy không đều ngời ta thờng phải giảigần đúng bằng cách biến đổi phơng trình vi phân cơ bản về dạng
đơn giản rồi mới tích phân các phơng trình này để giải trên cơ sởdùng các bảng tra lập sẵn Việc giải bài toán dòng không đều trongkênh hở cũng chỉ giới hạn cho một đoạn kênh đơn lẻ Khối lợngtính toán trên cơ sở tính tay và bảng tra nh vậy là khá lớn và mắcnhiều sai số
Mục tiêu của đề tài nghiên cứu này là nhằm áp dụng tin học
để mô hình hoá bài toán dòng ổn định không đều trong kênh hởtrờn cơ sở ỏp dụng phương phỏp sai phân hữu hạn để giải phơngtrình vi phân cơ bản của dòng ổn định không đều trong lòng dẫn hở
Kết quả tính toán của đề tài sẽ đợc đối chiếu
với số liệu thực tế tính toán đờng mặt nớc cho sông Kim Ngu- nằmtrong Dự án nghiên cứu khả thi thoát nớc Thành phố Hà nội giai
đoạn 1995-2000 do JICA Nhật Bản tài trợ
ChươngII : Mô hình hoá bài toán dòng ổn định không đều trong kênh hở.
II.1 Cơ sở toán học để giải bài toán dòng ổn định không đều trong kênh hở
Trang 8Ở đây chúng ta xét một kênh hở, chảy đều không áp tronglòng dẫn lăng trụ có mặt cắt hình thang (tương tự với sông KimNgưu) Với B, m, i, n đã biết thông qua đo đạc, lưu lượng dòngkhông đổi là Q trên một đoạn chiều dài của kênh.
Từ phương trình vi phân cơ bản của dòng ổn định không đềutrong lòng dẫn hở:
Trang 9Trong đó:
xét
Để cho đơn giản và không ảnh
hưởng tới kết quả ta có thể coi α = 1
Ta giả định đã biết trước các giá trị
Ứng với số liệu đo dạc này, ta có
được chiều cao cho phép của bờ
kênh để không cho nước tràn qua
Hình 1Khi áp dụng thay các số liệu thủy lực và diễn dải toán họcvào phương trình I-3 ứng với α = 1 ta có:
2 1 j
2 1 j
R C
2 j
R C
giá trị của C dựa theo công thức:
j =
y
Trang 10Thay tất cả các giá trị quy đổi vào công thức (I-4) chúng ta được:
2
a Z ) m
a Z B (
II.2 Phương pháp sai phân.
Dựa vào tài liệu địa hình của mặt cắt như hệ số nhám, chiều
phân ứng với từng đoạn đã chia Giải phương trình sai phân ta sẽthu đước nghiệm Δl = xz mong muốn
Từ phương trình trên, nói chung cách giải phải tính đúng dần
bằng nhau hoặc sai lệch không quá 1% thì coi như kết quả là chấp
đúng thì dừng lại đây chính là nguyên lí và đường lối để tínhđường mặt nước bằng phương pháp tính lặp ta có thể sử dụng một
số công cụ, phần mền toán học để có thể tính toán cho chính xác vànhanh chóng như: Pascal, C++, matlab 5.3, Mathematica 4.0, … ởđây chúng ta sử dụng C++ để lập trình tính toán Ở đây ta coi như
(-2y+1)
Trang 11Q là khụng đổi trong một đoạn Δl = xx tức là khụng cú sự thay đổi lưulượng đột ngột hay cú dũng nhập lưu hay tỏch lưu lượng
Chương I II : Phơng trình sai phân và điều kiện của bài toán III.1 Phơng trình sai phân.
Dòng không đều bất kỳ chiều dài l đợc chia thành n đoạn nhỏ
có chiều dài delta(l) Xét đoạn kênh (j-1) bất kỳ, PT (1) sau khi saiphân hoá sẽ có dạng:
Δl = xlj-1 = xj - xj-1= Δl = xxj-1 là độ dài đoạn chia
Nghiệm gần đúng của PT (2) với độ chính xác qui định sẽ
đ-ợc tìm bằng một quá trình tính lặp, đđ-ợc trình bày ở phần dới
Hỡnh 2
III.2 Điều kiện biên.
Biờn dưới: là cao trỡnh mặt nước ở phớa cuối kờnh Zc
lj-1 0-0
j-1 j
Trang 12 Điều kiện biờn động.
trong quỏ trỡnh tớnh lặp
III.3 Sơ đồ hoá mặt bằng tính toán.
Ta bắt đầu đánh số từ mặt cắt giới hạn trên của dòng chính và tiếp tục bình thờng cho tới mặt cắt gần nhất chỗ cửa vào của dòng nhập lu Đánh số mặt cắt của kênh chính gần sát nhất với chỗ nhập
lu là j, sau đó mặt cắt j+1 đợc lấy cho mặt cắt đầu tiên của dòng nhập lu ở chỗ xa nhất cho tới dòng chính Tiếp theo chúng ta lại
đánh số một cách bình thờng cho dòng nhập lu cho tới chỗ nhập lu với dòng chính Ký hiệu mặt cắt cuối cùng của dòng nhập lu trớc
những dòng nhập lu tiếp theo
Hỡnh 3- mụ hỡnh mặt cắt dọc sụng Đối với các mặt cắt suy biến, ta có thể thay thế hoặc bằng 2 mặt cắt (khi có sự biến đổi đột ngột các thông số hình học hoặc thủy lực khi có sự gia tăng lu lợng Q); hoặc bằng 3 mặt cắt (cửa nhập lu vào kênh chính) Khoảng cách thực tế giữa các mặt cắt suy biến đợc giả thiết bằng 0; số xác định giá trị l đợc sử dụng trong tính toán trên máy tính nh một thông số định nghĩa dạng suy biến III.4 Giải phương trỡnh sai phõn bằng phương phỏp tớnh lặp.
7
8 X=1
+Q=Q4-Q3 9 +Q=Q23-Q22
10 14 20
1 2 3 4 5 6 11 12 13 19 21 22 23 24 25
N+1 = 25 18
17 X=2 16
15
Trang 13Từ phương trình sai phân nói chung cách giải phải tính lÆp.
bằng nhau hoặc sai lệch không quá 1% thì coi như kết quả là chấp
đúng thì dừng lại đây chính là nguyên lí và đường lối để tínhđường mặt nước bằng phương pháp tính lặp ta có thể sử dụng một
số công cụ, phần mền toán học để có thể tính toán cho chính xác vànhanh chóng như: Pascal, C++, matlab 5.3, Mathematica 4.0, … ởđây chúng ta sử dụng C++ để lập trình tính toán
IV.1 Số liệu đầu vào.
Trong một kênh, có rất nhiều giá trị cần đo đạc để phục vụ
cho tính toán cao trình mặt nước Xét trên một kênh hở, dòng chảy
ổn định, ta cần có các số liệu Q, B, n, m, y,i để phục vụ tính toán Khoảng cách giữa các mặt cắt mà ta đã chia
Đối với chiều dài của kênh, ta phải chia thành các đoạn nhỏ
có tọa độ x xác định và có chiều dài đã được xác định trước
IV.2 Sơ đồ khối tính toán
Dưới đây là sơ lược sơ đồ khối tính toán cho mặt cắt trênkênh hở có dòng ổn định không đều:
Tính số liệu trên mặt cắt thứ j-1 theo z[j-1]
Kiểm tra xem
co chấp nhận
Tăng giá trị z[j-1] 0.01 đơn
In giá trị chấp nhận
Tăng
j=j+1
sang
Kiểm tra rẽ nhánh
Gán z[j-1]=z[j]
Kết thúc chương trình
Trang 14sai
đúng
đúng
Sai
Trang 15
IV.3 Chương trình tính toán.
Trước tiên ta lập 1 file số liệu : solieu.txt
Khai báo biến:
float b[50],n[50],m[50],y,i,dx,q[50],z[50],a[50],x[50];
Các công thức tính lặp:
w[smc]=(b[smc]+(z[smc]-a[smc])/m[smc])
*(z[smc]-a[smc])/m[smc];
s[smc]=2*b[smc]+2*(z[smc]-a[smc])/m[smc]
+2*(z[smc]-a[smc])*sqrt(pow(m[smc],2)+1)/m[smc]; r[smc]=w[smc]/s[smc];
c[smc]=pow(r[smc],y)/n[smc];
v[smc]=q[smc]/w[smc];
lệnh tính lặp: for while……
Để xác định Δl = xl có sự thay đổi và có bằng không hay không thì ta thêm lệnh if(x[j]==x[j-1]) ta ktra và gán cho test=x[j]; z[j-1]=z[j] Sau đó in ra màn hình: printf("\n "); Kết hợp các lệnh lại ta có chương trình tính toán sau: #include<stdio.h> #include<conio.h> #include<math.h> main() { /*so lieu gi tren file solieu.txt cac bien su dung */ printf("\n - Truong dai hoc xay dung ha noi - ");
printf("\n - Nghien cuu khoa hoc sinh vien - ");
printf("\n - de tai: Mo hinh hoa bai toan - ");
printf("\n - dong on dinh khong deu trong kenh ho - ");
printf("\n -nhom sinh vien: - ");
printf("\n 1, HOANG QUY NHAN MSSV 161653 lop 53clc1 - ");
Trang 16printf("\n 2, PHAM HONG DUC MSSV 751653 lop 53clc1 - "); printf("\n 3, NGUYEN HANG NGA MSSV 74153 lop 53clc1 - "); printf("\n - Can bo huong dan :");
printf("\n - THs DANG THANH HUONG - ");
printf("\n - Bo mon thuy luc thuy van - khoa CTT - ");
printf("\n - chuong trinh tinh toan cao trinh mat nuoc tren kenh ");
printf("\n - so mat cat gia dinh la: 14 mat cat - ");
printf("\n - ket qua tinh toan: - ");
printf("\n ");
printf("\n ");
FILE* f;// kai bao file
int j,smc;// j la bien dem, smc la so mat cat
float b[50],n[50],m[50],y,i,dx,q[50],z[50],a[50],x[50];// khai bao bien
Trang 17r[j-1]=w[j-1]/s[j-1];
c[j-1]=pow(r[j-1],y)/n[j-1];
v[j-1]=q[j-1]/w[j-1];
p=z[j]+(pow(v[j],2)-pow(v[j-1],2))/19.6+dx/2*(pow(v[j-1],2)/pow(c[j-1],2)/ r[j-1]+pow(v[j],2)/pow(c[j],2)/r[j]);
printf("\n -CHUNG TRINH DEN DAY LA TAM DUNG - ");
printf("\n -(^!^)CHUC CAC BAN SUC KHOE VA THANH CONG(^!^) - "); fclose(f);
getch();
Trang 18Chương V: Từ bài toỏn tổng quỏt đến giải bài toỏn sụng
Kim Ngưu đổ vào hồ Yờn Sở
V.1 Bài toỏn sụng Kim Ngưu.
Như vấn đề đó đặt ra, sụng Kim Ngưu là một con trong nộithành hà nội, cú tầm quan trọng bậc nhất, là nơi thoỏt nước sinhhoạt, điều phối nước trong khu vực phớa đụng nam thành phố HàNội
Phần mền trờn đõy cú thể ỏp dụng và tớnh toỏn đối với sụngKim ngưu rất thuận tiện
Sụng Kim Ngưu đổ ra Hồ Yờn Sở Hồ Yờn Sở được khốngchế mực nước khụng được vượt quỏ 3m do đú sụng kim ngưu cũng
sẽ được khống chế cao trỡnh mặt nước khi cú một lưu lượng xỏcđịnh chảy qua sụng
Do cú sự khụng chế này, nờn hai bờn bờ sụng, độ cao của hai
bờ cũng cần được xỏc định sao cho phự hợp với lưu lượng, độ caocủa mặt nước sụng để trỏnh tỡnh trang nước sụng vượt qua hai bờhoặc chảy ngược lại vào cỏc kờnh nhỏnh, cống nước đổ vào sụngkhi cú mưa lớn hơn bỡnh thường hoặc cú sự thay đổi lưu lượng độtngột ở 1 vị trớ nào đú trờn sụng
Với bài toỏn trờn, ta cú thể giải quyết một cỏch đơn giản bằngphần mền mụ hỡnh húa bài toỏn dũng chảy ổn định trong kờnh hở,với cỏc yếu tố giả định phự hợp, khỏ giống với sụng kim Ngưu.Với cỏc số liệu mặt cắt thu thập được, ta cú thể tớnh được cao trỡnhmặt nước trờn sụng kim ngưu, để gia cố hai bờn bờ sụng, tại cỏcđiểm cỏc vị trớ nguy hiểm mà nước cú thể tràn qua khi cú thay đổilưu lượng lớn
kết quả của phần mềm tớnh toỏn cú độ chớnh xỏc khỏ cao vớisai số 1% Kết quả tớnh được là hoàn toàn đỏng tin cậy cú thể sửdụng làm số liệu để tớnh toỏn cỏc giỏ trị khỏc mà độ chớnh xỏc cũngtương đương
V.2 Bài toán 1: sông Kim Ngu.
Dòng chảy không đều tính toán cho đoạn sông Kim Ngu tính từcống Lò Đúc đến hồ điều tiết Yên Sở với chiều dài tổng cộng là 3,7
km, phân thành 3 đoạn KA, KB, KC (với KC là đoạn đầu dòngchảy) gồm 14 mặt cắt có thiết kế khác nhau Sơ đồ đoạn kênh đợcthể hiện trên hình
Trang 19Bài toán đặt ra:
là mặt cắt cuối kênh trớc khi nối với hồ điều tiết Yên Sở)
- Lu lợng (cấp lu lợng cao) dọc đoạn kênh thay đổi nh sau:
Vỡ trờn đoạn kờnh cú 2 đoạn thay đổi nhập lưu giống nhau Ta
cú thể tớnh thay đổi nhập lưu ở mặt cắt 09 và 10
Với ứng dụng của phần mền tớnh toỏn ta thay số liệu khỏ trựngvới số liệu của kết quả kiểm định với sai lệch khụng quỏ 1%
Đoạn KC Đoạn KB Đoạn KA
Trang 21V.3 B i to ài to ỏn 2: bài toỏn tổng quỏt.
Vẫn với sơ đồ đoạn kênh chính gồm 3 đoạn KC, KB, KA, lấythêm giả thiết ngay sau mặt cắt số 9 (mặt cắt kết thúc đoạn KB) có
Trang 22Bài toán đặt ra:
là mặt cắt cuối kênh trớc khi nối với hồ điều tiết Yên Sở)
- Lu lợng dọc đoạn kênh thay đổi nh sau:
12 11
Q3 10
Hỡnh 4: Sơ đồ đoạn kờnh bài toỏn 2
Trang 23- Cho biết các số liệu như sau :
Trang 24Bài giải:
Sử dụng phần mền tính toán ta có các cao trình mặt nước sau:
Trang 25Chương VI: kết luận - kiến nghị.
1 Đề tài được nghiên cứu để gải quyết bài toán “mô hìnhhóa bài toán dòng chảy ổn định không đều trong kênh hở” dựa vào
lý thuyết dòng chảy hở, xác định cao trình mặt nước tại các mặtcắt ngang sông ta sử dụng phương pháp lặp đơn, lập trình bằngphần mền C++ để giải bài toán nhanh, dễ hiểu, dễ sử dụng, kết quảthu được đáng tin cậy
2 Với lý thuyết chặt chẽ, các số liệu xác thực Ứng dụngphần mền chương trình C++ để tính toán theo phương pháp lặpđơn để xác định với sai số không quá 1% Phần mềm cho thấy cóthể tính toán cao trình mặt nước tại các mặt cắt ngang sông làmcăn cứ để xác định chiều cao của kè chắn, cống thoát nước chosông, kênh, mương, trong đề tài là sông Kim Ngưu là một kênh hở
có thể so sánh với số liệu của một số phần mền tính toán khác nhưJICA - Nhật Bản 1995 - 2000, thấy rằng sai số không quá 1%
3 Tuy vậy nhưng Đề tài còn một số lỗi như về lỗi in ấn, đánhmáy, file số liệu viết trên file text nên còn khá dài, cần được viếtngắn gọn, dÔ hiểu hơn
Trang 26Phụ lục Hình 5: Hình ảnh bài toán 1 sông Kim Ngưu.
Trang 27Hình 6: Hình ảnh bài toán 2.