import matplotlib.pyplot as plt
from math import exp

# Modelisation de l'hydrolyse de l'anhydride acetique dans des conditions
# adiabatiques

## Systeme etudie
# 1 mol d'anhydride acetique (102 g) et 10 mol d'eau (180 g) sont introduits
# dans un recipient calorifuge sous agitation magnetique.
# On cherche a determiner l'evolution de la temperature en fonction du temps

## Donnees generales

T0 = 298            # Temperature initiale (K)
V = 0.275           # Volume constant estime a 275 mL (L)
mu = 30             # Masse en eau du calorimetre (g)
neau = 10           # Quantite initiale d'eau (mol)
nanh = 1            # Quantite initiale d'ahnydride acetique (mol)
dt = 0              # Pas de temps pour le calcul (min)

## Donnees thermodynamiques

Delta_rH = -56000   # Enthalpie standard de reaction (J/mol)
ceau = 75.4         # Capacite thermique de l'eau (J/K/mol)
canh = 189.7e3      # Capacite thermique de l'anhydride (J/K/mol)
caci = 119.3        # Capacite thermique de l'acide (J/K/mol)

## Donnees cinetiques

AA = 1.68e7         # Prefacteur loi d'Arrhenius (/min)
EA = 50500          # Energie d'activation (J/mol)
RR = 8.314          # Constante des gaz parfaits (J/K/mol)

## Initialisation (variables globales)

T=T0         # Temperature courante
TT = [T]     # Initialisation de la liste des temperatures
ksi = 0      # Avancement de la reaction
kk = [ksi]   # Initialisation de la liste des avancements
t = 0        # Temps courant
tt = [t]     # Initialisation de la liste des valeurs de temps
c = nanh/V   # Concentration initialisee d'anhydride (mol/L)

## Definition des fonctions utiles

def k(x):
    # Renvoie la constante cinetique a la temperature T (min-1)
    return 0

def C(x):
    # Renvoie la valeur de la capacite thermique du systeme pour un avancement donne
    return 0

## Methode d'Euler - lorsque le temps augmente de dt...
while False: # critere d'arret

    # Euler pour la determination de dT et dksi

    # Mise a jour des variables

    # Stockage des variables

## Trace des graphes
plt.figure()

#trace des figures

plt.show()
