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 visualización (últimos 30 días)
%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)

Respuestas (1)

Steve Eddins
Steve Eddins el 28 de Feb. de 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.

Categorías

Más información sobre Programming en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by