Carpet plot for engine design variables
19 ビュー (過去 30 日間)
古いコメントを表示
I need to create a carpet plot for to determine how variations in pif pic and alpha ffect f/mdot and tsfc where design variables pic and alpha are varied for a constant value of pif, I have coded all the caculations but so far have been unable to create any carpet plots. code below for reference:
clc, clear
%% Listing/Defining Constants:
M_o = 0.6;
Alt = 65000;
T_o = 390;
P_o = 118.9;
gc = 32.2;
M_9 = 1; %choked
M_19 = 1; %choked
T_n = 1; %adiabatic
Tau_d = 1;
%Specific Heats
Cpc = 0.24; Cpt = 0.295;
%values of Gamma
gamma_c = 1.4; gamma_t = 1.33;
Tt4_max = 3200;
Q_r = 18400;
%Pressure Ratios
Pi_d_max = 0.98; Pi_b = 0.98; Pi_n = 0.995; Pi_fn = 0.98;
%Polytropic Efficiencies
e_c = 0.9; e_f = 0.89; e_t = 0.91;
%Adiabatic Efficiencies
n_b = 0.99; n_m = 0.995;
%Design variables to be varied (Adjusted Increments in order to properly match all vector lengths)
Pi_c = [20:6:50];
Pi_f = [1.8:0.24:3];
alpha = [1:1.6:9];
%% Calculations:
Tau_r = 1 + ((gamma_c-1)/2)*M_o^2;
Pi_r = Tau_r^(gamma_c/(gamma_c-1));
a_o = sqrt((gamma_c-1)*Cpc*T_o*gc*778.16);
V_o = M_o*a_o;
%Calculation of Temperature Ratios:
Tau_lam = (Cpt*Tt4_max)/(Cpc*T_o);
Tau_c = Pi_c.^((gamma_c-1)/(gamma_c*e_c)); %calculated for each value of Pi_f using Vector
Tau_f = Pi_f.^((gamma_c-1)/(gamma_c*e_f));
f = (Tau_lam-(Tau_r*Tau_c))/((Q_r*n_b)/(Cpc*T_o) - Tau_lam);
Tau_t = 1- (Tau_r.*((Tau_c-1) + alpha.*(Tau_f-1)))./(n_m*(1+f)*Tau_lam);
Pi_t = Tau_t.^(gamma_t/((gamma_t-1)*e_t));
%Chain Rule
format short g %I dont like seeing them in scientific notation
%P9 Calculation
Pt_9 = P_o*Pi_r*Pi_d_max*Pi_c*Pi_b.*Pi_t*1*Pi_n;
P_9 = Pt_9/(1+ ((gamma_t-1)/2)*M_9^2 )^(gamma_t/(gamma_t-1));
%T9 Calculation
T_9 = (T_o*(Cpc/Cpt)*Tau_lam*Tau_t*T_n)/(1+ ((gamma_t-1)/2)*M_9^2 );
% speed of sound at station 9 = V9 bc mach9 = 1
a_9 = sqrt( (gamma_t-1)*Cpt*T_9*gc*778.16 );
V_9 = a_9;
%Bypass Fan duct
%P19 T19 Calculations
Pt_19 = P_o*Pi_r*Pi_d_max*Pi_f*Pi_fn;
P_19 = Pt_19/ ( (1+ ((gamma_c-1)/2)*M_19^2 ) )^(gamma_c/(gamma_c-1));
T_19 = (T_o*Tau_r*Tau_d*Tau_f)/(1+ ((gamma_c-1)/2)*M_19^2 );
%Velocity in fan duct
a_19 = sqrt( (gamma_c-1)*Cpc*T_19*gc*778.16 );
V_19 = a_19; %because Mach19 = 1 choked
%Specific thrust and TSFC calculations
Specific_Thrust = ( (1+f).*V_9 - V_o + alpha.*(V_19 - V_o) )./( (1+alpha)*a_o );
TSFC = (f*gc)./ ( (1+alpha).*Specific_Thrust );
%M dot calculation
F_Over_Mdot = Specific_Thrust*a_o.*(1+alpha);
%% Carpet Plots:
2 件のコメント
Image Analyst
2023 年 11 月 13 日
I don't see any plotting routines executed by your code, and so no plots are generated.
回答 (1 件)
prabhat kumar sharma
2023 年 11 月 27 日
Hello Carlos,
I found there no code piece is written to create any chart or graph. I have tried plotting using the below code. Here you can update the assignments of variables according to your requirements.
%% Carpet Plots:
% Create a grid of Pi_c and Pi_f
[Pi_c_grid, Pi_f_grid] = meshgrid(Pi_c, Pi_f);
% Calculate f/mdot and TSFC for each combination of Pi_c and Pi_f
F_Over_Mdot = zeros(length(Pi_f), length(Pi_c));
TSFC = zeros(length(Pi_f), length(Pi_c));
for i = 1:length(Pi_f)
for j = 1:length(Pi_c)
% Perform the necessary calculations using Pi_c_grid(i, j), Pi_f_grid(i, j), and alpha
% Example:
F_Over_Mdot(i, j) =length(Pi_f) % calculation for f/mdot
TSFC(i, j) = length(Pi_c) % calculation for TSFC
end
end
% Creating the carpet plot for f/mdot
figure;
surf(Pi_c_grid, Pi_f_grid, F_Over_Mdot, 'EdgeColor', 'none');
xlabel('Pi_c');
ylabel('Pi_f');
zlabel('f/mdot');
title('Carpet Plot for f/mdot');
% Creating the carpet plot for TSFC
figure;
surf(Pi_c_grid, Pi_f_grid, TSFC, 'EdgeColor', 'none');
xlabel('Pi_c');
ylabel('Pi_f');
zlabel('TSFC');
title('Carpet Plot for TSFC');
I hope it helps!
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Guidance, Navigation, and Control (GNC) についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!