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 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
%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 Kommentare
Antworten (1)
Steve Eddins
am 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.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Special Functions finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!