bonjour a tous,
Pour ce qui connaissent un peu la mécanique des fluides le problèmes suivant s'appelle les isotherme d'Andrews. Pour les autre je m'explique.
Pour un gaz donné, je trace une courbe de la pression P (ordonnée) en fonction du volume v (abscisse), a 7 température différentes
j'obtiens donc un grave P en fonction de v avec 7 courbes.
Je voudrais maintenant tracer une droite horizontale puis comme sur l'image ci dessous calculer l’intégrale entre V1 et V2 jusqu'à ce que S1 = S2
voici la fonction a calculer avec V1 et V2
S=[R*T*ln(V-b)-(a/(2*b*sqrt(2)))*ln((V+b*(1-sqrt(2)))/(V+b*(1+sqrt(2))))]
voici ce que je cherche
Pièce jointe 146570
voici mon code actuel
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| % isotherm(nomgaz) d'Andrews
R = 83.14413;
u=2;
w=-1;
Teb=231.02;
Tc = 369.83;
Pc = 42.48;
Omega= 0.152;
ac=0.15724*(R*Tc)^2/Pc
b = 0.07780*R*Tc/Pc
m = 0.379642+ Omega*(1.48503 - Omega*(0.164423+0.0166666*Omega));
nisot = 6;
nech = 2000;
pas=1;
v = 0.001:pas:2500;
n = 40:10:100;
T = zeros(1,length(n));
figure(1);
for ii = 1:length(T);
T(ii) = 273.15 + 15*ii
Tre = T(ii)/Tc;
a = 0.45724*(R*Tc)^2/Pc*(1 + m*(1 - sqrt(Tre)))^2;
P = R*T(ii)./(v - b) - a./(v.*(v + b)+b*(v-b));
h = plot(v,P);
set(h,'color',rand(1,3),'linewidth',1); grid on; hold on;
axis([0 1200 -40 60]);
xlabel('Volume en cm3/mol');
ylabel('pression en bar');
title('Isothermes pour propane');
end |
Merci a tous
Partager