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 view (last 30 days)
%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)

Answers (1)

Steve Eddins
Steve Eddins on 28 Feb 2022
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.

Categories

Find more on Programming in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!