Vous êtes sur la page 1sur 9

%partie 1: Entree du rotor

rho_initial = 1.125; % Densité initiale (en kg/m^3)

% Constantes
R_air = 0.287058; % Constante spécifique de l'air (en J/(kg·K))
rs=0.0375;
rh=0.015;
m_a=0.93;
C_p_air=1004;
Alpha=3.5;
r_rs=0.0675;
U_rs=450;

% Paramètres initiaux
rho = rho_initial; % Densité

% Itérations
max_iterations =1000;
% Nombre maximum d'itérations
tolerance = 1e-6; % Tolérance de convergence
error = 1; % Erreur initiale
iteration = 100; % Compteur d'itérations

while (error > tolerance) && (iteration < max_iterations)


% Calcul Aire

A1 = pi*(rs^2-rh^2);

% Calcul de la vitesse absolue

C1 = m_a / (rho * A1 );
N=(30*U_rs)/(3.14*r_rs);
U1s=(pi*rs*N)/(30);
Wr_1s=sqrt(C1^2+U1s^2);

% Calcul de la température statique


T_static = 288.15 - (C1^2/(2 * C_p_air)) ;
% Calcul de la pression statique
P_static = 101.325 * ((T_static / 288.15)^Alpha) ;

% Mise à jour de la densité pour la prochaine itération


rho_new = P_static / (R_air * T_static);

M1=C1/sqrt(1.4*287.058*T_static);

Mr_1s=Wr_1s/sqrt(1.4*287.058*T_static);

% Calcul de l'erreur de convergence


error = abs((rho_new - rho) / rho);

% Mise à jour de la densité pour la prochaine itération


rho = rho_new;

iteration = iteration + 1; % Incrémentation du compteur d'itérations


end

% Affichage des résultats


disp(['Nombre d''itérations : ' num2str(iteration)]);
disp(['Aire : ' num2str(A1) ' m^2']);
disp(['Vitesse absolue : ' num2str(C1) ' m/s']);
disp(['Température statique : ' num2str(T_static) ' K']);
disp(['Pression statique : ' num2str(P_static) ' KPa']);
disp(['rho : ' num2str(rho) ' Kg/m^3']);
disp(['Mach: ' num2str(M1) ' ']);
disp(['RPM: ' num2str(N) ' ']);
disp(['vitesse a la tete des aubes : ' num2str(U1s) 'm/S']);
disp(['Vitesse relative: ' num2str(Wr_1s) 'm/S ']);
disp(['Mach relatif: ' num2str(Mr_1s) ' ']);

% partie2

% Constantes

R_air = 0.287058; % Constante spécifique de l'air (en J/(kg·K))


C_p_air = 1004; % Capacité calorifique à pression constante de l'air (en J/(kg·K))
Alpha = 3.5;
r_Rs = 0.0675;
b_Rs = 0.006;
U_Rs=450;
m_a=0.93;
SIGMA = 0.9;
T_01=288.15;
P_01=101.325;
tau=3.8;

% Densité initiale (en kg/m^3)


A_Rs = 2 * pi * r_Rs * b_Rs;

N = (30*U_Rs)/(pi*r_Rs);

T_0Rs = T_01 + ((SIGMA * U_Rs^2) / C_p_air);

nu_c = (tau^(1/Alpha)-1)/((T_0Rs/T_01)-1);

nu_rs = 1-((1-nu_c)/2);

P_0Rs = P_01 * (1 + nu_rs*((T_0Rs / T_01) - 1))^(Alpha);

rho_initial1 = P_0Rs / (R_air * T_0Rs);

% Paramètres initiaux

rho1 = rho_initial1; % Densité

% Itérations
max_iterations = 1000; % Nombre maximum d'itérations
tolerance = 1e-6; % Tolérance de convergence
error = 1; % Erreur initiale
iteration = 100; % Compteur d'itérations

while (error > tolerance) && (iteration <= max_iterations)


% Calcul des vitesses absolues
C_r_Rs = m_a / (rho1 * A_Rs);

C_u_rs = SIGMA * U_Rs;

C_Rs = sqrt(C_r_Rs^2 + (C_u_rs)^2);

% Calcul de la température statique


T_static = T_0Rs - ((C_Rs)^2 / (2 * C_p_air));

% Calcul de la pression statique


P_static = P_0Rs * (T_static / T_0Rs)^(Alpha);

