import numpy as np import matplotlib.pyplot as plt # La reaction consideree est A + B -> C + D # Coefficients stoechiometriques a, b, c, d = 1, 1, 1, 1 # Quantites de matiere initiales et volume initial n_iA, n_iB, n_iC, n_iD = 0.1, 0.1, 0, 0 V = 100.0e-3 # Constante d'equilibre K = 1e-1 # Calcul de l'avancement final et generation des valeurs de x entre 0 mol et xmax xmax = min(n_iA/a, n_iB/b) x = np.arange(0, xmax, xmax/10000.0) tau = x/xmax # Calcul des quantites de matiere et du quotient de reaction a chaque avancement x #n_A = # A complete #n_B = # A complete #n_C = # A complete #n_D = # A complete #Q_r = # A complete # Determination de l'avancement final x_f #for i in range(len(x)) : # if (# A complete) : # x_f = x[i] # i = i+1 # else : # continue plt.subplot(2,1,1) plt.ylabel('Quantites de matiere \n de A, B, C et D (mol/L)', fontsize=8) plt.title('Evolutions des concentrations', fontsize=8) plt.grid() plt.axis(xmin=0, xmax=1) #plt.axvline(x = x_f/xmax, label = '$\\tau_f$') #plt.plot(tau, n_A, color = 'red', label='$n_A$') #plt.plot(tau, n_B, color = 'blue', label='$n_B$') #plt.plot(tau, n_C, color = 'green', label='$n_C$') #plt.plot(tau, n_D, color = 'orange', label='$n_D$') plt.legend() plt.show() plt.subplot(2,1,2) plt.xlabel('Taux d\'avancement $\\tau$', fontsize=8) plt.ylabel('Constante de reaction $Q_r$ \n et constante d\'equilibre $K$', fontsize=8) plt.title('Evolution du quotient de reaction \n en fonction de l\'avancement', fontsize=8) #plt.axvline(x = x_f/xmax, label = '$\\tau_f$') plt.axis(xmin=0, xmax=1) plt.plot(tau, K*np.ones(len(x)), color = 'blue', label='$K$') #plt.plot(tau, Q_r, color = 'red', label='$Q_r$') plt.yscale('log') plt.legend() plt.show() #print('L\'avancement final correspond a x_f = ' + str(x_f) + ' mol, soit un taux d\'avancement final tau_f = ' + str(x_f/xmax) + '.')
Nos manuels sont collaboratifs, n'hésitez pas à nous en faire part.
Oups, une coquille
j'ai une idée !