#Réaction d'isomérisation en phase gazeuse - Capacité numérique -Thermo1

import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import bisect


#A- Etude isotherme en réacteur fermé
#Données
R=8.314
Ea1=46400
Ea2=118400
A1=2.95e7
A2=1.57e18

# Constantes de vitesse en fonction de la température
#Créer deux fonctions k1(T) et k2(T) permettant de calculer la valeurs des constantes de vitesse à une température T
# déterminer la valeur des constantes de vitesse à 298 K
def k1(T):
    return
def k2(T):
    return

## Q2. Composition du système en fonction du temps- T fixée à 298 K
### Taux de transformation en fonction du temps , T = 298 K / résolution analytique
def k(T):
    return (k1(T)+k2(T))

## Créer une fonction alpha298 (t) utilisant la résolution analytique , réponse de Q1  et tracer les variations de alpha298 en fonction de t pour T = 298 K
def alpha298(t):
    return

temps=np.linspace(0,60,500)    #intervalle de temps
Y298=alpha298 (temps)

plt.figure(0)
plt.plot(temps,Y298,'g',label="taux de conversion , T = 298 K ")
plt.grid()
plt.legend()
plt.xlabel("t(s)")
plt.ylabel("alpha")
plt.show()




## Q3.Influence de la température
#Q3a.
def alpha350(t) :
    return
def alpha400(t) :
    return

Y350=alpha350 (temps)
Y400=alpha400 (temps)


plt.figure(1)
plt.plot(temps,Y298,'g',label="T=298K")
plt.plot(temps,Y350,'b',label="T=350K")
plt.plot(temps,Y400,'r',label="T=400K")
plt.title("influence de la temprature")
plt.grid()
plt.legend()
plt.xlabel("t(s)")
plt.ylabel("alpha")
plt.show()

## Q3d.
## Taux de conversion à l'équilibre en fonction de la température
#Créer une fonctions permettant de calculer le taux de conversion à l'équilibre  pour une température T
def alphaeq (T):
    return

Xtemp =np.linspace (250,420,500)   # intervalle de températures
Yeq=alphaeq (Xtemp)

plt.figure(2)
plt.plot(Xtemp,Yeq,'g',label=" alpha(T)")
plt.title("taux de conversion en fonction de la température")
plt.grid()
plt.legend()
plt.xlabel("T(K))")
plt.ylabel("alpha equilibre")
plt.show()


## taux de transformation en fonction de T pour une durée fixée
#Créer une fonction alpha(T,duree) permettant de calculer le taux de conversion à la température T pour une durée fixée
def alpha(T,duree):
    return

Y01= alpha(Xtemp,0.1)
Y1=alpha(Xtemp,1)
Y50= alpha(Xtemp,30)

plt.figure(3)
plt.plot(Xtemp,Yeq,'g',label=" alpha equilibre(T)")
plt.plot(Xtemp,Y01,'r',label=" alpha 0,1s")
plt.plot(Xtemp,Y1,'b',label=" alpha  1s")
plt.plot(Xtemp,Y50,'xk',markersize=1,label="alpha  30s")
plt.title("taux de conversion en fonction de la température")
plt.grid()
plt.legend()
plt.xlabel("T(K))")
plt.ylabel("alpha")
plt.show()

##B- Etude de la marche M adiabatique

from scipy.integrate import odeint

#Données
CR= 250
CpA=30
CpB=20



# Résolution du système d'équations différentielles couplées
