# Créé par paul-, le 17.11.2025 en Python 3.7
# Créé par paul-, le 13/11/2024 en Python 3.7
import matplotlib.pyplot as plt
import pylab as py
from math import log

## Donnees thermodynamiques
DrH =       # enthalpie standard de reaction en J/mol
DrS =       # entropie standard de reaction en J/mol/K
R =         # J/mol/K

#Construction d'une liste de température
T_min = 300     #K
T_max = 1200    #K
pas = 10        #K
liste_T=py.arange(T_min,T_max,pas)

#Construction d'une liste de pression
liste_P = [1,5,25,125]

def DrG(tau,T,P):
    # renvoie l'enthalpie libre standard de reaction pour le taux d'avancement tau a T,P
    #
    return

def zero_DrG(T,P):
    # renvoie l'avancement de la reaction a l'equilibre
    # la recherche de la solution a l'equation donnee par la condition
    # d'equilibre est effectuee par dichotomie

    # Initialisation des variables
    a = 0.0001    # tau minimal = 0 mais l'enthalpie libre de reaction diverge en 0
    b = 0.9999    # tau maximal = 1 (idem)
    m = (b+a)/2   # on commence par tester le milieu de l'intervalle
    epsilon = 1   # précision de la méthode : 1 J/mol

    while                   # condition d'arret : abs(DrG) < 1 J/mol
          if  :
            # si DrG ne change pas de signe dans la moitie droite de l'intervalle
            b = m # la solution se situe dans la moitie gauche de l'intervalle
          else:
            a = m # sinon elle se situe dans la moitie droite de l'intervalle
          m =  # nouveau milieu de l'intervalle
    return m


for P in liste_P :
    liste_resultats=[]
    for T in liste_T:
        liste_resultats.append(zero_DrG(T,P))
    plt.plot(liste_T, liste_resultats, label= P)

plt.xlabel('Temperature',fontsize=14)
plt.ylabel('Avancement de la réaction',fontsize=14)
plt.title('Évolution de l''avancement en fonction de la température')
plt.legend()
plt.show()

