bilanciamento di reazioni chimiche

Transcript

bilanciamento di reazioni chimiche
4 Aprile 2011 - Lab. di Complementi di Matematica e Calcolo Numerico
Sistemi lineari:
bilanciamento di reazioni chimiche
1. Tradurre il bilanciamento in un sistema lineare
Da un punto di vista matematico, bilanciare una reazione chimica vuol dire trovare dei
numeri interi o frazionari (i coecienti stechiometrici) tali da soddisfare alcuni vincoli:
la conservazione del numero di atomi, la conservazione del numero di elettroni (per le
reazioni red-ox), la conservazione della carica (per reazioni scritte in forma ionica). Tutti
questi vincoli dipendono linearmente dai coecienti stechiometrici, ed è quindi possibile
tradurre il bilanciamento in un sistema lineare e poi risolverlo tramite il calcolatore.
Iniziamo con un esempio banale di bilanciamento, per chiarire come eettuare questa
traduzione dall'equazione chimica al sistema lineare.
1.1. un semplicissimo esempio: la formazione di H2 O
Prendiamo la reazione
H2 + O2 → H2 O
Indichiamo con delle incognite i coecienti stechiometrici x1 , x2 e x3
x1 H2 + x2 O2 → x3 H2 O
(1)
I vincoli da tenere in considerazione sono
1. la conservazione del numero di atomi di idrogeno: 2 x1 = 2 x3
2. la conservazione del numero di atomi di ossigeno: 2 x2 = x3
Si noti che il numero di incognite è 3, mentre il numero di vincoli linearmente indipendenti
è 2. Questo è coerente con il problema che stiamo considerando: infatti i coecienti
stechiometrici non deniscono le quantità assolute coinvolte nella reazione, ma i rapporti
fra le varie specie. Se quindi una tripletta di numeri (x1 , x2 , x3 ) bilancia la reazione, tutti
i multipli interi di questi numeri sono ugualmente corretti.
1
Per risolvere il problema senza parametri, ssiamo arbitrariamente uno dei coecienti
x3 = 1. In questo modo possiamo bilanciare la reazione risolvendo il sistema
¶µ
¶ µ ¶
µ
2 0
x1
2
=
(2)
1
0 2
x2
Possiamo quindi ottenere la soluzione come
µ
x1
x2
¶
µ
=
2 0
0 2
¶−1 µ
2
1
¶
µ
=
1/2
0
0
1/2
¶µ
2
1
¶
µ
=
1
1/2
¶
(3)
I coecienti sono quindi x1 = 1 , x2 = 1/2 e x3 = 1. Se vogliamo ottenere la soluzione
con numeri interi è suciente moltiplicare per 2 i coecienti stechiometrici
(4)
2 H2 + 1 O2 → 2 H2 O
2. Primo esercizio
Bilanciare la seguente reazione:
Zn + H2 SO4 + K2 Cr2 O7 → KCr(SO4 )2 + ZnSO4 + H2 O
Procediamo - come nell'esempio precedente - assegnando coecienti stechiometrici
incogniti e scrivendo in termini di questi coecienti i vincoli di conservazione del numero
di atomi:
x1 Zn + x2 H2 SO4 + x3 K2 Cr2 O7 → x4 KCr(SO4 )2 + x5 ZnSO4 + x6 H2 O
(1)
(2)
(3)
(4)
(5)
(6)
atomi
atomi
atomi
atomi
atomi
atomi
di
di
di
di
di
di
Zn
S
K
Cr
O
H
x1 = x5
x2 = 2x4 + x5
2x3 = x4
2x3 = x4
4x2 + 7x3 = 8x4 + 4x5 + x6
2x2 = 2x6
⇒
⇒
⇒
⇒
⇒
⇒
(5)
x1 − x5 = 0
x2 − 2x4 − x5 = 0
2x3 − x4 = 0
2x3 − x4 = 0
4x2 + 7x3 − 8x4 − 4x5 − x6 = 0
x2 − x6 = 0
Consideriamo il vincolo 2x3 − x4 = 0 (ripetuto sia nella condizione (3) che nella
condizione (4)) una volta sola. Abbiamo quindi 5 equazioni per 6 coecienti. Fissiamo
arbitrariamente uno dei coecienti x6 = 1, ottenendo il sistema
  


