10 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 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 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 92b7197330 Commit iniziale 2026-07-05 11:58:52 +02:00