1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Tính toán mô phỏng lan truyền sóng âm bằng phương pháp không lưới

94 13 0

Đ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

Cấu trúc

  • Luan van Cao hoc 1 _Bia_ 2.pdf

  • Luan van Cao hoc 2 _Bia_ 3.pdf

  • Luan van Cao hoc 3 _NHIEM VU_.pdf

  • Luan van Cao hoc 4 _Loi cam on_.pdf

  • Luan van Cao hoc 5 _Tom tat_.pdf

  • Luan van Cao hoc 5 _zAbstract_.pdf

  • Luan van Cao hoc 6 _Muc luc_.pdf

  • Luan van Cao hoc Chuong 1.pdf

  • Luan van Cao hoc Chuong 2.pdf

  • Luan van Cao hoc Chuong 3.pdf

  • Luan van Cao hoc Chuong 4.pdf

  • Luan van Cao hoc Chuong 5.pdf

  • Luan van Cao hoc U _Tai lieu tham khao_.pdf

  • Luan van Cao hoc V _PHU LUC_.pdf

  • Luan van Cao hoc W _Ly lich trich ngang_.pdf

Nội dung

Đại học Quốc gia Tp Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA NGUYỄN THANH NHÃ TÍNH TỐN – MƠ PHỎNG LAN TRUYỀN SĨNG ÂM BẰNG PHƯƠNG PHÁP KHÔNG LƯỚI Chuyên ngành: CƠ HỌC KỸ THUẬT LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng 12 năm 2009 i  CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH Cán hướng dẫn khoa học: PGS TS Trương Tích Thiện Cán chấm nhận xét : Cán chấm nhận xét : Luận văn thạc sĩ bảo vệ HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày tháng năm ii TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC ỨNG DỤNG CỘNG HOÀ XÃ HỘI CHỦ NGHIÃ VIỆT NAM Độc Lập - Tự Do - Hạnh Phúc -oOo Tp HCM, ngày tháng năm NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: NGUYỄN THANH NHÃ Phái: Nam Ngày, tháng, năm sinh: 08-02-1984 Nơi sinh: Tp Hồ Chí Minh Chuyên ngành: Cơ học Kỹ thuật MSHV: 02307199 1- TÊN ĐỀ TÀI: TÍNH TỐN – MƠ PHỎNG LAN TRUYỀN SĨNG ÂM BẰNG PHƯƠNG PHÁP KHƠNG LƯỚI 2- NHIỆM VỤ LUẬN VĂN: - Tổng quan toán lan truyền âm mơi trường lưu chất - Tìm hiểu phương pháp số không chia lưới (MeshFree method) - Thiết lập giải thuật, thực chương trình tính tốn, mơ tốn lan truyền âm sử dụng phương pháp không lưới - So sánh kết phương pháp không với kết phương pháp phần tử hữu hạn, phương phap giải tích với số mơ hình cụ thể 3- NGÀY GIAO NHIỆM VỤ: 19-02-2009 4- NGÀY HOÀN THÀNH NHIỆM VỤ: 30-11-2009 5- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: PGS TS TRƯƠNG TÍCH THIỆN Nội dung đề cương Luận văn thạc sĩ Hội Đồng Chuyên Ngành thông qua CÁN BỘ HƯỚNG DẪN (Họ tên chữ ký) CHỦ NHIỆM BỘ MÔN QUẢN LÝ CHUYÊN NGÀNH (Họ tên chữ ký) iii KHOA QL CHUYÊN NGÀNH (Họ tên chữ ký) LỜI CẢM ƠN Luận văn hoàn thành kết trình học tập nghiên cứu năm làm việc học tập trường Đại học Bách khoa học viên thực Bên cạnh nỗ lực học viên, thành công luận văn thiếu giảng dạy, quan tâm, giúp đỡ tập thể Thầy, Cô giáo Bộ môn Cơ kỹ thuật, Khoa Khoa học Ứng dụng trường Đại học Bách khoa Thành phố Hồ Chí Minh q trình học tập lúc làm thực luận văn cao học Nhân đây, xin chân thành cảm ơn thầy giáo hướng dẫn – P.GS TS Trương Tích Thiện, – TS Vũ Cơng Hịa, TS Nguyễn Hải, KS Nguyễn Ngọc Minh tập thể thầy cô, đồng nghiệp mơn Cơ Kỹ Thuật, phịng Thí Nghiệm Cơ Học tận tình quan tâm, hướng dẫn, truyền đạt kiến thức, kinh nghiệm, tạo điều kiện thuận lợi giúp tơi hồn thành tốt luận văn Cũng dịp này, chúng tơi xin trân trọng cảm ơn gia đình bạn bè, tập thể lớp Cao học ngành Cơ Kỹ Thuật khóa 2007 hỗ trợ tơi q trình học tập thực luận văn Tp Hồ Chí Minh, tháng 11 năm 2009 Học viên thực iv TĨM TẮT LUẬN VĂN Bài tốn lan truyền âm mơi trường tốn phổ biến số ngành công nghiệp, đời sống lĩnh vực bảo vệ mơi trường Trong nguồn sinh âm, truyền âm, việc thu nhận ảnh hưởng âm lên người, lên cấu trúc vấn đề cần nghiên cứu Khái niệm âm khơng liên quan đến thính giác mà cịn liên hệ đến tượng lan truyền dao động học Nhiệm vụ luận văn đặt sử dụng phương pháp tính số khơng chia lưới để giải tốn lan truyền âm mơi trường lưu chất Phương pháp không lưới chọn luận văn “Element Free Galerkin Method (EFG)” dựa hàm dạng xấp xỉ “Moving Leasquared Shape Function (MLS)” Một chương trình tính tốn tác giả xây dựng sử dụng ngơn ngữ Matlab để tìm lời giải cho dạng yếu phương trình sóng Helmholtz Luận văn thực tính tốn hai mơ hình tốn, mơ hình xét hai trường hợp điều kiện biên khác Các kết tính tốn kiểm chứng với lời giải giải tích lời giải từ phương pháp phần tử hữu hạn (FEM) thực chương trình tính tốn thương mại ANSYS® v ABSTRACT Acoustics problems that calculate the pressure distribution in fluid domain are so popular in industry, in social life and environmental protection In these problems, acoustics sources, spread, obtainment, and the influent of acoustic on people and structure are studied carefully The concept of acoustic is not only related to hearing but also to mechanics vibration transmission The main task of this thesis is using a meshless method to solve the acoustic problems in fluid domain The meshless method that is chosen is Element Free Galerkin (EFG) This method bases on the Moving Leasquared Shape Function (MLS) A program basing on Matlab language was built to find the solution for weak form of Helmholtz wave equation In this thesis, there are two acoustic problems are performed and in each problem, there are two cases of boundary condition are considered The results of the program are compared with the analytic solution and the solution from Finite Element Method (FEM) that given by ANSYS® program vi MỤC LỤC Đề mục Trang Trang bìa i Nhiệm vụ luận văn iii Lời cảm ơn iv Tóm tắt luận văn v Mục lục vi CHƯƠNG GIỚI THIỆU ĐỀ TÀI 1.1 Giới thiệu đề tài 1.2 Tình hình nghiên cứu ngồi nước 1.3 Mục đích đề tài 1.4 Đối tượng nghiên cứu đề tài CHƯƠNG TỔNG QUAN VỀ BÀI TOÁN TRUYỀN ÂM 2.1 Giới thiệu toán truyền âm 2.2 Một số thông số âm học 2.3 Cơ sở toán học cho toán truyền âm – Phương trình sóng Helmholtz CHƯƠNG PHƯƠNG PHÁP NGHIÊN CỨU 14 3.1 Tổng quan phương pháp không lưới (Mesh free methods) 14 3.2 Phương pháp “Element Free Galerkin (EFG)” 17 3.3 Hàm dạng 18 3.4 Áp dụng phương pháp EFG để giải phương trình sóng Helmholtz 29 3.5 Các bước thực thi mô toán truyền âm sử dụng phương pháp EFG 33 CHƯƠNG KẾT QUẢ TÍNH TỐN 43 4.1 So sánh kết tính tốn với kết giải tích kết từ phương pháp phần tử hữu hạn 43 4.2 Mơ hình tính tốn thử nghiệm 54 CHƯƠNG KẾT LUẬN VÀ KIẾN NGHỊ 61 5.1 Kết luận đề tài 61 5.2 Kiến nghị, định hướng nghiên cứu 62 TÀI LIỆU THAM KHẢO PHỤ LỤC 63 64 vii Chương Giới thiệu đề tài CHƯƠNG GIỚI THIỆU ĐỀ TÀI 1.1 Vài nét âm học âm [1] Âm học ngành khoa học âm thanh, nghiên cứu lan truyền sóng âm mơi trường, tác động âm lên cấu trúc, lên thính giác người Khái niệm âm không liên quan đến thính giác mà cịn liên hệ đến tượng lan truyền dao động học Âm học ngành đặc biệt, liên hệ kiến thức với môn học khác học chất rắn, chất lỏng, vật lý vật liệu, hoá học, điện tử, kiến trúc, âm nhạc, ngôn ngữ học, tâm lý học, y học, sinh lý học,… Ngày nay, nghiên cứu âm học liên quan đến việc phân tích, xử lý kiểm sốt tiếng ồn Về mặt vật lý, âm mô tả dao động áp suất truyền môi trường khí lỏng Con người nghe âm khả cảm nhận dao động áp suất nối tiếp tai Các dao động áp suất làm màng nhĩ rung động truyền vào bên tai, hệ thần kinh ghi nhận xử lý tín hiệu thu Âm khái niệm nói chung, có âm mà tai người nghe cảm thấy thoải mái (âm từ nhạc cụ, tiếng chim hót, tiếng gió, tiếng suối, âm từ tiếng hát ca sỹ,…), nhiên có âm tai người khơng nghe có loại âm làm cho tai người cảm thấy khó chịu, tiếng ồn (tiếng máy nổ, tiếng va chạm, …) Con người từ xa xưa quan tâm đến tượng âm thanh, nghiên cứu tượng biết kỷ thứ trước công nguyên Đến nay, ngành âm học có thành tựu định chia làm nhiều nhánh: âm học biển, âm học kiến trúc, siêu âm học, âm học sinh lý, âm học phi tuyến, v…v… 1.2 Tình hình nghiên cứu ngồi nước Có nhiều phương pháp để giải toán truyền âm Khi máy tính chưa phát triển, việc giải tốn truyền âm chủ yếu dựa cơng thức giải tích Tuy nhiên, lời giải giải tích cho kết tốt mơ hình hai chiều đơn giản Với tốn với phức tạp người ta chủ yếu dựa vào thực nghiệm phải chịu tốn GVHD: PGS.TS Trương Tích Thiện HVTH:Nguyễn Thanh Nhã Chương Giới thiệu đề tài Ngày nay, phát triển máy tính nhiều phương pháp tính số giúp ích nhiều cho người kỹ sư tính toán Đối với toán truyền âm, theo tác giả giới có hai phương pháp số phát triển thương mại hóa thành chương trình mơ Đó phương pháp phần tử hữu hạn (chương trình ANSYS) phương pháp phần tử biên (chương trình SYSNOISE) Bên cạnh đó, phương pháp không chia lưới nghiên cứu phát triển để giải toán học kỹ thuật Cụ thể toán học vật rắn biến dạng, toán động lực học lưu chất công bố phổ biến ngồi nước Việc áp dụng phương pháp khơng lưới để giải toán truyền âm cơng bố số tạp chí nước ngồi (các báo [6], [7], [8], [9], [10], [11], [12] phần tài liệu tham khảo), nhiên số lượng hạn chế; Việt Nam, đề tài mẻ 1.3 Mục đích đề tài Đề tài tập trung vào việc giải phương trình sóng Helmholtz cách áp dụng phương pháp không chia lưới "Element Free Galerkin (EFG)" Kết đề tài tiền đề để tiếp tục phát triển dạng toán tương tự 1.4 Đối tượng nghiên cứu đề tài Đối tượng nghiên cứu đề tài tốn truyền âm mơi trường lưu chất Có nhiều dạng toán truyền âm kỹ thuật cần tính tốn, mơ Ví dụ: - Bài tốn cách âm cho cơng trình kiến trúc - Bài tốn tối ưu hóa âm trường cho cơng trình nhà hát, rạp hát - Bài toán khử rung động, làm giảm tiếng ồn động xe ô tô tác động lên hành khách - Bài toán giảm tiếng ồn phát từ nhà xưởng tác động lên công nhân dân cư xung quanh - Bài toán khử rung động, nguyên nhân gây âm bất lợi cho tàu ngầm Trong phạm vi giới hạn luận văn, tác giả giới thiệu tốn với mơ hình sóng khơng gian hai chiều GVHD: PGS.TS Trương Tích Thiện HVTH:Nguyễn Thanh Nhã Chương Tổng quan toán truyền âm CHƯƠNG TỔNG QUAN VỀ BÀI TOÁN TRUYỀN ÂM [1] 2.1 Giới thiệu đặc tính sóng âm Lấy thép mỏng đàn hồi dài hẹp, kẹp chặt đầu Dùng tay gẩy nhẹ đầu kia, mắt ta thấy kim loại dao động Hạ dần đầu kim loại dao động xuống để phần dao động ngắn bớt đi, lại dùng tay gẩy nhẹ đầu trên, mắt ta thấy dao động với tần số lớn trước Khi phần ngắn tới mức độ (tức tần số dao động lớn tới giá trị đó), tai ta bắt đầu nghe thấy tiếng vu vu nhẹ: bắt đầu phát âm Như dao động thép có lúc phát âm có lúc khơng phát âm Hiện tượng giải thích sau: thép dao động phía đó, làm cho lớp khơng khí liền trước bị nén lại, lớp khơng khí liền sau giãn Sự nén giãn khơng khí lặp lại cách tuần hồn, tạo khơng khí sóng học dọc có tần số tần số dao động kim loại Sóng khơng khí truyền tới tai ta, nén vào màng nhĩ, làm cho màng nhĩ dao động với tần số đó, có khả tạo cảm giác âm tai ta tần số sóng đạt tới độ lớn định Để miêu tả đặc tính sóng âm, người ta thường dựa vào thuộc tính âm (pure tone) Thuần âm sóng hình sin có biên độ tần số riêng, truyền với vận tốc xác định nhiệt độ áp suất khơng khí 2.1.1 Tần số, chu kỳ bước sóng Tần số f sóng số chu kỳ giây sóng, đơn vị Hertz (Hz) Tai người cảm thụ sóng dao động có tần số khoảng 16 Hz đến 20 kHz, độ nhạy cao vào khoảng kHz Trong lĩnh vực xử lý tiếng ồn công nghiệp, người ta thường tập trung vào dải tần số từ 63 Hz đến 16 kHz phạm vi tần số độ cảm ứng tai người giảm nhiều Một sóng dao động điều hịa biểu diễn dạng hàm lượng giác đơn giản sau: x (t ) = A cos ωt (2.1) Trong đó: GVHD: PGS.TS Trương Tích Thiện HVTH:Nguyễn Thanh Nhã ii=list(i); bb(ii)=bb(ii)+b(i); end 11 Hàm lắp ghép vector f vào vector f tổng thể function [ff]=f_Asembly(ff,f,list) ddof=length(list); for i=1:ddof ii=list(i); ff(ii)=ff(ii)+f(i); end 12 Hàm lắp ghép ma trận K pλ vào tổng thể function [kk]=KpLambda_Asembly(kk,k,list,Cell) ddof=length(list); for i=1:ddof ii=list(i); kk(ii,Cell)=kk(ii,Cell)+k(i,1); kk(ii,Cell+1)=kk(ii,Cell+1)+k(i,2); end 13 Chương trình tính cho toán 4.1 – Trường hợp clear all; clc; format long; c=340; f=100; omega=2*pi*f; rho=1.225; k=omega/c; w1=1; w2=1; fid=fopen('NTUBE050.lis'); no=textscan(fid,'%f%f%f%f','HeaderLines',3,'commentStyle','N') ; fclose(fid); idI=[no{1}]; xI=[no{2}]; yI=[no{3}]; xIyI=[xI yI]; nnode=length(xI); fid=fopen('ETUBE050.lis'); el=textscan(fid,'%*d%*d%*d%*d%*d%*d%d%d%d%d%*d','HeaderLines', 2,'commentStyle','E'); fclose(fid); tri=[el{1} el{2} el{3} el{4}]; ncell=length(tri); dsx=1.2; dsy=1.; hold on axis equal PlotNode(xI,yI) % Ve cac node 73 %%%%%%%%%%%%Dieu kien bien ap suat %%%%%%%%%% BCList_p=[46 86:88 1]'; p0=2; %%%%%%%%%%%%%%%%%%%%%%%%%% Chia luoi tich phan mien bai toan %[IdCell NoCell CellGauss CenterCellx CenterCelly SizeGauss]=GridMe(xI,yI,6); [IdCell]=GridMeNewQua(ncell,xI,yI,tri); %%%%%%%%%%%%%%%% Tinh ma tran K va ma tran M %%%%%%%%%% [K M]=KM(nnode,ncell,xI,yI,IdCell,dsx,dsy,w1,w2,c); %%%%%%%%%%%%%%%%%%%%%%%%%% Tinh ma tran C %%%%%%%%%%%%%%%%%%%% Size1D=5; % So o tren doan giua nut bien [IdCell_1D NoCell_1D]=GridMe1D(BCList_An,xI,yI,Size1D); C=CC(nnode,xI,yI,IdCell_1D,NoCell_1D,dsx,dsy,Size1D,w1,w2,BCLi st_An,Beta,c); %%%%%%%%%%%%%%%% Tinh ma tran KK11 %%%%%%%%%% KK11=K+j*rho*c*k*C-c^2*k^2*M; %%%%%%%%%%%%%% Tinh ma tran f (dieu kien bien Van toc) f=zeros(nnode,1); %%%%%%%%%%% Tinh ma tran b (dieu kien bien AP SUAT) %%%%% %N0(s) = (s-s1)/(s0-s1) va N1(s) = (s-s0)/(s1-s0) [IdCell_1D NoCell_1D CenterCellx1D CenterCelly1D]=GridMe1D(BCList_p,xI,yI,1); b=bb(nnode,xI,yI,w1,w2,BCList_p,p0); %%%%%%%%%%%%%%%% Tinh ma tran KpLambda %%%%%%%%% KpLambda=KpL(nnode,xI,yI,IdCell_1D,dsx,dsy,w1,w2,BCList_p); %%%%%%%%%%%%%%%% Rap ma tran %%%%%%%%% KK=[KK11 KpLambda;KpLambda' zeros(length(BCList_p))]; FF=[-j*rho*c*k*f; b]; p_lambda=inv(KK)*FF; p=p_lambda(1:nnode,:); %preal=real(p); p_total=[]; for i=1:nnode pp=[]; [list] = CountNode(xI,yI,xI(i),yI(i),dsx,dsy); [phiI]=ShapeFuncW1(list(:,2),list(:,3),xI(i),yI(i),dsx,dsy); for j=1:length(list(:,1)) % so hàng cua list temp=list(j,1); 74 pp=[pp; p(temp)]; end ppp=phiI*pp; p_total=[p_total; ppp]; end subplot(2,2,1) p_total=real(p_total); %%%%% Ve EFG %%%%% for i=1:ncell hold on axis equal x=[xI(tri(i,1));xI(tri(i,2)); xI(tri(i,3)); xI(tri(i,4))]; y=[yI(tri(i,1));yI(tri(i,2)); yI(tri(i,3)); yI(tri(i,4))]; p_plot=[p_total(tri(i,1));p_total(tri(i,2));p_total(tri(i,3)); p_total(tri(i,4))]; fill(x,y,p_plot,'EdgeColor','none'); end colorbar subplot(2,2,2) %%%%% Ve Ansys %%%%% fid=fopen('PTUBE015_.lis'); no=textscan(fid,'%f%f','HeaderLines',9,'commentStyle',{'**', 'ES'}); fclose(fid); p_ansys=[no{2}]; fid=fopen('NTUBE015.lis'); no=textscan(fid,'%f%f%f%f','HeaderLines',3,'commentStyle','N') ; fclose(fid); idI=[no{1}]; xIplot=[no{2}]; yIplot=[no{3}]; fid=fopen('ETUBE015.lis'); el=textscan(fid,'%*d%*d%*d%*d%*d%*d%d%d%d%d%*d','HeaderLines', 2,'commentStyle','E'); fclose(fid); triplot=[el{1} el{2} el{3} el{4}]; ncellplot=length(triplot); for i=1:ncellplot hold on axis equal x=[xIplot(triplot(i,1));xIplot(triplot(i,2)); xIplot(triplot(i,3)); xIplot(triplot(i,4))]; y=[yIplot(triplot(i,1));yIplot(triplot(i,2)); yIplot(triplot(i,3)); yIplot(triplot(i,4))]; 75 p_plot=[p_ansys(triplot(i,1)); p_ansys(triplot(i,2)); p_ansys(triplot(i,3)); p_ansys(triplot(i,4))]; fill(x,y,p_plot,'EdgeColor','none'); end colorbar subplot(2,2,3) x=linspace(0,20,200); p_ana=p0*(cos(k*x)); plot(x,p_ana,'LineWidth',1.5) fid=fopen('PTUBE050.lis'); no=textscan(fid,'%f%f','HeaderLines',9,'commentStyle',{'**', 'ES'}); fclose(fid); node_efg=[no{1}]; hold on press_efg=[]; for j=1:length(node_efg) press_efg(j)=p_total(length(node_efg)+1-j); end x_efg=linspace(0,20,41); plot(x_efg,press_efg,'red','LineWidth',1.5); fid=fopen('PTUBE025.lis'); no=textscan(fid,'%f%f','HeaderLines',9,'commentStyle',{'**', 'ES'}); fclose(fid); press_ansys=[no{2}]; hold on x_ansys=linspace(0,20,81); plot(x_ansys,press_ansys,'black','LineWidth',1.5); fid=fopen('PTUBE015.lis'); no=textscan(fid,'%f%f','HeaderLines',9,'commentStyle',{'**', 'ES'}); fclose(fid); press_ansys=[no{2}]; hold on x_ansys=linspace(0,20,135); plot(x_ansys,press_ansys,'green','LineWidth',1.5); fid=fopen('PTUBE010.lis'); no=textscan(fid,'%f%f','HeaderLines',9,'commentStyle',{'**', 'ES'}); fclose(fid); press_ansys=[no{2}]; hold on x_ansys=linspace(0,20,201); 76 plot(x_ansys,press_ansys,'yellow','LineWidth',1.5); 14 Chương trình tính cho tốn 4.1 – Trường hợp clear all; clc; format long; c=340; f=100; omega=2*pi*f; rho=1.225; k=omega/c; w1=1; w2=1; fid=fopen('NTUBE050.lis'); no=textscan(fid,'%f%f%f%f','HeaderLines',3,'commentStyle','N') ; fclose(fid); idI=[no{1}]; xI=[no{2}]; yI=[no{3}]; xIyI=[xI yI]; nnode=length(xI); fid=fopen('ETUBE050.lis'); el=textscan(fid,'%*d%*d%*d%*d%*d%*d%d%d%d%d%*d','HeaderLines', 2,'commentStyle','E'); fclose(fid); tri=[el{1} el{2} el{3} el{4}]; ncell=length(tri); dsx=1.2; dsy=1.; hold on axis equal PlotNode(xI,yI) % Ve cac node %%%%%%%%%%%%Dieu kien bien ap suat %%%%%%%%%% BCList_p1=[46 86:88 1]'; p1=2; BCList_p2=[2 43:45 42]'; p2=0; %%%%%%%%%%%%Dieu kien bien hap thu %%%%%%%%%% BCList_An=[2 43:47 42]'; Beta=0; %%%%%%%%%%% Chia luoi tich phan mien bai toan %%%%%%%% [IdCell NoCell CellGauss CenterCellx CenterCelly SizeGauss]=GridMe(xI,yI,6); [IdCell]=GridMeNewQua(ncell,xI,yI,tri); %%%%%%%%%%%%%%% Tinh ma tran K va ma tran M %%%%%%%%%%% [K M]=KM(nnode,ncell,xI,yI,IdCell,dsx,dsy,w1,w2,c); %%%%%%%%%%%%%%%%%%%%%%%%%% Tinh ma tran C %%%%%%%%%%%%%%%%%%%% Size1D=5; % So o tren doan giua nut bien [IdCell_1D NoCell_1D]=GridMe1D(BCList_An,xI,yI,Size1D); 77 C=CC(nnode,xI,yI,IdCell_1D,NoCell_1D,dsx,dsy,Size1D,w1,w2,BCLi st_An,Beta,c); %%%%%%%%%%%%%%%% Tinh ma tran KK11 %%%%%%%%%% KK11=K+j*rho*c*k*C-c^2*k^2*M; %%%%%%%%%%% Tinh ma tran f (dieu kien bien Van toc) %%%%%%%% f=zeros(nnode,1); %%%%%%%%%%% Tinh ma tran b (dieu kien bien AP SUAT) %%%%% [IdCell_1D NoCell_1D CenterCellx1D CenterCelly1D] =GridMe1D(BCList_p1,xI,yI,1); b1=bb(nnode,xI,yI,w1,w2,BCList_p1,p1); KpLambda1=KpL(nnode,xI,yI,IdCell_1D,dsx,dsy,w1,w2,BCList_p1); [IdCell_1D NoCell_1D CenterCellx1D CenterCelly1D] = GridMe1D(BCList_p2,xI,yI,1); b2=bb(nnode,xI,yI,w1,w2,BCList_p2,p2); KpLambda2=KpL(nnode,xI,yI,IdCell_1D,dsx,dsy,w1,w2,BCList_p2); b=[b1; b2]; KpLambda=[KpLambda1 KpLambda2]; %%%%%%%%%%%%%%%% Rap ma tran %%%%%%%%% KK=[KK11 KpLambda;KpLambda' zeros(length(BCList_p1)+length(BCList_p2))]; FF=[-j*rho*c*k*f; b]; p_lambda=inv(KK)*FF; p=p_lambda(1:nnode,:); %preal=real(p); p_total=[]; for i=1:nnode pp=[]; [list] = CountNode(xI,yI,xI(i),yI(i),dsx,dsy); [phiI]=ShapeFuncW1(list(:,2),list(:,3),xI(i),yI(i),dsx,dsy); for j=1:length(list(:,1)) % so hàng cua list temp=list(j,1); pp=[pp; p(temp)]; end ppp=phiI*pp; p_total=[p_total; ppp]; end subplot(2,2,1) p_total=real(p_total); %%% Ve EFG %%%% for i=1:ncell 78 hold on axis equal x=[xI(tri(i,1));xI(tri(i,2)); xI(tri(i,3)); xI(tri(i,4))]; y=[yI(tri(i,1));yI(tri(i,2)); yI(tri(i,3)); yI(tri(i,4))]; p_plot=[p_total(tri(i,1));p_total(tri(i,2));p_total(tri(i,3)); p_total(tri(i,4))]; fill(x,y,p_plot,'EdgeColor','none'); end colorbar subplot(2,2,2) %%%%% Ve Ansys %%%%% fid=fopen('PTUBE015A_.lis'); no=textscan(fid,'%f%f','HeaderLines',9,'commentStyle',{'**', 'ES'}); fclose(fid); p_ansys=[no{2}]; fid=fopen('NTUBE015.lis'); no=textscan(fid,'%f%f%f%f','HeaderLines',3,'commentStyle','N') ; fclose(fid); idI=[no{1}]; xIplot=[no{2}]; yIplot=[no{3}]; fid=fopen('ETUBE015.lis'); el=textscan(fid,'%*d%*d%*d%*d%*d%*d%d%d%d%d%*d','HeaderLines', 2,'commentStyle','E'); fclose(fid); triplot=[el{1} el{2} el{3} el{4}]; ncellplot=length(triplot); for i=1:ncellplot hold on axis equal x=[xIplot(triplot(i,1));xIplot(triplot(i,2)); xIplot(triplot(i,3)); xIplot(triplot(i,4))]; y=[yIplot(triplot(i,1));yIplot(triplot(i,2)); yIplot(triplot(i,3)); yIplot(triplot(i,4))]; p_plot=[p_ansys(triplot(i,1)); p_ansys(triplot(i,2)); p_ansys(triplot(i,3)); p_ansys(triplot(i,4))]; fill(x,y,p_plot,'EdgeColor','none'); end colorbar subplot(2,2,3) x=linspace(0,20,200); p_ana=p1*(cos(k*x)-cot(k*20)*sin(k*x)); plot(x,p_ana,'blue','LineWidth',1.5) 79 fid=fopen('PTUBE050A.lis'); no=textscan(fid,'%f%f','HeaderLines',9,'commentStyle',{'**', 'ES'}); fclose(fid); node_efg=[no{1}]; hold on press_efg=[]; for j=1:length(node_efg) press_efg(j)=p_total(node_efg(j)); end x_efg=linspace(0,20,41); plot(x_efg,press_efg,'red','LineWidth',1.5); fid=fopen('PTUBE025A.lis'); no=textscan(fid,'%f%f','HeaderLines',9,'commentStyle',{'**', 'ES'}); fclose(fid); press_ansys=[no{2}]; hold on x_ansys=linspace(0,20,81); plot(x_ansys,press_ansys,'black','LineWidth',1.5); fid=fopen('PTUBE015A.lis'); no=textscan(fid,'%f%f','HeaderLines',9,'commentStyle',{'**', 'ES'}); fclose(fid); press_ansys=[no{2}]; hold on x_ansys=linspace(0,20,135); plot(x_ansys,press_ansys,'green','LineWidth',1.5); 15 Chương trình tính cho tốn 4.2 – Trường hợp clear all; clc; format long; c=340; f=100; omega=2*pi*f; rho=1.225; k=omega/c; w1=1; w2=1; fid=fopen('NROOM1.lis'); % size=0.2m no=textscan(fid,'%f%f%f%f','HeaderLines',3,'commentStyle','N') ; fclose(fid); idI=[no{1}]; xI=[no{2}]; yI=[no{3}]; xIyI=[xI yI]; nnode=length(xI); 80 fid=fopen('EROOM1.lis'); el=textscan(fid,'%*d%*d%*d%*d%*d%*d%d%d%d%d%*d','HeaderLines', 2,'commentStyle','E'); fclose(fid); tri=[el{1} el{2} el{3} el{4}]; ncell=length(tri); dsx=0.54; dsy=0.54; hold on axis equal % BEST PlotNode(xI,yI) % Ve cac node %%%%%%%%%%%%Dieu kien bien ap suat %%%%%%%%%% BCList_p=[234 235 41 42 27]'; p0=0.03; %%%%%%%%%%%%Dieu kien bien hap thu %%%%%%%%%% BCList_An=[45 46]'; Beta=0; %%%%%%%%%%%%%%%% Chia luoi tich phan mien bai toan %%%%%%%%%% [IdCell NoCell CellGauss CenterCellx CenterCelly SizeGauss]=GridMe(xI,yI,6); [IdCell]=GridMeNewQua(ncell,xI,yI,tri); %%%%%%%%%%%%%% Tinh ma tran K va ma tran M %%%%%%%%%%%% [K M]=KM(nnode,ncell,xI,yI,IdCell,dsx,dsy,w1,w2,c); %%%%%%%%%%%%%%%%%%%%%%%%%% Tinh ma tran C %%%%%%%%%%%%%%%%%%%% Size1D=5; % So o tren doan giua nut bien [IdCell_1D NoCell_1D]=GridMe1D(BCList_An,xI,yI,Size1D); C=CC(nnode,xI,yI,IdCell_1D,NoCell_1D,dsx,dsy,Size1D,w1,w2,BCLi st_An,Beta,c); %%%%%%%%%%%%%%%%%%% Tinh ma tran KK11 %%%%%%% KK11=K+j*rho*c*k*C-c^2*k^2*M; %%%%%%%%%%%% Tinh ma tran f (dieu kien bien Van toc) %%%%% f=zeros(nnode,1); %%%%%%%%%%%%%%%% Tinh ma tran b (dieu kien bien AP SUAT) [IdCell_1D NoCell_1D CenterCellx1D CenterCelly1D]=GridMe1D(BCList_p,xI,yI,1); b=bb(nnode,xI,yI,w1,w2,BCList_p,p0); %%%%%%%%%%%%%%%%% Tinh ma tran KpLambda %%%%%%%% KpLambda=KpL(nnode,xI,yI,IdCell_1D,dsx,dsy,w1,w2,BCList_p); %%%%%%%%%%%%%%%% Rap ma tran %%%%%%%%% KK=[KK11 KpLambda;KpLambda' zeros(length(BCList_p))]; FF=[-j*rho*c*k*f; b]; 81 p_lambda=inv(KK)*FF; p=p_lambda(1:nnode,:); %preal=real(p); p_total=[]; for i=1:nnode pp=[]; [list] = CountNode(xI,yI,xI(i),yI(i),dsx,dsy); [phiI]=ShapeFuncW1(list(:,2),list(:,3),xI(i),yI(i),dsx,dsy); for j=1:length(list(:,1)) % so hàng cua list temp=list(j,1); pp=[pp; p(temp)]; end ppp=phiI*pp; p_total=[p_total; ppp]; end subplot(2,2,1) %%%%%%% Ve EFG %%%%%%% p_total=real(p_total); for i=1:ncell hold on axis equal x=[xI(tri(i,1));xI(tri(i,2)); xI(tri(i,3)); xI(tri(i,4))]; y=[yI(tri(i,1));yI(tri(i,2)); yI(tri(i,3)); yI(tri(i,4))]; p_plot=[p_total(tri(i,1));p_total(tri(i,2));p_total(tri(i,3)); p_total(tri(i,4))]; fill(x,y,p_plot,'EdgeColor','none'); end colorbar subplot(2,2,2) %%%%%%% Ve Ansys %%%%%%% fid=fopen('PROOM1_.lis'); no=textscan(fid,'%f%f','HeaderLines',9,'commentStyle',{'**', 'ES'}); fclose(fid); p_ansys=[no{2}]; hold on for i=1:ncell hold on axis equal x=[xI(tri(i,1));xI(tri(i,2)); xI(tri(i,3)); xI(tri(i,4))]; y=[yI(tri(i,1));yI(tri(i,2)); yI(tri(i,3)); yI(tri(i,4))]; p_plot=[p_ansys(tri(i,1));p_ansys(tri(i,2));p_ansys(tri(i,3)); p_ansys(tri(i,4))]; fill(x,y,p_plot,'EdgeColor','none'); end 82 colorbar %%%%%%%%%%%%%%%%%%%%%% Ve bieu %%%%%%%%%%%%%%% subplot(2,2,3) fid=fopen('PROOM1.lis'); no=textscan(fid,'%f%f','HeaderLines',9,'commentStyle',{'**', 'ES'}); fclose(fid); node_efg=[no{1}]; press_ansys=[no{2}]; hold on press_efg=[]; for j=1:length(node_efg) press_efg(j)=p_total(node_efg(j)); end x_efg=linspace(0,5.539,29); plot(x_efg,press_efg,'red','LineWidth',1.5); fid = fopen('test1.txt', 'wt'); fprintf(fid, '%f\n', press_efg); fclose(fid); hold on x_ansys=linspace(0,5.539,29); plot(x_ansys,press_ansys,'green','LineWidth',1.5); 16 Chương trình tính cho tốn 4.2 – Trường hợp clear all; clc; format long; c=340; f=100; omega=2*pi*f; rho=1.225; k=omega/c; w1=1; w2=1; fid=fopen('NROOM1.lis'); % size=0.2m no=textscan(fid,'%f%f%f%f','HeaderLines',3,'commentStyle','N') ; fclose(fid); idI=[no{1}]; xI=[no{2}]; yI=[no{3}]; xIyI=[xI yI]; nnode=length(xI); fid=fopen('EROOM1.lis'); el=textscan(fid,'%*d%*d%*d%*d%*d%*d%d%d%d%d%*d','HeaderLines', 2,'commentStyle','E'); fclose(fid); tri=[el{1} el{2} el{3} el{4}]; ncell=length(tri); 83 dsx=0.48; dsy=0.48; hold on axis equal % BEST PlotNode(xI,yI) % Ve cac node %%%%%%%%%%%%Dieu kien bien ap suat %%%%%%%%%% BCList_p=[234 235 41 42 27]'; p0=0.03; %%%%%%%%%%%%Dieu kien bien hap thu %%%%%%%%%% BCList_An=[236 259:272 3:26 2]'; Beta=1; %%%%%%%%%%%%% Chia luoi tich phan mien bai toan %%%%%%%%%%%%% %[IdCell NoCell CellGauss CenterCellx CenterCelly SizeGauss]=GridMe(xI,yI,6); [IdCell]=GridMeNewQua(ncell,xI,yI,tri); %%%%%%%%%%%%%%%%% Tinh ma tran K va ma tran M %%%%%%%%% [K M]=KM(nnode,ncell,xI,yI,IdCell,dsx,dsy,w1,w2,c); %%%%%%%%%%%%%%%%%%%%%%%%%% Tinh ma tran C %%%%%%%%%%%%%%%%%%%% Size1D=5; % So o tren doan giua nut bien [IdCell_1D NoCell_1D]=GridMe1D(BCList_An,xI,yI,Size1D); C=CC(nnode,xI,yI,IdCell_1D,NoCell_1D,dsx,dsy,Size1D,w1,w2,BCLi st_An,Beta,c); %%%%%%%%%%%%%%%%% Tinh ma tran KK11 %%%%%%%%% KK11=K+j*rho*c*k*C-c^2*k^2*M; %%%%%%%%%%%%% Tinh ma tran f (dieu kien bien Van toc) f=zeros(nnode,1); %%%%%%%%%%% Tinh ma tran b (dieu kien bien AP SUAT) %%%%%%% %N0(s) = (s-s1)/(s0-s1) va N1(s) = (s-s0)/(s1-s0) [IdCell_1D NoCell_1D CenterCellx1D CenterCelly1D]=GridMe1D(BCList_p,xI,yI,1); b=bb(nnode,xI,yI,w1,w2,BCList_p,p0); %%%%%%%%%%%%%%%%% Tinh ma tran KpLambda %%%%%%%% KpLambda=KpL(nnode,xI,yI,IdCell_1D,dsx,dsy,w1,w2,BCList_p); %%%%%%%%%%%%%%% Rap ma tran %%%%%%%%%% KK=[KK11 KpLambda;KpLambda' zeros(length(BCList_p))]; FF=[-j*rho*c*k*f; b]; p_lambda=inv(KK)*FF; p=p_lambda(1:nnode,:); %preal=real(p); 84 p_total=[]; for i=1:nnode pp=[]; [list] = CountNode(xI,yI,xI(i),yI(i),dsx,dsy); [phiI]=ShapeFuncW1(list(:,2),list(:,3),xI(i),yI(i),dsx,dsy); for j=1:length(list(:,1)) % so hàng cua list temp=list(j,1); pp=[pp; p(temp)]; end ppp=phiI*pp; p_total=[p_total; ppp]; end subplot(2,2,1) %%%%%%% Ve EFG %%%%%%% p_total=real(p_total); for i=1:ncell hold on axis equal x=[xI(tri(i,1));xI(tri(i,2)); xI(tri(i,3)); xI(tri(i,4))]; y=[yI(tri(i,1));yI(tri(i,2)); yI(tri(i,3)); yI(tri(i,4))]; p_plot=[p_total(tri(i,1));p_total(tri(i,2));p_total(tri(i,3)); p_total(tri(i,4))]; fill(x,y,p_plot,'EdgeColor','none'); end colorbar subplot(2,2,2) %%%%%%% Ve Ansys %%%%%%% fid=fopen('PROOM1A_.lis'); no=textscan(fid,'%f%f','HeaderLines',9,'commentStyle',{'**', 'ES'}); fclose(fid); p_ansys=[no{2}]; hold on for i=1:ncell hold on axis equal x=[xI(tri(i,1));xI(tri(i,2)); xI(tri(i,3)); xI(tri(i,4))]; y=[yI(tri(i,1));yI(tri(i,2)); yI(tri(i,3)); yI(tri(i,4))]; p_plot=[p_ansys(tri(i,1));p_ansys(tri(i,2));p_ansys(tri(i,3)); p_ansys(tri(i,4))]; fill(x,y,p_plot,'EdgeColor','none'); end colorbar %%%%%%%%%%%%%%%%%%%%%% Ve bieu %%%%%%%%%%%%%%% subplot(2,2,3) 85 fid=fopen('PROOM1A.lis'); no=textscan(fid,'%f%f','HeaderLines',9,'commentStyle',{'**', 'ES'}); fclose(fid); node_efg=[no{1}]; press_ansys=[no{2}]; hold on press_efg=[]; for j=1:length(node_efg) press_efg(j)=p_total(node_efg(j)); end x_efg=linspace(0,5.539,29); plot(x_efg,press_efg,'green'); fid = fopen('test1A.txt', 'wt'); fprintf(fid, '%f\n', press_efg); fclose(fid); hold on x_ansys=linspace(0,5.539,29); plot(x_ansys,press_ansys,'red'); 86 LÝ LỊCH TRÍCH NGANG Họ tên: Nguyễn Thanh Nhã Ngày, tháng, năm sinh: 08 – 02 – 1984 Nơi sinh: Tp Hồ Chí Minh Địa liên lạc: TK5/23 Trần Hưng Đạo, Phường Cầu Kho, Q1, Tp.HCM QUÁ TRÌNH ĐÀO TẠO - Đại học: 2002 – 2007, chuyên ngành Cơ kỹ thuật, trường Đại học Bách khoa Thành phố Hồ Chí Minh - Cao học: 2007 – 2009, chuyên ngành Cơ học Kỹ thuật, trường Đại học Bách khoa Thành phố Hồ Chí Minh QUÁ TRÌNH CƠNG TÁC - Từ 2007 – đến nay: Cán giảng dạy khoa Khoa học Ứng dụng, trường Đại học Bách khoa Thành phố Hồ Chí Minh ... ĐỀ TÀI: TÍNH TỐN – MƠ PHỎNG LAN TRUYỀN SĨNG ÂM BẰNG PHƯƠNG PHÁP KHÔNG LƯỚI 2- NHIỆM VỤ LUẬN VĂN: - Tổng quan toán lan truyền âm mơi trường lưu chất - Tìm hiểu phương pháp số không chia lưới (MeshFree... BÀI TOÁN TRUYỀN ÂM 2.1 Giới thiệu toán truyền âm 2.2 Một số thông số âm học 2.3 Cơ sở toán học cho toán truyền âm – Phương trình sóng Helmholtz CHƯƠNG PHƯƠNG PHÁP NGHIÊN CỨU 14 3.1 Tổng quan phương. .. Chương Phương pháp nghiên cứu CHƯƠNG PHƯƠNG PHÁP NGHIÊN CỨU [2] [4] 3.1 Tổng quan phương pháp không lưới (Mesh free methods) 3.1.1 Ý tưởng cho phương pháp không lưới Sự phát triển phương pháp phần

Ngày đăng: 08/03/2021, 18:13

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w