0
x1
1 0 0 0 −1
 0 1 0 −2 −1   x2   0 
  


 0 0 2 −1 0   x3  =  0 
(6)
  


 0 4 7 −8 −4   x4   1 
0 1 0
0
x5
0
2
1
Risolvendo questo sistema con MATLAB, otteniamo dei coecienti stechiometrici
(frazionari) che bilanciano la reazione1






x1
x2
x3
x4
x5


 
 
=
 
 
1
0
0
0
0
0
1
0
4
1
0 0 −1
0 −2 −1
2 −1 0
7 −8 −4
0 0
0
−1 






0
0
0
1
1






 
 
=
 
 
0.42857
1.00000
0.14286
0.28571
0.428570






(7)
Se dividiamo i coecienti per il minimo coeciente x3 , possiamo facilmente ottenere
i coecienti stechiometrici interi
x1 = 3
x2 = 7
x3 = 1
x4 = 2
x5 = 3
x6 = 7
3 Zn + 7 H2 SO4 + K2 Cr2 O7 → 2 KCr(SO4 )2 + 3 ZnSO4 + 7 H2 O
(8)
3. Secondo esercizio
Bilanciare la seguente reazione:
N aBiO3 + F eS + H2 SO4 → F e2 (SO4 )3 + Bi2 (SO4 )3 + N a2 SO4 + H2 O
Analogamente a come abbiamo proceduto in precedenza, individuiamo i vincoli che la
reazione deve soddisfare
x1 N aBiO3 +x2 F eS+x3 H2 SO4 → x4 F e2 (SO4 )3 +x5 Bi2 (SO4 )3 +x6 N a2 SO4 +x7 H2 O
(9)
(1)
(2)
(3)
(4)
atomi
atomi
atomi
atomi
di
di
di
di
Na
Bi
Fe
S
(5) atomi di O
(6) atomi di H
1
x1 = 2x6
x1 = 2x5
x2 = 2x4
x2 + x3 = 3x4 + 3x5 + x6
3x1 + 4x3 =
12x4 + 12x5 + 4x6 + x7
2x3 = 2x7
⇒
⇒
⇒
⇒
x1 − 2x6 = 0
x1 − 2x5 = 0
x2 − 2x4 = 0
x2 + x3 − 3x4 − 3x5 − x6 = 0
3x1 + 4x3 +
−12x4 − 12x5 − 4x6 − x7 = 0
x3 − x7 = 0
⇒
⇒
Si può facilmente vericare che la reazione è bilanciata anche come ossidoriduzione
0
3Zn
+6
2Cr + 6 e−
+2
→
3Zn + 6 e−
→
2Cr
+3
In questo caso il vincolo di conservazione della carica è linearmente dipendente dai vincoli di
conservazione della massa e come tale non è stato preso in considerazione. Nell'esempio successivo
vedremo come includere esplicitamente il vincolo di bilanciamento delle semireazioni di ossidazione
e riduzione.
3
Oltre alla conservazione del numero di atomi, dobbiamo anche imporre il bilanciamento
delle semireazioni di ossidazione e riduzione.
Nella reazione x1 atomi di Bi si riducono nel corso della reazione, passando da stato
di ossidazione +5 a +3:
+5
+3
Bi → Bi (x1 atomi)
Il numero di elettroni scambiati è uguale alla dierenza fra il numero di ossidazione
iniziale e nale, sommato su tutti gli atomi di bismuto (segno meno = elettroni acquisiti,
segno più = elettroni ceduti). Quindi
∆nRED
= x1 [(+3) − (+5)] = −2x1
el
Nella reazione due specie si ossidano: x2 atomi di S passano da stato di ossidazione -2
a +6, mentre x2 atomi di F e passano da +2 a +3
−2
+6
+2
+3
S → S
(x2 atomi)
F e → F e (x2 atomi)
e il numero di elettroni scambiati è
∆nOX
el = x2 [(+6) − (−2)] + x2 [(+3) − (+2)] = +9x2
Anchè la reazione sia bilanciata occorre quindi imporre un ulteriore vincolo
(7) redox
∆nRED
+ ∆nOX
el
el = 0
⇒
−2x1 + 9x2 = 0
Abbiamo 7 equazioni in 7 incognite. Se la matrice dei coecienti fosse invertibile,
avremmo solamente la soluzione banale con tutti i coecienti stechiometrici nulli. Tuttavia si può vericare con MATLAB che la matrice


