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
2026-07-05 11:58:52 +02:00
2026-07-05 11:58:52 +02:00
2026-07-05 11:58:52 +02:00
2026-07-05 11:58:52 +02:00

Simulatore Termico 1D — Induttore Mobile, Sensore Fisso

Questo progetto genera misurazioni CSV pseudo-realistiche per una piastra riscaldata da un induttore in movimento.

Idea fisica

La geometria è semplificata a 1D attraverso lo spessore della piastra:

lato caldo, z = 0
[sorgente / induttore]
---------------------  piastra
                     |
                     | spessore
                     |
---------------------
[sensore]
lato freddo, z = L

L'induttore si muove lungo x, mentre il sensore è fisso. Poiché il modello è 1D, il movimento della sorgente è convertito in un flusso termico dipendente dal tempo:

q(t) è massimo quando x_sorgente(t) è allineata con x_sensore

Il calore viene depositato attraverso lo spessore con un decadimento esponenziale basato sulla skin depth.

File

config.py       tutti i parametri di simulazione
materials.py    proprietà dei materiali
simulate.py     genera i file CSV
plot_csv.py     utilità di visualizzazione rapida
dataset/        file CSV generati dopo aver eseguito simulate.py

Installazione

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Generare i file CSV

python simulate.py

La cartella di output conterrà:

dataset/run_0001.csv
dataset/run_0002.csv
...
dataset/metadata.csv

Visualizzare un run

python plot_csv.py

Principali punti di configurazione

Modifica config.py.

Piastra

PIASTRA = {
    "spessore_m": 0.005,
    "n_nodi": 61,
    "temperatura_iniziale_C": 25.0,
    "materiale": "acciaio_basso_carbonio",
}

Sorgente mobile

SORGENTE = {
    "x_inizio_m": -0.08,
    "x_fine_m": 0.08,
    "velocita_m_s": 0.004,
    "sigma_punto_m": 0.012,
    "flusso_termico_picco_W_m2": 70000.0,
    "efficienza_riscaldamento": 0.35,
    "frequenza_hz": 20000.0,
}

Aria

ARIA = {
    "temperatura_ambiente_C": 25.0,
    "h_caldo_W_m2K": 12.0,
    "h_freddo_W_m2K": 8.0,
}

Sensore

SENSORE = {
    "costante_tempo_s": 1.5,
    "rumore_std_C": 0.15,
    "quantizzazione_C": 0.25,
}

Colonne CSV

Ogni run_XXXX.csv contiene:

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

Limitazione importante

Questo non è una simulazione FEM elettromagnetica + termica completa. È un generatore pratico di dataset.

La sorgente a induzione è approssimata da:

  1. un'impronta termica gaussiana in movimento;
  2. un flusso termico efficace;
  3. deposizione esponenziale del calore attraverso lo spessore tramite skin depth;
  4. diffusione del calore 1D attraverso la piastra;
  5. perdite per convezione su entrambi i lati;
  6. inerzia, rumore e quantizzazione del sensore.
S
Description
No description provided
Readme 136 KiB
Languages
Python 100%