%Calcul du nombre de Mach

M=C_Rs/(sqrt(1.4*287.058*T_static));

% Mise à jour de la densité pour la prochaine itération


rho_new1 = P_static / (R_air * T_static);

% Calcul de l'erreur de convergence


error = abs((rho_new1 - rho1) / rho1);

% Mise à jour de la densité pour la prochaine itération


rho1 = rho_new1;

iteration = iteration + 1; % Incrémentation du compteur d'itérations

end

% Affichage des résultats


disp(['Nombre d''itérations : ' num2str(iteration)]);

disp(['Vitesse des aubes: ' num2str(U_Rs) ' m/s']);


disp(['Aire : ' num2str(A_Rs) ' m^2']);

disp(['Vitesse absolue r : ' num2str(C_r_Rs) ' m/s']);


disp(['Vitesse absolue u : ' num2str(C_u_rs) ' m/s']);
disp(['Vitesse absolue : ' num2str(C_Rs) ' m/s']);
disp(['RPM : ' num2str(N) ' tr/min']);

disp(['Temperature totale : ' num2str(T_0Rs) ' K']);

disp(['rendement du compresseur : ' num2str(nu_c) ' K']);

disp(['rendement du rotor : ' num2str(nu_rs) ' K']);

disp(['Pression totale : ' num2str(P_0Rs) ' KPa']);

disp(['Densite : ' num2str(rho1) ' Kg/m^3']);


disp(['Température statique stable : ' num2str(T_static) ' K']);
disp(['Pression statique stable : ' num2str(P_static) ' KPa']);

disp(['Mach: ' num2str(M) ' /']);


%Partie 3

% Paramètres d'entrée
rho_initial2 = 1.9018; % Densité initiale (en kg/m^3)

% Constantes
R_air = 0.287058; % Constante spécifique de l'air (en J/(kg·K))
m_a=0.93;
C_p_air=1004;
Alpha=3.5;
r_Rs= 0.0675 ;
r_di= 0.0705 ;
b_di=0.005;
P_0Rs= 466.7659 ;
T_0Rs=469.6739 ;
N=63661.9772 ;
U_Rs=450;
SIGMA=0.9;

% Entree du diffuseur
% Paramètres initiaux
rho2 = rho_initial2; % Densité

% Itérations
max_iterations = 1000; % Nombre maximum d'itérations
tolerance = 1e-6; % Tolérance de convergence
error = 10; % Erreur initiale
iteration = 100; % Compteur d'itérations

while (error > tolerance) && (iteration < max_iterations)


% Calcul de la vitesse absolue
A_di=2 * pi * r_di * b_di;

C_u_Rs = SIGMA * U_Rs;

C_u_di = (C_u_Rs * r_Rs )/r_di;

C_r_di = m_a / (rho2 * A_di );

C_di = ((C_u_di)^2 + (C_r_di)^2)^0.5;

% Calcul de la température statique


T_static = T_0Rs - (C_di^2/(2 * C_p_air)) ;

% Calcul de la pression statique


P_static = P_0Rs * ((T_static / T_0Rs)^(Alpha));

% Mise à jour de la densité pour la prochaine itération


rho_new2 = P_static / (R_air * T_static);

% Calcul de l'erreur de convergence


error = abs((rho_new2 - rho2) / rho2);
% Mise à jour de la densité pour la prochaine itération
rho2 = rho_new2;

iteration = iteration + 1; % Incrémentation du compteur d'itérations


end

% Affichage des résultats


disp(['Nombre d''itérations di : ' num2str(iteration)]);
disp(['densite : ' num2str(rho2) ' m/s']);
disp(['Vitesse absolue di: ' num2str(C_r_di) ' m/s']);
disp(['Vitesse absolue di : ' num2str(C_di) ' m/s']);
disp(['Aire di: ' num2str(A_di) ' m/s']);
disp(['Température statique di: ' num2str(T_static) ' K']);
disp(['Pression statique di: ' num2str(P_static) ' kPa']);

%partie4

% Paramètres d'entrée
rho_initial3 = 1.9193; % Densité initiale (en kg/m^3)

