Commit Graph

14 Commits

Author SHA1 Message Date
davide 288ae81b3e Parallelizza generazione run su più processi CPU
Ogni run usa un seme RNG indipendente derivato dal seed globale, così
l'esecuzione su ProcessPoolExecutor resta riproducibile.
2026-07-06 11:38:33 +02:00
davide 4d83ac4e70 Allinea le proprietà della banda stagnata all'acciaio dolce reale
Il rivestimento di stagno è troppo sottile per influire sulle proprietà
in massa: la banda stagnata è fisicamente acciaio a basso tenore di
carbonio, quindi ne eredita conducibilità, densità, calore specifico,
resistività e permeabilità. Ricalibra il flusso di picco della sorgente
di conseguenza e documenta le fonti in README.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-05 22:37:21 +02:00
davide a04465a674 Calibra sorgente e disabilita randomizzazione per validare contro dati reali
Riduce il flusso di picco e riavvicina la sorgente per riprodurre il
picco e il decadimento osservati nel pirometro reale, mantenendo
velocità e distanza tra sorgenti invariate.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-05 22:25:12 +02:00
davide 4369d2799f Deriva la conduzione y da un'equazione di aletta sull'intero cilindro
Sostituisce il parametro lunghezza_conduzione_y_mm con un termine
q_y = -(h_esterno + h_interno)/spessore * (T - T_amb) ricavato dal
bilancio sull'intero volume cilindrico, eliminando un parametro libero.
Riduce anche l'inerzia del sensore IR a 0.01 s (pirometro fast-response).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-05 22:00:06 +02:00
davide 7f540ed108 Riscrive il README per il modello 2D della fascetta
Documenta geometria e sistema di coordinate (con schema della sezione),
la catena di approssimazioni fisiche (sorgenti gaussiane, skin depth,
diffusione 2D, scambi sul contorno e conduzione circonferenziale,
sensore realistico), il metodo numerico, i tre script, i punti chiave
della configurazione, lo schema colonna per colonna dei CSV e le
limitazioni del modello. Sostituisce la descrizione 1D obsoleta.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 19:23:08 +02:00
davide c67f6f8da6 Scambia calore su tutto il contorno e per conduzione circonferenziale
- Convezione anche sui bordi laterali x = 0 e x = lunghezza (nuovo
  coefficiente h_bordi_W_m2K in ARIA)
- Termine di conduzione lungo y verso il resto della fascetta, assunto a
  temperatura ambiente: q_y = -k*(T - T_amb)/L_y^2 con L_y configurabile
  (lunghezza_conduzione_y_mm in FASCETTA)
- La temperatura iniziale del campo e' la temperatura ambiente del run
  (rimosso temperatura_iniziale_C)
- Fisica estratta in prepara_stato_termico e passo_implicito, condivise
  tra simulate.py e plot_animazione.py per evitare duplicazione
- Entrambi i termini sono lineari e restano nella matrice fattorizzata
  una volta per run

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 19:22:51 +02:00
davide c92fd26864 Aggiunge animazione 2D della sezione con sorgenti e sensore
Nuovo script plot_animazione.py che riproduce la fisica di run_0001
(stesso seed di simulate.py) e anima tre pannelli con asse x allineato:
profilo di flusso q(x) con le sorgenti in transito e il verso di marcia,
campo di temperatura T(x, z) nella sezione con il sensore IR e la sua
linea di vista, temperatura nel punto osservato (vera e con inerzia del
sensore) con cursore temporale. Con backend non interattivo salva una GIF
in dataset/ invece di aprire la finestra.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 19:22:37 +02:00
davide c4e71a2676 Usa il backend Qt per i grafici e salva PNG quando non interattivo
Aggiunge PySide6 alle dipendenze cosi' matplotlib seleziona il backend
qtagg (WSLg mostra le finestre); senza tkinter/Qt ripiegava su agg e
plt.show() non apriva nulla. Se il backend resta non interattivo,
plot_csv.py salva i grafici come PNG in dataset/ invece di non mostrare
niente. Etichetta della legenda aggiornata al lato interno.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 19:21:00 +02:00
davide bb492c37a6 Trasforma il modello termico da 1D a 2D sulla sezione della fascetta
La lastra diventa una fascetta cilindrica (diametro, lunghezza, spessore)
di cui si simula la sezione rettangolare lunghezza x spessore, con origine
nel vertice in alto a sinistra: x = lunghezza, z = spessore, y = coordinata
circonferenziale non risolta (offset collassato in attenuazione gaussiana).

- Le sorgenti si muovono in direzione -x e producono un profilo di flusso
  q(x) su tutto il lato esterno; corretto il posizionamento del gruppo per
  velocita' negative
- Sensore a infrarossi con coordinata x e distanza dalla parete interna,
  misura la superficie interna senza contatto
- Volumi finiti 2D con Eulero implicito: matrice sparsa fattorizzata LU una
  volta per run (scipy.sparse.linalg.splu), a ogni passo solo i sistemi
  triangolari
- Convezione sui lati esterno/interno, bordi adiabatici in x
- Schema CSV invariato; metadata con geometria e griglia 2D

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 19:20:47 +02:00
davide b40ee49528 Aggiunge gruppo di sorgenti multiple rigide lungo x
Sostituisce la singola sorgente con un gruppo di N sorgenti equidistanti
che si muovono insieme, sommando i contributi di flusso sul sensore.
2026-07-05 14:26:01 +02:00
davide e636dfaad8 Sorgente a 2 m/s da -1m a +5m, ricalibrata per picco 220-230°C
Velocità e percorso della sorgente aggiornati; passo di integrazione,
flusso di picco, costante di tempo del sensore e deviazioni di
randomizzazione ricalibrati di conseguenza per mantenere il picco di
temperatura (vera e misurata) nel range 220-230°C. Aggiunta convenzione
in CLAUDE.md sui commenti di config.py.
2026-07-05 12:41:32 +02:00
davide ae0bef50cf Usa banda stagnata sottile (0.12 mm) e spessore in mm nel config
Ricalibra il flusso termico di picco per portare il lato sensore a
200-250 °C con la nuova lamiera. Spessore piastra ora espresso in
millimetri (spessore_mm) invece che in metri, convertito internamente
in simulate.py.
2026-07-05 12:14:46 +02:00
davide 17607cab89 Aggiunge materiale banda_stagnata (acciaio ECCS/DR8 per scatole alimentari) 2026-07-05 12:02:25 +02:00
davide 92b7197330 Commit iniziale 2026-07-05 11:58:52 +02:00