# -*- coding: utf-8 -*-
"""
Created on Thu Jun 23 10:13:56 2022

"""

from math import exp
from scipy.optimize import bisect #Pour bisect
import matplotlib.pyplot as plt

drH = - 198000
drS = -188
R= 8.314


#Creation des listes T et X
T = range(600,1501) #Liste des températures
X=[] #Liste des avancements solution de la LAM

for t in T:
    K = exp(-(drH-drS*t)/(R*t))
    def LAM(x): #Définition de la fonction à résoudre
        return(K*(2-2*x)**2*(1-x)-4*x**2*(3-x)) 
    X.append(bisect(LAM,0,1)) #Résolution et stockage de la solution

#Trace de la courbe
plt.figure()
plt.plot(T,X) # trace de la courbe
plt.ylabel("Avancement a l'équilibre (mol)")
plt.xlabel("Temperature (K)")
plt.title("Influence de la temperature sur l'oxydation de SO2")
plt.savefig('xi=f(t)')

