Contents

Présentation

%le script calcule le rendement d'un cycle basé sur le moteur à 5 Temps :
%les cylindres 1 et 3 (HP_1 et HP_3) réalisent les combustions
%la détente est prolongée dans le "gros" cylindre" nommé BP_2.
%les calculs sont faits de façon analytique et discrète, ce qui permet de
%tracer les différentes courbes.
cible=imread('moteur.jpg');
image(cible)
axis off

Contact

auteur : remy.cann@ac-rennes.fr lycée Vauban BREST

Constantes générales

clc
clear
P1=10^5;
R=1; %richesse
r=287;
cv=716.7;
PCI=44*10^6;
PCO=14.5;
T1=298;

Géométrie moteur

Vu_1=150;
Vu_2=450;
epsilon_1=7;
epsilon_2=17.7;
vm_1=Vu_1/(epsilon_1-1);
vm_2=Vu_2/(epsilon_2-1);
r_1=2.65;
r_2=4.15;
l_1=13;
l_2=13;
A_1=6;
A_2=8.3;
S_1=pi*A_1^2/4;
S_2=pi*A_2^2/4;
alfa=0:1:719;

Cinématique

course_1=r_1*(1-cos(pi*alfa/180))+l_1*(1-(1-(r_1/l_1)^2*sin(pi*alfa/180).^2).^0.5);
course_2=r_2*(1-cos(pi*(alfa+180)/180))+l_2*(1-(1-(r_2/l_2)^2*sin(pi*(alfa+180)/180).^2).^0.5);
volume_1=vm_1+S_1*course_1;
volume_2=vm_2+S_2*course_2;

Masses et énergie

m_gaz_1=P1*(vm_1+Vu_1)/r/T1/1000000
m_gaz_2=P1*(vm_2)/r/T1/1000000
m_carb=P1*Vu_1/r/T1*R/PCO/1000000
Q1=m_carb*PCI
m_gaz_1 =

  2.0462e-004


m_gaz_2 =

  3.1506e-005


m_carb =

  1.2096e-005


Q1 =

  532.2036

Calcul analytique des éléments des cylindre HP_1 et 3

P2=P1*epsilon_1^1.4
T2_1=T1*epsilon_1^0.4
T3_1=Q1/m_gaz_1/cv+T2_1
P3_1=P2*T3_1/T2_1
P4_1=P3_1*epsilon_1^-1.4
T4_1=T3_1*epsilon_1^-0.4
eta_1=1-epsilon_1^-0.4
W_1=-Q1*eta_1
Q2=-Q1-W_1
P2 =

  1.5245e+006


T2_1 =

  649.0161


T3_1 =

  4.2781e+003


P3_1 =

  1.0049e+007


P4_1 =

  6.5917e+005


T4_1 =

  1.9643e+003


eta_1 =

    0.5408


W_1 =

 -287.8388


Q2 =

 -244.3647

Calcul analytique des éléments de la détente prolongée

V5=Vu_1+vm_1+vm_2
V6=Vu_2+vm_1+vm_2
epsilon_det=V6/V5
T5=-Q2/(m_gaz_1+m_gaz_2)/cv+T1
P5=P1*T5/T1
P6=P5*epsilon_det^-1.4
T6=T5*epsilon_det^(-0.4)
W_det_prol=0.000001*P5*V5/0.4*(epsilon_det^-0.4-1)
W_echap=0.000001*P1*(V6-V5)
V5 =

  201.9461


V6 =

  501.9461


epsilon_det =

    2.4855


T5 =

  1.7420e+003


P5 =

  5.8456e+005


P6 =

  1.6340e+005


T6 =

  1.2103e+003


W_det_prol =

  -90.0853


W_echap =

   30.0000

Bilan analytique

eta_BdR=1-epsilon_1^-0.4
eta_cycle_analytique=abs((W_1+W_det_prol+W_echap)/Q1)
eta_BdR =

    0.5408


eta_cycle_analytique =

    0.6537

Calcul discret des courbes cylindre HP_1 et BP_2

