- Science
- Master Degree
- Materials Science and Nanotechnology [FSM02Q - FSM01Q]
- Courses
- A.A. 2025-2026
- 1st year
- 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.
Ecco la traduzione in italiano del testo fornito:
Conoscenze e comprensione
Al termine del corso lo studente conosce:
- i concetti fondamentali della termodinamica e della cinetica alla base della scienza dei materiali computazionale
- le principali tecniche computazionali per la modellazione della dinamica atomica e la differenza tra approcci classici e quantistici
- gli algoritmi chiave utilizzati per implementare le simulazioni di Dinamica Molecolare e gli approcci Monte Carlo
Capacità di applicare conoscenza e comprensione
Al termine del corso lo studente è in grado di:
- implementare codici di base per la simulazione della dinamica su scala atomica
- effettuare analisi numeriche/statistiche sui dati ed estrarre quantità di rilievo fisico
- adattare/modificare i codici di simulazione e selezionare parametri appropriati per affrontare diversi materiali o condizioni fisiche
- riconoscere l’utilizzo e l’importanza dell’analisi computazionale e delle simulazioni nella scienza dei materiali
Autonomia di giudizio
Al termine del corso lo studente è in grado di:
- scegliere l’approccio computazionale più adatto per effettuare simulazioni in base alla tipologia del problema specifico, alla scala e alle quantità da valutare
- identificare eventuali errori o limiti delle simulazioni ispezionando quantità chiave e utilizzando adeguate tecniche statistiche
Abilità comunicative
Al termine del corso lo studente sarà in grado di descrivere e spiegare oralmente, con linguaggio appropriato, gli argomenti trattati nel corso. Inoltre, lo studente imparerà a sintetizzare i risultati delle simulazioni in grafici, immagini e/o video efficaci e a presentarli tramite una presentazione con slide (vedi modalità di valutazione).
Capacità di apprendimento
Lo studente sarà in grado di applicare le conoscenze acquisite per comprendere e, se necessario, implementare in modo autonomo tecniche più avanzate inerenti ai metodi discussi nel corso o ad altri approcci computazionali affini, facendo riferimento a libri di testo o alla letteratura scientifica. Inoltre, il corso fornirà agli studenti le basi necessarie per comprendere la documentazione e i manuali d’uso dei software di simulazione esistenti per la Dinamica Molecolare e le simulazioni Monte Carlo, consentendo un utilizzo più consapevole e trasparente di tali strumenti.
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 cinetico e configurazionale con implementazione
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 e 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. Definizione di un raggio di cutoff e dipendenza delle proprietà fisiche del sistema da esso.
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.
*** Dinamica Molecolare**
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. Costruzione di un codice completo di dinamica molecolare classica basato sui potenziali di Lennard-Jones. 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
Esercitazione sulla dinamica molecolare da discutere all'esame (parte 1 su 3).
*** Kinetic Monte Carlo**
Il problema delle scale temporali; transition state theory; distribuzione dei tempi di fuga. Cenni su catene di Markov, Master equation e condizione di detailed-balance. Formulazione del metodo Kinetic Monte Carlo.
Algoritmo di Bortz-Kalos-Lebowitz ed implementazione di un codice Kinetic Monte Carlo per la descrizione dei processi di crescita cristallina.
Esercitazione sul metodo Kinetic Monte Carlo da discutere all'esame (parte 2 su 3)
*** Metropolis Monte Carlo**
Importance sampling e valutazione delle proprietà di equilibrio di un sistema mediante il metodo Monte Carlo configurazionale alla Metropolis. Implementazione di un codice Monte Carlo alla Metropolis.
Esercitazione sul metodo Monte Carlo Metropolis da discutere all'esame (parte 3 su 3).
Prerequisiti
Nozioni base di meccanica classica elementare (distribuzione di Boltzmann, distribuzione canonica) e di meccanica quantistica (dualismo onda/particella, equazione di Schrodinger, principio di esclusione di Pauli), a livello di Laurea Triennale in Scienza dei Materiali/Fisica, o simili. Conoscenze pregresse di programmazione possono aiutare ma non sono obbligatorie essendo previste alcune lezioni di azzeramento.
Modalità didattica
Il corso consiste di 30 lezioni da 2 ore, tutte svolte in presenza 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 dedicata ai metodi Monte Carlo con applicazioni al computer relativamente agli approcci Kinetic Monte Carlo e Metropolis Monte Carlo. Gli studenti sono quindi chiamati a svolgere un esercitazione su entrambe le metodologie implementando in modo guidato i relativi codici durante le attività in laboratorio.
Le lezioni si dividono in:
- 8 lezioni frontali da 2 ore svolte in modalità erogativa
- 18 attività di esercitazione da 2 ore costituite da una parte erogativa in cui il docente illustra i concetti su cui vengono poi coinvolti gli studenti in modalità interattiva
- 4 attività di esercitazione da 2 ore svolte in modalità interattiva
L'intero Corso è tenuto in lingua inglese, ma gli studenti possono fare domande anche in italiano.
Materiale didattico
Tutte le lezioni tenute dal docente in presenza sono corredate da apposite slides scaricabili dalla 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 l'esame inizia della valutazione dei risultati di simulazione ottenuti per le tre parti delle esercitazioni assegnate durante il Corso e svolti dagli studenti nel laboratorio informatico. A tale scopo è richiesto che gli studenti predispongano una presentazione dei risultati mediante slides e ne espongano oralmente il contenuto in un tempo massimo di 15 minuti, ovvero indicando solamente i passaggi fondamentali senza dettagli o spiegazioni non richieste. I docenti valutano 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 mediante domande aperte, ed esprime una votazione finale.
Non sono previste prove in itinere.
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.
Knowledge and understanding
At the end of the course the student knows:
- the main concepts of thermodynamics and kinetics at the basis of computational material science
- the main computational techniques for modeling atom dynamics and the difference between classical and quantum approaches
- the key algorithms in use for implementing Molecular Dynamics and Monte-Carlo approaches
Applying knowledge and understanding
At the end of the course the student is able to:
- implement basic codes for simulating atomic scale dynamics
- perform numerical/statistical analysis on data and extract quantities of physical relevance
- adapt/modify simulation codes and select suitable parameters to tackle different materials or physical conditions
- recognise the use and importance of computer analysis and simulations in materials science
Making judgements
At the end of the course the student is able
- choose the best computational approach to perform simulations depending on the kind of the specific problem, scale and quantities to be evaluated
- identify possible flaws and limits of simulations by inspecting key quantities and adequate statistics
Communication skills
At the end of the course, the student will be able to describe and to explain orally, with the appropriate language, the topics of the class. Moreover, the student will learn how to summarize simulation results into effective plots, pictures and/or videos and to report them through a slide presentation (see assessment modality).
Learning skills
The student will be able to apply the acquired knowledge to understand and eventually implement autonomously more advanced techniques inherent to the methods discussed in the class or other affine computational approaches by referring to textbooks or scientific literature. Moreover, the course will give the students the necessary background to understand the documentation and user manuals of existing simulation softwares of Molecular Dynamics and Monte-Carlo simulations enabling a more conscious and transparent use of such tools.
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, kinetic and configurational Monte Carlo including implementation
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 and their separation. Electronic hamiltonian. Classical treatment of the nuclear motion: nuclear hamiltionian and interatomic potential. Ab initio vs classical molecular dynamics: semiempirical potentials and their limitations.
Pair and manybody potentials. Crystal-packing fraction and connection with the choice of the potential. The Lennard-Jones potential. Introduction of a cutoff radius and dependence of physical quantities on it.
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.
*** Molecular Dynamics**
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. 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.
Exercise on Molecular Dynamics to be discussed at the exam (part 1 of 3).
*** Kinetic Monte Carlo**
The time scale problem; transition state theory; distribution of first-escape times. Concept of Markov chains, Master equation and the detailed-balance condition. Formulation of the Kinetic Monte Carlo method.
The Bortz-Kalos-Lebowitz algorithm and implementation of a Kinetic Monte Carlo code describing crystal growth processes.
Exercise on Kinetic Monte Carlo to be discussed at the exam (part 2 of 3).
*** Metropolis Monte Carlo**
Importance sampling and evaluation of equilibrium properties of a system by configurational Metropolis Monte Carlo. Implementation of a Metropolis Monte Carlo code.
Exercise on Monte Carlo Metropolis to be discussed at the exam (part 3 of 3).
Prerequisites
Basic classical (Boltzmann distribution, isolated systems, systems at constant temperature) and quantum mechanics (wave/particle duality, Schrodinger equation, Pauli esclusion principle), as from a Bachelor in Materials Science/Physics or analogous.
Knowledge of scientific coding can help but it is not mandatory as dedicated lectures will be given.
Teaching form
The full course consists of 30 lessons of 2 hours each, all taking place in presence in a computer laboratory. 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 about Monte Carlo methods follows with computer applications based on both Kinetic Monte Carlo and Metropolis Monte Carlo approaches. Students are then requested to solve an assigned problem on both methods by implementing under teacher guidance the respective codes during the laboratory activities.
Lessons are distinguished in:
- 8 two-hours lessons in delivered modality
- 18 two-hours practice lessons including a part in delivered modality during which the teacher illustrates concepts on which the students will be asked to work in interactive modality
- 4 two-hours practice lessons in interactive mode
The Course is given in English, but students can also ask questions in Italian.
Textbook and teaching resource
All lectures given by the teacher in presence 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 "Understanding Molecular Simulation: From Algorithms to Applications" by Smit and Frenkel.
Semester
First semester (End of September-January)
Assessment method
The exam is oral only. More specifically, the exam starts from the evaluation of the simulation results of the three parts of the exercises assigned during the Course and implemented by the students during the activities in the computer laboratory. To that goal, students are requested to prepare a presentation of their results by slides and to expose orally such content in a time no longer than 15 minutes, i.e. indicating only the key steps without details or explanations not requested. The teachers evaluate the clarity of the slides and the selection of topics and ask questions on the contents. Then a few open questions are asked on the general program of the Course, leading to the final mark.
There are no ongoing tests planned.
Office hours
Every day but by appointment to be agreed via email at least two days in advance.
Sustainable Development Goals
Key information
Staff
-
Roberto Bergamaschini
-
Francesco Cimbro Mattia Montalenti