Course Syllabus
Obiettivi
Obiettivo del corso è fornire agli studenti alcuni strumenti teorico/computazionali fondamentali per lo studio microscopico di processi termodinamici e cinetici nei solidi.
Contenuti sintetici
Ripasso di concetti base di meccanica statistica classica, approssimazione adiabatica, trattazione classica del moto nucleare, dinamica molecolare classica e ab initio, potenziali interatomici, programmazione scientifica in Matlab, implementazione di un codice di dinamica molecolare in Matlab, applicazione del codice di dinamica molecolare, il metodo di Monte Carlo configurazionale, implementazione di un codice di Monte Carlo configurazionale in Matlab, kinetic Monte Carlo, transition state theory.
Programma esteso
Ripasso di concetti base di meccanica statistica classica: ensemble canonico e microcanonico. Medie temporali e medie nell'ensemble microcanonico: il teorema ergodico. Equivalenza dei diversi ensembles nel limite termodinamico.
Approssimazione adiabatica: scale temporali nucleari ed elettroniche e loro separazione. Hamiltoniana elettronica.
Trattazione classica del moto nucleare: hamiltoniana nucleare, approssimazione classica del moto, potenziale interatomico.
Dinamica molecolare ab initio vs dinamica molecolare classica: assegnazione di un potenziale empirico. Limiti della descrizione puramente classica.
Potenziali classici a coppie e a molti corpi. Il concetto di packing fraction cristallina e connessione con la scelta del potenziale appropriato.
Il potenziale di Lennard Jones. Dipendenza delle proprietà fisiche del sistema dal raggio di cutoff. Introduzione di un cutoff nel potenziale di Lennard-Jones.
Elementi base di programmazione scientifica in Matlab. Costruzione di un codice per il calcolo dell'energia di un cristallo descritto dal potenziale di Lennard-Jones. Calcolo dei vicini.
Algoritmi per l'integrazione delle equazioni del moto: configurational e velocity Verlet. Assegnazione delle velocità iniziali, ottimizzazione del tempo di integrazione.
Calcolo delle forze all'interno di un codice di dinamica molecolare e sua implementazione in Matlab.
Costruzione di un codice completo di dinamica molecolare classica basato sui potenziali di Lennard-Jones.
Esercitazione di dinamica molecolare utilizzando il codice di cui sopra ed includendo migliorie quali: (a) soppressione del momento del centro di massa (b) rescaling delle velocità iniziali (c) possibilità di considerare condizioni periodiche al contorno.
Il problema delle scale temporali; configurazioni di equilibrio tramite Monte Carlo configurazionale alla Metropolis. Implementazione in Matlab di un codice Monte Carlo alla Metropolis.
Esercitazione di Monte Carlo configurazionale utilizzando il codice di cui sopra.
Argomenti avanzati: (a) controllo della temperatura nelle simulazioni di dinamica molecolare tramite termostati e/o velocity rescaling (b) cicli termici in dinamica molecolare (c) linear scaling in dinamica molecolare (d) eventi rari: transition state theory e kinetic Monte Carlo.
Prerequisiti
Nozioni base di meccanica classica e meccanica quantistica. Conoscenza della distribuzione di Boltzmann.
Modalità didattica
L'intero corso viene svolto all'interno di un laboratorio informatico nel rispetto della normativa Covid e prevedendo lo streaming in diretta delle lezioni. Con l'eccezione delle primissime lezioni ogni concetto introdotto viene immediatamente esemplificato e approfondito mediante simulazioni al computer. A metà del corso viene assegnata una prima esercitazione che gli studenti sono chiamati a svolgere nel laboratorio utilizzando il primo codice (dinamica molecolare) da loro scritto. Segue poi una seconda serie di lezioni con applicazioni al computer che porta alla scrittura di un secondo codice (Monte Carlo) da utilizzare per una seconda esercitazione.
Materiale didattico
Tutte le lezioni, tenute dal docente nel laboratorio informatico, sono corredate da apposite slides scritte e rese disponibili sulla piattaforma e-learning. Pur non seguendo uno specifico testo, la gran parte dei contenuti può essere trovata sul libro "Understanding Molecular Simulation: From Algorithms to Applications" di Smit & Frenkel.
Periodo di erogazione dell'insegnamento
Primo semestre (Ottobre-Gennaio)
Modalità di verifica del profitto e valutazione
I due problemi (esercitazioni) assegnati durante il Corso e svolti dagli studenti nel laboratorio informatico costituiscono l'argomento della prima parte dell'esame finale. E' richiesto che gli studenti espongano oralmente i risultati ottenuti con l'ausilio di una serie di slides adatte ad una presentazione di dieci minuti per ciascuna esercitazione. Il docente valuta la chiarezza delle slides e la selezione di argomenti presentati, e interroga lo studente sui contenuti. Valuta quindi la preparazione complessiva sugli argomenti del Corso, ed esprime una votazione finale.
.
Orario di ricevimento
Tutti i giorni ma previo appuntamento da fissare via email almeno due giorni prima.
Aims
The main goal of the Course is to provide to the students some key theoretical/computational tools for approaching at the atomic scale thermodynamics and kinetics of solids.
Contents
Summary of basic concepts in classical statistical mechanics, adiabatic approximation, classical approximation for the motion of nuclei, ab initio and classical molecular dynamics, scientific coding with Matlab, implementation in Matlab of a molecular dynamics code, application of the molecular dynamics code, configurational Monte Carlo, implementation of a configurational Monte Carlo code, kinetic Monte Carlo, transition state theory.
Detailed program
Summary of basic concepts in classical statistical mechanics: canonical and microcanonical ensembles. Time averages and microcanonical averages: the ergodic theorem. Thermodynamic limit and equivalence of ensembles,
Adiabatic approximation: nuclear and electronics time scales. Electronic hamiltonian.
Classical treatment of the nuclear motion: nuclear hamiltionian and interatomic potential,
Ab initio vs classical molecular dynamics: semiempirical potentials and their limitations.
Empirical description of the interatomic interactions: pair and manybody potentials. Crystal packing fraction and connection with the choice of the potential.
The Lennard-Jones potential. Introduction of a cutoff and dependence of physical quantities on the cutoff radius.
Introduction to scientific coding with Matlab. Coding of a function computing the energy of a crystal using Lennard-Jones interatomic potentials. Function for computing neighbors' lists.
Algorithms for integrating the equations of motion: configurational and velocity Verlet. Initial velocities; timestep optimization.
Computing forces in a molecular dynamics code: theory and implementation.
Writing of a complete molecular dynamics code based on Lennard-Jones potentials.
Application of the molecular dynamics code, including additional features such as (a) subtraction of the center of mass momentum (b) rescaling of the initial velocities (c) periodic boundary conditions, to a specific, assigned problem.
The time scale problem: investigating equilibrium configurations via Metropolis Monte Carlo. Writing of a full Metropolis Monte Carlo code using Matlab.
Application of the Monte Carlo code to a specific, assigned problem.
Advanced topics: (a) temperature control in molecular dynamics using thermostats and/or velocity rescaling (b) thermal cycles/simulated annealing (c) linear-scaling molecular dynamics codes (d) rare events: transition state theory and kinetic Monte Carlo simulations.
Prerequisites
Basic classical and quantum mechanics. Knowledge of the Boltzmann distribution.
Teaching form
The full course takes places in one of the university informatic laboratories under present COVID regulations. All lectures are also streamed live. With the exception of a limited set of initial lectures, each concept is immediately exemplified and elaborated with the help of computer simulations. At half course a first problem is assigned: students are required to solve it by using their first complete (molecular dynamics) code. A second set of lectures follows and a second full (Monte Carlo) code is written and used by the students to solve a second assigned problem.
Textbook and teaching resource
All lectures, given by the teacher at the informatic laboratory, are accompanied by slides which can be downloaded from the e-learning platform. While lectures are not taken from a specific text, most topics can be found in Smit & Frenkel book: "Understanding Molecular Simulation: From Algorithms to Applications" di Smit & Frenkel.
Semester
First semester (October-January)
Assessment method
The two problems assigned during the Course and solved by the students in the informatic laboratory are the subject of the first part of the final exam. Students are required to describe their results with the help of a few slides which the student prepared having in mind a ten minutes presentation for each of the two assigned problems. The teachers evaluates the clarity of the slides and the selection of topics and ask questions on the content. Then a few questions are asked on the general program of the Course, leading to the final mark.
Office hours
Every day, provided that an appointment is previously fixed by email at least two days in advance.
Key information
Staff
-
Roberto Bergamaschini
-
Francesco Cimbro Mattia Montalenti