Derivazione con Excel della legge di Maxwell-Boltzmann

annuncio pubblicitario
Derivazione con Excel della legge di Maxwell-Boltzmann delle velocità
molecolari. (pubblicato su “La Fisica nella Scuola”, anno XXXVI n. 2 Apr-Giu 2003)
Riassunto:
In questo lavoro, viene mostrato come il foglio elettronico Excel possa essere utilizzato per verificare una
legge fisica di natura statistica, quale è la legge di distribuzione delle velocità molecolari di MaxwellBoltzmann.
Assumendo validi i fondamenti della teoria cinetica dei gas e sfruttando le interfacce e le funzioni
avanzate che Excel mette a disposizione per l’analisi dati, è possibile “costruire” con passaggi semplici
ed in tempi didatticamente più che accettabili, la legge di distribuzione.
Nell’ultima parte dell’articolo, viene discussa una routine scritta in Visual Basic for Application (il
linguaggio macro di Excel), che esegue in automatico alcune delle procedure di calcolo utilizzate.
Abstract:
In this work, it has been shown how the Excel spreadsheet can be used to test the Maxwell-Boltzmann’s
distribution law of molecular velocities, a physics law of statistic nature.
Assuming the validity of the kinetic theory of gases and exploiting the advanced functions and interfaces
the Excel put at dispose for data analysis, it is possible to built the distribution law in simple passages and
in acceptable times from a didactical point of view.
1. La distribuzione delle velocità molecolari di Maxwell-Boltzmann1.
La teoria cinetica si basa sulla assunzione che il moto delle particelle di un gas è completamente casuale
(principio del caos molecolare) e quindi tutte le direzioni sono ugualmente probabili. Ciò comporta che
(1) le componenti della velocità nelle tre direzioni spaziali devono avere valore medio nullo e (2) i valori
quadratici medi lungo le tre direzioni devono essere uguali. Cioè:
vx = v y = vz = 0
v x2 = v 2y = v z2
(1)
v 2 = 3v x2
Partendo da queste assunzioni e sfruttando le leggi della meccanica del punto materiale, si deduce la
formula di Joule-Clausius, dalla quale in particolare si ottiene, applicando l’equazione di stato dei gas
ideali, la seguente relazione tra velocità quadratica media e temperatura:
v2 =
3kT
m
⇔ v x2 =
kT
m
(2)
kT
m
(3)
Dal principio del caos moleolare e da (2) segue allora che lungo una qualunque direzione di moto la
distribuzione delle velocità è una curva gaussiana con valore medio nullo e varianza data da:
2
σ 2 = v x2 − v x = v x2 =
La frazione di molecole con componente x della velocità compresa tra
densità di probabilità per
dN
N
x
m
2 π kT
=
1
2
v x e v x + dv x (ossia la funzione
v x ) risulta allora:
e
1
mv
− 2
kT
2
x
dv
(4)
x
con relazioni analoghe per le direzioni y e z. Essendo i tre gradi di libertà traslazionali indipendenti, la
3
frazione d N
(v
1
y
N
di molecole con componenti della velocità negli intervalli
(v x , v x + dv x ) ,
, v y + dv y ) , (v z , v z + dv z ) è pari al prodotto delle tre funzioni densità di probabilità:
Per una trattazione più articolata e completa, vedi i riferimenti bibliografici [1], [2], [3].
P. Romano – Derivazione con Excel della legge di Maxwell-Boltzmann delle velocità molecolari
1
3
d N
m
=
N
2π kT
3
2
1
e
−2
mv 2
kT
dv x dv y dv z
(5)
Consideriamo un riferimento cartesiano ortogonale O v x v y v z e rappresentiamo ogni vettore v a partire
d 3N
rappresenta la densità ρ di vettori
dv x dv y dv z
velocità. Si consideri lo strato sferico avente il centro nell’origine O, di raggio interno v e raggio esterno
v + dv . Il suo volume è pari a dV = 4π v 2 dv . Dato che ogni direzione di moto è equiprobabile, la
dall’origine O (spazio delle velocità). La quantità
densità può essere valutata come rapporto tra il numero di vettori velocità che cadono entro lo strato
sferico ( dN v ) ed il volume dello strato. Cioè:
ρ=
dN v
d 3N
=
dv x dv y dv z 4π v 2 dv
(6)
Sostituendo infine nella (5), si giunge alla legge di Maxwell-Boltzmann:
dN v
m
= 4π
N
2π kT
3
2
1
2
v e
−2
mv2
kT
dv
(7)
2. Derivazione con Excel2.
Ammettendo (a) la validità del principio del caos molecolare (e quindi delle relazioni (1)), in quanto di
semplice verifica sperimentale (es., moti browniani), e (b) i risultati espressi dalle relazioni (2) e (3), in
quanto facilmente dimostrabili, la derivazione con Excel passa attraverso le seguenti fasi:
1.
Generazione di N terne
(v x , v y , v z ) di numeri pseudocasuali indipendenti caratterizzati da
una distribuzione normale3 con valore medio nullo e
σ = kT m , che rappresentano le tre
componenti delle velocità di altrettante particelle;
2.
Calcolo del modulo della velocità con la formula ordinaria
3.
4.
Generazione dell’istogramma delle velocità;
Confronto con la distribuzione teorica (7).
v = v x2 + v 2y + v z2 ;
Per realizzare le fasi 1. e 3., è necessario in primo luogo attivare gli strumenti di analisi di Excel. Questi
strumenti forniscono interfacce e funzioni per l’analisi di dati scientifici e finanziari. Normalmente non
sono disponibili e, per attivarli, bisogna selezionare, dal menù strumenti, la voce componenti aggiuntivi,
quindi abilitare la voce strumenti di analisi. Una volta attivati gli strumenti di analisi, il menù strumenti
conterrà l’ulteriore voce Analisi dati.
Fase 1.: da Analisi dati, si deve scegliere lo strumento generazione di un numero casuale (v. fig. 1).
Questo consente di generare una matrice di numeri pseudocasuali indipendenti derivati da uno dei
numerosi tipi di distribuzione (uniforme, normale, Bernoulli, Poisson, discreta, etc.). Selezionando questo
strumento, si apre infatti una finestra (fig. 2), e vengono richiesti i seguenti dati:
• Numero di variabili: è il numero delle colonne della matrice di output. Il numero massimo che si
può scrivere nella casella di input è
32.767 = 215 − 1 , ma la limitazione è imposta dal numero
2
Quanto qui esposto è applicabile alle versioni di Excel a partire dalla “97”. I calcoli sono stati effettuati
su un elaboratore dotato di processore AMD Thunderbird 1.33 GHz e di 256 MB di memoria RAM.
3
Per l’analisi dei metodi di generazione di numeri casuali indipendenti che seguono una determinata
legge di distribuzione, vedi [4] e, in particolare, [5].
P. Romano – Derivazione con Excel della legge di Maxwell-Boltzmann delle velocità molecolari
2
massimo di colonne che un foglio Excel contiene, pari a 256 = 2 . Nel nostro caso, volendo
generare terne di numeri, il numero di variabili è pari a 3;
Numero di numeri casuali: è il numero delle righe della matrice di output ed equivale a N. Il
8
•
32.767 = 215 − 1 , comunque inferiore al numero
16
massimo di righe del foglio di lavoro (pari a 65.536 = 2 );
valore massimo che si può attribuire è
•
Distribuzione: è il tipo di distribuzione. Scegliendo normale, verranno richiesti i parametri tipici
di questa distribuzione, cioè media e deviazione standard.
• Generatore (facoltativo): immettere un valore a piacere. Successivamente, immettendo lo stesso
valore, verranno di nuovo generati gli stessi numeri casuali.
• Intervallo di output: è sufficiente indicare la cella in alto a sinistra della matrice di output.
Il tempo necessario per la generazione di una matrice di 3 × 30.000 numeri casuali è di circa 8 ÷ 10
secondi.
Fase 2.: Supponiamo di aver generato una matrice di
3× 30.000 numeri casuali nella zona A2:C30.001
di un dato foglio di Excel. Il calcolo delle velocità, mediante la relazione
v = v x2 + v y2 + v z2 , può
essere effettuato inserendo questa formula nella zona D2:D30.001.
Fase 3.: Da Analisi dati (menù strumenti) si selezioni lo strumento di analisi istogramma (v. fig. 1). I
parametri più importanti da definire nella finestra che si apre (fig. 3) sono:
• Intervallo di input: è la matrice di celle dove verranno memorizzati i numeri casuali generati; và
immesso il riferimento di cella per l'
intervallo di dati da analizzare (la zona D2:D30.001 nel caso
di fig. 3);
• Intervallo della classe: và immesso un intervallo di celle contenente un insieme di valori limite
che definiscano gli estremi delle classi per l’istogramma. Detti v min e v max il minimo ed il
massimo valore di velocità che la simulazione produce, per determinare le classi per
l’istogramma, si può procedere suddividendo l’intervallo v min , v max in un certo numero di
parti. La scelta degli estremi e dell’ampiezza delle classi è comunque arbitraria;
• Intervallo di output: E’ sufficiente indicare il riferimento di cella in alto a sinistra della zona del
foglio dove si vuole che vengo prodotto l’output (in fig. 3, la cella I2).
[
]
Fase 4.: Lo strumento di analisi istogramma produce come output le frequenze assolute e le assegna
all’estremo superiore dell’intervallo della classe. Ad esempio, con riferimento alla fig. 3, il valore di
frequenza 286 (cella J5) rappresenta il numero di particelle con velocità tra 60 m
s
e 120 m
s
. Per
ottenere dati confrontabili con (7), bisogna:
• Costruire le frequenze relative, dividendo le frequenze assolute per il numero totale di eventi
simulati e per l’ampiezza degli intervalli della classe;
• Riassegnare questi nuovi dati al valore centrale (e non all’estremo superiore) dell’intervallo della
classe.
Il grafico della distribuzione teorica si calcola da (7), valutando, al variare di
v , i valori di
1 dN v
. Gli
N dv
estremi di v possono essere scelti pari agli stessi valori fissati per generare l’istogramma dei dati della
simulazione. Il passo ∆v , se si vuole dare alla curva teorica il carattere della continuità rispetto
all’istogramma, deve essere inferiore rispetto al ∆v fissato per quest’ultimo.
3. Discussione di alcune situazioni tipiche
Un aspetto preliminare didatticamente rilevante consiste nel far vedere che effettivamente i numeri
casuali che Excel genera sono distribuiti normalmente con stessa media e deviazione standard e che
questo è tanto più vero quanto più è elevata la statistica (v. figg. 4a, 4b, 4c, che si riferiscono al caso
m = 0 ; σ = 10 ).
P. Romano – Derivazione con Excel della legge di Maxwell-Boltzmann delle velocità molecolari
3
Nelle figg. 5a e 5b, si riportano invece i risultati ottenuti nel caso di particelle di massa
m = 1.177 ⋅ 10 −25 kg ( Cl 2 ) e per le temperature di 400 ° K e di 1000 ° K (i grafici sono stati creati
in Excel mediante la creazione guidata grafico) . Il numero N di particelle è pari a 30.000 nei due casi. La
curva continua è ottenuta dalla distribuzione teorica (7). Si osservi come le curve ottenute con Excel
risultano essere in ottimo accordo con quelle che si ottengono attraverso la (7), se si esclude la regione
delle alte velocità, dove, per effetto della statistica bassa, si hanno notevoli fluttuazioni dei punti.
4. Il linguaggio macro V. B. A.
Alcune delle fasi sopra descritte possono essere rese automatiche utilizzando il linguaggio macro di
Excel. Questo linguaggio prende il nome di Visual Basic for Application (V. B. A.) e ciò per il fatto che si
tratta di una versione per Excel (e, più in generale, per tutti gli applicativi del pacchetto Microsoft Office)
del noto ambiente di programmazione Visual Basic di Microsoft.
Per utilizzare gli strumenti di analisi in ambiente V. B. A., è necessaria la loro preliminare attivazione. Da
strumenti, si sceglie componenti aggiuntivi, quindi si abilita l’opzione strumenti di analisi – VBA.
La seguente routine effettua la generazione dei numeri casuali, il calcolo del modulo delle velocità e la
costruzione dell’istogramma (fasi 1., 2., 3. del paragrafo precedente). Il tempo di esecuzione è risultato
essere di circa 25 secondi:
Sub velocità_molecolari()
1
part = Sheets(1).Range(“C3”)
2
Media = Sheets(1).Range(“C6”)
3
Sigma = Sheets(1).Range(“C7”)
4
Sheets(2).Range(“A2:C65536”).ClearContents
5
Application.Run “ATPVBAEN.XLA!Random”, Range(“A2”), 3, part, 2, , media, sigma
6
For I = 1 To part
7
Cells(1 + I, 4) = Sqr((Cells(1 + I, 1)) ^ 2 + (Cells(1 + I, 2)) ^ 2 + (Cells(1 + I, 3)) ^ 2)
8
Next i
9
Range(“L6:M68”).ClearContents
10
Application.Run “ATPVBAEN.XLA!Histogram”, Range(Cells(2, 4), Cells(part + 1, 4)),
Range(“L6”), Range(“J6:J66”), False, False, False, False
End Sub
La procedura, predisposta per operare su due fogli di lavoro, svolge le seguenti operazioni:
•
Lettura dei dati dal foglio 1 (numero delle particelle, quindi media e deviazione standard
della distribuzione normale – righe 1, 2, 3). Il numero di particelle non è più soggetto alla
limitazione N ≤ 32.767 , ma è di fatto limitato dal numero massimo di righe che un
foglio accetta ( 65.536 ). Per aumentare il numero di particelle oltre questi valori, bisogna
operare su più gruppi di tre colonne ciascuno;
•
Preparazione delle prime tre colonne del foglio 2 ( 3 × 65.536 celle) per la scrittura dei
numeri casuali (riga 4);
•
Generazione dei numeri casuali (riga 5): il codice lancia la sezione Random della
funzione ATPVBAEN.XLA4. Il primo parametro della funzione [Range(“A2”)] indica la
cella in alto a sinistra della matrice di numeri casuali, secondo e terzo parametro
definiscono la dimensione di questa matrice, il quarto definisce il tipo di distribuzione,
quinto e sesto i parametri della distribuzione;
•
Calcolo dei moduli delle velocità e loro memorizzazione nella quarta colonna del foglio 2
(accanto alla matrice dei numeri casuali – righe 6, 7, 8);
•
Preparazione di una zona del foglio 2 per la memorizzazione dei dati per l’istogramma
(riga 9);
•
Costruzione dei dati per l’istogramma (riga 10): il codice lancia la sezione Histogram
della funzione ATPVBAEN.XLA. Il primo parametro [Range(Cells(2, 4), Cells(part + 1,
4))] definisce la zona del foglio dove si trovano i dati da analizzare, il secondo parametro
4
Si tratta della funzione di libreria di Excel che consente l’uso degli strumenti di analisi in ambiente
V.B.A.
P. Romano – Derivazione con Excel della legge di Maxwell-Boltzmann delle velocità molecolari
4
[Range(“L6”)] definisce la cella in alto a sinistra della matrice di output (dati
dell’istogramma), il terzo parametro [Range(“J6:J66”)] definisce la zona del foglio dove
preventivamente andranno inseriti gli intervalli delle classi. Gli ulteriori parametri logici
riguardano altre caratteristiche dell’istogramma (v. anche fig. 3).
Per poter essere eseguita, la procedura deve essere inserita in un modulo V.B.A.. Ciò và fatto dal menù
strumenti, selezionando macro, quindi visual basic editor. In ambiente editor, dal menù inserisci,
scegliere modulo e digitare al suo interno la procedura.
L’esecuzione della procedura può avvenire in due modi:
•
Dal menù strumenti, scegliere macro due volte, quindi, nella finestra che si apre,
selezionare la procedura e scegliere esegui.
•
Creando un pulsante. Per fare ciò, bisogna, in primo luogo, visualizzare la barra dei
moduli (da visualizza, scegliere barre degli strumenti, quindi moduli). Tra i moduli,
selezionare pulsante e crearlo sul foglio. Contestualmente si ha l’apertura di una finestra
contenente l’elenco di tutte le macro, fra le quali và scelta quella da assegnare al pulsante
creato.
BIBLIOGRAFIA:
[1] D. E. Roller, R. Blum, “Fisica”, vol. 1, Bologna, Zanichelli.
[2] Zemansky, “Calore e termodinamica”, vol. 1, Bologna, Zanichelli.
[3] M. Born, “Fisica atomica”, Torino, Boringhieri.
[4] F. Martino, G. Goldoni, “Utilizzo del computer nell’insegnamento della fisica”, La Fisica nella
scuola, anno XX n. 4 ott-dic 1987.
[5] “Numerical recipes in C: the art of scientific computing”, Cambrige University Press.
P. Romano – Derivazione con Excel della legge di Maxwell-Boltzmann delle velocità molecolari
5
Fig. 1: La finestra di scelta degli strumenti di analisi di Excel.
Fig. 2: Finestra di assegnazione dei parametri per la
generazione dei numeri casuali
Fig. 3: Finestra di assegnazione dei parametri per l’istogramma. Le colonne A, B, C del foglio contengono
le componenti della velocità (numeri casuali). La colonna D contiene i moduli delle velocità sui quali opera
lo strumento di analisi istogramma.
P. Romano – Derivazione con Excel della legge di Maxwell-Boltzmann delle velocità molecolari
6
Distribuzione teorica
simul Excel N=10
0,05
frequenza relativa
0,04
0,03
0,02
0,01
0
-60
-40
-20
0
20
40
60
vx
Distribuzione teorica
simul Excel N=100
0,05
frequenza relativa
0,04
0,03
0,02
0,01
0
-60
-40
-20
0
20
40
60
vx
Distribuzione teorica
simul Excel N=10.000
0,05
frequenza relativa
0,04
0,03
0,02
0,01
0
-60
-40
-20
0
20
40
60
vx
Figg. 4a, 4b, 4c: distribuzione delle singole componenti della velocità per
N = 10,100,10.000 particelle.
P. Romano – Derivazione con Excel della legge di Maxwell-Boltzmann delle velocità molecolari
7
Distribuzione teorica
Simulazione Excel
frequenza relativa
1,E-02
1,E-03
1,E-04
1,E-05
1,E-06
1,E-07
0
500
1000
1500
2000
velocità (m/s)
Distribuzione teorica
Simulazione Excel
frequenza relativa
1,E-02
1,E-03
1,E-04
1,E-05
1,E-06
1,E-07
0
500
1000
1500
2000
velocità (m/s)
Figg. 5a e 5b: confronto tra la distribuzione teorica e la simulazione Excel per molecole
di cloro alle temperature di 400 ° K e di 1000 ° K .
P. Romano – Derivazione con Excel della legge di Maxwell-Boltzmann delle velocità molecolari
8
Scarica