COMPUTATIONAL PHYSICS

Anno accademico
2024/2025 Programmi anni precedenti
Titolo corso in inglese
COMPUTATIONAL PHYSICS
Codice insegnamento
CM0648 (AF:520835 AR:291828)
Modalità
In presenza
Crediti formativi universitari
6
Livello laurea
Laurea magistrale (DM270)
Settore scientifico disciplinare
FIS/03
Periodo
II Semestre
Anno corso
2
Spazio Moodle
Link allo spazio del corso
La fisica computazionale è un ramo della fisica che utilizza metodi computazionali per risolvere problemi fisici complessi che altrimenti sarebbero irrisolvibili con tecniche analitiche. Basandosi su simulazioni numeriche e tecniche di analisi dei “big data”, la fisica computazionale è un complemento essenziale sia per la fisica teorica che per quella sperimentale fornendo preziose rilsultati per una vasta gamma di sistemi e fenomeni, sia classici che quantistici. Recentemente, con l'avvento dei computer quantistici, la fisica computazionale ha iniziato a integrare l'uso di metodi di calcolo quantistico per risolvere problemi che sono generalmente ritenuti intrattabili per i computer classici.
L'obiettivo del corso è fornire agli studenti sia le conoscenze di base che le competenze pratiche necessarie per eseguire simulazioni al computer di sistemi classici e quantistici, nonché per eseguire analisi dei dati in modo efficace. Il corso introdurrà la fisica computazionale con esempi ed esercizi nel linguaggio di programmazione Python. In particolare, gli studenti impareranno a:
• Studiare sistemi classici risolvendo numericamente l'equazione del moto di Newton, simulando la dinamica classica oltre i limiti delle approssimazioni utilizzate per le soluzioni analitiche.
• Studiare sistemi a molti corpi che coinvolgono interazioni tra più particelle.
• Risolvere l'equazione di Schrödinger per sistemi quantistici rilevanti per la nanoscienza e la scienza dei materiali, calcolando numericamente osservabili e simulando la dinamica quantistica.
Inoltre, il corso fornirà una breve introduzione alle applicazioni pratiche del “machine learning” e del calcolo quantistico nello studio dei sistemi fisici.
Il corso integra altri corsi di fisica e matematica nel programma di laurea magistrale in Quantum Science and Technology. Fornisce un approccio pratico allo studio dei problemi incontrati in Meccanica Statistica, Fisica dei Sistemi Complessi e Fisica della Materia Condensata Moderna. Piuttosto che approfondire i dettagli degli algoritmi già trattati nei corsi di Metodi Numerici e Calcolo Quantistico, gli studenti impareranno come implementare questi metodi, utilizzando librerie e strumenti esistenti, e infine applicarli a problemi fisici di interesse per la ricerca moderna.
1. Conoscenza e capacità di comprensione
• Conoscenza di base dei metodi computazionali comunemente utilizzati nella ricerca in diverse aree della fisica.
• Familiarità con il linguaggio di programmazione Python e con varie librerie utili per lo studio di problemi fisici.

2. Capacità di applicare conoscenza e comprensione
• Sviluppare autonomamente programmi in Python per simulare sistemi fisici, sia classici che quantistici.
• Selezionare le tecniche numeriche, le librerie e gli strumenti di visualizzazione dei dati più appropriati per ciascun problema.
• Analizzare criticamente i risultati ottenuti dalle simulazioni numeriche.

3. Autonomia di giudizio
• Identificare e correggere errori attraverso un'analisi critica dei metodi applicati e dei risultati ottenuti.

4. Abilità comunicative
• Comunicare con chiarezza e precisione le conoscenze acquisite, utilizzando una terminologia appropriata sia in forma scritta che orale.
• Presentare i risultati delle simulazioni attraverso grafici e figure conformi agli standard delle pubblicazioni scientifiche.

