-
Notifications
You must be signed in to change notification settings - Fork 0
/
Hydrofoil_Drag.m
39 lines (31 loc) · 972 Bytes
/
Hydrofoil_Drag.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
function [ D_h ] = Hydrofoil_Drag( V, h, Pars )
%Hydrofoil_Lift - Computes the drag generated by the hydrofoil
% V - velocity
% h - water depth measured from bottom of hydrofoil
% Pars - all the necessary parameters. Must contain:
% H_h - the distance between the hydrofoil and the hull
% Gamma - the dihedral angle of the hydrofoil (also describes hull
% triangular part)
% rho_a - air density
% W - width of the hull (and hydrofoil)
% c - hydrofoil chord
H_V = 0.5*Pars.W_h*sin(Pars.Gamma);
if h>=H_V+Pars.c_h
CL_h = 0.8;
S_hs_proj = Pars.W_h*Pars.c_h;
elseif h>= H_V
CL_h = 0.4+0.4*(h-H_V)/Pars.c_h;
S_hs_proj = Pars.W_h*Pars.c_h;
else
CL_h = 0.4;
S_hs_proj = Pars.W_h*Pars.c_h*h/H_V;
end
if(S_hs_proj<0)
S_hs_proj = 0;
end
S_hs = S_hs_proj/cos(Pars.Gamma);
AR = Pars.W_h/(Pars.c_h*cos(Pars.Gamma));
e = 0.8;
CD_h = 0.02 + 2*CL_h^2/(pi*AR*e);
D_h = 0.5*Pars.rho_w*V^2*CD_h*S_hs;
end