Getting imaginary numbers for induction factors; I am getting imaginary number for my induction fact Aa and At but I am not using any sqrt to calculte. Thank you.
3 ビュー (過去 30 日間)
古いコメントを表示
%density of water
p = 997;
%Define blade geometry
C = [0.4878;0.4257;0.3744;0.3321;0.2979;0.2691;0.2457;0.225;0.2079;0.1926;0.180;0.1683;0.1584;0.1494;0.1413;0.1341;0.1278];
r = [0.540;0.675;0.810;0.945;1.08;1.215;1.350;1.485;1.620;1.755;1.890;2.025;2.160;2.295;2.430;2.565;2.700];
R = 2.7;
%number of blades
B = 3;
%define angles
AOP = [21.1;17.4;14.5;12.1;10.2;8.6;7.3;6.1;5.2;4.4;3.7;3.1;2.5;2;1.6;1.2;0.9] ;
AOA = [20;13.5;11;10.3;9;8.5;8.2;8.1;7.9;7.4;7.3;6.9;6.8;6.5;6.5;6.4;6.5];
AOF = [0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0];
%Define lift and drag coefficient and calculate Ct
Cl = [1.625;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0];
Cd = [0.125;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0];
Ct = [0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0];
Cn = [0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0];
%Define prandt's number
F =[0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0];
%Define velocities
Vo = 2.5;
RPM = 12;
w = RPM*2*3.14;
Vd = [0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0];
Vt = [0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0];
W = [0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0];
%induction factors
Aa = [0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0];
At = [0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0];
%Blade solidarity
Bs = [0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0];
%local tip speed ratio
TSP = [0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0];
%lift and drag force
L = [0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0];
D = [0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0];
%Axial and Tangential Forces
Fa = [0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0];
Ft = [0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0];
for i = 1:17
%calculate induction factors:
AOF(i) = AOA(i) + AOP(i); %Local flow angle
F(i) = (2/3.15)*acos(exp((-B/2)*(R-r(i)/r(i)*sin(AOF(i))))); %prandt's number
Bs(i) = (B*C(i))/(2*3.14*r(i)); %local blade solidarity
Ct(i) = Cl(i)*cos(AOF(i)) + Cd(i)*sin(AOF(i));%Calculate Ct
Cn(i) = Cl(i)*sin(AOF(i)) + Cd(i)*cos(AOF(i));
Aa(i) = 1/(1+((4*F(i)*(sin(AOF(i))).^2)/(Bs(i)*Ct(i)))); %Calculate axial induction factor a
At(i) = 1/(-1+((4*F(i)*sin(AOF(i))*cos(AOF(i)))/(Bs(i)*Ct(i)))) ; %Calculate tangential induction factor a'
%calculate velocities:
Vd(i) = Vo*(1-Aa(i));
Vt(i) = w*r(i)*(1+At(i));
W(i) = sqrt(((Vd(i))^2)+((Vt(i))^2));
%Calculate lift and drag force
L(i) = 0.5*p*((W(i))^2)*C(i)*Cl(i);
D(i) = 0.5*p*((W(i))^2)*C(i)*Cd(i);
%Calculate resulting axial and tangential force
Fa(i) = L(i)*cos(AOF(i)) + D(i)*sin(AOF(i));
Ft(i) = L(i)*sin(AOF(i)) + D(i)*cos(AOF(i));
end
disp(Aa)
disp(At)
0 件のコメント
回答 (1 件)
Steve Eddins
2022 年 2 月 28 日
The acos function returns complex values if the inputs are outside the interval [-1,1]. Set a breakpoint on the line where you assign F(i) and double-check the input to acos.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Special Functions についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!