# Créé par paul-, le 19/11/2024 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 =     #K
T_max =    #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 abs(DrG(m,T,P)) > epsilon:   # condition d'arret : abs(DrG) < 1 J/mol
          if DrG(b,T,P)*DrG(m,T,P) > 0:
                  # si DrG ne change pas de signe dans la moitie droite de l'intervalle
                  b =  # la solution se situe dans la moitie gauche de l'intervalle
          else:
                  a =  # 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:
         # ajouter le résultat souhaité à la liste liste_resultats
    plt.plot(liste_T, liste_resultats, label= P)

plt.xlabel(' ') # A compléter
plt.ylabel(' ') # A compléter
plt.title(' ') # A compléter
plt.legend()
plt.show()