% Constantes
R_air = 0.287058; % Constante spécifique de l'air (en J/(kg·K))
m_a = 0.93;
C_p_air = 1004;
Alpha = 3.5;
r_Rs = 0.0675;
r_di = 0.0705;
b_di = 0.005;
P_0Rs= 466.7659 ;
T_0Rs=469.6739 ;
U_Rs = 450;
SIGMA = 0.9;
r_th = 0.07634;
b_th = 0.005;

% Entree du diffuseur
% Paramètres initiaux
rho3 = rho_initial3; % Densité

% Itérations
max_iterations = 1; % Nombre maximum d'itérations
tolerance = 1e-6; % Tolérance de convergence
error = 10; % Erreur initiale
iteration = 0; % Compteur d'itérations

while (error > tolerance) && (iteration < max_iterations)


% Calcul de la vitesse absolue
A_th = 2 * pi * r_th * b_th;

C_u_Rs = SIGMA * U_Rs;

C_u_th = (C_u_Rs * r_Rs) / r_th;

C_r_th = m_a / (rho3 * A_th);


C_th = ((C_u_th)^2 + (C_r_th)^2)^0.5;

% Calcul de la température statique


T_static = T_0Rs - (C_th^2 / (2 * C_p_air));

% Calcul de la pression statique


P_static = P_0Rs * ((T_static / T_0Rs)^(Alpha));

% Mise à jour de la densité pour la prochaine itération


rho_new3 = P_static / (R_air * T_static);

% Calcul de l'erreur de convergence


error = abs((rho_new3 - rho3) / rho3);

% Mise à jour de la densité pour la prochaine itération


rho3 = rho_new3;

iteration = iteration + 1; % Incrémentation du compteur d'itérations


end

% Affichage des résultats


disp(['Nombre d''itérations : ' num2str(iteration)]);
disp(['Densité : ' num2str(rho3) ' kg/m^3']);
disp(['Vitesse absolue rth : ' num2str(C_r_th) ' m/s']);
disp(['Vitesse absolue uth : ' num2str(C_u_th) ' m/s']);

disp(['Vitesse absolue totale : ' num2str(C_th) ' m/s']);


disp(['Aire th : ' num2str(A_th) ' m^2']);
disp(['Température statique th : ' num2str(T_static) ' K']);
disp(['Pression statique th : ' num2str(P_static) ' kPa']);

%partie5

% Constantes
R_air = 0.287058; % Constante spécifique de l'air (en J/(kg·K))
m_a = 0.93;
C_p_air = 1004;
Alpha = 3.5;
r_Rs = 0.0675;
P_01 = 101.325;
T_0Rs = 469.6739;
P_0Rs = 466.7659;
U_Rs = 450;
SIGMA = 0.9;
b_th = 0.005;
r_2 = 0.085;
alpha2 = 45;
n = 10;
t_v = 0.01558;
tau = 3.8;

%CALCUL
A_2 = ((2 * pi * r_2) - (n * t_v)) * b_th;
P_02 = tau * P_01;
T_02 = T_0Rs;

% Entree du diffuseur
rho_initial4 = P_02 / (R_air * T_02);

% Paramètres initiaux
rho4 = rho_initial4; % Densité

% Itérations
max_iterations = 1000; % Nombre maximum d'itérations
tolerance = 1e-6; % Tolérance de convergence
error = 10; % Erreur initiale
iteration = 100; % Compteur d'itérations

while (error > tolerance) && (iteration < max_iterations)


% Calcul de la vitesse absolue
C_r_2 = m_a / (rho4 * A_2);

angle_radians = deg2rad(alpha2);
C_2 = C_r_2 / cos(angle_radians);

T_static = T_0Rs - ((C_2)^2 / (2 * C_p_air)); % Formule pour calculer la


nouvelle température statique
P_static = P_02 * (T_static / T_0Rs)^(Alpha); % Formule pour calculer la
nouvelle pression statique

% Mise à jour de la densité pour la prochaine itération


rho_new4 = P_static / (R_air * T_static);

% Calcul de l'erreur de convergence


error = abs((rho_new4 - rho4) / rho4);

% Mise à jour de la densité pour la prochaine itération


rho4 = rho_new4;

iteration = iteration + 1; % Incrémentation du compteur d'itérations


end

% Affichage des résultats


