Insegnamento METODI COMPUTAZIONALI PER LA FISICA

Corso
Fisica
Codice insegnamento
55A00001
Sede
PERUGIA
Curriculum
Comune a tutti i curricula
Docente
Stefano Germani
Docenti
  • Stefano Germani
Ore
  • 42 ore - Stefano Germani
CFU
6
Regolamento
Coorte 2020
Erogato
2022/23
Attività
Affine/integrativa
Ambito
Attività formative affini o integrative
Settore
FIS/03
Tipo insegnamento
Opzionale (Optional)
Tipo attività
Attività formativa monodisciplinare
Lingua insegnamento
ITALIANO
Contenuti

Il corso è incentrato su
• Il sistema Linux, principali comandi e ambiente shell;
• Il linguaggio di programmazione python con cenni di C/C++;
• Tecniche e algoritmi di risoluzione di problemi comuni in fisica (integrazione numerica, risoluzione di sistemi di equazioni differenziali, trasformate di Fourier);
• Tecniche e algoritmi basati sulla generazione di numeri casuali (simulazioni Monte Carlo, Monte Carlo Markov Chains);
Testi di riferimento

M. Newman "Computational Physics",
CreateSpace Independent Publishing Platform (November 7, 2012).
ISBN-10 ¿ : ¿ 1480145513
ISBN-13 ¿ : ¿ 978-1480145511
Obiettivi formativi
Obiettivo del corso è l’apprendimento e l’utilizzo delle tecniche e degli algoritmi più comuni della programmazione informatica applicata alla soluzione di problemi tipici della ricerca in fisica.
Obiettivo secondario, prerequisito fondamentale per il raggiungimento dell'obiettivo primario, è l’approfondimento delle competenze informatiche dello studente sia dal punto di vista della programmazione che della gestione dei dati.
Prerequisiti

Il prerequisito principale è aver sostenuto l’esame di Laboratorio di Informatica.

Gli esempi affrontati durante il corso e nell’esercitazione finale, inoltre, richiedono la capacità di risolvere semplici problemi di Meccanica e/o Elettromagnetismo e/o Statistica.
Metodi didattici

• Lezioni frontali: 12 lezioni da 1 ora ciascuna in cui verranno presentati gli argomenti dal punto di vista teorico;

• Prove pratiche al calcolatore: 10 esercitazioni da 3 ore ciascuna in cui le tecniche descritte dal punto di vista teorico verranno applicate a problemi di fisica appositamente selezionati.
Modalità di verifica dell'apprendimento

L’esame finale si basa su una progetto pratico da portare a termine e successivamente discusso durante una prova orale.

Il progetto pratico viene assegnato dal docente anche su base di proposte da parte dello studente.
Programma esteso

• Introduzione al corso;
• Utilizzo base della shell Linux;
• Le basi di python e le principali librerie scientifiche (Numpy / SciPy / Matplotlib);
• Confronto python C/C++;
• Errori computazionali;
• Integrali e derivate;
• Equazioni e equazioni differenziali;
• Minimizzazione;
• Trasformate di Fourier;
• Numeri Random e tecniche Monte Carlo;
• Markov Chain Monte Carlo;
• Classi e Oggetti;
• Prestazioni computazionali compilazione e wrapper C;
• Strumenti ibridi e avanzati: Jupyter notebook, PyROOT;
Condividi su