%pressions
V_det_prol=volume_2(541:720)+volume_1(541:720);
pcomp_1=10^-5*P1*((vm_1+Vu_1)./volume_1(181:360)).^1.4;
pdet_1=10^-5*P3_1*(vm_1./volume_1(361:540)).^1.4;
pdet_prol=10^-5*P5*(V5./V_det_prol).^1.4;
%travaux
for i =2:180
    dWcomp(i)=-0.1*(pcomp_1(i)+pcomp_1(i-1))/2*(volume_1(i+180)-volume_1(i+180-1));
    dWdet_1(i)=-0.1*(pdet_1(i)+pdet_1(i-1))/2*(volume_1(i)-volume_1(i-1));
    dWdetprol1(i)=-0.1*(pdet_prol(i)+pdet_prol(i-1))/2*(volume_1(i+180)-volume_1(i+180-1));
    dWdetprol(i)=-0.1*(pdet_prol(i)+pdet_prol(i-1))/2*(volume_2(i+180)-volume_2(i+180-1));
    dWadm(i)=-0.000001*P1*(volume_1(i)-volume_1(i-1));
    dWechap(i)=-0.000001*P1*(volume_2(i)-volume_2(i-1));
    end
Wcomp=cumsum(dWcomp);
Wdet_1=cumsum(dWdet_1);
Wdetprol=cumsum(dWdetprol);
Wdetprol1=cumsum(dWdetprol1);
Wadm=cumsum(dWadm);
Wechap=cumsum(dWechap);
Wcycle_1=cumsum([dWadm dWcomp, dWdet_1, dWdetprol1]);
Wcycle_3=cumsum([ dWdet_1 dWdetprol1 dWadm dWcomp ]);
Wcycle_2=cumsum([dWechap dWdetprol dWechap dWdetprol ]);
%bilan
etacycle_discret=-(2*Wcycle_1(end)+Wcycle_2(end))/(2*Q1)
etacycle_discret =

    0.6543

Graphes

%pression cyl 1
figure
plot(alfa,[ones(1,180) pcomp_1 pdet_1 pdet_prol],'--k','linewidth',1.5)%,[pdet_prol(:,1) pdet_prol],'LineWidth',2)
%pression cyl 3
hold on
plot(alfa,[pdet_1 pdet_prol ones(1,180) pcomp_1 ],'-.r','linewidth',1.5)%,[pdet_prol(:,1) pdet_prol],'LineWidth',2)
%pression cyl 2
hold on
plot(alfa,[ones(1,180) pdet_prol ones(1,180) pdet_prol   ],'b','linewidth',1.5)%,[pdet_prol(:,1) pdet_prol],'LineWidth',2)
grid on
legend('cylindre 1','cylindre 3', 'cylindre 2')
set(gca,'XTick',0:60:720,'color','y')
title 'pression = f(alpha)'
%p=f(v)
figure
plot(volume_1,[ones(1,180) pcomp_1 pdet_1 pdet_prol],'--k','linewidth',1.5)
hold on
plot(volume_1,[pdet_1 pdet_prol ones(1,180) pcomp_1  ],'-.r','linewidth',1.5)
hold on
plot(volume_2,[ ones(1,180) pdet_prol ones(1,180) pdet_prol ],'b','linewidth',1.5)
legend('cylindre 1','cylindre 3', 'cylindre 2')
grid on
title 'pression = f(volume)'
set(gca,'color','y')
%logp-logv
figure
loglog(volume_1,[ones(1,180) pcomp_1 pdet_1 pdet_prol],'--k','linewidth',1.5)
hold on
loglog(volume_1,[pdet_1 pdet_prol ones(1,180) pcomp_1  ],'-.r','linewidth',1.5)
hold on
loglog(volume_2,[ ones(1,180) pdet_prol ones(1,180) pdet_prol ],'b','linewidth',1.5)
legend('cylindre 1','cylindre 3', 'cylindre 2')
grid on
title 'pression = f(alpha) en log-log'
set(gca,'color','y')
%travail
figure
%cylindre 1
plot(alfa,Wcycle_1,'--k','linewidth',1.5)%,[pdet_prol(:,1) pdet_prol],'LineWidth',2)
hold on
plot(alfa,Wcycle_3,'-.r','linewidth',1.5)%,[pdet_prol(:,1) pdet_prol],'LineWidth',2)
hold on
plot(alfa,Wcycle_2,'b','linewidth',1.5)%,[pdet_prol(:,1) pdet_prol],'LineWidth',2)
grid on
legend('cylindre 1','cylindre 3', 'cylindre 2')
title 'travail = f(alpha)'
set(gca,'XTick',0:60:720,'color','y')
figure
bar([eta_BdR,eta_cycle_analytique],0.5,'r')
grid on
title 'rendements comparés (1 = BdR, 2 = 5T)'
set(gca,'XTick',0:60:720,'color','y')