From e636dfaad899b735589b45d686e523c197888e38 Mon Sep 17 00:00:00 2001 From: Davide Grilli Date: Sun, 5 Jul 2026 12:41:24 +0200 Subject: [PATCH] =?UTF-8?q?Sorgente=20a=202=20m/s=20da=20-1m=20a=20+5m,=20?= =?UTF-8?q?ricalibrata=20per=20picco=20220-230=C2=B0C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- CLAUDE.md | 4 ++++ config.py | 30 ++++++++++++++---------------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 3fc7467..f594a70 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -53,6 +53,10 @@ Generatore di dataset per misurazioni termiche pseudo-realistiche di una piastra **Schema di output** (`dataset/run_XXXX.csv`): serie temporale con colonne `id_run, tempo_s, x_sorgente_m, offset_y_sorgente_m, flusso_termico_sorgente_W_m2, skin_depth_m, T_vera_lato_sensore_C, T_misurata_sensore_C, T_lato_caldo_C, T_ambiente_C, velocita_m_s, sigma_punto_m, flusso_picco_W_m2, materiale`. `metadata.csv` ha una riga per run con tutti i parametri e le temperature di picco. +## Convenzioni su `config.py` + +Ogni parametro in [config.py](config.py) ha un commento che spiega solo cos'è (il suo significato fisico/funzionale), mai perché è impostato a un valore specifico. Quando si modifica un parametro per ottenere un certo comportamento (es. una velocità diversa, un range di temperatura target), va cambiato solo il valore: non aggiungere commenti che giustificano o motivano quel valore, perché diventano obsoleti/fuorvianti alla prossima modifica. + ## Vincoli progettuali chiave - Il modello è strettamente 1D (solo attraverso lo spessore). Il movimento laterale dell'induttore non è risolto spazialmente — è collassato in un flusso scalare variabile nel tempo sulla linea del sensore. diff --git a/config.py b/config.py index b896d6a..e7499e9 100644 --- a/config.py +++ b/config.py @@ -19,10 +19,10 @@ SIMULAZIONE = { # Numero di file CSV da generare. - "num_run": 8, + "num_run": 2, # Tempo simulato totale. - "durata_s": 80.0, + "durata_s": 30.0, # Frequenza di campionamento CSV. # Esempio: 2 Hz significa una riga ogni 0.5 s. @@ -30,7 +30,7 @@ SIMULAZIONE = { # Passo di integrazione numerica interna. # Può essere inferiore al periodo di campionamento CSV. - "dt_interno_s": 0.02, + "dt_interno_s": 0.0002, # Seed per la riproducibilità. "seed": 42, @@ -67,8 +67,8 @@ ARIA = { SORGENTE = { # La sorgente parte da x = x_inizio_m e si muove verso x_fine_m. - "x_inizio_m": -0.08, - "x_fine_m": 0.08, + "x_inizio_m": -1.0, + "x_fine_m": 5.0, # Coordinata laterale fissa della proiezione del sensore sul lato caldo. # L'effetto della sorgente è massimo quando x_sorgente == x_sensore e offset_y_m == 0. @@ -79,15 +79,13 @@ SORGENTE = { "offset_y_percorso_m": 0.0, # Velocità della sorgente lungo x. - "velocita_m_s": 0.004, + "velocita_m_s": 2.0, # Raggio del punto gaussiano. Valore più alto = impronta termica più larga. "sigma_punto_m": 0.012, # Flusso termico incidente massimo prima della correzione per efficienza. - # Calibrato per portare il lato sensore a circa 200-250 °C con lamiera - # sottile di banda stagnata (0.12 mm). - "flusso_termico_picco_W_m2": 43900.0, + "flusso_termico_picco_W_m2": 16500000.0, # Frazione del flusso incidente che diventa effettivamente calore nella piastra. "efficienza_riscaldamento": 0.35, @@ -109,12 +107,12 @@ SENSORE = { # Inerzia del sensore del primo ordine. # Valore più alto = risposta del sensore più lenta. - "costante_tempo_s": 1.5, + "costante_tempo_s": 0.05, # Deviazione standard del rumore gaussiano. "rumore_std_C": 0.15, - # Passo di quantizzazione. + # Risoluzione del sensore: passo di quantizzazione della lettura. # Esempio: 0.25 significa che i valori sono arrotondati a 0.25 °C. # Usare 0.0 per disabilitare. "quantizzazione_C": 0.25, @@ -125,16 +123,16 @@ RANDOMIZZAZIONE = { "abilitata": True, # Deviazioni standard relative. - "velocita_std_rel": 0.08, - "flusso_picco_std_rel": 0.15, - "sigma_punto_std_rel": 0.10, + "velocita_std_rel": 0.007, + "flusso_picco_std_rel": 0.007, + "sigma_punto_std_rel": 0.007, # Deviazioni standard assolute. - "temperatura_ambiente_std_C": 1.0, + "temperatura_ambiente_std_C": 0.5, "rumore_sensore_std_rel": 0.25, # Offset casuale uniforme del percorso della sorgente in y. # Esempio: +/- 0.012 m significa che l'induttore può passare fino a 12 mm # dalla linea ideale allineata con il sensore. - "offset_y_max_assoluto_m": 0.012, + "offset_y_max_assoluto_m": 0.001, }