5. Capacità di apprendimento
• Sviluppare competenze nella presa di appunti, selezionando e organizzando le informazioni in base alla loro importanza e priorità.
• Raggiungere un livello di autonomia sufficiente per individuare e utilizzare strumenti computazionali e software open source utili alla soluzione di problemi fisici.
Si richiede una conoscenza di metodi matematici, fisica classica e meccanica quantistica al livello di una laurea scientifica triennale.
Sebbene il corso tratti di alcuni problemi incontrati in Meccanica Statistica, Fisica dei Sistemi Complessi e Fisica della Materia Condensata Moderna, non è formalmente richiesto aver superato o selezionato questi corsi. Tutte i contenuti rilevanti per il corso di Fisica Computazionale saranno presentati durante le lezioni in una maniera esaustiva e confacente agli obbiettivi del corso.
1. Introduzione alla fisica computazionale.
2. Programmazione in Python per la soluzione di problemi di fisica.
3. Grafica e visualizzazione.
4. Simulazione di sistemi classici. Soluzione dell'equazione del moto di Newton per sistemi smorzati e soggetti a una forza esterna con dinamica non lineare.
5. Introduzione ai metodi Monte Carlo per sistemi a molti corpi classici. Applicazione al modello di Ising.
6. Soluzione dell'equazione di Schrödinger indipendente dal tempo. Calcolo della struttura a bande dei “nanoribbon” di grafene e dei nanotubi di carbonio.
7. Breve introduzione alle tecniche di Monte Carlo quantistico per sistemi quantistici a molti corpi. Studio più dettagliato del Monte Carlo variazionale.
8. Breve menzione dei metodi computazionali per sistemi su reticolo fortemente correlati.
9. Soluzione dell'equazione di Schrödinger dipendente dal tempo per la dinamica quantistica.
10. Introduzione al “machine learning” con Python.
11. Introduzione al calcolo quantistico con il “software development kit” Qiskit.
12. Metodo quantistico di soluzione variazionale degli autovalori (“Variational Quantum Eigensolver”).
Mark E. Newman, Computational Physics (revisited and expanded version) (Cambridge University Press, 2013).
Materiale on-line suggerito dal docente al termine di ciascuna lezione.
L'esame è composto da vari esercizi da svolgere a casa e da un esame orale:

Esercizi a casa: Alla fine di alcune lezioni verranno assegnati esercizi computazionali individuali per utilizzare i metodi e gli strumenti appresi. In totale saranno assegnati quattro esercizi. Tutte le soluzioni, presentate sotto forma di tabelle o grafici, dovranno essere redatte in file Word o LaTeX e inviate al docente attraverso un apposito link in Moodle. In alcuni casi, il docente potrebbe richiedere anche la consegna di parti di codice. Gli esercizi saranno valutati in trentesimi. Gli studenti possono consegnare gli esercizi singolarmente durante il corso oppure tutti insieme alla fine (almeno 4 giorni -96 ore- prima dell'esame orale). L’accesso all’esame orale sarà consentito solo dopo la consegna di tutti gli esercizi e con una media minima di 16/30.
Esame orale (durata dai 30 ai 40 minuti): Durante l’orale, lo studente risponderà a domande di approfondimento sui risultati degli esercizi e sui contenuti del corso, permettendo al docente di valutare la comprensione degli argomenti e delle tecniche apprese.

Valutazione finale:
• Eccellente (27-30/30): L’esame sarà considerato pienamente riuscito se la media degli esercizi sarà uguale o superiore a 25/30 e, durante l’orale, lo studente riuscirà a rispondere in modo chiaro alla maggior parte delle domande, dimostrando una padronanza completa della materia.
• Buono (22-26/30): La valutazione sarà considerata buona se la media degli esercizi sarà uguale o superiore a 20/30 e, durante l’orale, lo studente dimostrerà una buona comprensione dei concetti chiave, mostrando di saper correggere gli errori presenti negli esercizi.
• Sufficiente (18-21/30): L’esame sarà considerato sufficiente se la media degli esercizi sarà uguale o superiore a 16/30 e, durante l’orale, lo studente dimostrerà una conoscenza adeguata delle nozioni principali trattate nel corso, comprendendo anche gli errori più rilevanti commessi.

Esame non superato: L’esame sarà considerato non superato se la media degli esercizi sarà inferiore a 16/30, nel qual caso non sarà possibile accedere all’esame orale, o superiore a 16, ma lo studente dimostrerà una comprensione insufficiente delle nozioni di base trattate nel corso. Il docente assegnerà nuovi esercizi per permettere allo studente di ripetere l’esame.

I problemi e le equazioni fondamentali rilevanti per ogni parte del corso saranno introdotti utilizzando un approccio tradizionale, con tutti i calcoli eseguiti su una lavagna. L'implementazione nei programmi Python sarà condotta passo dopo passo dal docente, proiettando lo schermo del suo computer in modo che gli studenti possano seguire facilmente ogni operazione e ripeterla sui loro computer.
Inglese
orale
Programma definitivo.
Data ultima modifica programma: 12/11/2024