COMPUTING METHODS FOR ASTROPHYSICS

Obiettivi formativi

Lo studente che segue proficuamente il corso sviluppa una conoscenza dei metodi principali per la risoluzione numerica di equazioni e sistemi di equazioni differenziali ordinarie del primo ordine, che sono alla base dei meccanismi fisici che governano la maggior parte dei corpi celesti e dei fenomeni astrofisici. Attraverso una serie di esercitazioni di laboratorio al computer, inoltre, lo studente, seguito a stretto contatto dal docente, ha la possiblita' di sviluppare programmi in linguaggio C++, cosi' da mettere in pratica una (o piu') delle tecniche numeriche presentate nella sezione frontale del corso. Le conoscenze maturate in questo insegnamento sono fondamentali e propedeutiche per il successivo lavoro di preparazione della tesi di laurea.

Canale 1
GIANCARLO DE GASPERIS Scheda docente

Programmi - Frequenza - Esami

Programma
Linguaggi di programmazione - Linguaggi di programmazione: Fortran & Python dal linguaggio C - Fortran: dalle basi fino alla gestione dinamica della memoria - Python: numpy matplotlib astropy scipy - Introduzione al calcolo parallelo (Graziani) - Sistemi a memoria distribuita e MPI - openMP e memoria condivisa - opzionale: introduzione a GPU computing - Fortran, caratteristiche avanzate e nuovi standard (Graziani) - Fortran: Tipi e Moduli: scrittura di software modulare, tipizzato e facilmente parallelizzabile. Principi di analisi del software. - Fortran: Puntatori e puntatori a funzioni Algoritmi - Sistemi lineari – Stabilità ed efficienza, Soluzione di sistemi lineari sparsi, metodi iterativi - LU – Choleski – SVD – EVD – PCG - Equazioni differenziali ordinarie – metodi espliciti e stabilità - Eulero - EP -RK3-4 - PC - Equazioni differenziali stiff - Metodi impliciti Metodi Montecarlo per integrazione e stima di parametri: - Metropolis-Hastings – GW10 Elaborazione e di segnali in astrofisica - Elaborazione del Segnale: - Campionamento del Segnale - Teorema del campionamento, la convoluzione, la correlazione e la trasformata di Fourier - Discrete Fourier Transform e Fast Fourier Transform - Introduzione all’analisi di segnali su una sfera - Discretizzazione della sfera - Decomposizione numerica in armoniche sferiche - Elaborazioni di immagini astronomiche Stime spettrali – rumore stazionario e colore del rumore Introduzione alle simulazioni numeriche in astrofisica galattica ed extragalattica - Distribuzione di larga scala della materia oscura (N-Corpi e Gravità). - Fluidodinamica Astrofisica: Effetti locali in ISM e di larga scala per la formazione e evoluzione delle galassie (schemi AMR/Voronoi e SPH). - Equazione del trasporto radiativo, feedback radiativo e Reionizzazione cosmica (Metodi Monte Carlo e Ray tracing).
Prerequisiti
Conoscenza elementare di un linguaggio di programmazione strutturata (come fortran moderno, linguaggio C, C++ e/o Python). Capacità di uso delle shell e comandi base UNIX.
Testi di riferimento
- Modern Fortran Explained: Incorporating Fortran 2018 (M. Metcalf), Springer - Fortran for Scientists & Engineers (S.J. Chapman) McGraw-Hill - A Student’s Guide to Python for Physical Modeling (J. M. Kinder and P. Nelson), Princeton University Press - A Primer on Scientific Programming with Python (H.P. Langtangen) Springer - An Introduction to Python and Computer Programming (Y. Zhang) Springer - The OpenMP Common Core (Mattson et al.), MIT Press - Using MPI ( W. Gropp et al.), MIT Press Risorse libere online e materiale fornito dai docenti: - Un buon libro online di fisica computazionale: https://courses.physics.ucsd.edu/2017/Spring/physics142/Lectures/Lecture18/Hjorth-JensenLectures2010.pdf - Il vecchio NR, ha buone discussioni su codici, algoritmi e referenze classiche: https://numerical.recipes/
Frequenza
Frequenza facoltativa, ma fortemente consigliata
Modalità di esame
3/4 progetti (vincolati: 1 in Fortran, 1 Python, 1/2 liberi) singoli o di gruppo o In alternativa: - due progetti vincolati, singoli o di gruppo, da svolgere durante il corso e - un progetto suggerito dai gruppi di ricerca dell’area Astrofisica o Esame: presentazione personale di un progetto ed esame orale sul programma del corso
Modalità di erogazione
Lezioni teoriche ed esercitazioni (eventualmente con seminari o lezioni monografiche su argomenti specifici)
LUCA GRAZIANI Scheda docente
  • Codice insegnamento10611919
  • Anno accademico2025/2026
  • CorsoAstrophysics and Cosmology - Astrofisica e Cosmologia
  • CurriculumCurriculum unico
  • Anno2º anno
  • Semestre1º semestre
  • SSDFIS/05
  • CFU6