Files
simulatore-induttori/README.md
T
2026-07-05 11:58:52 +02:00

150 lines
2.9 KiB
Markdown

# 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:
```text
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:
```text
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
```text
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
```bash
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```
## Generare i file CSV
```bash
python simulate.py
```
La cartella di output conterrà:
```text
dataset/run_0001.csv
dataset/run_0002.csv
...
dataset/metadata.csv
```
## Visualizzare un run
```bash
python plot_csv.py
```
## Principali punti di configurazione
Modifica `config.py`.
### Piastra
```python
PIASTRA = {
"spessore_m": 0.005,
"n_nodi": 61,
"temperatura_iniziale_C": 25.0,
"materiale": "acciaio_basso_carbonio",
}
```
### Sorgente mobile
```python
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
```python
ARIA = {
"temperatura_ambiente_C": 25.0,
"h_caldo_W_m2K": 12.0,
"h_freddo_W_m2K": 8.0,
}
```
### Sensore
```python
SENSORE = {
"costante_tempo_s": 1.5,
"rumore_std_C": 0.15,
"quantizzazione_C": 0.25,
}
```
## Colonne CSV
Ogni `run_XXXX.csv` contiene:
```text
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.