Teorie della struttura e termodinamica di soluzioni colloidali

Università degli Studi di Trieste
Dipartimento di Fisica
Corso di Laurea in Fisica
Teorie della struttura
e termodinamica
di soluzioni colloidali
Relatore:
Prof. Giorgio Pastore
Candidata:
Alice Cuzzocrea
Anno Accademico 2014/2015
Indice
Introduzione
2
1 Soluzioni Colloidali
1.1 Colloidi patchy . . . . . . . . . . .
1.1.1 Esempi di colloidi patchy in
1.2 Modellizzazione dei colloidi . . . .
1.2.1 Modelli isotropi . . . . . . .
1.2.2 Modelli anisotropi . . . . .
. . . . . . .
laboratorio
. . . . . . .
. . . . . . .
. . . . . . .
2 Metodo di Monte Carlo
2.1 Integrazione Monte Carlo . . . . . . . . . . .
2.1.1 Importance sampling e catene Markov
2.1.2 Il metodo di Metropolis . . . . . . . .
2.2 Tecniche di ottimizzazione del Monte Carlo .
2.2.1 Minimum image criterion . . . . . . .
2.2.2 Liste dei vicini e Linked Lists . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
4
5
7
8
10
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
13
14
15
16
18
19
19
3 Simulazioni effettuate
22
3.1 Struttura del programma . . . . . . . . . . . . . . . . . . . . 22
3.2 Calcolo degli errori correlati . . . . . . . . . . . . . . . . . . . 23
3.3 Risultati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4 Conclusioni
30
1
Introduzione
Le soluzioni colloidali sono sistemi di grande interesse sia per le loro caratteristiche fisiche sia per le possibili applicazioni tecnologiche. Negli ultimi
tempi, una parte importante del loro studio si è focalizzata sullo sviluppo
di strutture autoassemblanti, di strutture utili nel campo della fotonica e
varie altre applicazioni come il trasporto controllato di farmaci attraverso
il sangue. La ricerca si svolge parallelamente sul campo sperimentale e su
quello teorico. In ambito sperimentale mira a trovare i materiali e le tecniche
adatte a creare colloidi con le più svariate forme e tipi di interazione, nell’ottica di riuscire ad ottenere particelle con specifiche proprietà ma anche che
si possano produrre in grandi quantità. Dal punto di vista teorico si prova,
attraverso simulazioni, a predire le strutture che possono essere formate e
le loro caratteristiche, in modo da capire quali sono i tipi di colloidi più interessanti. Questo lavoro di tesi introduce questa problematica descrivendo
brevemente lo stato attuale della ricerca e alcuni degli strumenti necessari a
fare una simulazione in questo campo. Infine viene messo in pratica quanto
imparato attraverso una serie di simulazioni Monte Carlo.
Il lavoro è articolato in tre capitoli; nel primo, oltre ad introdurre le soluzioni colloidali e focalizzarsi sugli obiettivi di ricerca collegati, si spiega cosa
sono i colloidi con interazioni anisotrope soffermandosi sui colloidi patchy.
Particolare attenzione è posta sui possibili modelli di interazione da utilizzare per fare simulazioni e sull’accuratezza delle informazioni che si possono
ottenere. Nel secondo capitolo viene introdotto il metodo di integrazione
di Monte Carlo in meccanica statistica, in particolare quello di Metropolis.
Vengono brevemente ripresi gli strumenti teorici necessari a capirne il funzionamento e si prova a dare una descrizione dei principali aspetti pratici di
cui occorre tener conto per effettuare una simulazione Monte Carlo. Oltre a
ciò, sono spiegate alcune tecniche utili per ottimizzare l’implementazione del
Monte Carlo, in particolare il metodo delle linked lists. Nel terzo capitolo
vengono mostrati i dettagli della simulazione effettuata nel corso del lavoro
e presentati i risultati ottenuti. Una breve conclusione riassume il contenuto
della tesi e la discussione dei risultati ottenuti.
2
Capitolo 1
Soluzioni Colloidali
Le soluzioni colloidali sono delle miscele formate da particelle ‘grandi’, con
diametro che va da qualche decina di nanometri ai micrometri, immerse in
un solvente costituito da particelle più piccole. Sono colloidi, ad esempio, le
miscele di granuli di polline e acqua o più semplicemente il latte o il sangue.
La particolarità di queste sostanze è che hanno una dinamica intermedia tra
quella di una soluzione in cui la scala di tempo del moto del soluto e del solvente sono paragonabili e quella di sistemi in cui cessa quasi completamente
il moto del soluto (precipitati).
Una delle caratteristiche dei colloidi è proprio il moto delle particelle
‘grandi’ all’interno del solvente, detto moto Browniano. Questo, è un moto
disordinato dovuto ai continui urti tra le particelle colloidali (intendendo le
particelle grandi) e le piccole molecole del solvente; le particelle colloidali,
grazie a questi ripetuti colpi riescono a non precipitare anche in presenza
della forza di gravità.
Una parte dello studio moderno sui colloidi, più che sulla dinamica delle
particelle all’interno della soluzione, si concentra sul tipo di strutture che
possono essere formate con esse e le proprietà che ne derivano. Vista la
facilità con cui si assemblano e le caratteristiche dei legami che formano
si vorrebbe riuscire, in futuro, ad utilizzarli per ottenere strutture autoassemblanti e strutture che si riparano da sole, molto utili ad esempio in
campo medico nel quale potrebbero avere utilizzi che vanno dal trasporto
controllato di farmaci al creare muscoli artificiali. In altro campo tecnologico, l’interesse è dovuto principalmente alle possibili applicazioni in fotonica.
In questo caso, essendo i colloidi di dimensioni comparabili alla lunghezza
d’onda della luce nel visibile, cristalli di queste particelle potrebbero essere
utilizzati per favorire o proibire il trasporto della luce.
Quando si pensa alle potenziali strutture da creare, bisogna tenere presente che l’assemblaggio dei colloidi è molto diverso da quello di atomi e
molecole perché, in questo caso, a differenza di ciò che accade con atomi e
3
CAPITOLO 1. SOLUZIONI COLLOIDALI
4
Figura 1.1: Esempi di particelle colloidali con forme diverse da quella sferica: (a)
cubi, (b) ottaedri, (c) dodecaedri rombici, (d ) cubi troncati, (e) bastoncini esagonali, ( f ) dischi esagonali,( g) dodecaedri rombici troncati, (h) prisma a bipiramide
esagonale. Figura tratta dalla referenza [3].
molecole, il range delle interazioni tra due particelle è molto piccolo rispetto
alla loro taglia. Questa caratteristica li porta ad essere molto interessanti
nel campo della ricerca per il tipo di strutture che permette di creare. In più
grazie alle loro dimensioni diventa possibile, sfruttando le nuove tecnologie,
crearne a piacimento scegliendone forma, grandezza, carica e molto altro
come si può vedere in figura 1.1; infine, sempre la loro taglia rende possibile
tracciarne istantaneamente tutti i movimenti.
1.1
Colloidi patchy
Negli ultimi tempi, i colloidi più interessanti si sono rivelati quelli con interazioni anisotrope, tra questi quelli che hanno forma sferica sono detti ‘Janus
colloids’. Inizialmente venivano così indicati i colloidi formati da due calotte interagenti in maniera diversa, ad esempio una calotta che si comporta
come una sfera rigida e l’altra calotta ‘appiccicosa’, o una parte della sfera
idrofoba e l’altra idrofila, o ancora una parte carica e una neutra; di fatto è
proprio da questa dualità che deriva l’idea del nome ‘Janus’ che allude al dio
romano con due facce. Adesso invece, il termine ‘Janus colloids’ o equivalentemente ‘patchy colloids’ si utilizza per tutti i collodi sferici con interazioni
anisotrope qualunque sia il numero di patches con cui sono decorati.
Nel caso isotropo i tipi di strutture creati sono banali, ad esempio si
formano reticoli cubici o esagonali, invece con le interazioni anisotrope è
possibile creare cristalli più interessanti come quello in figura 1.2(b). In
questo caso, nelle situazioni semplici, è facile predire le strutture che verranno formate; ad esempio, è possibile immaginare che dei colloidi con un punto
attrattivo per ognuno dei due poli si uniranno a formare delle catene [3].
Spesso però, si trattano casi più complicati in cui le patches sono asimmetriche, sono più di due o la forma delle particelle utilizzate non è sferica;
CAPITOLO 1. SOLUZIONI COLLOIDALI
(a) Colloide patchy: in blu la
struttura di base sferica, in
rosso le tre patches attrattive
responsabili dell’anisotropia.
5
(b) Struttura formata con colloidi janus, in cui metà sfera è attrattiva (arancione), metà (azzurro) non interagente.
Figura tratta dalla referenza [3].
Figura 1.2: Esempi di colloidi patchy e strutture che possono formare.
in queste occasioni, per poter avere un idea delle strutture che verranno
formate, è necessario eseguire delle simulazioni.
Nel caso dei colloidi sferici variando il numero di patches si agisce direttamente sul numero massimo di primi vicini. Le sfere con interazione
isotrope si dispongono in modo che il loro numero di coordinazione sia 12.
Con l’utilizzo delle patches o di altri meccanismi che generano interazioni
anisotrope questo numero può essere ridotto notevolmente. Infatti, si può
pensare ogni patch come un sito di coordinazione limitato dalla sua forma e
dalla sua area; agendo sul numero di patches e su questi altri fattori si dovrebbe quindi riuscire a modificare il numero di coordinazione e le strutture
ottenibili [3].
1.1.1
Esempi di colloidi patchy in laboratorio
Sperimentalmente ci sono moltissimi modi per creare un colloide con interazioni anisotrope. Si possono, ad esempio, realizzare dei punti di interazione
utilizzando dei singoli filamenti di DNA, in modo che il legame possibile sia
solo con i punti delle altre particelle in cui ci sia una catena di DNA complementare [3]. Un altro tipo di legami fortemente direzionali sono ottenuti
costruendo particelle complementari dette ‘lock and key’, create in modo
che la cavità nella particella ‘serratura’ combaci con la forma della particella ‘chiave’ [3]. Inoltre, è possibile ricoprire aree selezionate dei colloidi
con dei metalli (come oro o titanio) creando in maniera diretta le patches;
tramite alcune tecniche, è possibile anche fare assorbire al colloide specifiche nanoparticelle; in alternativa, per creare delle zone attrattive vengono
sfruttate catene idrofobe o gruppi funzionali vari [3].
CAPITOLO 1. SOLUZIONI COLLOIDALI
(a) Patches create con il Dna e
altri gruppi funzionali.
6
(b) Esempi di collodi lock and
key.
Figura 1.3: Colloidi con interazioni anisotrope. In alto il modello in basso le
immagini sperimentali. Figure tratte dal riferimento [3].
Il numero e la disposizione delle patches viene scelto in base al tipo di
comportamento o di struttura finale a cui si è interessati; tenendo presente che se il numero di patches aumenta molto, l’anisotropia svanisce e le
particelle tornano a comportarsi come nel caso delle interazioni isotrope,
soprattutto se le patches sono simmetriche.
La forma dei collodi, invece, come detto, solitamente si sceglie sferica;
però, sono state sviluppate nuove tecniche sperimentali che permettono di
ottenere svariate forme di colloidi ad esempio bastoncini, cubi, ottaedri e
dischi esagonali. In questi casi, a differenza che con le sfere, anche in assenza di patches le interazioni sono fortemente direzionali, infatti, ci sono
dei gradi di libertà che dipendono dall’orientazione. In questo modo, la
struttura finale viene alterata, ed oltre a ciò, cambia anche l’entropia del
sistema; ad esempio, quando ci sono delle facce, esse tendono ad allinearsi
per massimizzare l’entropia [3].
Per ottimizzare la formazione di certe strutture, oltre alla forma delle
particelle e alla disposizione delle patches, è di fondamentale importanza il
tipo di interazione che si ottiene. In alcuni casi, infatti, si rischia di creare
delle soluzioni in cui le particelle non si assemblano. Ad esempio, se si
decorano dei colloidi con sostanze cariche e idrofobiche e si mettono in acqua
deionizzata la repulsione elettrostatica potrebbe essere così a lungo raggio
da proibire la formazione di strutture particolari e, solo con un’adeguata
aggiunta di sale in acqua, si riesce a schermare la carica e a far sì che le
interazioni a corto raggio dovute alla parte idrofoba diventino rilevanti [3].
Le interazioni direzionali dovute a campi elettrici o magnetici, sono in
effetti molto importanti. Si è visto sperimentalmente che alcune distribuzioni di carica asimmetriche riescono a spiegare l’aggregazione di certe proteine
e si vorrebbe quindi riuscire a compiere il processo inverso, ossia, progettare
strutture basate su distribuzioni di carica asimmetrica e capire come mettere
le patches per ricrearle.
L’importanza delle interazione elettromagnetica è accentuata dal fatto
CAPITOLO 1. SOLUZIONI COLLOIDALI
7
che quasi tutte le particelle colloidali si polarizzano in presenza di un campo
elettrico esterno. Questa caratteristica può essere utile per creare determinate strutture e manipolarle istantaneamente. L’interazione magnetica, in
questo senso, si rivela spesso più interessante poiché le strutture create in
presenza del campo magnetico, una volta che il sistema si è magnetizzato,
rimangono anche quando viene spento. Allo stesso tempo, è possibile demagnetizzare il sistema con dei campi molto forti e riprogrammarlo. Si intuisce
facilmente come questa caratteristica si riveli essenziale se si vogliono ottenere dei sistemi stabili che però diano l’opportunità di essere riconfigurati a
piacere [3].
Per ottenere risposte magnetiche adeguate i colloidi vengono spesso ricoperti con materiali ferromagnetici oppure si creano dei punti di interazione
inserendo delle nanoparticelle magnetiche all’interno della particella colloidale; per creare dei colloidi Janus con interazioni magnetiche si può ad
esempio, ricoprire metà particella con un materiale ferromagnetico e l’altra
metà con un materiale antiferromagnetico ottenendo facilmente il dualismo
dell’interazione.
1.2
Modellizzazione dei colloidi
Quando, per predirne le proprietà, si vogliono modellizzare questi sistemi si
devono affrontare una serie di scelte che andranno ad incidere sulla realisticità del sistema simulato ma anche sulla generalità dei risultati ottenuti.
In molti casi un modello molto accurato non è efficiente per l’utilizzo in
simulazioni con gran numero di particelle o su tempi lunghi. D’altra parte,
modelli molto efficienti dal punto di vista computazionale spesso sono poco accurati, quindi, i risultati che ne derivano non rappresentano situazioni
fisiche reali. Di fatto ciò che si prova a fare è trovare un modello che sia
un compromesso tra efficienza e accuratezza, il limite, ovviamente, non è
fissato ma dipende dal tipo di sistema studiato e dai risultati che si vogliono
ottenere.
Inizialmente per avere un sistema più realistico possibile si potrebbe
pensare di tener conto, durante la simulazione, di tutti gli atomi che formano il singolo colloide e di tutti i rispettivi elettroni e quindi di tutte le
varie interazioni elettrone-elettrone, atomo-atomo, atomo-elettrone. Tenendo presente che un singolo colloide contiene un numero di atomi tra 103 e
109 , il numero di elettroni di un sistema sarebbe molto maggiore di 109 , il
che renderebbe impossibile la simulazione. Si trascurano quindi i gradi di
libertà elettronici, ipotizzando la loro dinamica irrilevante per la maggior
parte dei problemi. In secondo luogo, sebbene sarebbe possibile ricreare un
sistema con 103 /104 atomi, quello a cui si è interessati quando si studiano
i colloidi non è la simulazione della singola particella ma di un sistema più
CAPITOLO 1. SOLUZIONI COLLOIDALI
8
ampio formato da almeno un centinaio o un migliaio di particelle. Pertanto risulta quasi sempre necessario trascurare anche tutte le interazioni tra
atomi, e modellizzare il colloide come un unico oggetto rigido, racchiudendo
tutte le interazioni colloide-colloide in un certo potenziale medio che renda
possibile la simulazione, e che se scelto bene, darà informazioni localmente
meno accurate ma nel complesso corrette.
Una volta scelto di trattare il colloide come unica particella si deve scegliere in che modo farlo interagire. Si sceglie di utilizzare delle Hamiltoniane
classiche, quindi si trascurano tutti gli effetti quantistici. L’approssimazione classica è giustificata per una particella di massa M qa temperatura T
2
quando la lunghezza d’onda termica di de Broglie Λ = M2πh̄
kB T , dove h̄ è
la costante di Planck ridotta e kB è la costante di Boltzmann, è più piccola della distanza media tra primi vicini a. Questo è quasi sempre vero nei
liquidi, tuttavia per temperature troppo basse Λ cresce e l’approssimazione
diviene meno corretta.
Come detto in precedenza le soluzioni colloidali sono composte, oltre che
dalle particelle colloidali, dal solvente in cui queste sono immerse. Per cui,
nel modellizzare un sistema di questo tipo, bisogna inserire l’interazione con
l’ambiente, ossia il solvente in cui si trova la dispersione colloidale.
I solventi possono essere svariati e il numero di particelle che li compone
grandissimo. Se immaginiamo una soluzione in cui le particelle colloidali
siano immerse in acqua, il rapporto tra colloidi e molecole di acqua sarà
piccolissimo; potrebbe succedere quindi che prendendo un campione di mille particelle ci si ritrovi ad averne 997 di acqua e 3 colloidali, un numero
troppo esiguo se si vogliono ottenere informazioni statistiche sul sistema.
In più, solitamente in acqua si trova disciolto un sale, la cui quantità di
molecole rispetto a quelle d’acqua sarà anch’essa una frazione piccolissima,
sarebbe nulla quindi, anche la statistica sull’interazione tra colloidi e ioni
salini. Gli ioni salini però, essendo carichi, hanno un ruolo molto importante all’interno della soluzione schermando parzialmente la carica delle grandi
particelle colloidali. La loro presenza non è quindi trascurabile. D’altra parte, risulta evidente l’impossibilità di tenerne conto singolarmente. Di norma
quindi il solvente viene sostituito con un campo medio e le caratteristiche
del solvente (ad esempio il grado di salinità) vengono incluse nel potenziale
di interazione. Questa operazione, oltre ad eliminare dalla simulazione un
enorme numero di singole molecole e quindi di interazioni, permette anche
di avere dei risultati più generici.
1.2.1
Modelli isotropi
Alla luce di quanto detto la scelta del potenziale d’interazione risulta decisiva per ottenere previsioni che abbiano dei buoni riscontri con i sistemi
reali. Deve infatti riuscire ad inglobare l’interazione tra particelle colloidali
CAPITOLO 1. SOLUZIONI COLLOIDALI
9
inserendo anche l’effetto della ionicità del solvente. Inoltre è auspicabile che
uno stesso potenziale sia adattabile a varie condizioni del solvente.
Il potenziale più semplice con cui si può modellizzare un sistema colloidale è quello con cui le particelle vengono trattate come sfere rigide che non
si ‘vedono’ a meno che non ci sia uno scontro, il che equivale ad avere
(
U (r̄) =
∞ r̄ ≤ σ̄
0 r̄ ≥ σ̄
(1.1)
dove σ̄ è il raggio della sfera. In questo modo però, non si otterrebbe alcuna
struttura perché i colloidi si comporterebbero come delle palline che semplicemente non possono compenetrarsi, oltre al fatto che il solvente sarebbe
ignorato.
Un modello un po’ più realistico è quello in cui si aggiunge un potenziale attrattivo, per cui se due particelle si avvicinano abbastanza sentono
una forza attrattiva che le fa legare. Questo si può fare utilizzando diversi
potenziali ad esempio il potenziale di Lennard-Jones o più semplicemente
una buca di potenziale quadrata. Quest’ultimo sebbene meno realistico, in
quanto è un potenziale discontinuo, rende il calcolo più veloce ed è quindi
preferibile in molti casi.
Figura 1.4: Potenziale a buca quadrata: σ indica il raggio della particella, e λ
regolano rispettivamente profondità e larghezza della buca.
Il potenziale di coppia per le buche quadrate è1
U (rij ) =


∞



0
1
rij ≤ σ
σ ≤ rij ≤ λσ
rij ≥ λσ
(1.2)
Solitamente le interazioni tra queste particelle dipendono solo dalla loro distanza relativa, per cui non serve conoscere la posizione della singola particella r¯i ma solo la distanza
di questa dall’altra particella interagente j, si usa quindi rij .
CAPITOLO 1. SOLUZIONI COLLOIDALI
10
dove λ è un parametro che regola la larghezza della buca, invece ne regola
la profondità (come si vede in figura 1.4). Variando la larghezza e la profondità delle buca si riescono a ricreare diversi sistemi. Si può pensare come
esempio ad un sistema iniziale formato da colloidi in soluzione acquosa in
cui successivamente si scioglie del sale; gli ioni solvateranno i colloidi, schermando parte della loro carica. In questo caso, diminuire la larghezza della
buca di potenziale aiuta a rendere il sistema più realistico, nel senso che
ad una maggiore concentrazione di sale disciolto in acqua corrisponderà un
potere attrattivo del colloide minore e di conseguenza una buca più piccola. Si riesce così a tenere conto della soluzione senza inserirla direttamente
nella simulazione ma ‘nascondendola’ nel valore dei parametri del potenziale.
1.2.2
Modelli anisotropi
Questi potenziali però, non vanno bene per simulare sistemi di colloidi ‘patchy’. Infatti, in questo caso, si devono utilizzare potenziali anisotropi, quindi
sensibili all’orientazione relativa delle particelle. Uno tra i modelli più semplici per studiare le interazioni anisotrope è stato proposto da Norbert Kern
e Daan Frenkel nel 2003 [2]; questo modello prevede che la particella colloidale sia trattata come una sfera rigida neutra e che, invece, alle patches
venga affidato un potenziale attrattivo. Il potenziale di coppia che descrive
tale sistema si scrive come prodotto tra il potenziale a square-well visto e
una funzione dell’angolo
uij (rij ; Ωi , Ωj ) = u(rij ) · f (Ωi , Ωj )
(1.3)
in cui rij è la distanza tra le particelle interagenti i e j, u(rij ) è il potenziale
attrattivo a square-well dell’equazione 1.2, mentre f (Ωi , Ωj ) è una funzione
degli angoli che permette di differenziare l’interazione delle porzioni di sfera
ricoperte dalle patches da quelle libere
f (Ωi Ωj ) =






1

1





0
(
b α ≥ cos(δ)
rbij · n
b β ≥ cos(δ)
e rbij · n
se rij ≤ σ
altrimenti
se
(1.4)
come si vede in figura 1.5, δ è l’angolo che individua l’estensione delle
patches, rbij è un vettore unitario con la stessa direzione della congiungente
bα e n
b β sono i versori che indicano
dei centri delle particelle i e j, mentre, n
l’orientazione delle patches. L’attrazione è quindi limitata ai casi in cui le
patches delle due particelle si interfacciano. Infatti, se l’angolo tra il vettore
che individua la patch e la congiungente delle due particelle è maggiore di δ
per almeno una delle due particelle, l’interazione è nulla.
CAPITOLO 1. SOLUZIONI COLLOIDALI
11
Figura 1.5: Interazione tra due particelle colloidali, ognuna delle quali ha tre
patches. In verde si vede la parte neutra, invece in azzurro è evidenziata la buca
attrattiva in corrispondenza delle patches.
Il modello di Kern e Frenkel permette di scegliere sia la grandezza delle
patches sia il loro numero e la loro disposizione, ad esempio si possono
tranquillamente trattare particelle come quelle in figura 1.5. Si è visto che,
con questo modello, il sistema con solo due calotte di misura uguale (che
corrisponde a scegliere cos(δ) = 0) riproduce molto bene il caso di colloidi
con un emisfero idrofobo e l’altro idrofilo, infatti semplicemente utilizzano
il potenziale di Kern e Frenkel si riescono a ricreare micelle e vescicole [5].
Tale modello separa nettamente la parte angolare da quella radiale, in
questo modo risulta facile rendersi conto di quali comportamenti dipendano
dalla distanza tra particelle e quali dalle loro orientazioni. Il potenziale di
Kern-Frenkel è il più semplice che riproduca un sistema anisotropo perché
ipotizza che tutte le patches siano attrattive, abbiano la stessa grandezza e
stessa energia di legame. Inoltre, essendo il potenziale discreto anche nella
sua parte angolare, non c’è differenza di guadagno energetico tra il caso
in cui due patches si sfiorano solamente e quello in cui l’orientazione delle
patches coincide con la congiungente tra le particelle.
Infine, per studiare questi sistemi con interazione anisotropa è importante tenere sotto controllo il grado di anisotropia totale; cioè, come venga
influenzato il sistema in funzione sia dal numero di patches sia della loro
grandezza. Per facilitare il confronto tra sistemi con geometrie diverse è utile introdurre una grandezza che indichi la frazione di area totale ricoperta
dalle varie patches. Si definisce quindi la quantità:
χ = n · sin2
δ
2
(1.5)
dove n è il numero di patches e δ l’apertura angolare di ciascuna di esse.
CAPITOLO 1. SOLUZIONI COLLOIDALI
12
(a) Legami tra tre patches, ognuna (b) Legami tra tre particelle che
legata con le altre due
coinvolge due patches per ogni
particella.
Figura 1.6: Esempi di strutture formate con particelle patchy.
Questa quantità è molto importante ad esempio quando si studiano le curve
di coesistenza liquido-liquido; si nota infatti, che queste curve sono molto
sensibili al grado di anisotropia del sistema, e variando la χ variano sia la
temperatura che la densità critica. Inoltre tenere sotto controllo l’estensione
delle patches è essenziale perché si ripercuote sul numero di coordinazione
della particella. Per questo motivo è bene capire come e quanto l’angolo che
individua la zona attrattiva influenzi il numero di legami sempre nell’intento
di riuscire a predire le strutture finali.
Ad esempio si immagini un legame che avvenga tra tre patches di tre
particelle diverse in modo che ognuna delle patches sia legata ad entrambe
le altre come in figura 1.6 (a). Perché possa formarsi un legame del genere
c’è bisogno di avere un apertura δ ≥ 30o indipendentemente da come siano
disposte le patches sulla superficie. Inoltre, per lo stesso motivo, nei casi in
cui ci siano più di sei patches diventa impossibile ottenere simili strutture.
Un caso in cui è più difficile geometricamente imporre condizioni sul δ minimo è quello in cui un legame di tre particelle coinvolga sei patches in modo
che per ogni particella il legame con le altre due sia affidato a due patches
diverse, come mostrato in figura 1.6 (b). Oltre all’angolo, anche il fattore
di copertura χ è importante in questi casi. Ad esempio secondo gli studi
di Kern e Frenkel, esaminando particelle con due patches, per ottenere la
prima delle strutture citate è necessario che χ si almeno 0.13 mentre perché
si formi la seconda struttura si deve avere χ ≥ 0.50 [2].
Ad ogni modo sono stati sviluppati altri modelli per simulare sistemi
di colloidi anisotropi. Tra questi c’è lo ‘spot-like patch model’, basato su
un’idea analoga a quella di Kern e Frenkel, in cui le particelle sono delle
sfere rigide neutre sulla cui superficie si trova un numero fissato e piccolo
di sferette attrattive. Queste interagiscono con i siti attrattivi delle altre
particelle attraverso potenziali di coppia a square-well. In questo caso l’estensione delle patches è determinata dalla sfera attrattiva assegnata allo
spot.
Capitolo 2
Metodo di Monte Carlo
I metodi di simulazione utilizzati per studiare i liquidi si possono classificare,
solitamente, in due tipologie diverse: il metodo della Dinamica Molecolare
(deterministico) e il metodo di Monte Carlo (stocastico). La Dinamica Molecolare, si basa sull’integrazione numerica delle equazioni del moto e sul
calcolo di medie temporali. Il metodo di Monte Carlo, invece, non è legato
a una dinamica delle particelle nello spazio reale, piuttosto si basa su un
‘moto’ casuale per campionare punti nello spazio delle fasi in accordo con
una distribuzione di probabilità di equilibrio.
Nel corso di questo lavoro di tesi si è utilizzato il metodo di Monte
Carlo. Il metodo di Monte Carlo nasce grazie a von Neumann, Ulam e
Metropolis a metà del novecento. Il nome Monte Carlo è stato scelto proprio
per sottolineare l’utilizzo di numeri random che lo caratterizza.
Le sue origini si possono intravedere già nel diciottesimo secolo, quando un naturalista francese, Buffon, aveva risolto un problema di geometria
probabilistica con un idea del tutto analoga all’attuale Monte Carlo. Egli
aveva verificato che lanciando un ago di lunghezza l in modo casuale in un
piano diviso da linee parallele ed equispaziate da una distanza d (con d < l),
2l
la probabilità che l’ago attraversi una linea è πd
, riuscendo a ricavare una
stima numerica del π dalla misura della frequenza di intersezioni [1].
Da questa idea iniziale, il Monte Carlo, si è evoluto nel tempo sviluppandosi in maniera differente nei vari ambiti in cui viene utilizzato che vanno
dalla fisica ad altre discipline come la biologia e la matematica. In questo
lavoro ci si concentra su un tipo specifico di Monte Carlo che è detto metodo
di Monte Carlo Metropolis.
In generale si tratta di una tecnica di integrazione che ha come ingredienti
fondamentali: la generazione di numeri casuali, che permettono di spostarsi
nello spazio di integrazione e una certa distribuzione di probabilità che porta
ad accettare o meno la mossa random fatta.
13
CAPITOLO 2. METODO DI MONTE CARLO
2.1
14
Integrazione Monte Carlo
A questa tipo di integrazione appartiene ad esempio il metodo ‘hit and miss’
o il più generale ‘sample mean method’. In quest’ultimo caso si riscrive il
generico integrale a cui siamo interessati
Z b
dx f (x)
I=
(2.1)
a
introducendo una probabilità che sia funzione della posizione
Z b
dx
I=
a
f (x)
ρ(x).
ρ(x)
(2.2)
Per calcolare numericamente l’integrale basta campionare lo spazio delle
posizioni utilizzando dei numeri casuali χi che seguano la distribuzione di
probabilità di ρ(x) e trovare la media statistica
I=h
f (χi )
ii
ρ(χi )
(2.3)
dove la media si intende su tutti i punti campionati.
A questo punto quello su cui si deve lavorare per ottimizzare l’integrazione è
la funzione di distribuzione di probabilità ρ(x). Nel caso più semplice si può
1
utilizzare una funzione di distribuzione uniforme ρ(x) = (b−a)
a ≤ x ≤ b.
Già con questa scelta si nota l’efficienza del Monte Carlo rispetto agli
altri metodi di integrazione deterministici. Prendiamo ad esempio il metodo
Simpson che per integrali unidimensionali, a parità di punti campionati,
fornisce risultati più esatti del Monte Carlo. In una dimensione l’errore
associato a un integrale fatto con il metodo Simpson è ∝ 1/N 4 invece l’errore
di una simulazione Monte Carlo è ∝ 1/N 1/2 il che rende la convergenza
dell’integrazione Simpson molto più veloce.
All’aumentare del numero di dimensioni, mentre l’errore associato al
Monte Carlo non cambia, l’errore del metodo Simpson, essendo inversamente proporzionale al numero di campionamenti per dimensione, scala come
1/N 4/d (d numero di dimensioni). Quando si vogliono fare integrali in meccanica statistica il numero di dimensioni è solitamente molto maggiore di
100; dalle formule si vede però che già quando si tratta un sistema di nove dimensioni il metodo di Monte Carlo è preferibile al Simpson in quanto
converge prima alla soluzione corretta. Allo stesso modo tutti i metodi
di integrazione deterministici per quanto efficienti siano avranno un errore
∝ 1/N a/d (dove a è la potenza con cui scala l’errore) per cui ci sarà sempre una certa dimensione d ≥ 2a dalla quale la convergenza del metodo in
questione sarà minore di quella del Monte Carlo.
CAPITOLO 2. METODO DI MONTE CARLO
2.1.1
15
Importance sampling e catene Markov
Quando si vuole ottenere la funzione di partizione di un sistema, o più in
generale delle medie statistiche, utilizzando il Monte Carlo con distribuzione uniforme (così come avverrebbe con il metodo di Simpson) la maggior
parte dei punti campionati per l’integrazione sarebbero trascurabili essendo
il fattore e−βU (χ) quasi nullo in gran parte dello spazio (con β si intende il
fattore di Boltzmann KB1 T e con U (χ) l’energia della configurazione).
Per evitare questo spreco di calcolo e rendere più efficiente l’algoritmo è
necessario utilizzare una ρ(x) che permetta di campionare più spesso i punti
più rilevanti e meno spesso quelli con contributo quasi nullo.
Ci si chiede quindi quale sia la migliore funzione di distribuzione per ottenere
medie in meccanica statistica avendo presente che l’integrale che si vuole
risolvere è del tipo:
hAiN V T =
Z
dq̄dp̄ A(p̄, q̄)ρN V T (p̄, q̄)
(2.4)
dove q̄ e p̄ sono posizioni e momenti delle N particelle del sistema e ρN V T =
R e−βU
. Inoltre per semplicità si è utilizzato l’ ensemble canonico che
dq̄dp̄ e−βU
come si vedrà è quello che facilità di più l’utilizzo del metodo di Monte Carlo.
Il risultato che si ottiene con una media su M campionamenti fatti con una
generica ρ è:
A · ρN V T
hAiN V T = h
iM .
(2.5)
ρ
Da quest’ultima equazione pare chiaro che scegliendo ρ = ρN V T si otterrà
direttamente hAiN V T = hAiM . Il problema a questo punto è trovare un
metodo per generare una sequenza di stati random in modo che alla fine della
simulazione ogni punto sia stato scelto con la giusta probabilità. Conoscendo
la probabilità di transizione tra due stati, si può ottenere questa sequenza
senza bisogno di calcolare il fattore di normalizzazione di ρN V T (la funzione
di partizione). Questo si può fare utilizzando le catene di Markov cioè delle
serie di numeri legati l’uno all’altro che convergono alla distribuzione voluta.
Le catene di Markov sono caratterizzate da due proprietà:
• I numeri generati appartengono a un insieme finito. Condizione che
è sempre soddisfatta nelle simulazioni al computer poiché per quante
cifre significative possa avere un numero apparterrà sempre a un insieme discreto e la possibilità di avere numeri grandi o piccoli a piacere
è comunque limitata.
• Il punto di arrivo di ogni mossa dipende unicamente dal punto di arrivo
della mossa precedente.
É importante notare che la distribuzione limite è indipendente dal punto
iniziale, come si vede dalla seconda proprietà, infatti, la catena ‘dimentica’ velocemente il passato (condizione essenziale per simulare un sistema
CAPITOLO 2. METODO DI MONTE CARLO
16
ergodico). Inoltre, sempre per garantire l’ergodicità, le catene di Markov
d’interesse sono quelle irriducibili, ossia, tali che, preso casualmente uno
stato di partenza ci sia sempre una probabilità non nulla di raggiungere uno
qualsiasi degli altri stati del sistema.
Nel caso in questione, in cui si vogliono ottenere delle medie in meccanica
statistica, la distribuzione limite, come già detto, deve essere ρN V T . Per
ottenere questa distribuzione si deve scegliere una matrice di transizione π
appropriata (dove gli elementi di matrice di π permettono di spostarsi con
una certa probabilità da uno stato all’altro, ad esempio πnm , collega lo stato
n ad m).
Sebbene ci sia una certa libertà di scelta della matrice π, nell’algoritmo
coniato da Metropolis viene imposta un’ulteriore condizione, più forte del
necessario ma che facilità il calcolo: la condizione di bilancio dettagliato
ρm πmn = ρn πnm
(2.6)
così facendo si impone una reversibilità microscopica ossia si stabilisce che,
all’equilibrio, la probabilità di passare dallo stato m allo stato n (pesata con
la probabilità di essere nello stato m) sia uguale alla probabilità che avvenga
la mossa opposta ossia passare da n ad m [1].
2.1.2
Il metodo di Metropolis
La soluzione proposta da Metropolis è
πmn = αmn
ρn
πmn = αmn
ρm
ρn ≥ ρm
(2.7)
ρn ≤ ρm
(2.8)
che, come detto, oltre a soddisfare la condizione essenziale che le probabilità
si sommino a uno, soddisfa la condizione di bilancio dettagliato. In più si
definisce anche la probabilità di rimanere in uno stesso stato
πmm = 1 −
X
πmn
(2.9)
n6=m
da queste equazioni segue che la matrice α deve essere simmetrica quindi
αmn = αnm .
Anche la matrice α una volta garantita la simmetria si può scegliere con
una certa liberà, infatti, essa è la matrice che permette di andare con uguale
probabilità dallo stato iniziale m a uno qualsiasi degli stati vicini. La libertà
sta nel definire il concetto di stati vicini. Una valida definizione è quella che
si ottiene scegliendo come vicini tutti gli stati che si trovano all’interno di
un volume V definito da un cubo di lato l centrato sul punto di partenza.
CAPITOLO 2. METODO DI MONTE CARLO
17
Di conseguenza si può definire α nel seguente modo:
1
NV
αmn = 0
αmn =
r¯i n ∈ V
(2.10)
r¯i n 6∈ V
(2.11)
dove NV è il numero di stati raggiungibili, mentre r¯i n è la posizione del
punto di arrivo n. Si ha, quindi, uguale probabilità di andare in ognuno dei
punti all’interno del quadrato considerato e probabilità nulla di arrivare agli
stati che si trovano oltre lo spostamento massimo 2l .
A questo punto, per capire come mettere in pratica una mossa Monte
n
Carlo, bisogna solo esplicitare il rapporto ρρm
che, nel caso dell’ensemble
canonico, risulta:
e−βVn Z −1
ρn
(2.12)
= −βV N−1V T = e−βVnm
mZ
ρm
e
NV T
con Vnm = Vn − Vm e V è il potenziale1 .
Si può ora descrivere concretamente come funziona la tecnica di Metropolis:
• Inizialmente si prepara il sistema in uno stato iniziale scelto a piacere
tra gli stati possibili (come detto questo non dovrebbe influenzare il
risultato finale) e se ne calcola l’energia.
• Si sceglie un numero random con distribuzione uniforme in un’area
definita da uno spostamento massimo δr̄max e si compie uno spostamento della quantità scelta, che nel caso delle coordinate cartesiane
sarà dato da una combinazione di traslazioni in x, y, z 2 .
• Viene calcolata la nuova energia del sistema dopo lo spostamento.
• Se l’energia iniziale è maggiore di quella finale si accetta la mossa fatta,
altrimenti si accetta con probabilità e−βδV .
• Si ripete la procedura un numero di volte dipendente dal sistema che
si vuole studiare e dalle grandezze che si vogliono misurare.
1
Si utilizza solo la parte potenziale dell’energia poiché l’integrale che si vuole risolvere
numericamente è quello riguardante lo spazio delle posizioni a cui è legato il potenziale,
mentre la parte relativa ai momenti essendo solitamente il moto della particella libera,
viene trascurata.
2
In realtà ci sono moltissime mosse Monte Carlo possibili, infatti le mosse non devono
avere significato fisico, l’unica cosa fondamentale è che gli sia associata una probabilità
di accettazione. Ci sono casi in cui diventa molto importante inserire altre mosse, ad
esempio, le mosse di rotazione quando si trattano oggetti con interazioni anisotrope.
CAPITOLO 2. METODO DI MONTE CARLO
18
Spesso per simulare certi sistemi è più conveniente lavorare in ensemble diversi da quello canonico, ovviamente si può adattare il Monte Carlo
ad ogni ensemble, però, nel passare da un ensemble all’altro si deve fare
n
attenzione al rapporto ρρm
poiché, negli altri casi, la probabilità non sarà
−βV
nm
determinata solo da e
ma, a seconda dell’ensemble scelto, si avranno
altri fattori di cui tenere conto. Inoltre, cambiando ensemble, è bene inserire
altre mosse, ad esempio, essendo il numero di particelle non fissato nell’ensemble GranCanonico, si inseriscono mosse di comparsa e di scomparsa di
particelle.
2.2
Tecniche di ottimizzazione del Monte Carlo
Ad ogni modo, in qualsiasi ensemble si stia lavorando, bisogna assicurarsi
che il sistema simulato sia realistico; per fare ciò si devono prendere ulteriori accorgimenti. Come già detto tra le condizioni necessarie da verificare
è che ogni punto nello spazio delle fasi sia raggiungibile da ogni altro in un
numero di mosse comparabile con il numero di step Monte Carlo. Questo
fattore deve essere tenuto sotto controllo perché può cambiare, ad esempio,
in uno stesso sistema semplicemente al decrescere della temperatura; in questo caso, infatti, il fattore di Boltzmann aumenta e quindi la probabilità di
accettare le mosse che aumentano l’energia diminuisce; conseguentemente
diminuiscono i movimenti nello spazio delle fasi e il sistema smette, di fatto,
di essere ergodico.
Un’altra osservazione importante è quella sul numero di particelle da
utilizzare. Per fare un esempio, una goccia d’acqua ha circa 2 · 1021 atomi di
ossigeno e 4 · 1021 atomi di idrogeno, per un totale quindi di 6 · 1021 ∼ 1022
atomi. Mediamente, invece, il numero di particelle impiegate non supera le
104 , ci sarebbe quindi una differenza di circa 1018 ordini di grandezza che
certamente renderebbe il sistema non realistico. In più, come già detto, si
vorrebbero ricavare da tali sistemi delle quantità termodinamiche, e questo
è possibile solo se viene fatto il limite termodinamico, quindi, per sistemi
grandi a piacere.
Alla luce di ciò, sembra evidente che non si possono ricavare delle quantità utili attraverso queste simulazioni, a meno che, non si trovi un modo
per aumentare il numero di particelle o non si impongano delle condizioni
al contorno tali da simulare un sistema infinito. É quindi molto importante,
nella maggior parte dei casi, imporre delle condizioni al contorno periodiche
in modo che idealmente il sistema si estenda oltre la scatola effettiva in cui
avviene la simulazione e le particelle in esame si comportino come se facessero parte di un sistema più grande senza tener conto dell’interazione con le
pareti rigide della scatola.
CAPITOLO 2. METODO DI MONTE CARLO
19
In effetti questa tecnica è molto usata nelle simulazioni a meno che non
si voglia guardare ad effetti dovuti proprio all’interazione con la scatola o
comunque a caratteristiche che riguardano la finitezza del sistema, come
gli effetti di superficie che in questo modo vengono attenuati rispetto a un
sistema in cui vengono imposte condizioni al contorno omogenee.
2.2.1
Minimum image criterion
Anche con questo accorgimento però pare chiaro che per avere dei sistemi
realistici, spesso, è necessario avere un numero grande di particelle, il che
significa calcolare un grande numero di interazioni che rallentano molto il
calcolo. É quindi utile ottimizzare l’algoritmo utilizzando delle tecniche
specifiche che sono in accordo con il tipo di sistema studiato. In particolare
nel caso dei colloidi, una caratteristica importante che permette di diminuire
notevolmente il carico di calcolo è che le interazioni sono a corto raggio.
Ne segue che scegliendo la dimensione della scatola abbastanza grande
rispetto al raggio di interazione, la particella i − esima interagirà solamente
con la più vicina immagine della particella j − esima, quindi, sarà sufficiente
individuare l’immagine della particella j più vicina ad i e calcolare solo questa interazione. Questa procedura è chiamata ‘minimum image criterion’ ed
è molto importante perché, altrimenti, utilizzando le condizioni al contorno
periodiche, ci si ritroverebbe a calcolare un numero infinito di interazioni.
Un altro vantaggio che deriva dai potenziali a corto raggio, è legato al
fatto che spesso, non tutte le particelle interagiscono tra loro, ossia, non è
detto che l’interazione della particella i − esima con la più vicina immagine
della particella j − esima sia rilevante; in questo caso diventa legittimo
troncare i potenziali ed evitare il calcolo di quantità che comunque darebbero
un contributo irrilevante.
2.2.2
Liste dei vicini e Linked Lists
Anche troncando i potenziali, però, si devono comunque calcolare le distanze
tra tutte le coppie di particelle ad ogni interazione, il che è abbastanza
dispendioso di risorse perché vuol dire calcolare N 2 valori. Per evitare anche
questo spreco, sono state sviluppate varie tecniche mirate a conoscere, data
una particella, quali sono le particelle abbastanza vicine da interagire con
essa, senza dover calcolare la sua distanza da tutte le altre. Tra queste ci
sono il metodo della ‘lista dei vicini di Verlet’ e quello delle ‘linked lists’.
Le particelle j che interagiscono con una certa particella i sono quelle
che si trovano rispetto ad essa a una distanza minore o uguale alla distanza
di taglio. Quando si usano le liste dei vicini, si salvano in memoria tutte le
particelle che sono a una distanza minore della distanza di taglio da i più
quelle che si trovano in una corona circolare subito adiacente.
CAPITOLO 2. METODO DI MONTE CARLO
(a) Celle bidimensionale suddivisa
in M = 4 parti per ogni direzione,
per un totale di M · M = 16 celle
risultanti
20
(b) Esempio di funzionamento a
catena delle linked lists
Figura 2.1: Metodo della suddivisione in celle con linked lists in due dimensioni.
Per fare ciò, inizialmente si calcolano tutte le distanze tra la particella
i e le altre presenti, poi si stila una lista di particelle che si trovano in una
certa sfera centrata su i e con raggio maggiore della distanza di taglio. In
questo modo, quando si dovrà conoscere la nuova energia, si calcoleranno
le interazioni solo con le particelle nella lista (se la loro distanza da i è
minore della distanza di taglio). Solitamente, scegliendo un raggio della
sfera abbastanza grande, i vicini di una particella non cambiano in una
sola interazione, per cui, aggiornando la lista dei vicini saltuariamente, ad
esempio ogni 10 − 20 step, si ottiene il guadagno di calcolo voluto.
Al crescere del numero di particelle nel sistema simulato, il metodo della
lista dei vicini perde la sua efficienza e diventa più conveniente utilizzare
il metodo delle linked lists [1]. Questo, consiste nel dividere la scatola di
simulazione in M parti per ogni lato, quindi in un certo numero intero
M · M · M di celle più piccole, che però abbiano lato l = L/M maggiore
della distanza di taglio; in seguito, per ognuna di esse si individuano le
26 celle prime vicine. Volendo fare un esempio in due dimensioni, facendo
riferimento alla figura 2.1, come vicini della cella 6 saranno identificate le
celle 1,2,3,5,7,9,10,11. In questo caso, a differenza di quanto avveniva con
la lista dei vicini, una volta creata, la lista delle celle vicine, non deve essere
aggiornata. Inoltre, a questo punto, se per ogni cella si crea una lista di
molecole che ci sono dentro, cercare i vicini diventa un operazione molto
veloce.
Costruita la struttura a celle, per calcolare l’energia dovuta alle interazioni della particella i, si deve capire in che cubo si trova e calcolare le
interazioni solo con le particelle j che si trovano nel suo stesso cubo o in uno
dei 26 cubi vicini che sono già stati individuati all’inizio.
Per un sistema tridimensionale, se ogni lato è diviso in M parti, in ogni
CAPITOLO 2. METODO DI MONTE CARLO
21
cella ci sono Nc = N/M 3 particelle, per cui bisogna computare 27N Nc
distanze, invece delle N 2 che toccherebbe analizzare se non si utilizzasse
questo metodo; ovviamente, maggiore è M , maggiore è il guadagno, sempre
con il vincolo che le celle siano grandi almeno come la distanza di taglio, per
assicurare che non vengano trascurate interazioni rilevanti.
Se si vuole utilizzare la struttura a celle attraverso le linked list, si deve
collegare ogni particella alla sua cella di appartenenza. Questa operazione è
molto rapida e può essere ripetuta ad ogni step. Le linked list sono strutture
dati astratte ben note in informatica. La loro implementazione concreta può
essere realizzata in molti modi diversi, anche in dipendenza dal linguaggio
di programmazione utilizzato. In Fortran potrebbero essere realizzate mediante strutture dati definite dal programmatore e puntatori. In alternativa,
a volte preferibile per ragioni di efficienza, si possono usare gli array. Qui
si descrive brevemente l’implementazione mediante due array. Nel primo
array, chiamato HEAD, viene salvato un elemento per ogni cella. Da ognuno degli elementi in HEAD si può risalire al numero di una delle particelle
che appartiene alla cella a cui fa riferimento. Questo numero rimanda a
un secondo array LIST che contiene il numero della seconda particella che
appartiene a quella data cella. In questo array è salvata la lista di tutte le
particelle, quelle corrispondenti alla cella in questione, vengono individuate
a catena con un meccanismo come quello che si vede in figura 2.1, in cui
ognuna rimanda alla sua successiva. Alla fine, si arriva a un elemento della
lista che segnala che non ci sono altre particelle in quel cubetto, si ritorna,
quindi, alla lista HEAD per proseguire con la cella successiva.
In pratica l’ultima particella di una cella viene salvata nella componente
dell’array HEAD corrispondente a questa cella. Nell’array LIST, in corrispondenza della particella salvata in HEAD, sarà salvato il numero della
particella successiva, e in quella successiva il numero di quella dopo ancora,
a catena fino ad arrivare allo zero che segnala la fine delle particelle nella
cella. Per fare un esempio se le particelle 1,3 e 7 sono le uniche che si trovano
nella cella 5, si avrà:
HEAD(5)=7
LIST(7)=3
LIST(3)=1
LIST(1)=0
In questo modo si riescono ad ottimizzare i tempi, sia perché assegnare
a ogni cella le particelle che vi sono dentro è un operazione molto veloce,
sia perché volendo si potrebbe scegliere di non aggiornare le liste ad ogni
step ipotizzando che movimenti rilevanti avvengano più lentamente. Inoltre
si è visto che il tempo necessario per la simulazione, utilizzando le linked
lists ma anche le liste dei vicini, tende a crescere linearmente piuttosto che
quadraticamente (questo però, senza tener conto del tempo necessario a
creare e manipolare le liste) [1].
Capitolo 3
Simulazioni effettuate
Durante il lavoro di tesi si sono voluti ricreare dei risultati presenti in un
articolo [4] che trattava colloidi con interazioni isotrope. Per fare ciò si è
utilizzato un programma che implementa il metodo di Monte Carlo ed è
basato su un potenziale isotropo a buca quadrata (equazione 1.2).
3.1
Struttura del programma
Il programma utilizzato lavora nell’ensemble canonico quindi NVT fissati
n
e probabilità di accettazione ρρm
= e−βVnm . Gli step Monte Carlo sono
effettuati tentando la mossa di una particella per volta, poiché questo procedimento si rivela essere quello che porta a convergere al risultato finale
nel minor tempo. Gli input necessari sono larghezza della buca attrattiva,
densità e temperatura del sistema, numero di step e passo Monte Carlo.
Inoltre è necessario avere un file in cui è salvata una configurazione di
partenza. In questo caso si è ottenuto tramite un secondo programma fatto
in modo da disporre le particelle in un reticolo cubico FCC. Si ottiene quindi
un sistema ordinato costituito da un certo numero di cellette convenzionali
con 4 particelle per celletta. Questa non è l’unica opzione possibile in quanto,
come detto nel capitolo sul Monte Carlo, il risultato finale, se si riesce a
simulare un sistema ergodico, dovrebbe essere indipendente dalla situazione
iniziale.
Il numero di celle, Nc , per ogni direzione è stato scelto inizialmente
pari a 3 per cui il numero totale di particelle a disposizione è N = 4 ·
Nc3 = 108. In realtà si è visto che, aumentando la larghezza della buca
di potenziale (λ = 2.0), 108 particelle risultavano essere troppo poche per
avere dei risultati attendibili. In questi casi, essendo l’interazione più a lungo
raggio, è necessario avere più particelle per ricreare un sistema realistico. Si
è quindi scelto di ingrandire il sistema in modo che contenesse 500 particelle,
il che equivale a inserire 5 celle per ogni direzione.
22
CAPITOLO 3. SIMULAZIONI EFFETTUATE
23
(a) Disposizione iniziale delle particelle in (b) Dopo una simulazione di 106 step Monte
un reticolo FCC con 3 celle per direzione
Carlo con potenziale a buca quadrata.
Figura 3.1: Immagini ottenute con jmol.
Per verificare che il numero di particelle fosse sufficiente si è provato ad
aumentare il numero di celle per direzione fino ad 8 ( che equivale ad avere
2048 particelle) e si è visto che l’energia alla quale il sistema convergeva
rimaneva invariata, il che fa pensare che i risultati ottenuti con 500 particelle
non siano restrittivi ma corretti anche nel limite termodinamico.
Da questo reticolo, un volta definita la larghezza della scatola e il diametro delle particelle σ, si procede attraverso i vari step Monte Carlo, verso la
configurazione di equilibrio. Il calcolo è ottimizzato attraverso una subroutine in cui viene implementato il metodo delle linked lists, a cui si accennava
nel capitolo riguardante il Metodo di Monte Carlo; inoltre, sempre per cercare di ottimizzare la convergenza, si è fatto attenzione a mantenere un
rapporto di accettazione tra il 10% e il 30% (con rapporto di accettazione
si intende il numero di mosse Monte Carlo accettate sul numero di tentativi
totali).
La quantità a cui si era interessati è l’energia media del sistema per
particella U/N , che poi è stata confrontata con i valori ottenuti da Largo e
Solana [4]. Nello specifico le energie sono state ricavate per quattro diverse
larghezze della buca attrattiva e in ognuno dei quattro casi sono state scelte
due o tre densità e due o tre temperature. Per poter confrontare i valori
ottenuti con quelli dell’articolo, si è utilizzato un terzo programma che,
dall’elaborazione dei valori di energia ottenuti per ogni step, fornisce una
stima della deviazione standard.
3.2
Calcolo degli errori correlati
Il calcolo della deviazione standard non è immediato in quanto i risultati
dei vari step delle simulazioni Monte Carlo non si possono considerare indipendenti. Dal modo in cui sono costruiti, si vede infatti, che al contrario
essi sono altamente correlati in quanto un punto può distare dal successivo
al massimo dello spostamento δr scelto come spostamento massimo di una
mossa Monte Carlo.
CAPITOLO 3. SIMULAZIONI EFFETTUATE
24
Dal momento che da tutte le energie dei vari step Monte Carlo si ottiene
un’energia media, si vorrebbe ricavare l’errore associato ad essa. Più in
generale data una certa quantità media hAi si vorrebbe conoscere la sua
varianza. Con hAi si intende
hAi =
1
τX
run
τrun
τ =1
A(τ )
(3.1)
dove τrun è il numero di step totali compiuti.
Se i singoli risultati A(τ ) fossero statisticamente indipendenti allora la
varianza della media si potrebbe calcolare semplicemente come
σ 2 (hAi) = σ 2 (A)/τrun
(3.2)
σ 2 (A) = hδA2 irun − hδAi2run
(3.3)
dove
ed essendo il valore di aspettazione dell’errore uguale a zero, ossia hδAi2run =
0, si avrebbe
2
2
σ (A) = hδA irun =
1
τX
run
τrun
τ =1
(A(τ ) − hAi)2
(3.4)
Però, come detto, nel caso delle simulazioni Monte Carlo si ottengono valori correlati, quindi, per ottenere una varianza della media bisogna inserire
nell’equazione 3.4 il tempo di correlazione, ossia il numero di step per il quale persiste questo legame tra i risultati. Supponendo di dividere il numero di
step totale, τrun , in blocchi ognuno contenente 2τA configurazioni identiche,
per τA grande questo corrisponde ad avere un tempo di correlazione τA per
cui la varianza si può scrivere come [1]
σ 2 (hAirun ) = 2τA · σ 2 (A)/τrun .
(3.5)
In generale però, prima di effettuare l’analisi dei risultati, non si conosce il
tempo di correlazione. Si sceglie quindi di stimare il legame fra i vari step
dividendo il numero di step totali in un certo numero di blocchi nb in modo
tale che nb τb = τrun . Si calcola la media per ogni blocco
hAib =
τb
1 X
A(τ )
τb τ =1
(3.6)
che viene utilizzata per stimare la varianza sulla media dei blocchi
σ 2 (hAib ) =
run
1 τX
(hAib − hAi)2 .
nb τ =1
(3.7)
CAPITOLO 3. SIMULAZIONI EFFETTUATE
25
Utilizzando la varianza dei blocchi si può calcolare, utilizzando la definizione
di Friedberg e Cameron [1], l’inefficienza statistica s
τb · σ 2 (hAib )
τb →∞
σ 2 (A)
s = lim
(3.8)
questa quantità in pratica indica quante sono le misure successive correlate
tra loro. A questo punto, dato che ogni s valori in media il sistema diventa
scorrelato, si può calcolare la varianza utilizzando invece che i risultati di
tutti gli step solamente un valore ogni s. In questo modo i valori dovrebbero
essere scorrelati e si può utilizzare la formula per statistiche indipendenti.
Altrimenti si può utilizzare s per correggere la varianza di eventi indipendenti
come detto prima
σ 2 (A) · s
σ 2 (hAirun ) =
.
(3.9)
τrun
Il programma calcola la deviazione standard in entrambi i casi; si è notato
che i valori risultanti non si discostavano molto tra loro, perciò nelle tabelle
3.1 sono stati messi solo quelli prodotti con il primo metodo.
3.3
Risultati
I grafici di figura 3.3 presentano un riassunto dei risultati ottenuti. In ascissa
sono riportati gli step Monte Carlo effettuati, in ordinata i valori di U/N .
Nel primo grafico 3.3(a) si vede un tipico andamento di una simulazione
Monte Carlo, che dalla configurazione iniziale raggiunge l’equilibrio. Per il
calcolo delle quantità d’interesse, tuttavia, non sono stati utilizzati i run
di equilibrazione, ma solamente dati acquisiti una volta che il sistema era
già stabilizzato, come si può notare guardando i grafici 3.3(b),(c),(d). Per
assicurarsi che la configurazione finale corrispondesse realmente al minimo
dell’energia, a partire dal reticolo FCC sono state effettuate alcune simulazioni successive, ognuna delle quali aveva come file di input la configurazione
finale del run precedente. Questa procedura veniva ripetuta fino ad avere
una statistica abbastanza grande per poter confermare che il sistema si fosse
stabilizzato in un minimo dell’energia.
Il grafico 3.3 (b) mostra come cambia l’energia al variare di λ a fissate
densità e temperatura. L’energia più alta, come ci si aspettava, è quella
relativa alla buca più stretta (λ = 1.1), mentre all’aumentare di λ si creano
più legami quindi l’energia diminuisce. Gli ultimi due grafici mostrano i
valori delle energie all’equilibrio per diverse temperature. Nel primo caso
(grafico 3.3(c)) sia la densità che la larghezza della buca sono fissate, invece
nel secondo (grafico 3.3(d)) sono riportati i valori per diverse densità, sempre
con λ fissata.
I risultati ottenuti sono riportati nelle tabelle 3.1. Si può notare come le
energie medie (ottenute tutte a partire da 106 valori) siano tutte compatibili con quelle riportate nell’articolo con cui sono confrontate. Nelle tabelle
CAPITOLO 3. SIMULAZIONI EFFETTUATE
26
Figura 3.2: Curve di coesistenza liquido-vapore per potenziali a square-well al
variare delle larghezza della buca [6].
sono anche riportati i valori di hzi il numero di coordinazione. Presa una
particella, il numero di coordinazione è stato definito come il numero di
particelle che si trovano all’interno della buca attrattiva formata dalla particella. Quindi si è ricavato, sfruttando il valore costante dell’energia della
buca, come
2
hzi = hU ∗ i
(3.10)
N
dove con U ∗ si intende che l’energia è calcolata in unità di . Nel caso dei
liquidi infatti c’è una certa libertà nel definire il numero di coordinazione
dato che le strutture che si formano non sono ordinate. Si può notare che con
questa scelta, nei casi di λ = 2.0 il numero di coordinazione medio arriva fino
quasi a 23 particelle; infatti, con la definizione di z utilizzata, per larghezze
della buca grandi, spesso le particelle che si trovano nella buca attrattiva
non sono solo i primi vicini. Inoltre dai valori di hzi si può notare che per
buche larghe anche nel caso di gas (ρ = 0.1) il numero di coordinazione
è abbastanza alto (' 4). Per capire se il sistema studiato è un liquido o
un gas si può fare riferimento ai dati riportati in figura 3.2 dove si vedono
le curve di coesistenza liquido-vapore. Tutti i sistemi studiati si trovano
verosimilmente al di sopra delle curve di coesistenza Per il caso λ = 1.1 si
osservano forti fluttuazioni su larga scala, come si può vedere dai grafici 3.4
e dalla tabella 3.3, quindi non si può utilizzare una media su 106 , come fatto
in precedenza, perchè si avrebbero risultati diversi in run diversi. Come ci si
aspettava, sono state quindi riscontrate delle difficoltà nei casi di buca stretta
e temperature basse che non si avevano nelle altre condizioni. La differenza
tra le fluttuazioni di energia presenti in questo sistema e quelle presenti in
sistemi a temperatura più alta o buca più larga è evidenziata dai grafici
3.4. Guardando queste figure si nota che i due grafici nella parte superiore
(3.4(a) e (b)), che rappresentano il caso di λ = 1.1 e T ∗ = 0.5, hanno un
CAPITOLO 3. SIMULAZIONI EFFETTUATE
0
27
0
'energia.dat' u 1:2
-0.2
-0.5
-0.4
-0.6
-1
lambda=1.1
lambda=1.2
lambda=1.5
lambda=2.0
U/N
-0.8
-1.5
-1
-1.2
-2
-1.4
-2.5
-1.6
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
0
0.1
0.2
0.3
0.4
10000
0.5
0.6
0.7
0.8
0.9
1
n step [x10^6]
U/N
(a) Tipico andamento di una simulazione (b) Energie del sistema per ρ = 0.1, T =
Monte Carlo in cui si ha l’energia in funzione 3.0 al variare della larghezza della buca.
degli step.
0
-1
-0.1
-2
-0.2
-3
-0.3
-4
-0.4
-5
-0.5
-6
-0.6
-7
-8
-0.7
rho=0.1
rho=0.1
rho=0.6
rho=0.6
rho=0.7
rho=0.7
-9
-0.8
T=3.0
T=1.0
T=0.7
-0.9
-1
T=3.0,
T=5.0,
T=3.0,
T=5.0,
T=3.0,
T=5.0,
0
0.1
0.2
0.3
0.4
0.5
0.6
n step [x10^6]
0.7
0.8
-10
-11
0.9
1
-12
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
(c) Energie del sistema per ρ = 0.1, λ = (d) Energie relative a λ = 2.0, ogni energia
1, 2 al variare della Temperatura.
è individuata tramite i valori di densità e
di temperatura corrispondenti.
Figura 3.3: Grafici dei risultati ottenuti. Le grandezze sono calcolate in unità
ridotte quindi T ∗ = kB T /, ρ∗ = ρσ 3 , U ∗ = U/.
andamento molto più irregolare di quelli nella parte inferiore (3.4(c) e (d))
dove le fluttuazioni su larga scala sono uguali a quelle su piccola scala.
CAPITOLO 3. SIMULAZIONI EFFETTUATE
28
λ = 1.1
ρ∗
0.1
0.8
T ∗ = 0.7
−U/N σU/N
0.2876 0.0012
0.29
2.550
0.009
2.54
hzi
0.57
5.12
T ∗ = 1.0
−U/N σU/N
0.1946 0.0015
0.19
2.281
0.004
2.28
hzi
0.39
4.55
T ∗ = 3.0
−U/N σU/N
0.1060 0.0005
0.11
1.890
0.006
1.89
hzi
0.21
3.77
λ = 1.2
ρ∗
0.1
0.8
T ∗ = 0.7
−U/N σU/N
0.6166 0.0065
0.62
3.6789 0.0091
3.68
hzi
1.24
7.37
T ∗ = 1.0
−U/N σU/N
0.3999 0.0010
0.40
3.4269 0.0045
3.43
hzi
0.81
6.86
T ∗ = 3.0
−U/N σU/N
0.2257 0.0005
0.23
3.0873 0.0033
3.09
hzi
0.45
6.18
λ = 1.5
ρ∗
0.1
0.7
T ∗ = 1.5
−U/N σU/N
hzi
0.9195 0.0027 1.84
0.92
5.284
0.004 10.55
5.28
T ∗ = 3.0
−U/N σU/N
hzi
0.6827 0.0015 1.37
0.69
5.082
0.003 10.15
5.08
λ = 2.0
ρ∗
0.1
0.6
0.7
T ∗ = 3.0
−U/N σU/N
hzi
1.9654 0.0067 3.91
1.96
9.753
0.006 19.54
9.75
11.353 0.007 22.68
11.35
T ∗ = 5.0
−U/N σU/N
hzi
1.7220 0.0034 3.45
1.72
9.579
0.004 19.15
9.58
11.151 0.007 22.28
11.16
Tabella 3.1: Nella prima riga per ogni densità sono riportati i risultati ottenuti
dalle simulazioni con i relativi errori, nella seconda riga ci sono i valori dell’articolo
di Largo e Solana [4]. Le grandezze sono calcolate in unità ridotte quindi T ∗ =
kB T /, ρ∗ = ρσ 3 , U ∗ = U/.
CAPITOLO 3. SIMULAZIONI EFFETTUATE
-2.8
-2.85
Energia per step
-2.85
-2.9
-2.9
-2.95
-2.95
-3
-3
-3.05
-3.05
-3.1
-3.1
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
-3.15
(a) λ = 1.1, T = 0.5 primo run.
U/N
-1.75
Energia per step
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
(b) λ = 1.1, T = 0.5 secondo run.
-2.95
Energia per step
-1.8
-3
-1.85
-3.05
-1.9
Energia per step
-3.1
-1.95
-3.15
-2
-2.05
29
-3.2
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
n step [x10^6]
(c) λ = 1.1, T = 3.0.
-3.25
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
(d) λ = 1.2, T = 3.0.
Figura 3.4: Confronto tra l’equilibrazione delle energia nei casi di temperature
alte e basse a densità ρ = 0.8. I grafici sono fatti a partire da run di 5 · 106 step.
λ = 1.1, T ∗ = 0.5, ρ∗ = 0.8
n. passi
5 · 106 (primo run)
5 · 106 (secondo run)
−U/N
2.973
3.005
σU/N
0.008
0.009
Tabella 3.2: Tabelle con i risultati del caso λ = 1.1, T ∗ = 0.5, ρ∗ = 0.8. Si vede
che i valori ottenuti non sono compatibili tra loro entro un sigma.
Capitolo 4
Conclusioni
Con questo lavoro di tesi ci si è focalizzati sullo studio di una piccola parte
della letteratura recente sui colloidi. Ci si è concentrati sulle caratteristiche
che li rendono interessanti nel campo della ricerca e sulle applicazioni, in
particolare quelle legate alle strutture autoassemblanti. In particolare nella
prima parte ci si è interessati ai colloidi con interazioni anisotrope; a come
possono essere creati in laboratorio e soprattutto a come possono essere
modellizzati e con quale grado di realisticità. Sono state quindi studiate le
tecniche di base che permettono di fare simulazioni in questo campo, ossia
dinamica molecolare e Monte Carlo. Particolare attenzione si è riservata al
Monte Carlo di Metropolis e all’analisi statistica dei dati delle simulazioni
(in particolare ricavare gli errori di misure correlate). Si sono poi studiati
alcuni metodi per migliorare l’efficienza degli algoritmi in cui si utilizzano
tante particelle soffermandosi sul metodo delle ‘linked lists’.
Si è proceduto mettendo in pratica parte di quanto appreso effettuando
delle simulazioni Monte Carlo nell’ensemble N V T . In particolare ci si è
posti il problema dell’effetto di variare l’estensione della regione attrattiva
del potenziale. Siccome le problematiche relative a potenziali a range molto
corto non dipendono in modo importante dall’anisotropia [7] ci si è messi
nella condizione più semplice (potenziali isotropi a square-well). I risultati
numerici per temperature supercritiche sono in ottimo accordo con i risultati
in letteratura [4]. É stato verificato l’aumento delle fluttuazioni dell’energia
per il caso di range corto (λ = 1.1) e temperature basse (T ∗ = 0.5) e
la conseguente necessità di prolungare i run di simulazione aumentando il
numero di passi anche di un ordine di grandezza. Ci si aspetta che questo
comportamento valga anche per il caso anisotropo.
30
Bibliografia
[1] M.P. Allen, D.J. Tildesley, Computer simulation of liquids, (Oxford
University press, New York, 1991)
[2] N. Kern, D. Frenkel, J. Chem. Phys. 118, No. 21, 9882 (2003)
[3] J. Zhang, E. Luijten, S. Granick, Annu. Rev. Phys. Chem. 66, 581
(2015)
[4] J. Largo and J.R. Solana, Phys. Rev. E 67, 066112 (2003)
[5] E. Bianchi, R. Blaak, C, N. Likos, Phys. Chem. Chem. Phys. 13 , 6397
(2011)
[6] D. M. Heyes and P. J. Aston, J. Chem. Phys. 97, No. 8, 5738 (1992)
[7] Y.Duda, J. Chem. Phys. 130, 116101 (2009)
31