Orbitali atomici per l'equazione di Scroedinger.
Lo scopo è quello di disegnare la distribuzione di probabilità di trovare un elettrone vicino ad un determinato punto dello spazio attorno al nucleo di un atomo idrogenoide (cioè un atomo con un solo elettrone ma con un nucleo composto da Z protoni). Dovete immaginare l'elettrone come una nuvola attorno al nucleo dell'atomo: i colori rappresentano la probabilità di trovare l'elettrone in un intorno di un determinato punto nello spazio per un determinato orbitale (quello scelto fissando tre parametri (n,l,m)). I parametri hanno il loro solito significato: n è detto "numero quantico principale" ed è legato all'energia dell'orbitale; l è detto "numero quantico azimutale" (o orbitale) in quanto è legato al momento angolare orbitale; m è detto "numero quantico magnetico". Ciascuna scelta della tripletta individua un diverso orbitale e quindi un diverso comportamento dell'elettrone. Per ottenere la tridimensionalità degli orbitali dovete farli ruotare attorno all'asse verticale dello schermo. Notate anche come il medesimo orbitale si rimpicciolisce quando aumentate il numero Z di cariche positive nel nucleo.
Poiché sono un fisico, prima di tutto vi dirò qualcosa sull'equazione di Scroedinger (se già conoscete questi argomenti potete benissimo saltarli: Goto Shortcut): avete bisogno solo di poche nozioni di algebra elementare in quanto ometterò tutti i dettagli e citerò solo i concetti essenziali. Inoltre tutto quello che segue fino all'etichetta Shortcut esclusa non è indispensabile per la comprensione del programma.
Le soluzioni dell'equazione di Scroedinger forniscono la distribuzione della densità di probabilità nello spazio, ovvero qual'è la possibilità di trovare la particella nell'intorno di un determinato punto. L'equazione agli autovalori si scrive:
Hu(x) = Eu(x)
dove H è l'operatore Hamiltoniano, E è l'autovalore (l'energia) e u(x) è l'autofunzione. Il passo successivo è quello di scrivere il vettore x = (x, y, z) in coordinate sferiche (r, theta, phi) e di cercare una soluzione dell'equazione della forma R(r)T(theta)P(phi), dove R dipende solo dal raggio r, T dipende solo dall'angolo theta e P dipende solo dall'angolo phi. Scriviamo quindi:
H[R(r)T(theta)P(phi)] = E [R(r)T(theta)P(phi)]
Se prendiamo come operatore H il Laplaciano (in notazione TeX: \nabla^2) più un potenziale U(r) dipendente solo dalla coordinata radiale, la soluzione generale è:
u (r, theta, phi) = R (r) Y (theta, phi) nlm n lm
dove le Y sono le cosiddette armoniche sferiche (alcune utili funzioni che sono già state studiate dai matematici).
L'atomo idrogenoide appartiene a questo schema generale: immaginiamo una particella con una carica negativa che si muove in un potenziale di tipo Coulombiano
2 Ze U(r) = - --- r
generato da un nucleo fisso con Z cariche positive. Sostituendo tale potenziale nelle relazioni precedenti, con molti(ssimi) conti noiosi e subdoli ricaviamo che la parte R è costituita dai polinomi di Laguerre (altre terribili funzioni). In questo modo abbiamo ricavato le funzioni u_{nlm}, parte delle quali compaiono nel programma.
Supponiamo che abbiate saltato tutta la parte precedente (se non l'avete fatto ora probabilmente avete un terribile mal di testa): partite con una funzione u dipendente da tre parametri interi non negativi (n,l,m) e da tre variabili (r, theta, phi) che sono le coordinate sferiche di un punto nello spazio. Fissate i tre parametri (ad es.: (n,l,m)=(1,0,0)): affermo che la risultante funzione u ha una simmetria di rotazione rispetto all'angolo phi, quindi possiamo rappresentarla su uno schermo 2-dimensionale utilizzando solo le rimanenti coordinate (r, theta); poi possiamo ruotarla con l'immaginazione attorno all'asse verticale dello schermo per ottenere il risultato finale. A seconda dei valori dei tre parametri la funzione u ha espressioni differenti e, quindi, diverse sono le forme che appaiono sul vostro monitor.
Il programma è un function plotter: valuta la funzione u(r, theta) per un intervallo di valori delle due variabili; il valore di u viene poi convertito in colore e disegnato sullo schermo. Poiché la funzione u fornisce una probabilità i suoi valori sono compresi tra 0 e 1, però tale valore è spesso così piccolo che, quando viene convertito in colore, fornisce sempre 0 come risultato. Dunque ho dovuto aggiungere il "colour factor", ovvero un fattore moltiplicativo che "sposta" il valore della probabilità in un intervallo utile per la selezione dei colori. C'è un modo migliore per far questo: calcolare l'intero grafico senza disegnarlo e memorizzare il massimo valore che si ottiene per la funzione u; poi potete scalare la densità di probabilità in modo che il valore massimo corrisponda al colore numero 31, e così via... Non ho scritto questa parte dell'algoritmo (potete farlo voi per esercizio se volete) poiché il programma sarebbe diventato più lento e, invece, volevo che ammiraste gli orbitali dell'atomo di idrogeno senza dover attendere troppo.
Scritto da: Andrea Galimberti e-mail: fsoft@intercom.it Via E.Villoresi Turbigo (MI) ITALY tel: (ITA) - (0)331 - 871009