disp(['Nombre d''itérations : ' num2str(iteration)]);
disp(['Densité : ' num2str(rho4) ' kg/m^3']);
disp(['Température totale : ' num2str(T_02) ' K']);
disp(['Pression totale : ' num2str(P_02) ' kPa']);
disp(['Vitesse absolue r 2 : ' num2str(C_r_2) ' m/s']);
disp(['Vitesse absolue 2 : ' num2str(C_2) ' m/s']);
disp(['Aire th : ' num2str(A_2) ' m^2']);
disp(['Température statique 2 : ' num2str(T_static) ' K']);
disp(['Pression statique 2 : ' num2str(P_static) ' kPa']);

%partie 6

% Autres constantes nécessaires au calcul


T02 = 469.6739; % Température T02 (remplacez par la valeur réelle)
T01 = 288.15; % Température T01 (remplacez par la valeur réelle)

Cpa = 1004; % Capacité thermique massique à pression constante Cpa (remplacez par
la valeur réelle)
eta_m = 0.9; % Efficacité mécanique (remplacez par la valeur réelle)
eta_it = 0.85; % Efficacité isentropique de la turbine (remplacez par la valeur
réelle)
alpha = 3.5; % Coefficient gamma (remplacez par la valeur réelle)
alpha1=0.285;
Delta_P=0.03;
T00=288.15;
P5=101.325;
R=0.287;
P02=385.035;
%T05=T04d;

% Constantes
nu_b = 0.9; % Rendement de combustion
H_v = 43323000; % Pouvoir calorifique du carburant (J/kg)
C_pg = 1148; % Capacité calorifique à pression constante de l'air (J/(kg·K))

% Paramètres initiaux
m_a = 0.93; % Masse d'air (kg)
T_02 = 469.6739; % Température totale initiale (K)
T03_target = 923; % Température totale cible (K)

% Itérations
max_iterations = 1000; % Nombre maximum d'itérations
tolerance = 1e-6; % Tolérance de convergence

% Plage de valeurs possibles pour mf


mf_min = 0.001; % Valeur minimale de mf
mf_max = 0.02; % Valeur maximale de mf

% Initialisation
mf = mf_min; % Valeur initiale de mf

% Boucle d'itérations
for iteration = 1:max_iterations
% Calcul de T03 en fonction de mf
T03 = T_02 + ((mf / m_a) * ((nu_b * H_v) / C_pg));

% Calcul de l'erreur par rapport à la valeur cible


error = abs(T03 - T03_target);

% Vérification de la convergence
if error < tolerance
break; % Sortir de la boucle si la convergence est atteinte
end

% Mise à jour de mf en fonction de l'erreur


mf = mf + 0.001 * sign(T03_target - T03);

% Contrainte sur la plage de valeurs possibles pour mf


mf = min(max(mf, mf_min), mf_max);
end
% Calcule chambre de combustion P03, T_3 et P_3 avec les valeurs optimales
P03 = P02 * (1 - Delta_P);
T_3 = T03 - (C_pg / (2 * C_pg));
P_3 = P03 * (T_3 / T03)^(alpha);

% Calcule Turbine T04,P04,T04d,P04d avec les valeurs optimales


T04 = T03 - ((m_a * Cpa * (T02 - T01)) / (C_pg * (m_a+mf) * eta_m));
P04 = P03 * (1 - ((1 - (T04 / T03)) / eta_it))^alpha;

%Calcul Tuyere : T5,U5,Rho5,A5


T5 = T04*(P5/P04)^alpha1;
U5 = (2*C_pg*(T04-T5))^0.5;
rho5 = P5/(R*T5);
A5=(m_a+mf)/(rho5*U5);

%performances

FN = m_a*U5*10^(-3);
SFC = (mf/FN)*10^3;

% Affichage des résultats


disp(['Nombre d''itérations : ' num2str(iteration)]);
disp(['Coefficient de masse mf : ' num2str(mf)]);
disp(['Température totale T03 : ' num2str(T03) ' K']);

disp(['P03 = ', num2str(P03)]);


disp(['T_3 = ', num2str(T_3)]);

disp(['T04 = ', num2str(T04)]);


disp(['P04 = ', num2str(P04)]);

disp(['T5 = ', num2str(T5)]);


disp(['U5 = ', num2str(U5)]);
disp(['rho5 = ', num2str(rho5)]);
disp(['A5 = ', num2str(A5)]);

disp(['PousseeFN = ', num2str(FN)]);


disp(['SFC = ', num2str(SFC)]);

Vous aimerez peut-être aussi