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.

1 回表示 (過去 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)

回答 (1 件)

Steve Eddins
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.

カテゴリ

Help Center および File ExchangeProgramming についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by