Tạp chí Khoa học - Công nghệ Thủy sản - số 01/2008<br />
<br />
Trường Đại học Nha Trang<br />
<br />
VẤN ĐỀ TRAO ĐỔI<br />
<br />
NGHIÊN CỨU THUẬT TOÁN VÀ LẬP TRÌNH<br />
TÍNH SỨC CẢN TÀU CÁ VIỆT NAM THEO CÁC CÔNG THỨC GẦN ĐÚNG<br />
TS. Trần Gia Thái<br />
Khoa Kỹ thuật Tàu thủy - Trường Đại học Nha Trang<br />
<br />
Bài báo trình bày vấn đề thuật toán và chương trình tính gần đúng sức cản tàu đánh cá Việt Nam<br />
theo các công thức gần đúng, đặc biệt là theo công thức của Võ Văn Trác và Kaomuko.<br />
I. ĐẶT VẤN ĐỀ<br />
Như đã biết, sức cản tàu được xác định<br />
<br />
sức cản theo các công thức này thực tế không<br />
đơn giản vì phải tra cứu hàng loạt đồ thị thực<br />
<br />
chính xác bằng cách thử kéo mô hình tàu<br />
trong bể thử, tuy nhiên do việc tổ chức thử<br />
<br />
nghiệm phức tạp nên mất nhiều thời gian,<br />
công sức và ít chính xác do phải tính nội suy,<br />
<br />
nghiệm kéo các mô hình tàu trong bể thử<br />
không đơn giản và rất tốn kém mặt khác trong<br />
<br />
dẫn đến khó đáp ứng bài toán chọn tàu tối ưu<br />
theo hàm mục tiêu sức cản ở giai đoạn thiết kế<br />
<br />
quá trình thiết kế tàu, nhất là giai đoạn thiết kế<br />
<br />
sơ bộ. Do đó cần đặt vấn đề nghiên cứu thuật<br />
<br />
sơ bộ khi chưa có đường hình tàu và cần lựa<br />
chọn mẫu hợp lý theo hàm mục tiêu đã cho<br />
<br />
toán và lập trình tính tự động sức cản theo các<br />
công thức này, trong đó trở ngại lớn nhất khi<br />
<br />
nên thường sử dụng các công thức tính gần<br />
đúng. Về mặt phương pháp, các công thức<br />
<br />
lập trình bài toán này là việc xác định chính<br />
xác giá trị của các đồ thị. Thực tế cho thấy đồ<br />
<br />
gần đúng được xây dựng trên cơ sở xử lý hệ<br />
thống các số liệu thực nghiệm nhận được khi<br />
<br />
thị thực nghiệm trong các công thức tính sức<br />
cản hiện nay đều là ảnh in đã lâu, thường cũ<br />
<br />
thử kéo hàng loạt mô hình tàu trong bể thử<br />
<br />
và mờ nên rất khó xác định được chính xác<br />
<br />
hoặc thử kéo tàu thật và do phụ thuộc vào<br />
nhiều yếu tố nên thường được trình bày dưới<br />
<br />
giá trị của các đường cong nằm trên đồ thị.<br />
Do đó để đảm bảo độ chính xác, cần đặt vấn<br />
<br />
dạng các đồ thị thực nghiệm phức tạp hoặc<br />
hàm đa thức với biến số là các đại lượng đặc<br />
<br />
đề nghiên cứu thuật toán số hóa đồ thị thực<br />
nghiệm để xác định chính xác giá trị các<br />
<br />
trưng hình học tàu dưới dạng không thứ<br />
nguyên. Với cách làm như thế nên có nhiều<br />
<br />
đường cong trên đồ thị để lập trình bài toán<br />
tính sức cản trên máy.<br />
II. PHƯƠNG PHÁP VÀ KẾT QUẢ NGHIÊN CỨU<br />
<br />
công thức tính gần đúng sức cản áp dụng cho<br />
cùng một loại tàu với độ chính xác phụ thuộc<br />
sự sai khác giữa đường hình tàu đang tính và<br />
<br />
2.1.Thuật toán số hóa đồ thị thực nghiệm<br />
<br />
đường hình làm mô hình. Riêng với tàu cá Việt<br />
Nam, đa số các cơ quan thiết kế thường sử<br />
<br />
cong thực nghiệm bằng một trong ba phương<br />
pháp sau:<br />
<br />
dụng các công thức gần đúng dùng cho tàu cá<br />
<br />
- Hàm hóa các đường cong bằng các<br />
<br />
hoặc tàu kéo đang có hiện nay như công thức<br />
Oortsmesen (Tiệp Khắc), Kaomuko (Nhật) Võ<br />
<br />
hàm thông dụng.<br />
- Chuyển đồ thị thành ma trận điểm tạo<br />
<br />
Văn Trác (Việt Nam), công thức Viện thiết kế<br />
tàu Leningrad (Liên Xô cũ), Doust và O'Brient<br />
<br />
bản đồ dữ liệu số<br />
- Sử dụng thuật toán nội suy Spline để<br />
<br />
(Anh), trong đó các công thức tính của<br />
Kaomuko và của Võ Văn Trác cho kết quả<br />
<br />
biểu diễn các các đường cong trên đồ thị<br />
Thuật toán sử dụng ma trận điểm pixel<br />
<br />
tương đối phù hợp nhất. Tuy nhiên, việc tính<br />
<br />
của màn hình để biểu diễn các đường cong<br />
<br />
Về lý thuyết, có thể số hoá các đường<br />
<br />
45<br />
<br />
Tạp chí Khoa học - Công nghệ Thủy sản - số 01/2008<br />
<br />
Trường Đại học Nha Trang<br />
<br />
trên đồ thị đã được trình bày trong tài liệu [1],<br />
<br />
cản tàu của Võ Văn Trác được thực hiện theo<br />
<br />
trong bài báo này chúng tôi muốn giới thiệu<br />
thêm với bạn đọc về việc sử dụng thuật toán<br />
<br />
trình tự sau :<br />
• Dùng máy Scan để quét các đồ thị cần<br />
<br />
nội suy spline để số hóa các đường cong phức<br />
<br />
số hóa dưới dạng ảnh Bitmap trung thực nhất<br />
<br />
tạp bằng cách xác định các điểm đặc biệt trên<br />
đường cong, sau đó dùng thuật toán nội suy<br />
<br />
có thể vì độ chính xác của quá trình số hoá sẽ<br />
phụ thuộc vào độ trung thực của ảnh đồ thị.<br />
• Sử dụng phần mềm Raster to Vector,<br />
<br />
spline để tìm những vị trí điểm còn lại.<br />
Ví dụ, về quá trình số hoá đồ thị thực<br />
nghiệm có trong công thức tính gần đúng sức<br />
<br />
Hình 1 : Đồ thị scan dạng ảnh Bitmap<br />
<br />
phần mềm chuyển File ảnh Bitmap (hình 1)<br />
sang dạng vector (hình 2) để sử dụng trên<br />
Auto CAD.<br />
<br />
Hình 2 : Đồ thị chuyển dạng Vector<br />
<br />
• Mở File ảnh Vector nói trên trong phần<br />
<br />
điểm cận trên (x1, y1) và điểm cận dưới (x2,<br />
<br />
mềm AutoCAD và tiến hành loại bỏ các đường<br />
thừa, sau đó dùng đường Spline vẽ theo các<br />
<br />
y2) của điểm y, có thể xác định được giá trị x<br />
tương ứng với y theo công thức nội suy như<br />
<br />
đường cong với sự chính xác cao nhất có thể.<br />
<br />
sau:<br />
<br />
• Xác định vị trí các điểm đặc biệt để tạo<br />
bảng cơ sở dữ liệu cho chương trình số hoá<br />
<br />
trên Microsoft Access.<br />
• Từ bảng số liệu thực hiện ở trên, tiến<br />
hành xác định các điểm còn lại bằng thuật<br />
toán nội suy, ví dụ sau khi tìm được tọa độ của<br />
<br />
x<br />
<br />
=<br />
<br />
(x 2 − x1 ) (y − y )<br />
1<br />
(y 2 − y1 )<br />
<br />
+<br />
<br />
x1<br />
<br />
Ví dụ trên hình 3 là kết quả xác định giá trị<br />
các điểm trên đồ thị tính sức cản của Võ Văn<br />
Trác sau khi nhập giá trị các thông số của đồ<br />
thị B/T, Fr, L/B, φ để tìm các giá trị lân cận<br />
bằng cách nội suy.<br />
<br />
Hình 3 : Xác định giá trị các điểm nằm trên đường cong của đồ thị Võ Văn Trác<br />
46<br />
<br />
(1)<br />
<br />
Tạp chí Khoa học - Công nghệ Thủy sản - số 01/2008<br />
<br />
Trường Đại học Nha Trang<br />
<br />
2.2. Sơ đồ thuật toán các công thức tính gần<br />
<br />
công thức đều đã được giới thiệu khá kỹ trong<br />
<br />
đúng sức cản Võ Văn Trác và Kaomuko<br />
<br />
các tài liệu chuyên ngành nên phần này sẽ chỉ<br />
giới thiệu sơ đồ thuật toán tính theo công thức<br />
<br />
Như đã biết, việc lập trình tính gần đúng<br />
sức cản tàu cá Việt Nam theo các công thức<br />
<br />
Võ Văn Trác (hình 4) Kamuko (hình 5), hai<br />
<br />
giới thiệu, thì ngoài hai công thức Võ Văn Trác<br />
và Kaomuko, không khó do chúng có dạng<br />
<br />
công thức tính sức cản cho kết quả phù hợp<br />
nhất đối với các mẫu tàu đánh cá dân gian<br />
<br />
công thức giải tích. Do trình tự tính theo các<br />
<br />
Việt Nam.<br />
<br />
Bắt đầu<br />
<br />
Dữ liệu nhập vào<br />
(L, B, T, D, V, δ, φ)<br />
<br />
Kiểm tra dữ liệu đầu vào<br />
L > 0, B > 0, T > 0, D > 0, V > 0, δ > 0, φ > 0<br />
<br />
Sai<br />
<br />
Đúng<br />
Tính B/T, L/B, Fr=V/ gL<br />
<br />
Kiểm tra φ<br />
0.55≤φ≤0.75<br />
<br />
Kiểm tra B/T<br />
2.2≤B/T≤3.0<br />
<br />
Sai<br />
<br />
Đúng<br />
Nhập lại B,T<br />
<br />
Sai<br />
<br />
Đúng<br />
<br />
Nhập lại φ<br />
<br />
Kiểm tra Fr<br />
0.22≤Fr≤0.38<br />
<br />
Sai<br />
<br />
Đúng<br />
<br />
Nhập lại V, L<br />
<br />
Kiểm tra L/B<br />
3.0≤L/B≤4.6<br />
<br />
Sai<br />
Đúng<br />
Nhập lại L,B<br />
<br />
Diện tích mặt ướt<br />
Tra đồ thị tìm tỷ số Rd/D<br />
<br />
B<br />
<br />
S = L.T1,16 + 1,25.δ. <br />
T<br />
<br />
2<br />
<br />
Sức cản dư Rd=D.Rd/D<br />
<br />
Sức cản ma sát R f = ξ. ρ.V .S<br />
2<br />
<br />
Sức cản toàn phần<br />
R = Rd +Rf<br />
<br />
Kết thúc<br />
<br />
Đồ thị sức cản<br />
R=f(V)<br />
<br />
Công suất có ích<br />
EHP = RV/75<br />
<br />
Hình 4 : Sơ đồ thuật toán tính sức cản tàu theo công thức Võ Văn Trác<br />
47<br />
<br />
Tạp chí Khoa học - Công nghệ Thủy sản - số 01/2008<br />
<br />
Trường Đại học Nha Trang<br />
<br />
Bắt đầu<br />
<br />
Dữ liệu nhập vào<br />
(L, B, T, D, V, δ, φ, β )<br />
<br />
Kiểm tra dữ liệu đầu vào<br />
L > 0, B > 0, T > 0, D > 0, V > 0, δ > 0, φ > 0, β >0<br />
<br />
Sai<br />
<br />
Đúng<br />
3<br />
<br />
Tính B/T, Dn=D/(0.1.L) , Fr<br />
<br />
Sai<br />
<br />
Kiểm tra Fr<br />
0.22≤Fr≤0.38<br />
<br />
Kiểm tra φ<br />
0.55≤φ≤0.75<br />
<br />
Kiểm tra B/T<br />
2.2≤B/T≤3.0<br />
<br />
Đúng<br />
<br />
Sai<br />
<br />
Nhập lại φ<br />
<br />
Nhập lại B,T<br />
<br />
Sai<br />
<br />
Đúng<br />
<br />
Kiểm tra L/D<br />
6≤L/D≤15<br />
<br />
Sai<br />
<br />
Đúng<br />
<br />
Nhập lại V,L<br />
<br />
Đúng<br />
Nhập lại L,D<br />
<br />
Tra đồ thị các hàm ξx100, Kβ, f(L,Fr), f(L,D/(0.1.L)<br />
<br />
Diện tích mặt tiếp nước<br />
0.5<br />
S=Ks.Kβ.Ka.(∇L)<br />
<br />
Hiệu suất thặng dư<br />
3<br />
3<br />
EHPd= f(L,D/(0,1L) . ξ.100.Fr<br />
<br />
Hiệu suất ma sát<br />
EHPf= f(L,Fr).S<br />
<br />
Hiệu suất toàn phần<br />
EHP=EHPd+EHPf<br />
<br />
Kết thúc<br />
<br />
Đồ thị sức cản<br />
R=f(V)<br />
<br />
Sức cản toàn phần<br />
R=75EHP/V<br />
<br />
Hình 5 : Sơ đồ thuật toán tính theo công thức Kamuko<br />
<br />
48<br />
<br />
3<br />
<br />
Tạp chí Khoa học - Công nghệ Thủy sản - số 01/2008<br />
<br />
Trường Đại học Nha Trang<br />
<br />
2.3. Chương trình tính sức cản tàu cá Việt<br />
<br />
liệu (hình 6a), form xuất kết quả và đồ thị sức<br />
<br />
Nam theo các công thức gần đúng khác nhau<br />
<br />
cản theo công thức Võ Văn Trác (hình 6b) và<br />
form xuất kết quả và đồ thị sức cản của các<br />
<br />
Dựa trên sơ đồ thuật toán nói trên, phần<br />
dưới đây giới thiệu tóm tắt chương trình tính<br />
<br />
công thức khác nhau (hình 6c).<br />
<br />
sức cản theo các công thức gồm form nhập<br />
(a)<br />
<br />
(b)<br />
<br />
(c)<br />
<br />
Hình 6 : Chương trình tính sức cản tàu theo các công thức gần đúng<br />
49<br />
<br />