Toàn bộ chức năng của các hàm được thống kê trong bảng sau : checkResult Kiểm tra tính chất dòng chuyển động Ppit,Pinf, Tinf, Gamma ckResult, alpha comprHiMachSolver Tính toán số Mach củ
Trang 1KHOA KỸ THUẬT GIAO THÔNG
BỘ MÔN KỸ THUẬT HÀNG KHÔNG
BÀI TẬP KHÍ ĐỘNG LỰC HỌC 2
ĐỀ TÀI : LẬP TRÌNH TÍNH TOÁN VẬN TỐC DÒNG CHUYỂN ĐỘNG ĐO ĐƯỢC BẰNG ỐNG PITOT VỚI MATLAB
SV THAM GIA:
Trần Quang Khôi | MSSV : 1411875 Trần Thị Xuân Huỳnh | MSSV : 1411539
Giảng viên hướng dẫn : TS Lê Thị Hồng Hiếu
Trang 2-
MỤC LỤC Trang Mục lục - 1
Danh mục hình - 2
Phân công công việc - 3
I Cấu trúc chương trình - 5
II Các hàm được sử dụng trong chương trình - 6
II.1 Chương trình chính : - 7
II.2 Hàm kiểm tra tính chất dòng chuyển động ckResult : - 10
II.3 Hàm tính toán số Mach của dòng chuyển động dưới âm comprLoMachSolver : - 10
II.4 Hàm tính toán số Mach của dòng chuyển động trên âm comprHiMachSolver: - 10
II.5 Hàm tính toán vận tốc của dòng chuyển động theo phương trình Bernoulli BernVSolver: - 11
II.6 Hàm kiểm tra sai số kết quả tính toán bằng phương pháp thế ngược số Mach tính được errSubsCk : - 11
II.7 Hàm tính toán đánh dấu kết quả tính được trên đồ thị số Mach theo tỷ số Ppit/Pinf với các chỉ số Gamma khác nhau setRange : - 11
III Bài toán kiểm chứng - 11
III.1 Dòng chuyển động trên âm - 11
III.1.1 Thiết lập thông số đầu vào - 11
III.1.2 Sử dụng chương trình - 12
III.1.3 Đánh giá kết quả thu được và kết luận - 14
III.2 Dòng chuyển động dưới âm - 15
III.2.1 Thiết lập thông số đầu vào - 15
III.2.2 Sử dụng chương trình - 16
III.2.3 Đánh giá kết quả thu được và kết luận - 17
VI Tài liệu tham khảo - 17
Trang 3-
DANH MỤC HÌNH Trang Hình 1-Sơ đồ cấu trúc chương trình - 4
Hình 2-Nhập dữ liệu đầu vào cho dòng chuyển động trên âm - 11
Hình 3-Kết quả xuất ra cho dòng chuyển động trên âm - 11
Hình 4- Đồ thị theo dõi các bước lặp cho dòng chuyển động trên âm - 12
Hình 5- Đồ thị các số Mach theo tỷ số P pit /P inf với các chỉ số Gama khác nhau cho dòng chuyển động trên âm - 12
Hình 6- Đối chiếu kết quả tính toán được trên đồ thị - 13
Hình 7- Nhập dữ liệu đầu vào cho dòng chuyển động dưới âm - 15
Hình 8-Kết quả xuất ra cho dòng chuyển động dưới âm - 15
Hình 9-Đồ thị các số Mach theo tỷ số P pit /P inf với các chỉ số Gama khác nhau cho dòng chuyển động dưới âm - 16
Hình 10- Đối chiếu kết quả tính toán được trên đồ thị - 16
Trang 4-
PHÂN CÔNG CÔNG VIỆC
Newton-Raphson
Trần Quang Khôi Trần Thị Xuân Huỳnh
trình tính toán
Trần Quang Khôi
toán
Trần Thị Xuân Huỳnh
chính
Trần Quang Khôi
5 Lập trình vẽ giản đồ Trần Quang Khôi
chứng
Trần Thị Xuân Huỳnh
Trần Thị Xuân Huỳnh
Trang 5-
I/ Cấu trúc chương trình
Hình 1
Trang 6-
II/ Các hàm được sử dụng trong chương trình
Chương trình được cải thiện độ tiện lợi bằng cách thêm một vòng lặp nhỏ giúp người dùng có thể chọn tính tiếp một bài toán khác mà không cần phải khởi động lại toàn bộ script Toàn bộ chức năng của các hàm được thống kê trong bảng sau :
checkResult Kiểm tra tính chất
dòng chuyển động
Ppit,Pinf, Tinf, Gamma
ckResult, alpha
comprHiMachSolver Tính toán số Mach
của dòng chuyển động nén được trên âm bằng phương pháp Newton-Raphson
Ppit,Pinf, Tinf, Gamma, Epsilon
Minf,Prstep, cycles
comprLoMachSolver Tính toán số Mach
của dòng chuyển động nén được dưới âm
Ppit,Pinf, Tinf, Gamma, Epsilon
Minf
bernVSolver Tính toán vận tốc
của dòng chuyển động bằng phương trình Bernoulli
Ppit,Pinf, Tinf, Vber
errSubsCk Kiểm tra kết quả
tính toán bằng phương pháp thế ngược số Mach
Minf(cycles), Gamma, Ppit,Pinf
ErrCk
setRange Tính toán điểm
dừng cho đồ thị thể hiện số Mach theo Ppit/Pinf với các chỉ số Gamma khác nhau
Minf(cycles) delta
*Ghi chú :
Ppit : áp suất đo được bởi ống Pitot
Pinf : áp suất của dòng chuyển động ở xa vô cùng
Tinf : nhiệt độ của dòng chuyển động ở xa vô cùng
Trang 7-
Gamma : tỷ số nhiệt dung riêng đẳng áp /nhiệt dung riêng đẳng tích của dòng chuyển động ở xa vô cùng Minf : Ma trận các số Mach của dòng chuyển động ở xa vô cùng qua các bước lặp Epsilon : độ chính xác của kết quả tính lặp ( số chữ số có nghĩa sau dấu phẩy ) Cycles : số chu kì lặp Minf(cycles) : giá trị số Mach ở kết quả hội tụ Vber : vận tốc dòng chuyển động ở xa vô cùng tính bằng phương trình Bernoulli Mber : giá trị số Mach của dòng chuyển động ở xa vô cùng tính bằng phương trình Bernoulli ErrCk : kết quả sai lệch tính bằng phương pháp thế ngược số Mach ( chỉ áp dụng cho comprHiMachSolver) Delta : hiệu số giữa số Mach tính được với số Mach nguyên liền kề ( vd : 2,3,4,5…) II.1/Chương trình chính : Có chức năng nhận dữ liệu đầu vào, tính toán và cho ra các kết quả : loại dòng chuyển động, vận tốc dòng chuyển động, số Mach của dòng chuyển động (tính theo các phương pháp khác nhau), kết quả đối chiếu giữa các phương pháp và sai số của kết quả tính toán bằng phương pháp lặp Newton-Raphson, đồ thì thể hiện quá trình lặp, đồ thị thể hiện số Mach theo tỷ số Ppit/Pinf với các Gamma khác nhau và đánh dấu kết quả đã tính toán được trên đồ thị clear all ; clc; cla; %%TAC GIA disp( '====================BKAERO =================' ) disp( '================ AERODYNAMICS ==============' ) disp( ' COMPRESSIBLE MACH SOLVER ' )
disp( ' KHOI TRANQUANG - 1411875 ' )
disp( ' HUYNH TRANTHIXUAN - 1411539 ' )
disp( ' 25 September 2016 ' )
disp( 'Ref: ' )
disp( '1 John D Anderson, Jr - Fundamentals of Aerodynamics (5th Edition)' ) disp( '2 Course document : Aerodyamic 2 - Lecturer : Dr.Hong Hieu Le' ) disp( '============================================' ) disp( '' ) % -
% NHAP CAC GIA TRI INPUT option= 'y' ; while option== 'y' R=287.265; cycles=1; Epsilon=3; disp( 'NHAP CAC THONG SO:' ); Gamma = input( 'GAMMA= ' ); Tinf = input( 'NHIET DO DONG CD= ' ); Pinf = input( 'AP SUAT DONG CD= ' ); Ppit = input( 'AP SUAT ONG PITOT DO DUOC= ' ); % -
Trang 8-
%TINH VAN TOC AM THANH
a=sqrt(Gamma*R*Tinf);
%KIEM TRA TINH CHAT DONG CD VA XU LY
[ckResult alpha]=checkResult(Pinf,Ppit,Gamma,Tinf);
if (ckResult==0)
[Minf]= comprLoMachSolver(Pinf,Tinf,Ppit,Gamma);
Vinf=Minf*a;
else
disp( 'NHAP VAO DO CHINH XAC CUA KET QUA TINH( so chu so sau dau phay)' ); Epsilon = input( 'Epsilon= ' );
[Minf Prstep cycles]= comprHiMachSolver(Pinf,Tinf,Ppit,Gamma,Epsilon);
Vinf=Minf*a;
end
% -
%TINH V VA M THEO BERNOURLLI
Vber=bernVSolver(Tinf,Pinf,Ppit);
Mber=Vber/a;
% -
%TINH SAI SO GIUA 2 PHUONG PHAP
a1=Vinf(cycles);
errPercent = abs(((a1-Vber)/a1)*100);
% -
%KIEM TRA BANG PHUONG PHAP THE SO NGUOC LAI
if (ckResult==0)
ErrCk=0
else
ErrCk=errSubsCk(Minf(cycles),Gamma,Ppit,Pinf);
end
% -
%TINH TOAN TY SO AP SUAT BANG PHUONG PHAP THE SO MACH voi Gamma tu 1.1 den
%1.4
Gamma=1.1;
for j=1:1:4
Mach(1,j)=0.1;
i=1;
for k=10^-Epsilon:10^-Epsilon:1 %TU MACH 0->1
Pf(i,j)= (1+(Gamma-1)*Mach(i,j)^2/2)^(Gamma/(Gamma-1));
Mach(i+1,j)=Mach(i,j)+1*10^-Epsilon;
i=i+1;
end
for k=1:10^-Epsilon:Minf(cycles)+1 %VE DEN SO MACH BAO NHIEU THI THAY THE O DAY y=Mach(i,j);
Pf(i,j)=
((((Gamma+1)^2)*y^2)/(4*Gamma*y^2-2*(Gamma-1)))^(Gamma/(Gamma-1))*(1-Gamma+2*Gamma*y^2)/(Gamma+1);
Mach(i+1,j)=Mach(i,j)+1*10^-Epsilon;
i=i+1;
end
y=Mach(i,j);
Pf(i,j)=((((Gamma+1)^2)*y^2)/(4*Gamma*y^2-2*(Gamma-1)))^(Gamma/(Gamma-1))*(1-Gamma+2*Gamma*y^2)/(Gamma+1); %KHOI TAO GIA TRI Pf(i) de can bang do dai vector voi
Mach(i)
Gamma=Gamma+0.1;
Trang 9-
% -
%XUAT KET QUA
disp( ' -' );
disp( ' -KET QUA TINH TOAN -' );
disp( 'Check Result =' )
disp(ckResult)
if (ckResult==0)
disp( 'Dong chuyen dong duoi am, khong xuat hien song shock ' )
disp( 'Dong chuyen dong tren am, xuat hien song shock ' )
disp( 'So buoc lap den khi hoi tu :' );
disp(cycles);
disp( 'Gia tri MACH cua dong CD : ' )
disp(double(Minf(cycles)))
disp( 'Van toc cua dong CD(m/s): ' )
disp(double(Vinf(cycles)))
disp( 'Van toc cua dong CD(m/s)theo pt Bernoulli: ' )
disp(double(Vber))
disp( 'Sai so cua pt Bernoulli(%) : ' )
disp(double(errPercent))
disp( 'Sai so cua ket qua tinh toan :' );
disp(ErrCk);
% -
% VE DO THI THEO DOI TRI SO MACH THEO CHU KI
if (ckResult>0)
f1 = figure(1);
hold on ; grid on ;
xlabel( 'Cycle' );
ylabel( 'Mach' );
title( 'Processing Monitor' );
h1=plot(Prstep,Minf, 'b-' );
set(gca, 'XTick' ,[0:1:cycles])
end
% -
%VE DO THI THE HIEN SO MACH THEO TY SO Ppit/Pinf
f2=figure(2);
hold on ; grid on ;
ylabel( 'Ppit/Pinf' );
xlabel( 'Mach' );
xmakers=Minf(cycles);
ymakers=(Ppit/Pinf);
title( 'MACH OVER VARIABLE Ppit/Pinf and GAMMA' );
plot(Mach,Pf,xmakers,ymakers, 'b*' ); %danh dau vi tri da tinh toan duoc
legend( 'Gamma=1.1' , 'Gamma=1.2' , 'Gamma=1.3' , 'Gamma=1.4' , 'Location' , 'NorthWest' )
delta=setRange(Minf(cycles));
set(gca, 'XTick' ,[[0:0.5:Minf(cycles)] [Minf(cycles)]
[Minf(cycles)+delta:0.5:Minf(cycles)+2]]); %danh dau vi tri so mach tinh toan duoc tren
do thi voi grid
delta=setRange(Ppit/Pinf);
set(gca, 'YTick' ,[[0:2:(Ppit/Pinf)] [Ppit/Pinf+delta:2:max(Pf)]]);
% -
Trang 10-
option=input( 'Ban muon tinh tiep tuc ko? y/n [y] : ' , 's' );
if isempty(option)
option= 'y' ;
clf(f1);
clf(f2);
end
clf(f1);
clf(f2);
end
II.2/Hàm kiểm tra tính chất dòng chuyển động ckResult :
ckResult=1;
a=Gamma/(Gamma-1);
alpha= (1+(Gamma-1)/2)^a;
if ((Ppit/Pinf)<alpha)
ckResult=0;
end
II.3/Hàm tính toán số Mach của dòng chuyển động dưới âm comprLoMachSolver :
a=(Gamma-1)/Gamma
Minf=sqrt((2/(Gamma-1))*((Ppit/Pinf)^a-1));
II.4/Hàm tính toán số Mach của dòng chuyển động trên âm comprHiMachSolver:
Epsilon=1*10^-Epsilon;
e=1;
syms y
%KHOI TAO VONG LAP
y= 2; %KHOI TAO SO MACH BAN DAU
j=1; %BIEN DUMMY
Prstep(1)=1; %SO BUOC LAP
Minf(1)=y;
% -
%VONG LAP
f=((((Gamma+1)^2)*y^2)/(4*Gamma*y^2-2*(Gamma-1)))^(Gamma/(Gamma-1))*(1-Gamma+2*Gamma*y^2)/(Gamma+1)-Ppit/Pinf;
diffF=(4*Gamma*y*((y^2*(Gamma + 1)^2)/(4*Gamma*y^2 - 2*Gamma + 2))^(Gamma/(Gamma - 1)))/(Gamma + 1) + (Gamma*((2*y*(Gamma + 1)^2)/(4*Gamma*y^2 - 2*Gamma + 2) -
(8*Gamma*y^3*(Gamma + 1)^2)/(4*Gamma*y^2 - 2*Gamma + 2)^2)*((y^2*(Gamma +
1)^2)/(4*Gamma*y^2 - 2*Gamma + 2))^(Gamma/(Gamma - 1) - 1)*(2*Gamma*y^2 - Gamma +
1))/((Gamma - 1)*(Gamma + 1));
e=f;
Minf(j)=y; %GHI CHEP GIA TRI MACH CUA TUNG VONG LAP VAO MA TRAN DU LIEU
Prstep(j) = j;
y=y-f/diffF; %DIEU CHINH GIA TRI Y
j=j+1; %TANG GIA TRI BIEN DUMMY
end
cycles=j-1;
%KET THUC VONG LAP
Trang 11-
II.5/Hàm tính toán vận tốc của dòng chuyển động theo phương trình Bernoulli BernVSolver:
R=287.265;
Rhoinf=Pinf/(R*Tinf);
Vber=sqrt(2*(Ppit-Pinf)/Rhoinf);
II.6/Hàm kiểm tra sai số kết quả tính toán bằng phương pháp thế ngược số Mach tính được errSubsCk :
y=Minf
errCk=((((Gamma+1)^2)*y^2)/(4*Gamma*y^2-2*(Gamma-1)))^(Gamma/(Gamma-1))*(1-Gamma+2*Gamma*y^2)/(Gamma+1)-Ppit/Pinf;
II.7/Hàm tính toán đánh dấu kết quả tính được trên đồ thị số Mach theo tỷ số Ppit/Pinf với các chỉ số Gamma khác nhau setRange :
i=0;
while i<x
i=i+1;
end
delta=i-x;
III/ Bài toán kiểm chứng
III.1/ Dòng chuyển động trên âm
III.1.1/ Thiết lập thông số đầu vào
-Để kiểm tra tính đúng đắn của chương trình, bài toán kiểm chứng được thiết lập như sau :
1-Dựa vào bảng D sách Anderson :
H=10.000m
Pinf= 2.65*104 N/m2
Tinf=223.26 K
2- Dựa vào bảng B sách Anderson :
Chọn chế độ chuyển động ở Mach 7 :
Po2/P1=63.55 Gamma = 1.4
Input cho chương trình :
Pinf= 2.65*104 N/m2
Tinf=223.26 K
Po2 =63.55*2.65*104 N/m2=1.684075N/m2 Gamma = 1.4
Epsilon=3
Kết quả mong muốn chương trình xuất ra chính là :
1- Chế độ dòng chuyển động : trên âm, xuất hiện sóng shock
Trang 12-
2- Số Mach của dòng chuyển động bằng 7
3- Vận tốc của dòng chuyển động bằng :
7 * RT 7 * 1.4* 287.265* 223.262097.53 /m s
4- Kết quả tính vận tốc và số Mach của dòng chuyển động theo phương trình Bernoulli và sai số
5- Đồ thị các bước lặp để phân tích sự hội tụ của giải thuật lặp
6- Đồ thị đánh dấu dữ liệu tính toán được để so sánh sử dụng phương pháp thế số Mach vào công thức Rayleigh
III.1.2/Sử dụng chương trình : Nhập dữ liệu đầu vào :
Hình 2 Kết quả :
Hình 3
Trang 13-
Đồ thị theo dõi các bước lặp :
Đồ thị các số Mach theo tỷ số P pit /P inf với các chỉ số Gamma khác nhau :
Hình 5
Trang 14-
Đối chiếu kết quả tính toán được trên đồ thị :
Hình 6
III.1.3/ Đánh giá kết quả thu được và kết luận
1- Chương trình xuất ra đúng dòng chuyển động trên âm có xuất hiện sóng shock 2- Số Mach của dòng chuyển động tính được là 6.999 với epsilon =0.001
3- Vận tốc của dòng chuyển động là 2097.5 m/s
4- Kết quả tính toán theo phương trình Bernoulli cho vận tốc dòng chuyển động là 2832.5m/s sai số khoảng 35%
5- Sai số của phương pháp lặp là 3.02*10-6 %
6- Đồ thị cho thấy phương pháp lặp hội tụ sau 6 chu kì
7- Đồ thị so sánh cho thấy kết quả tính toán được nằm trên đường biểu diễn Gamma=1.4 với số Mach=7 và tỷ số Ppit/Pinf = 63.55
Kết luận :
Chương trình đã cho ra tất cả các chỉ số chính xác với kết quả mong đợi đúng như các thông số trong bảng B của sách Anderson Kết quả đối với dòng chuyển động trên âm hoàn toàn chính xác
*Ghi chú : Vận tốc của dòng chuyển động không nén được chính là kết quả tính toán theo phương trình Bernoulli
Trang 15-
III.2/ Dòng chuyển động dưới âm
III.2.1/ Thiết lập thông số đầu vào
-Để kiểm tra tính đúng đắn của chương trình, bài toán kiểm chứng được thiết lập như sau :
1-Dựa vào bảng D sách Anderson :
H=10.000m
Pinf= 2.65*104 N/m2
Tinf=223.26 K
2- Dựa vào bảng A sách Anderson :
Chọn chế độ chuyển động ở Mach 0.7 :
P0/P1=1.387 Gamma = 1.4
Input cho chương trình :
Pinf= 2.65*104 N/m2
Tinf=223.26 K
P0 =1.387*2.65*104 N/m2=36755.5 N/m2 Gamma = 1.4
Kết quả mong muốn chương trình xuất ra chính là :
1- Chế độ dòng chuyển động : dưới âm, không xuất hiện sóng shock
2- Số Mach của dòng chuyển động bằng 0.7
3- Vận tốc của dòng chuyển động bằng :
0.7 * RT 0.7 * 1.4* 287.265* 223.26209.753 /m s
4- Kết quả tính vận tốc và số Mach của dòng chuyển động theo phương trình Bernoulli và sai số
5- Đồ thị đánh dấu dữ liệu tính toán được để so sánh
Trang 16-
III.1.2/Sử dụng chương trình : Nhập dữ liệu đầu vào :
Hình 7 Kết quả :
Hình 8
Trang 17-
Đồ thị theo dõi các bước lặp: không có, do dòng chuyển động dưới âm không sử
dụng phương pháp lặp Newton-Raphson
Đồ thị các số Mach theo tỷ số P pit /P inf với các chỉ số Gamma khác nhau :
Hình 9 Đối chiếu kết quả tính toán được trên đồ thị :
Hình 10
Trang 18-
III.1.3/ Đánh giá kết quả thu được và kết luận
1- Chương trình xuất ra đúng dòng chuyển động dưới âm không xuất hiện sóng shock 2- Số Mach của dòng chuyển động tính được là 0.6999
3- Vận tốc của dòng chuyển động là 209.7288 m/s 4- Kết quả tính toán theo phương trình Bernoulli cho sai số khoảng 6.2% với vận tốc dòng chuyển động là 222.8 m/s
5- Đồ thị so sánh cho thấy kết quả tính toán được nằm trên đường biểu diễn Gamma=1.4 với số Mach=0.6999 và tỷ số Ppit/Pinf = 1.387
Kết luận :
Chương trình đã cho ra tất cả các chỉ số chính xác với kết quả mong đợi đúng như các thông số trong bảng A của sách Anderson Kết quả đối với dòng chuyển động dưới âm
có sai số 0.0001
*Ghi chú : Vận tốc của dòng chuyển động không nén được chính là kết quả tính toán theo phương trình Bernoulli
VI/ Tài liệu tham khảo
1 John D Anderson, Jr - Fundamentals of Aerodynamics (5th Edition)
2 E.L Houghton - Aerodynamics for Engineering Student (6th Edition)
3 Giáo trình Khí động lực học 2 – TS Lê Thị Hồng Hiếu, ĐHBK TP.HCM
4 Aerospaceweb.org