Luận văn thiết kế hệ thống tạo sóng biển 2d Luận văn thiết kế hệ thống tạo sóng biển 2d Luận văn thiết kế hệ thống tạo sóng biển 2d Luận văn thiết kế hệ thống tạo sóng biển 2d Luận văn thiết kế hệ thống tạo sóng biển 2d
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƢỜNG ĐẠI HỌC BÁCH KHOA KHOA CƠ KHÍ BỘ MƠN CƠ ĐIỆN TỬ -O0O - LUẬN VĂN TỐT NGHIỆP THIẾT KẾ HỆ THỐNG TẠO SÓNG BIỂN 2D SVTH: Nguyễn Hồng Quân MSSV: 20402050 GVHD: PGS.TS Nguyễn Tấn Tiến Tp HCM, tháng 6/2009 LUẬN VĂN TỐT NGHIỆP Nguyễn Hồng Quân LỜI CẢM ƠN Luận văn hồn thành tơi khơng nhận đƣợc giúp đỡ, bảo tận tình thầy cơ, bạn bè khích lệ ngƣời thân Bởi vậy, trƣớc công khai thành lao động này, xin gửi lời cảm ơn chân thành sâu sắc đến ngƣời mà khơng có giúp đỡ họ, đến chừng tập luận văn đƣợc đời Trƣớc hết, ngƣời có quan hệ gần gũi, có nhiều giúp đỡ trực tiếp trình làm luận văn thầy hƣớng dẫn tôi, thầy Nguyễn Tấn Tiến Kế đến, xin cảm ơn tất thầy cô tham gia giảng dạy quản lý lớp Việt – Pháp Rất nhiều mà kể tên hết Xin cảm ơn ngƣời bạn Phịng Thí nghiệm có góp ý, giúp đỡ trình chế tạo thiết bị: anh Ngọc, Hạnh, anh Vinh Cảm ơn ngƣời bạn lớp Việt – Pháp giúp đỡ tơi q trình học tập trƣớc tiến đến làm luận văn Xin cảm ơn y bác sĩ BV Trƣng Vƣơng Phạm Ngọc Thạch giúp lấy lại sức khỏe lâm bệnh trình làm luận văn Và khơng thể khơng kể đến động viên, khích lệ, giúp đỡ vật chất cha mẹ, anh em ngƣời thân tơi Đây chỗ dựa làm luận văn i LUẬN VĂN TỐT NGHIỆP Nguyễn Hồng Quân TÓM TẮT LUẬN VĂN Việc tạo sóng cách sử dụng máy tạo sóng (wave maker) bể thử nghiệm trở thành công nghệ quan trọng lĩnh vực kỹ thuật bờ biển đại dƣơng Máy tạo sóng khơng có mặt bể thử nghiệm, cơng cụ đo lƣờng phịng thí nghiệm mà diện dƣới dạng tƣơng đồng lý thuyết khắp nơi tự nhiên Đó tạo sóng mặt sơng, mặt biển gió, động vật bơi lội, địa chấn, núi lửa v.v… Trên giới, lý thuyết sóng hẹp lý thuyết máy tạo sóng đƣợc nghiên cứu từ lâu, đào sâu đến trƣờng hợp phức tạp; nhiều máy tạo sóng từ nhỏ đến lớn, từ đơn giản đến phức tạp đƣợc chế tạo Bài luận văn khơng có tham vọng “chế tạo lại bánh xe” mà mong muốn góp phần vào hoạt động nghiên cứu muôn hƣớng muôn ngành bậc đại học, với đề tài coi bƣớc khởi đầu việc nghiên cứu máy tạo sóng, tìm hiểu lý thuyết việc tạo sóng đều, hai chiều lý thuyết sóng tuyến tính chế tạo thiết bị thực nghiệm tạo sóng đơn giản Luận văn cịn bao gồm việc xây dựng tốn mơ hình hóa, thực tính tốn mơ máy tính chƣơng trình tự viết so sánh với liệu thu thập đƣợc từ thiết bị thực nghiệm chế tạo ii LUẬN VĂN TỐT NGHIỆP Nguyễn Hồng Quân MỤC LỤC I Giới thiệu II Lý thuyết máy tạo sóng sóng phẳng tạo mái giầm Các toán giá trị biên Nghiệm toán giá trị biên tuyến tính hóa cho trƣờng hợp đáy phẳng ngang 11 III Mơ hình hóa tốn học 21 Tính số sóng 21 Tìm phạm vi ảnh hƣởng sóng dừng 22 Tính độ dâng sóng nƣớc 22 IV Kết mô 25 V Thực nghiệm 29 Thiết bị thí nghiệm 29 Phƣơng pháp đo 33 Kết đo 44 Nhận xét 46 Tham khảo 48 Phụ lục 49 Chƣơng trình mơ tính tốn sóng nƣớc sinh máy tạo sóng có mái giầm 49 iii LUẬN VĂN TỐT NGHIỆP Nguyễn Hồng Quân DANH SÁCH HÌNH ẢNH Hình Trang Hình 1.1 Hình 1.2, Hình 1.3 Hình 1.4, Hình 1.5 Hình 2.1 Hình 2.2 Hình 2.3, Hình 2.4 17 Hình 2.5 20 Hình 4.1, Hình 4.2 26 Hình 4.3, Hình 4.4 27 Hình 5.1 29 Hình 5.2 30 Hình 5.3, Hình 5.4 31 Hình 5.5, Hình 5.6 32 Hình 5.7 33 Hình 5.8 35 Hình 5.9 36 Hình 5.10, Hình 5.11 37 Hình 5.12, Hình 5.13 38 Hình 5.14, Hình 5.15 39 Hình 5.16 40 Hình 5.17, Hình 5.18 41 Hình 5.19 42 Hình 5.20, Hình 21 43 Hình 5.22, Hình 5.23, Hình 24 45 Hình 5.25, Hình 5.26 46 iv LUẬN VĂN TỐT NGHIỆP Nguyễn Hồng Quân DANH SÁCH BẢNG BIỂU Bảng Trang Bảng 2.1 12 Bảng 4.1 24 Bảng 5.1 47 Bảng 5.2 48 v LUẬN VĂN TỐT NGHIỆP I GIỚI THIỆU Nguyễn Hồng Quân [1][2][3] Việc tạo sóng cách sử dụng máy tạo sóng (wave maker) bể thử nghiệm trở thành công nghệ quan trọng lĩnh vực kỹ thuật bờ biển đại dƣơng Ngày hầu hết thử nghiệm phịng thí nghiệm cấu trúc hay cấu trúc có gài dƣới đáy nghiên cứu biên dạng bờ biển nhƣ tƣợng liên quan dùng đến bể sóng Bể thƣờng có dạng hẹp, dài với máy tạo sóng loại đầu đầu bờ triệt sóng; nhiên bờ triệt sóng dạng vành trịn đƣợc đƣa vào sử dụng ngƣời ta cần nghiên cứu bồi tích bờ biển lúc máy tạo sóng dạng xoắn ốc đƣợc dùng để tạo sóng Trọng loại thử nghiệm này, máy tạo sóng đóng vai trị quan trọng Chuyển động sóng mà gây yêu cầu lƣợng đƣợc xác định cách đầy đủ từ lý thuyết sóng tuyến tính Máy tạo sóng thực tế diện rộng khắp mức ngƣời ta trơng đợi Sự kích thích động đất dƣới đáy biển hay cơng trình nhận tạo gây sóng mà ngƣời ta ƣớc lƣợng dựa vào lý thuyết sóng, thực tế, tải trọng áp lên cấu trúc xác định đƣợc Bất kỳ vật thể chuyển động dịng chất lỏng có mặt thống phát sinh sóng: vịt, thuyền nhiều thứ khác Máy tạo sóng cịn đƣợc dùng bể sóng thí nghiệm để đo đạc tác động sóng gây nên loại kết cấu tàu bè khác nhau, bao gồm chủng loại tàu, cấu trúc khơi vật thể khác Lý thuyết sóng thu hút nhiều nhà khoa học thuộc lĩnh vực Cơ học chất lƣu Tốn ứng dụng kỷ rƣỡi qua nguồn đề tài toán học đầy hứng khởi thƣờng khó khăn Ngồi tầm quan trọng phân ngành kỹ thuật khoa học ứng dụng khác ra, nhiều tƣợng sóng nƣớc cịn xảy trải nghiệm hàng ngày Sóng phát sinh tàu sơng sóng phát sinh gió hay động đất ví dụ thân thuộc Những lý thuyết tốn học sóng nƣớc bao gồm phƣơng trình học chất lƣu, khái niệm lan truyền sóng vai trò then chốt điều kiện biên Những kết thu đƣợc từ lý thuyết đƣa vài giải thích tƣợng tự nhiên hay cung cấp mơ tả đƣợc kiểm tra chỗ mà mở rộng nƣớc cịn tầm tay: sơng ao, đại dƣơng hay chí bồn tắm, chậu rửa nhà Tuy nhiên, việc đạt đƣợc thấu hiểu chế vật lý xác đáng đặt thách thức lớn cho nhà học chất lƣu toán học ứng dụng LUẬN VĂN TỐT NGHIỆP Nguyễn Hồng Quân Trong ứng dụng thực tế, đƣợc sử dụng nhiều hai loại máy tạo sóng có dùng mái giầm với hai kiểu chuyển động Những máy tạo sóng đƣợc gọi tên theo kiểu chuyển động giầm máy tạo sóng kiểu piston kiểu lề Dƣới số hình ảnh máy tạo sóng: Hình 1.1 Một máy tạo sóng kiểu piston (HR Wallingford Ltd) LUẬN VĂN TỐT NGHIỆP Nguyễn Hồng Quân Hình 1.2 Máy tạo sóng nhiều phần tử HR Wallingford Hình 1.3 Máy tạo sóng kiểu lề Edinburgh Designs Ltd LUẬN VĂN TỐT NGHIỆP Nguyễn Hồng Quân Hình 1.4 Một số máy tạo sóng 3D DHI Group Hình 1.5 Một hồ thử nghiệm có sử dụng máy tạo sóng LUẬN VĂN TỐT NGHIỆP Nguyễn Hồng Quân Chấm vào điểm đánh dấu đỉnh sóng thứ nhất, sau ấn giữ kéo chuột phía điểm thứ hai: Hình 5.17 Hình 5.18 41 LUẬN VĂN TỐT NGHIỆP Nguyễn Hồng Quân Sau lấy đủ hai điểm cần đo cho công cụ Measure, dƣới status bar xuất kết đo theo đơn vị pixel (khoảng cách) độ (góc) Ở đây, kết thu đƣợc 1961 pixels Bằng cách này, tiếp tục đo khoảng cách hai vạch 1cm thƣớc đƣợc chụp kèm Hình 5.19 Có thể thấy 20 pixels ảnh ứng với 1cm Nhƣ vậy, 1961 pixels thu đƣợc ứng với 98,05 cm Đó chiều dài bƣớc sóng đo đƣợc 42 LUẬN VĂN TỐT NGHIỆP Nguyễn Hồng Quân Để đo chiều cao sóng ta cần dựng đƣờng Guide qua chỗ hõm sóng Chiều cao sóng đƣợc đo nƣơng theo đƣờng Guide thẳng đứng qua đỉnh sóng, từ điểm giao với đƣờng Guide ngang qua đỉnh đến đƣờng Guide ngang qua chỗ hõm Hình 5.20 Do hai đỉnh khơng ngang mức nên kết đo chiều cao sóng hai nơi khác Lúc ta lấy trung bình hai kết Hình 5.21 Sau kết thu đƣợc với phƣơng pháp đo 43 LUẬN VĂN TỐT NGHIỆP Nguyễn Hồng Quân KẾT QUẢ ĐO Dƣới kết thí nghiệm với điều kiện ban đầu: - Chu kỳ - Độ sâu nƣớc - Sải giầm (piston) với năm lần đo lấy trung bình Bảng 5.1 Kết lần đo sóng nƣớc Bƣớc sóng ( ) Chiều cao sóng ( ) Lần 103,4 3,0 Lần 103,4 2,9 Lần 106,5 4,8 Lần 101,6 3,8 Lần 101,1 4,0 Trung bình 103,2 3,7 Sử dụng chƣơng trình mơ viết để tính tốn lý thuyết bƣớc sóng chiều cao sóng theo điều kiện nhƣ thu đƣợc kết quả: Bảng 5.2 So sánh kết đo thực nghiệm lý thuyết Bƣớc sóng ( ) Chiều cao sóng ( ) Lý thuyết Thực nghiệm Sai khác so với lý thuyết 100 103 3% 3,6 3,7 2,7% Tiếp theo dạng sóng năm lần đo, thu đƣợc từ ảnh chụp xóa bớt chi tiết xung quanh, giữ lại vết dạng sóng thể thơng qua giao diện nƣớc – khơng khí: 44 LUẬN VĂN TỐT NGHIỆP Nguyễn Hồng Quân Hình 5.22 Dạng sóng lần đo thứ Hình 5.23 Dạng sóng lần đo thứ hai Hình 5.24 Dạng sóng lần đo thứ ba 45 LUẬN VĂN TỐT NGHIỆP Nguyễn Hồng Quân Hình 5.25 Dạng sóng lần đo thứ tư Hình 5.26 Dạng sóng lần đo thứ năm NHẬN XÉT Trong kết đo độ dài bƣớc sóng chiều cao sóng, sai lệch kết thực nghiệm lý thuyết Sai số chấp nhận đƣợc nguyên nhân sai số kể đến: - Việc tính tốn lý thuyết đƣợc xét điều kiện lý tƣởng: bỏ qua ma sát, lực căng mặt ngồi nƣớc, nƣớc coi nhƣ khơng xốy, sóng đƣợc xem nhƣ truyền xa vơ mà khơng có sóng dội lại, dạng hình học bề mặt biên đƣợc coi nhƣ lý tƣởng - Trong đó, điều kiện thực tế đạt đƣợc lý tƣởng nhƣ vậy: khơng thể triệt hãm hết sóng phản xạ, sóng dƣ tiếp tục dội qua dội lại từ 46 LUẬN VĂN TỐT NGHIỆP Nguyễn Hồng Quân phía cuối bể từ phía giáp với giầm (piston), hạn chế điều kiện chế tạo không cho phép tạo thiết bị xác, mặt giầm khơng thể che hết tiết diện ngang bể chỗ khoảng hở cạnh giầm thành bể tạo nhiễu loạn dòng nƣớc - Sự méo dạng sóng khiến việc xác định đỉnh sóng để đo sai lệch nhiều Về biên dạng sóng nƣớc thu đƣợc, bị méo dạng ảnh hƣởng sóng phản xạ trở ngại thực tế khác nhƣng phân biệt đƣợc đỉnh sóng, hõm sóng 47 LUẬN VĂN TỐT NGHIỆP Nguyễn Hồng Quân TÀI LIỆU THAM KHẢO [1] Dean & Dalrymble (1991), Water wave mechanics for engineers and scientists, Word Scientific [2] Ben T Nohara (2000), A Survey of the Generation of Ocean Waves in a Test Basin, 2000 [3] Harald M Brunnhofer (2005), Forced Capillary-Gravity Water Waves in a 2D Rectangular Basin 48 LUẬN VĂN TỐT NGHIỆP Nguyễn Hồng Qn PHỤ LỤC Chƣơng trình mơ tính tốn sóng nƣớc sinh máy tạo sóng có mái giầm Đây chƣơng trình tự viết ngơn ngữ Python Ngơn ngữ Python cịn lạ lẫm ngƣời lập trình Việt Nam, với ngƣời lĩnh vực kỹ thuật không chuyên Công nghệ thơng tin nhƣng đƣợc sử dụng rộng rãi nhiều trƣờng đại học viện nghiên cứu nƣớc tiên tiến (trong có Cơ quan hàng không vũ trụ Mỹ NASA) Những ƣu điểm khiến tơi chọn Python cho việc viết chƣơng trình (cũng nhƣ chƣơng trình tơi viết thời gian qua để phục vụ nhu cầu riêng) cú pháp súc tích, rõ ràng, gọn ghẽ giúp suất làm việc tăng cao, mã nguồn dễ đọc thuận tiện cho việc chia sẻ, trao đổi, khả phân hóa thành module mở rộng cao, hỗ trợ tốt cho việc tính tốn số (hai module NumPy SciPy hỗ trợ tính tốn số đƣợc phát triển rộn ràng) lớn mạnh nhanh chóng việc trở thành ngơn ngữ lập trình phổ biến Ngồi ra, hỗ trợ lập trình hƣớng đối tƣợng Python giúp tổ chức chƣơng trình thuận tiện so với cách lập trình thủ tục MATLAB Do mức độ sử dụng không thƣờng xuyên nên chƣơng trình tơi khơng đƣợc trang bị giao diện đồ họa GUI mà chạy console Việc thay đổi thông số đầu vào đƣợc thực cách thay đổi nội dung script chƣơng trình Chƣơng trình đƣợc tổ chức thành class đối tƣợng lớn SurfaceWave hai class nhỏ WaveMaker, Basin Các properties method class đƣợc cho sơ đồ trang sau Các lệnh sử dụng class (khởi tạo đối tƣợng, gán giá trị cho properties, gọi method) để giải toán cụ thể đƣợc đặt hàm main() Khi thay đổi tốn thơng số đầu vào đƣợc sửa đổi script, hàm main() 49 LUẬN VĂN TỐT NGHIỆP Nguyễn Hồng Quân WaveMaker - wm = WaveMaker - width - bs = Basin - height (đƣợc lấy bằng độ sâu nƣớc) Properties SurfaceWave - wavenumber (số sóng) Properties - height (độ cao sóng) - type (kiểu chuyển động) - stroke - sigma (tần số góc dao động) - g (gia tốc trọng trƣờng) - ks (số sóng sóng dừng chóng tan) Basin - length Properties - Cm (hệ số biên độ sóng dừng chóng tan) - rho (khối lƣợng riêng nƣớc) - width - depth dispersionEq() swAmp() calc_wavenumber() Methods calc_strokeratio() calc_wavemakerstroke() calc_standingwave() seek_stwave_lim() stwave_amp() energy() elevation() runsim() Nội dung mã nguồn: #!/usr/bin/env python # -*- coding: utf-8 -*# # Simulation.py # This is the prgram for simulating water wave generated by # wavemaker in test basin # Copyright 2009 Nguyễn Hồng Quân import numpy as np from scipy.optimize import fsolve from math import * 50 LUẬN VĂN TỐT NGHIỆP Nguyễn Hồng Quân STANDINGWAVE_THRESHOLD = 0.001 class WaveMaker(): def init (self, width, height, type): self.width = width self.height = height # Considered equal to water depth self.type = type class Basin(): def init (self, length, width, depth): self.length = length self.width = width self.depth = depth class SurfaceWave: def init (self, wm, bs): self.wm = wm self.bs = bs self.wavenumber = self.wm.stroke = self.height = self.ks = [0]*3 self.Cm = [0]*3 self.rho = 1000 # fluid density # Water depth is considered equal to wavemaker height def dispersionEq(self, k, wavetype='p'): sigma, h = self.sigma, self.wm.height if wavetype == 'p': # Progressive Wave return sigma**2 - 9.8*k*tanh(k*h) else: # Standing wave return sigma**2 + 9.8*k*tan(k*h) def swAmp(self, ks, x): # Standing wave amplitude h = self.wm.height S, sigma, kh = self.wm.stroke, self.sigma, ks*h if self.wm.type == 'piston': Cm = 2*S*sigma*sin(kh)/ks/(2*kh + sin(2*kh)) elif self.wm.type == 'flap': Cm = 2*S*sigma*(kh*sin(kh) + cos(kh) - 1)/ks**2*h/(2*kh + sin(2*kh)) return Cm*sigma*cos(kh)*exp(-k*x)*cos(kh) def calc_wavenumber(self): g, sigma, T, h = self.g, self.sigma, 2*pi/self.sigma, self.wm.height L_inf = (g*T**2)/(2*pi) L_init = L_inf*pow(tanh(pow(sigma**2*h/g, 3.0/4)), 2.0/3) k_init = 2*pi/L_init self.wavenumber = k = fsolve(self.dispersionEq, k_init, ('p',)) self.wavelength = L = 2*pi/k return k def calc_strokeratio(self): if not self.wavenumber: self.calc_wavenumber() kh = self.wavenumber*self.wm.height if self.wm.type == 'piston': # Ratio wave height per wavemaker stroke rat = 2*(cosh(2*kh) - 1)/(sinh(2*kh) + 2*kh) 51 LUẬN VĂN TỐT NGHIỆP Nguyễn Hồng Quân elif self.wm.type == 'flap': rat = 4*sinh(kh)*(kh*sinh(kh) - cosh(kh) + 1)/kh/(sinh(2*kh) + 2*kh) return rat def calc_wavemakerstroke(self): rat = self.calc_strokeratio() self.wm.stroke = s = self.height/rat return s def calc_standingwave(self): sigma, h = self.sigma, self.wm.height if not self.wm.stroke: S = self.calc_wavemakerstroke() else: S = self.wm.stroke for i in xrange(3): self.ks[i] = k = fsolve(self.dispersionEq, (i + 1)*pi/h, ('s',)) kh = k*h if self.wm.type == 'piston': self.Cm[i] = 2*S*sigma*sin(kh)/k/(2*kh - sin(2*kh)) elif self.wm.type == 'flap': self.Cm[i] = 2*S*sigma*(kh*sin(kh) + cos(kh) - 1)/kh/(2*kh - sin(2*kh)) def seek_stwave_lim(self): x, H, l = self.x, self.height, self.bs.length if self.stwave_amp(l)/(H/2) >= STANDINGWAVE_THRESHOLD: return x.size - pl, p, pr = 0, x.size/2, x.size - while pr > pl and pl != p: diff = self.stwave_amp(x[p])/(H/2) - STANDINGWAVE_THRESHOLD if diff