1
0 0
0
0
−2 0
 1
0 0
0
−2
0
0 


 0
1 0 −2
0
0
0 


 0
1 1 −3 −3 −1 0 
(10)


 3

0 4 −12 −12 −4 −1 

 0
0 1
0
0
0 −1 
−2 +9 0
0
0
0
0
ha determinante nullo. Cerchiamo quindi una sottomatrice che abbia determinante diverso da 0. Ad esempio, sempre con MATLAB è semplice vericare che la matrice
ottenuta estraendo le colonne da 1:6 e le righe 1:6 non è singolare. Possiamo quindi
4
tralasciare il vincolo (7) e imporre x7 = 1 ottenendo quindi il sistema lineare 6x6








1
1
0
0
3
0
0
0
1
1
0
0

  
0
0
0
−2
x1
0




0
0
−2
0   x2   0 


  
0 −2
0
0 
  x3  =  0 

  
1 −3 −3 −1 
  x4   0 


4 −12 −12 −4
x5   1 
1
0
0
0
x6
1
di cui possiamo determinare la soluzione
 

x1
 x2  
 

 x3  
 

 x4  = 
 

 x5  
x6
0, 4737
0, 1053
1, 0000
0, 0526
0, 2368
0, 2368
(11)








(12)
Dividendo per 0, 0526 (l'elemento più piccolo) e moltiplicando successivamente per 2
otteniamo i coecienti stechiometrici interi
x1 = 18
x2 = 4
x3 = 38
x4 = 2
x5 = 9
x6 = 9
x7 = 38
18 N aBiO3 + 4 F eS + 38 H2 SO4 → 2 F e2 (SO4 )3 + 9 Bi2 (SO4 )3 + 9 N a2 SO4 + 38 H2 O
(13)
4. Il metodo di bilanciamento in generale
Rivediamo in generale il metodo di bilanciamento con sistemi lineari. I passaggi da
eettuare sono:
1. Denire i coecienti stechiometrici della reazione chimica come variabili
2. Scrivere tutti gli M vincoli che la reazione deve rispettare
a) conservazione del numero di atomi di tutti gli elementi presenti nella reazione
b) conservazione del numero di elettroni (nelle reazioni redox)
c) conservazione della carica (nelle reazioni in forma ionica)
3. Scrivere il sistema lineare in forma matriciale
Vx = 0
dove x è il vettore a N componenti dei coecienti stechiometrici, mentre V è la
matrice MxN dei coecienti delle equazioni lineari
5
4. In dipendenza del rango r della matrice V sono possibili diversi casi
a) r = N : il numero di vincoli che la reazione deve soddisfare è uguale al numero
di gradi di libertà del sistema, ed esiste solo la soluzione banale x = 0. In
questo caso la reazione non può essere bilanciata. In alcuni casi potrebbe
essere sensato dal punto di vista chimico aumentare il numero dei coecienti
stechiometrici N aggiungendo alcune specie nella reazione (ad esempio H2 O,
H + o OH − in ambiente acquoso) e così facendo potrebbe essere possibile
bilanciare la reazione
b) r = N − 1: questo è il caso normale: la dipendenza della soluzione generale
da un parametro riette il fatto che i coecienti stechiometrici descrivono
i rapporti fra le specie coinvolte, e sono quindi deniti a meno di un fattore
arbitrario (generalmente scelto in modo che i coecienti risultino interi e senza
divisori comuni). E' possibile trovare una soluzione ssando arbitrariamente
uno dei coecienti stechiometrici e risolvendo il sistema non omogeneo (N −
1)x(N −1) risultante. Per ricavare coecienti stechiometrici interi è suciente
moltiplicare la soluzione ottenuta per un opportuno fattore.
c) r < N − 1: in questo caso la soluzione dipende da 2 o più parametri, e
l'equazione chimica può essere suddivisa in un pari numero di reazioni indipendenti l'una dall'altra
A. Comandi da utilizzare negli esercizi
operazione
soluzione del sistema lineare x = A−1 b
calcolo del determinante di una matrice M
estrazione di una sottomatrice della matrice M
rango di una matrice M
6
comando di MATLAB
x=A\b
det(M)
M(1:6,1:6)
rank(M)