- Computational Materials Science
- Summary
Course Syllabus
Obiettivi
Obiettivo del corso è fornire agli studenti alcuni strumenti teorico/computazionali fondamentali per lo studio microscopico di processi termodinamici e cinetici nei materiali.
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, applicazione del codice di dinamica molecolare, il metodo di Monte Carlo configurazionale, implementazione di un codice di Monte Carlo configurazionale, 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, con esempi 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 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 elementare (distribuzione di Boltzmann, distribuzione canonica), a livello di Laurea Triennale in Scienza dei Materiali/Fisica, o simili. Conoscenze elementari di meccanica quantistica (dualismo onda/particella, equazione di Schrodinger, principio di esclusione di Pauli).
Conoscenze pregresse di programmazione possono aiutare ma non sono obbligatorie essendo previste alcune lezioni di azzeramento.
Modalità didattica
L'intero corso viene svolto all'interno di un laboratorio informatico. 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.
L'intero Corso è tenuto in lingua inglese, ma gli studenti possono fare domande anche in italiano.
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 e Frenkel.
Periodo di erogazione dell'insegnamento
Primo semestre (Fine Settembre-Gennaio)
Modalità di verifica del profitto e valutazione
L'esame prevede solo una prova orale. Nello specifico:
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.
Sustainable Development Goals
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 materials.
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 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 examples in 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.
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 (Boltzmann distribution, isolated systems, systems at constant temperature) and quantum mechanics (wave/particle duality, Schrodinger equation, Pauli esclusion principle).
Knowledge of scientific coding can help but it is not mandatory as dedicated lectures will be given.
Teaching form
The full course takes places in one of the university informatic laboratories. 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.
The Course is given in English, but students can also ask questions in Italian.
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 and Frenkel book: "Understanding Molecular Simulation: From Algorithms to Applications".
Semester
First semester (End of September-January)
Assessment method
The exam is oral only. More specifically:
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.
Sustainable Development Goals
Key information
Staff
-
Roberto Bergamaschini
-
Francesco Cimbro Mattia Montalenti