Computational Physics

Periodo di svolgimento
‌‌
Info sul corso
Ore del corso
40
Ore dei docenti responsabili
40
Ore di didattica integrativa
0
CFU 6
‌‌

Modalità esame

Prova scritta e relazione di seminario. Weekly assignments: 50% Final Project (second week of December): 50% The weekly assignments are due out on friday of the week after the lectures are delivered. They should be provided in the form of a paper-lookalike short report (pdf preferred) of about ten pages, with i) Statement of the problem, ii) Motivation of the chosen numerical technique, iii) Convergence and performance analysis, iv) Data analysis, v) Brief summary. The preparation of the weekly assignments is expected to take no less than 6-8h work. The final project consists in the solution of a research-oriented problem of choice. Projects related to an ongoing PhD thesis are encouraged.

Prerequisiti

Il corso è autoconsistente, ma una conoscenza di calcolo numerico e programmazioni (Fortran, C, C++, Matlab, Mathematica, Python, Julia...) è sicuramente consigliata, così come conoscenze di fisica di base.

Programma

In questo corso saranno illustrati i fondamenti delle principali tecniche computazionali per affrontare una vasta gamma di problemi complessi in fisica, ingegneria e biologia, con particolare riferimento alla fisica dei fluidi, materia soffice e biofisica, onde classiche e quantistiche. Si illustreranno inoltre tecniche moderne di analisi dati e-learning associate alla simulazione dei sistemi di cui sopra.

1. Metodi su reticolo per campi classici e quantistici
(a) Fondamenti di discretizzazione su reticolo
(b) Metodi a differenze finite per problemi di trasporto lineare
(c) Metodi a differenze finite per fluidi e onde non-lineari
(d) Cenni a metodi per geometrie complesse: volumi finiti ed elementi finiti
2. Metodi mesoscopici
(a) Metodo Lattice Boltzmann per fluidi
(b) Metodo Lattice Boltzmann per materia soffice
(c) Soluzione numerica di equazioni cinetiche (Fokker-Planck)
(d) Metodi stocastici a particelle
3. Analisi dati e machine learning
(a) Cenni di Machine Learning
(b) Serie temporali e distribuzioni probabilistiche
(c) Analisi di segnali caotici e turbolenti

Obiettivi formativi

Al termine del corso, lo studente sarà in grado di:
1. Comprendere e sviluppare i concetti alla base della simulazione di sistemi complessi, con particolare ma non esclusivo riferimento alla fisica, ingegneria e biologia
2. Leggere in maniera critica la letteratura relativa alla simulazione di sistemi complessi di cui sopra
3. Scegliere le tecniche computazionali più appropriate per simulare sistemi complessi di cui sopra ed analizzare i rispettivi dati
4. Contribuire progetti di ricerca originali.

Riferimenti bibliografici