Giornata Tecnica da Piave Servizi, 11 aprile 2024 | ROMANO' Davide
Simulazioni MC e MD in Fortran
1. Simulazione MC
Esercitazione del corso di
Modelli e Tecniche di Simulazione
Atomistica
(Prof. Giuseppe Zollo)
Studente: Riccardo Di Stefano
Matr: 800050
2. - 500 atomi Ar
- Interazione di Lennard Jones
- T*=2
- eps/K=199.8 K
- sig=0.341 nm
- MAr
=39.948 g/mol
Simulazione MC
Sistema e parametri di simulazione
Studente: Riccardo Di Stefano
Matr: 800050
fort.15
fort.21
3. Simulazione MC
Viriale
Studente: Riccardo Di Stefano
Matr: 800050
ener.f
Calcolo del viriale
sample.f
Calcolo della pressione istantanea
adjust.f
Correzione sullo spostamento
6. Simulazione MC
Box
Studente: Riccardo Di Stefano
Matr: 800050
Anche:
● strt.f → subroutine per l'identificazione del numero del primo
carattere non vuoto di una stringa.
● writepdb.f → subroutine per la scrittura in output di “file
traiettoria” (formato .pdb). Output nella cartella “pdb”
● Istruzioni in main.f per la scrittura dei file contententi le coppie
V-P, Rho-P, in formato leggibile da GnuPlot. Output nei file
“V-P.dat”, “Rho-P.dat”
● Istruzioni in sample.dat per la scrittura dei file contenenti le
coppie I-P, I-En, I-Vir. Output rispettivamente nelle cartelle
“Press”, “Nrg”, “Vir”)
7. Simulazione MC
VMD
Studente: Riccardo Di Stefano
Matr: 800050
Rappresentazione grafica in VMD della cella elementare al
tempo t=0, prima dell'equilibrazione.
lbox
= 2.2 nm lbox
= 4.2 nm
8. Simulazione MC
VMD
Studente: Riccardo Di Stefano
Matr: 800050
Evoluzione temporale delle particelle inizialmente
appartenenti alla cella unitaria.
lbox
= 2.2 nm lbox
= 4.2 nm
13. Simulazione MD
Esercitazione del corso di
Modelli e Tecniche di Simulazione
Atomistica
(Prof. Giuseppe Zollo)
Studente: Riccardo Di Stefano
Matr: 800050
14. Timestep = 1 fs
Simulazione MD-NVE
Sistema e parametri di simulazione
Studente: Riccardo Di Stefano
Matr: 800050
● 500 atomi di Ar.
● Interazione mediante potenziale di Lennard-Jones.
● Eps/K=119.8 K
● Sig=0.341 nm
fort.21
Parametri di Input File di output
- Fort.22 → fort.pdb
- g.dat
- Press.dat
- Tempz.dat
- Ukin.dat
- Upot.dat
- Utot
Lato della cella = 3nm
15. Simulazione MD-NVE
Inizializzazione del sistema
Studente: Riccardo Di Stefano
Matr: 800050
Init.f
● Assegnazione di una velocità
pseudocasuale compresa tra
[-0.5,0.5].
● Calcolo della velocità del centro di
massa del sistema cella.
● Azzeramento di detta velocità
attraverso l'impartizione di un
impulso di velocità medio alle
singole particelle.
16. Simulazione MD-NVE
Algoritmo di Verlet
Studente: Riccardo Di Stefano
Matr: 800050
Integrate.f
● Aggiornamento delle posizioni
● Aggiornamento delle velocità
● Traslazione del “sistema di
riferimento”
17. Simulazione MD-NVE
Calcolo della funzione di distribuzione radiale
Studente: Riccardo Di Stefano
Matr: 800050
Sample_Gyra.f
Parte 1
● Ciclo su tutte le particelle
della cella cubica e calcolo
delle distanze reciproche.
● Selezione dell'immagine più
vicina.
● Aggiornamento
dell'elemento dell'array
corrispondente al guscio di
appartenenza della particella.
18. Simulazione MD-NVE
Calcolo della funzione di distribuzione radiale
Studente: Riccardo Di Stefano
Matr: 800050
Sample_Gyra.f
Parte 2
Calcolo del volume delle
calotte sferiche e
successivo calcolo e
scrittura su file (g.dat)
della funzione di
distribuzione radiale.
20. Output su terminale
Simulazione MD-NVE
Capacità termica a volume costante
Studente: Riccardo Di Stefano
Matr: 800050
mdloop.f
Calcolo della varianza
dell'energia cinetica e
successivo calcolo della
capacità termica a
volume costante Cv
Riferimenti letteratura:
Cv = 12.5 J/K*mol
Cv = 312 J/K*Kg
calcolati a P=1atm, 25°C
2-3 Ordini di grandezza
superiore al valore
simulato.
24. Simulazione MD-NVT
Sistema e parametri di simulazione
Studente: Riccardo Di Stefano
Matr: 800050
● Stesse condizioni di NVE ma T*=2.2 fisso attraverso
Velocity Rescaling
● Parametri di Input anche uguali a NVE
● File di Output uguali a NVE
25. Simulazione MD-NVT
Inizializzazione del sistema
Studente: Riccardo Di Stefano
Matr: 800050
Init.f (Parte 1)
● Assegnazione di una velocità
proveniente da distribuzione
gaussiana.
● Calcolo della velocità del centro di
massa del sistema cella. (Come
NVE)
● Azzeramento di detta velocità
attraverso l'impartizione di un
impulso di velocità medio alle
singole particelle. (Come NVE)
26. Simulazione MD-NVT
Inizializzazione del sistema
Studente: Riccardo Di Stefano
Matr: 800050
Init.f (Parte 1)
● Assegnazione di una velocità
proveniente da distribuzione
gaussiana.
● Calcolo della velocità del centro di
massa del sistema cella. (Come
NVE)
● Azzeramento di detta velocità
attraverso l'impartizione di un
impulso di velocità medio alle
singole particelle. (Come NVE)
27. Simulazione MD-NVT
Inizializzazione del sistema
Studente: Riccardo Di Stefano
Matr: 800050
Init.f (Parte 2)
● Scalamento delle velocità al fine di
ottenere la Temperatura desiderata;
che sarà poi mantenuta costante.
28. Simulazione MD-NVT
Algoritmo Velocity-Verlet
Studente: Riccardo Di Stefano
Matr: 800050
Integrate.f (Parte 1)
● Calcolo delle nuove posizioni (t+Dt)
● Aggiornamento delle attuali posizioni
(t) alle nuove posizioni (t+Dt)
● Salvaguardia delle forze attuali (t) in
variabili Fko(I).
● Calcolo delle forze nella nuova (t+Dt)
configurazione e loro salvataggio nelle
Fkn(I).
● Ripristino delle Fkk(I). Ciò è stato
necessario perchè la chiamata a
Force() cancellerebbe le forze del
tempo t. Ma queste servono per il
calcolo delle velocità.
● Calcolo delle nuove velocità
● Aggiornamento delle attuali forze (t)
alle nuove forze (t+Dt)
30. Simulazione MD-NVT
Funzione di Distribuzione Radiale
Studente: Riccardo Di Stefano
Matr: 800050
Sample_Gyra.f (Parte 2)
Il file è assolutamente
invariato rispetto al
caso NVE
31. mdloop.f
Calcolo della varianza
dell'energia totale e
successivo calcolo della
capacità termica a
volume costante Cv
Output su terminale
Simulazione MD-NVT
Capacità termica a volume costante
Studente: Riccardo Di Stefano
Matr: 800050
Riferimenti letteratura:
Cv = 12.5 J/K*mol
Cv = 312 J/K*Kg
calcolati a P=1atm, 25°C
Sempre sbagliati ma
adesso 1-2 ordini di
grandezza più grandi.