H2C2O4 ⇄
HC2O4− +
H+ pKa1 = 1.3 (r 6A)
HC2O4− ⇄
C2O42− +
H+ pKa2 = 4.3 (r 6B)
H2SO4 ⇄ HSO4− +
H+ pKa3 = −9 (r 6C)
HSO4− ⇄
SO42− + H+ pKa4 =
2 (r 6D)
MnO2 + H2C2O4
⇄ [MnO2,
H2C2O4] KJ (r 6J)
[MnO2, H2C2O4] (+
2H+) → Mn2+ (+ 2CO2 +
2H2O) kK (r 6K)
Comme pour la réduction du Mn(III) (exercice 24), il faut, pour la réduction du Mn(IV), pré-équilibrer les réactions (6A) à (6J). La méthode est identique.
Télécharger MnIV_pre_eq_10exp.cpp
La structure est donc la même et ne demande pas de nouveaux commentaires.
Nous avons juste marqué en rouge ci-dessous les lignes de fappel
qui diffèrent (en plus, bien entendu, des équations dans les fonctions
pre_equilibre
et eqdiff
).
//---------------------------------------------------------------------------- 1 void fappel() 2 { 3 for (int i = 0; i < np; ++i) 4 p[i] = fabs(p[i]); 5 //déclarations spécifiques pour srksta : 6 Sa_data ca1[NVAR][3]; 7 Sa_data ind1[3]; 8 for (int k = 0; k < nexp; k++) 9 { 10 // A - pré-équilibres H2C2O4/H2SO4: 11 eq_system = pre_equilibre; 12 n_diff = 9; 13 // initialisation ca1 : 14 for (int j = 0; j < n_diff; ++j) 15 for (int m = 0; m < 3; ++m) 16 ca1[j][m] = 0; 17 ca1[0][0] = p[12+k]; // [H2C2O4] total initial 18 ca1[3][0] = p[22+k]; // [H2SO4] total initial 19 ca1[7][0] = p[32+k]; // [MnO2] total initial 21 srksta(n_diff, ca1, ind1, 0, 0, 0, h0, tol, iset, jacob, h_compt, c_min); 22 // recopie de l'équilibre dans Ca 23 for (int j = 0; j < n_diff; ++j) 24 Ca(k,j,0) = ca1[j][2]; 25 // B - cinétique : 26 eq_system = eqdiff; 27 n_diff = 10; 28 first_var = k*nv_mod; 29 srkvi(n_diff, &ca[first_var], ind, npt, h0, tol, iset, jacob, h_compt, c_min); 30 for (int i = 0; i < npt; ++i) 31 // Abs. due à [MnO2]total ; p[15] = l*epsilon : 32 Ca(k,10,i) = p[11]*(Ca(k,7,i)+Ca(k,8,i)); 33 } 34 } //----------------------------------------------------------------------------
Noter que pour le calcul de l'absorbance, on considère le MnO2 total, libre plus associé, en leur donnant le même coefficient d'extinction molaire (ligne 32).
Le fichier expérimental comportant 10 expériences, dans le fichier .sac, on a affecté cette fois p[12 à 21] aux 10 concentrations initiales d'acide oxalique total, p[22 à 31] à celles de l'acide sulfurique, et p[32 à 41] à celles du Mn(IV) (lignes 17 à19).
Télécharger MnIV_pre_eq_10exp.sac Télécharger MnIV_10exp.exp
Le fichier MnIV_pre_eq_10exp.sac contient les
paramètres, KJ (p[8]/p[9]
) et kK
(p[10]
) optimisés. p[9] est fixé arbitrairement à 100 afin
d'assurer une mise à l'équilibre rapide.
Le fichier expérimental, MnIV_10exp.exp, est en mode Multi et doit donc être lu comme tel. Les trois premières expériences sont des cinétiques complètes données par l'absorbance à 400 nm (variable 10). Les sept suivantes ne comportent qu'un seul point, correspondant au t1/2, où l'absorbance est la moitié de la valeur initiale. Le calcul donnera la cinétique complète pour ces expériences et montrera qu'elles passent, ou non, par le point t1/2.
Vous observerez que les trois cinétiques complètes, proches de l'ordre 1, ne sont pas parfaitement ajustées. Le point le plus important ici, comme pour la réduction du Mn(III), est d'obtenir le bon échelonnement des cinétiques en fonction des concentrations initiales, le but final recherché étant d'expliquer le comportement particulier de la réaction KMnO4 / H2C2O4 / H2SO4. Comme montré sur la figure VI.20, simple transcription des résultats de l'optimisation, l'échelonnement obtenu ici, avec un modèle réduit à un nombre minimum de réactions, est en accord avec l'expérience.