Skip to content

Repository files navigation

Tecniche Computazionali

Repository contenente simulazioni numeriche e applicazioni di tecniche computazionali sviluppate da Leonardo Bianchini (Novembre 2011).

Descrizione

Questo repository include implementazioni in linguaggio C di varie simulazioni fisiche e statistiche:

  1. Simulazioni di Distribuzione di Probabilità
  2. Rilassamento Collisionale di Particelle

Progetti

1. Distribuzione di Probabilità (distribuzione-probabilita/)

Simulazioni Monte Carlo per la distribuzione di probabilità di eventi casuali:

Simulazione Lancio Dado

Simulazione del lancio di un dado a 6 facce utilizzando il metodo Monte Carlo. Il programma simula N lanci ripetuti R volte e calcola la distribuzione di probabilità dei risultati.

Parametri principali:

  • N = 20 (Numero di lanci)
  • R = 10000 (Ripetizioni della simulazione)
  • Probabilità teorica = 1/6 per faccia

Distribuzione lancio dado

Simulazione Lancio Moneta

Simulazione del lancio di una moneta utilizzando il metodo Monte Carlo. Calcola la distribuzione binomiale per N lanci.

Parametri principali:

  • N = 50 (Numero di lanci)
  • R = 10000 (Ripetizioni della simulazione)
  • Probabilità teorica = 1/2 per faccia

Distribuzione lancio moneta

File:

  • leonardo_bianchini.c - Simulazione lancio moneta
  • leonardo_bianchini_dado.c - Simulazione lancio dado
  • leonardo_bianchini_lib.c - Libreria con funzioni ausiliarie
  • File/ - Dati di output (teorici e sperimentali)
  • Immagini/ - Grafici delle distribuzioni

2. Rilassamento Collisionale (rilassamento-collisionale/)

Simulazione del rilassamento collisionale di un sistema di particelle in un intervallo unidimensionale con pareti riflettenti.

Caratteristiche:

  • N = 2000 particelle
  • L = 1 (Lunghezza dell'intervallo)
  • S = 100000 simulazioni
  • M = 500 (Intervalli per l'istogramma)
  • Calcolo delle collisioni tra particelle e con le pareti
  • Analisi della distribuzione delle velocità

File:

  • main.c - Programma principale della simulazione
  • hist.c / hist.h - Gestione degli istogrammi
  • dist_vel*.dat - Dati della distribuzione delle velocità

Compilazione ed Esecuzione

Requisiti

  • Compilatore C (gcc)
  • Librerie standard C (stdio.h, stdlib.h, math.h)

Compilazione

Per compilare le simulazioni di distribuzione di probabilità:

cd distribuzione-probabilita/File\ Sorgente/
gcc leonardo_bianchini.c leonardo_bianchini_lib.c -o lancio_moneta -lm
gcc leonardo_bianchini_dado.c leonardo_bianchini_lib.c -o lancio_dado -lm

Per compilare la simulazione di rilassamento collisionale:

cd rilassamento-collisionale/
gcc main.c hist.c -o rilassamento -lm

Esecuzione

# Lancio moneta
./lancio_moneta

# Lancio dado
./lancio_dado

# Rilassamento collisionale
./rilassamento

Struttura del Repository

tecniche-computazionali/
├── distribuzione-probabilita/
│   ├── File Sorgente/        # Codice sorgente
│   ├── File/                 # Dati di output
│   └── Immagini/             # Grafici delle distribuzioni
├── rilassamento-collisionale/
│   ├── main.c               # Simulazione principale
│   ├── hist.c/hist.h        # Gestione istogrammi
│   └── dist_vel*.dat        # Dati distribuzione velocità
├── rilassamento-collisionale.old/  # Versione precedente
└── ver2/                    # Versione 2

Autore

Leonardo Bianchini
Novembre 2011


Note

Le simulazioni utilizzano il metodo Monte Carlo per generare numeri pseudo-casuali e studiare la convergenza delle distribuzioni di probabilità verso i valori teorici attesi.

About

Programmi scritti per l'esame di Tecniche Computazionali: simulazione di lancio di una moneta e simulazione di rilassamento collisionale termodinamico

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages