LABORATORIO DI METODI COMPUTAZIONALI

Crediti: 
6
Settore scientifico disciplinare: 
INFORMATICA (INF/01)
Anno accademico di offerta: 
2017/2018
Semestre dell'insegnamento: 
Secondo Semestre
Lingua di insegnamento: 

Italiano, inglese se richiesto.

Obiettivi formativi

Obiettivo del corso è condurre lo studente a familiarizzare con i metodi numerici per la soluzione del calcolo scientifico in ambito fisico-matematico, utilizzando Matlab come linguaggio di programmazione. Alla fine del Corso lo studente dovrà essere in grado di comprendere ed elaborare gli algoritmi numerici proposti, dimostrando la capacità di applicare le conoscenze acquisite per l’interpretazione e soluzione di alcuni dei problemi di fisica che possono essere affrontati con gli strumenti di calcolo acquisiti. Gli studenti dovranno inoltre dimostrare di saper valutare, valorizzare e comunicare i propri risultati numerici con l’ausilio di brevi e schematiche presentazioni scritte contenenti codici, immagini e grafici significativi.

Prerequisiti

Nozioni di base di calcolo matematico e di fisica classica.

Contenuti dell'insegnamento

Il corso si propone di fornire gli elementi di calcolo numerico necessari per affrontare problemi di Fisica sia in campo sperimentale sia in campo teorico. Matlab è il linguaggio di programmazione utilizzato.
La parte iniziale del corso è dedicata all'introduzione del linguaggio di programmazione e ai concetti base del calcolo numerico attraverso esempi pratici affrontati durante le ore di laboratorio numerico. Si affrontano quindi alcuni problemi numerici riguardanti, per esempio, il calcolo integrale (metodo in quadratura, metodo Montecarlo).
Per quanto concerne le tematiche di fisica sperimentale, si affrontano in particolare il problema dell’interpolazione non lineare e dell’analisi spettrale dei segnali. Viene trattato in modo approfondito il moto di un pendolo per un confronto tra dati sperimentali e simulazioni numeriche al calcolatore.
In campo teorico si studiano diversi metodi di soluzione di sistemi di equazioni differenziali ordinarie per affrontare problemi di fisica non risolubili analiticamente quali, per esempio. lo studio di oscillatori accoppiati, il problema dei 3 corpi circolare ristretto, il moto dei pianeti, lo studio della stabilità e del caos nei sistemi hamiltoniani.

Programma esteso

Elementi di Programmazione in Matlab
Algoritmi numerici: zeri di una funzione, soluzione di sistemi lineari, interpolazione polinomiale, metodo dei minimi quadrati, cenni alle trasformate di Fourier per l’analisi spettrale dei segnali, quadratura numerica, generatori di numeri casuali, metodo Monte Carlo, integrazione di equazioni differenziali ordinarie.
Sviluppo di codici: analisi dati sperimentali e confronto con modelli teorici, calcolo di integrali in una in una o più dimensioni e confronto tra diversi algoritmi numerici, simulazione Monte Carlo di esperimenti di laboratorio, soluzione di equazioni differenziali ordinarie e confronto tra i diversi algoritmi numerici nel caso di semplici problemi di Fisica Classica: pendolo semplice con attrito e a lunghezza variabile; oscillatori non lineari accoppiati; problema dei due corpi (Sole+pianeta); problema dei tre corpi (Sole, Terra, Luna); problema degli n-corpi; cenni di dinamica molecolare, cenni sulla stabilità e sul caos nei sistemi hamiltoniani.

Bibliografia

Saranno distribuite slide del corso, appunti del docente, brevi scritti reperiti in rete e codici numerici. Tutto il materiale didattico è reperibile, a fine lezione, sulla piattaforma Elly a cui gli studenti possono accedere iscrivendosi al corso on line.

Metodi didattici

Il corso prevede sia lezioni frontali sia esercitazioni settimanali guidate al computer per lo sviluppo dei codici numerici in linguaggio Matlab. Tutti i codici numerici di esempio che il docente presenta a lezione e le tracce degli esercizi numerici che vengono assegnati settimanalmente saranno presenti su Elly con frequenza settimanale.

Modalità verifica apprendimento

Durante il corso, gli studenti dovranno consegnare il lavoro svolto al computer settimanalmente in laboratorio salvando ogni codice e file in uno spazio assegnato a cui può accedere il docente per verificare lo stato di avanzamento ed eventualmente apportare correzioni da discutere eventualmente con lo studente.
L’esame finale consisterà nella discussione orale di alcuni algoritmi numerici illustrati durante il corso e nello sviluppo di uno o più codici originali per la soluzione di semplici problemi di Fisica discussi in laboratorio col docente. Allo studente verrà chiesto di preparare una breve relazione (in latex, word, power point) da presentare per l'esame finale orale che illustri i programmi numerici realizzati e metta in risultato, attraverso grafici, i risultati più interessanti ottenuti. A questo scopo potrà servirsi delle presentazioni schematiche che ha preparato settimanalmente per riassumere il lavoro in laboratorio. Per raggiungere un livello sufficiente è necessario presentare tutti i codici numerici sviluppati durante le esercitazioni di laboratorio. A fine lezione, il docente indicherà per ogni codice da sviluppare i risultati minimi attesi ed eventuali estensioni ed approfondimenti che lo studente riterrà di affrontare.
Il voto della prova orale verrà comunicato subito dopo il colloquio.
Si ricorda che l'iscrizione on line all'appello è OBBLIGATORIA.