Professional Documents
Culture Documents
1
Mục lục
A. Lặp chương trình tính sức cản bằng phương pháp Savitsky…………..…
3
1.Giới thiệu
chung………………………………………………………………..3
2.Cơ sở lý thuyết…………………………………………………………………4
3.Chương trình………………………………………………………………...…9
3.1 Tính đơn giản hóa……………………………………………………………
9
3.2 Giá trị nhập (Input)…...………………………………………………………
9
3.3 Giá trị xuất (Output)
………………………………………………………...10
3.4 Các công đoạn dựng chương
trình………………………………............11
3.4.1 Tạo dựng giao diện người
dùng………………………………………..11
3.4.2 Viết code để tương tác với giao diện……………………………………
13
4. Áp dụng chương trình vào tàu
mẫu………………………………………...17
5. Kết luận……………………………………………………………………….20
2
A.Lặp chương trình tính sức cản bằng
phương pháp Savitsky
1.Giới thiệu chung
Nội dung chính của bài viết nhằm trình bày qui trình tính nhanh sức cản
tàu thủy trên máy tính, chọn lựa và thiết kế chân vịt Ngoài việc sử dụng
những công cụ máy tính thông thường của người thiết kế tàu như
Autocad và Excel, bài viết đã xây dựng nên một chương trình chuyên
dụng, có thể chạy độc lập trên Windows để hỗ trợ cho công tác thiết kế.
Hiện nay có nhiều phương pháp tính sức cản tàu được giới thiệu trong
các tài liệu nghiên cứu khác nhau. Đặc điểm chung của các phương
pháp đó là để có thể áp dụng, mẫu tàu cần tính sức cản phải có các
thông số hình dáng và kích thước nằm trong phạm vi giới hạn của từng
phương pháp. Điều này nhiều khi không được đáp ứng hoàn toàn, và
làm hạn chế phạm vi lựa chọn thông số tàu khi thiết kế. Để khắc phục
hạn chế trên, các chuyên gia thiết kế tàu thuyền đã sử dụng phương
pháp phân tích hồi quy kết quả thử nghiệm nhiều mô hình tàu khác nhau,
từ đó đưa ra phương pháp gần đúng để tính sức cản của nhiều loại tàu
khác nhau, không phụ thuộc nhiều vào phạm vi đặc điểm hình dáng và
kích thước tàu thiết kế. Giải pháp này giúp cho các nhà thiết kế mở rộng
phạm vi lựa chọn các thông số tàu, và cho thấy hiệu quả trong giai đoạn
thiết kế sơ bộ.
Công việc thiết kế tuyến hình vỏ tàu là công việc vô cùng nhọc công và
có tính chất lặp đi lặp lại nếu ta mong muốn đạt đến kết quả mỹ mãn. Một
điều hạn chế nhất trong việc thiết kế tuyến hình vỏ tàu là không thể nào
rút ngắn hơn được thời gian thiết kế. Do đó, nếu chỉ với những công cụ
là AutoCad và Excel thì ta khó tránh khỏi những hạn chế sau: • Ngại tính
toán với mức chính xác cao. • Ngại thay đổi hình dáng vỏ tàu cũng như
các phương án thiết kế khác có khả năng tốt hơn. • Làm giảm mức phát
huy ý tưởng của thiết kế viên. Do đó, việc xây dựng và nhanh chóng đưa
vào áp dụng các chương trình máy tính hỗ trợ nhằm loại đi những công
đoạn thiếu tính tư duy trong thiết kế tàu là rất cần thiết. Hơn nữa, việc áp
dụng và xây dựng các phần mềm tiện tích là điều không thể thiếu trong
công tác đào tạo và nghiên cứu ứng dụng. Hiện nay chúng tôi đã xây
dựng được một số chương trình liên kết, hỗ trợ cho công tác thiết kế và
giảng dạy.
3
2.Cơ sở lý thuyết
Phương pháp Savitzsky được coi là phương pháp rất hữu hiệu trong vài
chục năm qua, dùng đánh giá sức cản tàu chạy nhanh. Tàu chạy nhanh
đề cập tại đây được hiểu là các tàu lướt kiểu planing.
Dòng chảy đến tấm tàu lướt dạng đang đề cập, nghiêng góc τ so với mặt
thoáng ban đầu, bị chia làm hai: dòng chính bao đáy tàu, chảy về phía lái.
Lớp mỏng của dòng thay đổi hướng tại vùng gần mép tấm của đáy và tạo
các gợn nước. đặc trưng cho chuyển động dạng này. Đường chia dòng tại
mặt cắt đáy chính là những vị trí áp lực lớn nhất tại đáy.
Áp lực này giảm dần khi chuyển về phía lái. Thay đổi đó tạo ra lực thủy
động N , tác động vuông góc với đáy tàu. Ngoài lực trên, khi chuyển động
trong nước tấm đáy còn bị tác động của lực ma sát F , song song với đáy.
4
Chúng ta áp dụng phương pháp tính sức cản dành riêng cho tàu cao tốc.
Phương pháp được sử dụng ở đây là phương pháp Savitsky. Theo các tài
liệu hướng dẫn sử dụng Phương pháp Savitsky, sức cản được tính ra
chính là sức cản toàn bộ. Các thông số phương pháp này sử dụng để tính
toán: Chiều dài đường nước thiết kế (LwL), chiều rộng tấm đáy (b), góc
nghiêng đáy (β), lượng chiếm nước ( ), tọa độ tâm nổi (LCG).Ta nhận
thấy các thông số mà phương này sử dụng tính toán chỉ liên quan đến
phần thân tàu chìm dưới nước. Vì vậy ta coi sức cản được tính ra từ
phương pháp này là sức cản dư (bao gồm sức cản sinh sóng và sức cản
áp suất) và sức cản ma sát ; Thành phần sức cản không khí và gió, sức
cản phụ, sức cản môi trường sẽ được tính riêng và cộng vào sức cản toàn
bộ.
Nội dung phương pháp :
Để xác định các đặc trưng sức cản vỏ tàu chạy nhanh đáy phẳng người
ta thường nghiên cứu lực cản các tấm nghiêng góc xác định. Các đặc tính
thủy động lực tấm chuyển động trên mặt nước qui về :
W
Hệ số tải trọng động :C b= 2 2 Trong đó W là trọng lượng tấm
0,5 ρV b
M
Hệ số momen : mD =
W ⋅b
M- momen của W gây ra, tính tại mép sau của tấm Chuyển động với vận
tốc đều, mômen của W bằng mômen thủy động tác dụng
lên tấm, do vậy khoảng cách từ tâm áp lực tính đến mép sau của tấm l d có
thể xác
định bằng công thức : ld =B ⋅ mD
Hê số C b liên hệ với hệ số lực nâng qua quan hệ trình bày trong lý thuyết
cánh :
C b=C L ⋅ λ
Lực cản chuyển động là tổng lực cản tiếp tuyến và lực cản pháp pháp
tuyến.
R=Rt cos τ + Rn ⋅sin τ
W =Rn cos τ −Rt cos τ ≈ R n cos τ
5
W
Hệ số tải trọng động :C b= 2 2 Trong đó W là trọng lượng tấm
0,5 ρV b
M
Hệ số momen : mD =
W ⋅b
M- momen của W gây ra, tính tại mép sau của tấm Chuyển động với vận
tốc đều, mômen của W bằng mômen thủy động tác dụng
lên tấm, do vậy khoảng cách từ tâm áp lực tính đến mép sau của tấm l d có
thể xác
định bằng công thức : ld =B ⋅ mD
Hê số C b liên hệ với hệ số lực nâng qua quan hệ trình bày trong lý thuyết
cánh :
C b=C L ⋅ λ
Lực cản chuyển động là tổng lực cản tiếp tuyến và lực cản pháp pháp
tuyến.
R=Rt cos τ + Rn ⋅sin τ
W =Rn cos τ −Rt cos τ ≈ R n cos τ
C Lb =τ
1.1
( 1/ 2
0,012 λ +
0,0055 λ 5/ 2
2
Cv )
Trong đó τ là góc nghiêng dọc đo bằng độ
V
C v −¿ số Froude dựa trên nền chiều rộng tấm b :C v =FnB =
√ gb
Δ
Hệ số nâng C Lb hiểu như sau : C Lb = 2 2
0,5 γ V b
Trong đó : Δ - khối lượng vỏ tàu γ - khối lượng riêng nước biển. γ=1,025
tấn/m 3
Hệ số nâng tính cho tàu có góc nghiêng hông hữu hạn :
0,6
C L =C Lb −0,0065 ⋅ β ⋅C Lb
6
2
của vỏ tàu lướt: R=( C F + Δ C F ) 0,5 ρ V ⋅ S+ Δ τ
Hay là :
2 2
0,5 ρ V λ b ⋅C FO
R= Trong đó C FO tính theo công thức ITTC −1957 , là hàm
(cos τ cos β)+W tg τ
của số Reynolds :
0,075
C FO= 2
( log10 Rn−2 )
V ⋅L
Rnb=
v
Vận tốc V 1 trong số Reynolds là vận tốc tấm đáy, nhỏ hơn vận tốc tiến của
tàu.
√
1,1
0,0120 τ
V 1=V 1−
√ λ cos τ
Những giả thiết trong phương pháp: lực pháp tuyến N có điểm đặt tại G
của
tàu, do vậy có thể ký hiệu p=LCG ; ty lệ p/b=LCG /b . Giá trị λ cà C Lb /τ 1,1 có
thể
đọc từ đồ thị.
Một trong những cách thưc hiện tính là tìm cách xác định giá trị τ /C Lb. Tù
công thức dành cho C L tính trở lại τ . Khi đã có cặp giá trị xác định λ 0 , τ 0 cho
tấm
phẳng sẽ tiến hành tính cho các hệ số tương đương cho tấm trên vỏ tàu
nhờ công
thức hiệu chỉnh có dạng :
0,8 1
λ=λ 0 ¿τ =τ 0 + 0,15¿ ¿ trong công thức trên λ 0 , τ 0 chỉ các hệ số dùng cho
cos β
tấm.
7
8
3.Chương trình
3.1 Tính đơn giản hóa
Chương trình được viết trên Matlab – tạo sự gần gũi đặc biệt
với sinh viên, dễ dàng tiếp cận.
Với công dụng chính là tính toán sức cản của tàu bằng
phương pháp Holtrop dựa vào các thông số đã có sẵn, việc
đơn giản hóa sẽ giúp cho kết quả chính xác hơn, rút ngắn
được thời gian thao tác tính toán bằng các công cụ khác.
9
Trong đó:
10
Dựa vào phần công thức đã được nhập trong phần code ta có
thể nhanh chóng tính được các thông số cần thiết, và tìm ra
được sức cản của tàu
Cửa sổ Guide xuất hiện, tạo mới bằng Blank GUI, nhấn OK
11
Trong Matlab thì GUI hỗ trợ khá là đầy đủ các chương trình để
thực hiện. Như là tính toán với phép toán logic, lập trình không
gian 2D, 3D, đọc dữ liệu từ Excel, sử lý hình ảnh,… Nó được
thực hiện thông qua hàm xây dựng sẵn là CALLBACK. Dễ dàng
thao tác mà không cấn phải biết nhiều về cấu trúc của trương
trình, vẫn có thể thực hiện được.
12
3.4.2Viết Code để tương tác với giao diện
Sau khi hoàn tất quá trình dựng giao diện,phải viết code để
tương tác với các giá trị nhập.
Sau đó viết các công thức tính toán cho các giá trị cần tính
Đoạn code:
13
set(handles.Cv3,'string',Cv3);
Cv4=vms4/(sqrt(g*b));
set(handles.Cv4,'string',Cv4);
Cv5=vms5/(sqrt(g*b));
set(handles.Cv5,'string',Cv5);
Cv6=vms6/(sqrt(g*b));
set(handles.Cv6,'string',Cv6);
CLb2=W/(0.5*y*(vms2^2)*(b^2));
set(handles.CLb2,'string',CLb2);
CLb3=W/(0.5*y*(vms3^2)*(b^2));
set(handles.CLb3,'string',CLb3);
CLb4=W/(0.5*y*(vms4^2)*(b^2));
set(handles.CLb4,'string',CLb4);
CLb5=W/(0.5*y*(vms5^2)*(b^2));
set(handles.CLb5,'string',CLb5);
CLb6=W/(0.5*y*(vms6^2)*(b^2));
set(handles.CLb6,'string',CLb6);
CL02=CLb2-0.0065*B*(CLb2^0.6);
set(handles.CL02,'string',CL02);
CL03=CLb3-0.0065*B*(CLb3^0.6);
set(handles.CL03,'string',CL03);
CL04=CLb4-0.0065*B*(CLb4^0.6);
set(handles.CL04,'string',CL04);
CL05=CLb5-0.0065*B*(CLb5^0.6);
set(handles.CL05,'string',CL05);
CL06=CLb6-0.0065*B*(CLb6^0.6);
set(handles.CL06,'string',CL06);
CLbt112=0.012*(lambda0^1/2)+(0.0065*(lambda0^2.5))/Cv2^2;
set(handles.CLbt112,'string',CLbt112);
CLbt113=0.012*(lambda0^1/2)+(0.0065*(lambda0^2.5))/Cv3^2;
set(handles.CLbt113,'string',CLbt113);
CLbt114=0.012*(lambda0^1/2)+(0.0065*(lambda0^2.5))/Cv4^2;
set(handles.CLbt114,'string',CLbt114);
CLbt115=0.012*(lambda0^1/2)+(0.0065*(lambda0^2.5))/Cv5^2;
set(handles.CLbt115,'string',CLbt115);
CLbt116=0.012*(lambda0^1/2)+(0.0065*(lambda0^2.5))/Cv6^2;
set(handles.CLbt116,'string',CLbt116);
t02=(CLb2/CLbt112)^(1/1.1);
set(handles.t02,'string',t02);
t03=(CLb3/CLbt113)^(1/1.1);
set(handles.t03,'string',t03);
t04=(CLb4/CLbt114)^(1/1.1);
set(handles.t04,'string',t04);
t05=(CLb5/CLbt115)^(1/1.1);
set(handles.t05,'string',t05);
t06=(CLb6/CLbt116)^(1/1.1);
set(handles.t06,'string',t06);
14
lambda2=(lambda0^0.8)*(1/cosd(B))*(1-
0.29*(sind(B)^0.28))*(1+1.35*((sind(B))^0.44)*(mD/
(sqrt(Cv2))));
set(handles.lambda2,'string',lambda2);
lambda3=(lambda0^0.8)*(1/cosd(B))*(1-
0.29*(sind(B)^0.28))*(1+1.35*((sind(B))^0.44)*(mD/
(sqrt(Cv3))));
set(handles.lambda3,'string',lambda3);
lambda4=(lambda0^0.8)*(1/cosd(B))*(1-
0.29*(sind(B)^0.28))*(1+1.35*((sind(B))^0.44)*(mD/
(sqrt(Cv4))));
set(handles.lambda4,'string',lambda4);
lambda5=(lambda0^0.8)*(1/cosd(B))*(1-
0.29*(sind(B)^0.28))*(1+1.35*((sind(B))^0.44)*(mD/
(sqrt(Cv5))));
set(handles.lambda5,'string',lambda5);
lambda6=(lambda0^0.8)*(1/cosd(B))*(1-
0.29*(sind(B)^0.28))*(1+1.35*((sind(B))^0.44)*(mD/
(sqrt(Cv6))));
set(handles.lambda6,'string',lambda6);
t2=t02+((0.15*sind(B)^0.8)/(Cv2^0.3))*((1-
0.17*(sqrt(lambda2)*cosd(B)))/(sqrt(lambda2)*cosd(B)));
set(handles.t2,'string',t2);
t3=t03+((0.15*sind(B)^0.8)/(Cv3^0.3))*((1-
0.17*(sqrt(lambda3)*cosd(B)))/(sqrt(lambda3)*cosd(B)));
set(handles.t3,'string',t3);
t4=t04+((0.15*sind(B)^0.8)/(Cv4^0.3))*((1-
0.17*(sqrt(lambda4)*cosd(B)))/(sqrt(lambda4)*cosd(B)));
set(handles.t4,'string',t4);
t5=t05+((0.15*sind(B)^0.8)/(Cv5^0.3))*((1-
0.17*(sqrt(lambda5)*cosd(B)))/(sqrt(lambda5)*cosd(B)));
set(handles.t5,'string',t5);
t6=t06+((0.15*sind(B)^0.8)/(Cv6^0.3))*((1-
0.17*(sqrt(lambda6)*cosd(B)))/(sqrt(lambda6)*cosd(B)));
set(handles.t6,'string',t6);
V12=vms2*sqrt(1-(0.012*(t2^1.1))/(sqrt(lambda2*cosd(t2))));
set(handles.V12,'string',V12);
V13=vms3*sqrt(1-(0.012*(t3^1.1))/(sqrt(lambda3*cosd(t3))));
set(handles.V13,'string',V13);
V14=vms4*sqrt(1-(0.012*(t4^1.1))/(sqrt(lambda4*cosd(t4))));
set(handles.V14,'string',V14);
V15=vms5*sqrt(1-(0.012*(t5^1.1))/(sqrt(lambda5*cosd(t5))));
set(handles.V15,'string',V15);
V16=vms6*sqrt(1-(0.012*(t6^1.1))/(sqrt(lambda6*cosd(t6))));
set(handles.V16,'string',V16);
Rn2=V12*Lwl/vms2;
set(handles.Rn2,'string',Rn2);
15
Rn3=V13*Lwl/vms3;
set(handles.Rn3,'string',Rn3);
Rn4=V14*Lwl/vms4;
set(handles.Rn4,'string',Rn4);
Rn5=V15*Lwl/vms5;
set(handles.Rn5,'string',Rn5);
Rn6=V16*Lwl/vms6;
set(handles.Rn6,'string',Rn6);
CFO2=0.0075/((log10(Rn2)-2)^2);
set(handles.CFO2,'string',CFO2);
CFO3=0.0075/((log10(Rn3)-2)^2);
set(handles.CFO3,'string',CFO3);
CFO4=0.0075/((log10(Rn4)-2)^2);
set(handles.CFO4,'string',CFO4);
CFO5=0.0075/((log10(Rn5)-2)^2);
set(handles.CFO5,'string',CFO5);
CFO6=0.0075/((log10(Rn6)-2)^2);
set(handles.CFO6,'string',CFO6);
R2=2*((p*(V12^2)*lambda2*(b^2)*CFO2)/((cosd(t2)*cosd(B))
+W*tand(t2)))^0.5;
set(handles.R2,'string',R2);
R3=2*((p*(V13^2)*lambda3*(b^2)*CFO3)/((cosd(t3)*cosd(B))
+W*tand(t3)))^0.5;
set(handles.R3,'string',R3);
R4=2*((p*(V14^2)*lambda4*(b^2)*CFO4)/((cosd(t4)*cosd(B))
+W*tand(t4)))^0.5;
set(handles.R4,'string',R4);
R5=2*((p*(V15^2)*lambda5*(b^2)*CFO5)/((cosd(t5)*cosd(B))
+W*tand(t5)))^0.5;
set(handles.R5,'string',R5);
R6=2*((p*(V16^2)*lambda6*(b^2)*CFO6)/((cosd(t6)*cosd(B))
+W*tand(t6)))^0.5;
set(handles.R6,'string',R6);
16
4.Áp dụng chương trình vào tàu mẫu
a.Tàu mẫu số có thông số như sau:
Áp dụng tàu mẫu vào chương trình, đạt được giá trị sức cản :
17
Kết quả khi được thực hiện bằng Maxsurf
Speed (Kn) Sức cản tính bằng Maxsurf (kN) Sức cản tính bằng chương trình (kN)
18.148 16.28 14.845
21.969 18.801 19.799
25.79 23.154 25.038
29.611 29.477 30.463
33.432 37.932 36.002
18
Running trim vs Speed của phần mềm Maxsurf
19
5.KẾT LUẬN
So với cách làm thông thường, quy trình thiết kế có áp dụng chương
trình hỗ trợ đã nêu trên đây rút ngắn được thời gian thiết kế và khả
năng có được nhiều phương án kết quả để chọn lựa hơn. Công việc
khai triển và tính toán ổn định, tính toán sức cản thường chiếm một
tỷ lệ tương đối lớn trong quỹ thời thiết kế, giờ đây đã được rút ngắn
chỉ còn vài phút. Điều này đem lại sự linh hoạt trong công tác thiết
kế, đồng thời cũng tạo khả năng rút ngắn thời gian lập lại các việc
thao tác thủ công trên máy tính..
Nhược điểm: Còn nhiều hạn chế trong việc lấy số liệu, việc lấy số
liệu từ bản vẽ sẽ mất nhiều thời gian, việc lấy số liệu sai lệch có thể
gây ra sai lệch kết quả.
20
Tài liệu tham khảo
- Tài liệu tham khảo lập trình giao diện guide của matlab
- Sách Thiết kế và lắp ráp thiết bị tàu thủy
- Tài liệu diag kt kq của series B
- Holtrop, J. and Mennen, G.G.J. ’A statistical power
pridiction method’. - - - International Shipbuilding Progress,
Vol. 25, October 1978 ;
- Thiết kế& lắp ráp thiết bị tàu thủy – Nguyễn Đăng Cường
- Lý thuyết tàu thủy 2 – Sức cản vỏ tàu và thiết bị đẩy tàu –
Trần Công Nghị
21