150 lines
2.9 KiB
Markdown
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.
|