LABORATORIO DI FISICA COMPUTAZIONALE I |
Codice
|
1012086 |
Lingua
|
ITA |
Corso di laurea
|
Fisica |
Programmazione per l'A.A.
|
2020/2021 |
Curriculum
|
Fisica applicata |
Anno
|
Secondo anno |
Unità temporale
|
Primo semestre |
Tipo di attestato
|
Attestato di profitto |
Crediti
|
6
|
Settore scientifico disciplinare
|
INF/01
|
Ore Aula
|
24
|
Ore Laboratorio
|
36
|
Ore Studio
|
-
|
Attività formativa
|
Attività formative affini ed integrative
|
Canale: 2
Docente
|
|
Date di inizio e termine delle attività didattiche
|
28-09-2020 -
22-01-2021 |
Date degli appelli
|
Date degli appelli d'esame
|
Modalità di erogazione
|
Tradizionale
|
Modalità di frequenza
|
Non obbligatoria
|
Canale: 1
Docente
|
RICCI TERSENGHI FEDERICO
(programma)
MODULO EQUAZIONI DIFFERENZIALI ORDINARIE (30 ore)
Integrazione di equazioni differenziali con condizioni iniziali. Metodo di Eulero. Errore locale e errore globale. Oscillatore armonico.
Metodo di Eulero-Cromer. Studio dell'errore di integrazione.
Il prototipo della funzione main e gli argomenti da linea di comando. La gestione dell’input/output: stdin, stdout, stderr. Redirezione di input e output dalla linea di comando.
Trasferimento dei file tra macchine in remoto. Uso di gnuplot per la generazione di grafici di dati.
Stabilità: il caso delle oscillazioni e crescita/decrescita esponenziale. Proprietà di stabilità dei metodi di Eulero e Eulero-Cromer. Importanza delle scale di tempo caratteristiche.
Metodi di integrazione: Reversibilità nel metodo di Eulero-Cromer e metodo di Verlet.
Leggi di conservazione lungo le traiettorie approssimate dell'oscillatore armonico.
Pendolo semplice. Misura del periodo e studio delle piccole oscillazioni. Oscillazioni con smorzamento lineare. Calcolo del tempo di dimezzamento e dello smorzamento critico.
Uso delle macro del precompilatore per la compilazione condizionale: #if, #elif, #else, #endif, #ifdef. L'opzione -D del compilatore gcc.
Compilazione condizionale e funzioni macro.
Approfondimenti sull’uso di gnuplot: grafici in scala bilogaritmica ("set log”), definizione di funzioni di una variabile indipendente, aggiustare i parametri delle funzioni con gnuplot ("fit via”).
Metodi di Runge-Kutta del II e IV ordine.
Strutture C: struct, puntatori a struct.
Pendolo forzato. Cenni sul caos. Sezione di Poincaré. Bacini di attrazione. Diagrammi di biforcazione.
Moto in un piano. Equazioni accoppiate. Moto di pianeti intorno a stella fissa. Unità di misura astronomiche. Calcolo del periodo di un'orbita chiusa nello spazio delle fasi.
Considerazioni sulla precisione del calcolo floating-point nella scelta del passo di integrazione.
Grafici tridimensionali con gnuplot.
Stabilità per oscillazioni ed errore relativo sul calcolo dell'energia con i metodi di Runge-Kutta.
MODULO CAMMINI ALEATORI (20 ore)
Allocazione dinamica di memoria: malloc(), calloc(), realloc(), free(), sizeof().
Moto browniano. Random Walk in una dimensione.
Generazione di numeri pseudocasuali con il metodo delle congruenze lineari.
Generazione di numeri casuali con distribuzione qualunque: inversione della cumulativa, metodo "accetta o rifiuta” e trasformazione di Box-Müller.
Generatori notevoli (nel bene e nel male) e di uso comune: Minimal Standard, Randu, puramente moltiplicativi di l’Ecuyer.
Funzioni di libreria del C: rand(), lrand48(), drand48()
Costruzione dell'istogramma dei valori di un random walk unidimensionale a tempo fisso. Binning di un istogramma. Random walk in più dimensioni spaziali. Probabilità di ritorno.
Richiami sui sistemi numerici posizionali. Sistema esadecimale. Rappresentazione dei numeri interi sul calcolatore. Operatori bitwise "&","|", "^","~". Operatori di scorrimento di bit "", "
Maggiori informazioni qui: https://elearning.uniroma1.it/course/view.php?id=2315
“Programmazione Scientifica”, Barone, Marinari, Organtini, Ricci-Tersenghi
|
Date di inizio e termine delle attività didattiche
|
28-09-2020 -
22-01-2021 |
Date degli appelli
|
Date degli appelli d'esame
|
Modalità di erogazione
|
Tradizionale
|
Modalità di frequenza
|
Non obbligatoria
|
Canale: 3
Docente
|
MARINARI VINCENZO
(programma)
PROGRAMMA:
MODULO EQUAZIONI DIFFERENZIALI ORDINARIE (30 ore)
Integrazione di equazioni differenziali con condizioni iniziali. Metodo di Eulero. Errore locale e errore globale. Oscillatore armonico.
Metodo di Eulero-Cromer. Studio dell'errore di integrazione.
Il prototipo della funzione main e gli argomenti da linea di comando. La gestione dell’input/output: stdin, stdout, stderr. Redirezione di input e output dalla linea di comando.
Trasferimento dei file tra macchine in remoto. Uso di gnuplot per la generazione di grafici di dati.
Stabilità: il caso delle oscillazioni e crescita/decrescita esponenziale. Proprietà di stabilità dei metodi di Eulero e Eulero-Cromer. Importanza delle scale di tempo caratteristiche.
Metodi di integrazione: Reversibilità nel metodo di Eulero-Cromer e metodo di Verlet.
Leggi di conservazione lungo le traiettorie approssimate dell'oscillatore armonico.
Pendolo semplice. Misura del periodo e studio delle piccole oscillazioni. Oscillazioni con smorzamento lineare. Calcolo del tempo di dimezzamento e dello smorzamento critico.
Uso delle macro del precompilatore per la compilazione condizionale: #if, #elif, #else, #endif, #ifdef. L'opzione -D del compilatore gcc.
Compilazione condizionale e funzioni macro.
Approfondimenti sull’uso di gnuplot: grafici in scala bilogaritmica ("set log”), definizione di funzioni di una variabile indipendente, aggiustare i parametri delle funzioni con gnuplot ("fit via”).
Metodi di Runge-Kutta del II e IV ordine.
Strutture C: struct, puntatori a struct.
Pendolo forzato. Cenni sul caos. Sezione di Poincaré. Bacini di attrazione. Diagrammi di biforcazione.
Moto in un piano. Equazioni accoppiate. Moto di pianeti intorno a stella fissa. Unità di misura astronomiche. Calcolo del periodo di un'orbita chiusa nello spazio delle fasi.
Considerazioni sulla precisione del calcolo floating-point nella scelta del passo di integrazione.
Grafici tridimensionali con gnuplot.
Stabilità per oscillazioni ed errore relativo sul calcolo dell'energia con i metodi di Runge-Kutta.
MODULO CAMMINI ALEATORI (20 ore)
Allocazione dinamica di memoria: malloc(), calloc(), realloc(), free(), sizeof().
Moto browniano. Random Walk in una dimensione.
Generazione di numeri casuali con distribuzione qualunque: inversione della cumulativa, metodo "accetta o rifiuta”. Trasformazione di Box-Müller.
Numeri pseudocasuali uniformemente distribuiti: Generatori Congruenziali Lineari.
Generatori notevoli (nel bene e nel male) e di uso comune: Minimal Standard, Randu, puramente moltiplicativi di l’Ecuyer.
Funzioni di libreria del C: rand(), lrand48(), drand48()
Costruzione dell'istogramma dei valori di un random walk unidimensionale al tempo t fisso. Binning di un istogramma. Random walk in più dimensioni spaziali. Probabilità di ritorno.
Richiami sui sistemi numerici posizionali. Sistema Esadecimale. Rappresentazione dei numeri interi sul calcolatore. Operatori bitwise "&","|", "^","~". Operatori di scorrimento di bit "", "
ITA: L.Barone, E. Marinari, G. Organtini, F. Ricci Tersenghi,
"Programmazione scientifica", Pearson Italia (2006)
|
Date di inizio e termine delle attività didattiche
|
28-09-2020 -
22-01-2021 |
Date degli appelli
|
Date degli appelli d'esame
|
Modalità di erogazione
|
Tradizionale
|
Modalità di frequenza
|
Obbligatoria
|
Docente
|
ANGELINI MARIA CHIARA
(programma)
MODULO EQUAZIONI DIFFERENZIALI ORDINARIE (30 ore)
Integrazione di equazioni differenziali con condizioni iniziali. Metodo di Eulero. Errore locale e errore globale. Oscillatore armonico.
Metodo di Eulero-Cromer. Studio dell'errore di integrazione.
Il prototipo della funzione main e gli argomenti da linea di comando. La gestione dell’input/output: stdin, stdout, stderr. Redirezione di input e output dalla linea di comando.
Trasferimento dei file tra macchine in remoto. Uso di gnuplot per la generazione di grafici di dati.
Stabilità: il caso delle oscillazioni e crescita/decrescita esponenziale. Proprietà di stabilità dei metodi di Eulero e Eulero-Cromer. Importanza delle scale di tempo caratteristiche.
Metodi di integrazione: Reversibilità nel metodo di Eulero-Cromer e metodo di Verlet.
Leggi di conservazione lungo le traiettorie approssimate dell'oscillatore armonico.
Pendolo semplice. Misura del periodo e studio delle piccole oscillazioni. Oscillazioni con smorzamento lineare. Calcolo del tempo di dimezzamento e dello smorzamento critico.
Uso delle macro del precompilatore per la compilazione condizionale: #if, #elif, #else, #endif, #ifdef. L'opzione -D del compilatore gcc.
Compilazione condizionale e funzioni macro.
Approfondimenti sull’uso di gnuplot: grafici in scala bilogaritmica ("set log”), definizione di funzioni di una variabile indipendente, aggiustare i parametri delle funzioni con gnuplot ("fit via”).
Metodi di Runge-Kutta del II e IV ordine.
Strutture C: struct, puntatori a struct.
Pendolo forzato. Cenni sul caos. Sezione di Poincaré. Bacini di attrazione. Diagrammi di biforcazione.
Moto in un piano. Equazioni accoppiate. Moto di pianeti intorno a stella fissa. Unità di misura astronomiche. Calcolo del periodo di un'orbita chiusa nello spazio delle fasi.
Considerazioni sulla precisione del calcolo floating-point nella scelta del passo di integrazione.
Grafici tridimensionali con gnuplot.
Stabilità per oscillazioni ed errore relativo sul calcolo dell'energia con i metodi di Runge-Kutta.
MODULO CAMMINI ALEATORI (20 ore)
Allocazione dinamica di memoria: malloc(), calloc(), realloc(), free(), sizeof().
Moto browniano. Random Walk in una dimensione.
Generazione di numeri pseudocasuali con il metodo delle congruenze lineari.
Generazione di numeri casuali con distribuzione qualunque: inversione della cumulativa, metodo "accetta o rifiuta” e trasformazione di Box-Müller.
Generatori notevoli (nel bene e nel male) e di uso comune: Minimal Standard, Randu, puramente moltiplicativi di l’Ecuyer.
Funzioni di libreria del C: rand(), lrand48(), drand48()
Costruzione dell'istogramma dei valori di un random walk unidimensionale a tempo fisso. Binning di un istogramma. Random walk in più dimensioni spaziali. Probabilità di ritorno.
Richiami sui sistemi numerici posizionali. Sistema esadecimale. Rappresentazione dei numeri interi sul calcolatore. Operatori bitwise "&","|", "^","~". Operatori di scorrimento di bit "", "
L.Barone, E. Marinari, G. Organtini, F. Ricci Tersenghi, "Programmazione scientifica", Pearson Italia (2006)
Maggiori informazioni qui: https://elearning.uniroma1.it/course/view.php?id=2315
|
Date di inizio e termine delle attività didattiche
|
28-09-2020 -
22-01-2021 |
Modalità di erogazione
|
Tradizionale
|
Modalità di frequenza
|
Obbligatoria
|
|
|