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;