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
Inquadramento dell'insegnamento nel percorso del corso di studio
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.
Risultati di apprendimento attesi
• Sviluppare i propri programmi Python per simulare vari sistemi fisici, sia classici che quantistici .
• Selezionare le tecniche numeriche appropriate, le librerie e gli strumenti di visualizzazione dei dati appropriati per ciascun problema.
• Avere una conoscenza di base dei metodi computazionali comunemente utilizzati nella ricerca in diverse aree della fisica.
• Analizzare i risultati delle simulazioni numeriche.
• Presentare i risultati in grafici e figure secondo gli standard delle pubblicazioni scientifiche.
Prerequisiti
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.
Contenuti
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”).
Testi di riferimento
Materiale on-line suggerito dal docente al termine di ciascuna lezione.
Modalità di verifica dell'apprendimento
Alla fine di ogni lezione, verranno assegnati dei brevi esercizi computazionali da risolvere a casa individualmente per fare pratica con i metodi e gli strumenti computazionali appresi. Verrano assegnati sei esercizi in totale. Tutte le soluzioni degli esercizi devono essere consegnati entro la scadenza specificata; in caso contrario, gli studenti non saranno ammessi all'esame orale. Qualsiasi ritardo nella consegna comporterà una penalità in termini di punti. Il tempo disponibile per ciascun compito è di circa due settimane.