140 lines
4.3 KiB
Python
140 lines
4.3 KiB
Python
# Configurazione per il simulatore termico 1D attraverso lo spessore.
|
|
#
|
|
# Modello fisico:
|
|
# - La piastra è ridotta a una dimensione: z = direzione dello spessore.
|
|
# - La sorgente di calore si trova sul lato caldo, z = 0.
|
|
# - Il sensore si trova sul lato opposto, z = spessore.
|
|
# - L'induttore si muove lungo x. Poiché il modello è 1D, il movimento è
|
|
# rappresentato come un flusso termico variabile nel tempo nel punto
|
|
# allineato con il sensore fisso.
|
|
# - Il riscaldamento a induzione è approssimato come riscaldamento volumetrico
|
|
# che decade esponenzialmente con la profondità secondo un parametro skin depth.
|
|
#
|
|
# Unità di misura:
|
|
# - lunghezza: m
|
|
# - tempo: s
|
|
# - temperatura: °C
|
|
# - flusso termico: W/m²
|
|
# - coefficiente di convezione: W/(m² K)
|
|
|
|
SIMULAZIONE = {
|
|
# Numero di file CSV da generare.
|
|
"num_run": 8,
|
|
|
|
# Tempo simulato totale.
|
|
"durata_s": 80.0,
|
|
|
|
# Frequenza di campionamento CSV.
|
|
# Esempio: 2 Hz significa una riga ogni 0.5 s.
|
|
"frequenza_campionamento_hz": 2.0,
|
|
|
|
# Passo di integrazione numerica interna.
|
|
# Può essere inferiore al periodo di campionamento CSV.
|
|
"dt_interno_s": 0.02,
|
|
|
|
# Seed per la riproducibilità.
|
|
"seed": 42,
|
|
|
|
# Cartella di output.
|
|
"cartella_output": "dataset",
|
|
}
|
|
|
|
PIASTRA = {
|
|
# Spessore della piastra.
|
|
"spessore_m": 0.005,
|
|
|
|
# Numero di celle del volume finito attraverso lo spessore.
|
|
# Più nodi = maggiore risoluzione spaziale, simulazione più lenta.
|
|
"n_nodi": 61,
|
|
|
|
# Temperatura iniziale uniforme.
|
|
"temperatura_iniziale_C": 25.0,
|
|
|
|
# Deve corrispondere a una chiave in materials.py.
|
|
"materiale": "acciaio_basso_carbonio",
|
|
}
|
|
|
|
ARIA = {
|
|
# Temperatura dell'aria ambiente.
|
|
"temperatura_ambiente_C": 25.0,
|
|
|
|
# Coefficiente di convezione sul lato caldo (sorgente).
|
|
"h_caldo_W_m2K": 12.0,
|
|
|
|
# Coefficiente di convezione sul lato freddo (sensore).
|
|
"h_freddo_W_m2K": 8.0,
|
|
}
|
|
|
|
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,
|
|
|
|
# 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.
|
|
"x_sensore_m": 0.0,
|
|
|
|
# Offset laterale tra il percorso della sorgente e la linea del sensore.
|
|
# Se diverso da zero, la sorgente passa a lato del sensore, riducendo il picco.
|
|
"offset_y_percorso_m": 0.0,
|
|
|
|
# Velocità della sorgente lungo x.
|
|
"velocita_m_s": 0.004,
|
|
|
|
# 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.
|
|
# Parametro di taratura per dati pseudo-realistici.
|
|
"flusso_termico_picco_W_m2": 70000.0,
|
|
|
|
# Frazione del flusso incidente che diventa effettivamente calore nella piastra.
|
|
"efficienza_riscaldamento": 0.35,
|
|
|
|
# Frequenza di induzione usata per stimare la skin depth se skin_depth_fissa_m è None.
|
|
"frequenza_hz": 20000.0,
|
|
|
|
# Override della skin depth. Usare None per calcolarla dalle proprietà elettriche del materiale.
|
|
# Esempio: 0.0002 significa 0.2 mm.
|
|
"skin_depth_fissa_m": None,
|
|
|
|
# Annulla il flusso termico una volta che la sorgente ha superato x_fine_m.
|
|
"zero_dopo_fine": True,
|
|
}
|
|
|
|
SENSORE = {
|
|
# Il sensore si trova sul lato freddo della piastra.
|
|
"posizione": "lato_freddo",
|
|
|
|
# Inerzia del sensore del primo ordine.
|
|
# Valore più alto = risposta del sensore più lenta.
|
|
"costante_tempo_s": 1.5,
|
|
|
|
# Deviazione standard del rumore gaussiano.
|
|
"rumore_std_C": 0.15,
|
|
|
|
# Passo di quantizzazione.
|
|
# Esempio: 0.25 significa che i valori sono arrotondati a 0.25 °C.
|
|
# Usare 0.0 per disabilitare.
|
|
"quantizzazione_C": 0.25,
|
|
}
|
|
|
|
RANDOMIZZAZIONE = {
|
|
# Se abilitata, ogni run varia leggermente alcuni parametri.
|
|
"abilitata": True,
|
|
|
|
# Deviazioni standard relative.
|
|
"velocita_std_rel": 0.08,
|
|
"flusso_picco_std_rel": 0.15,
|
|
"sigma_punto_std_rel": 0.10,
|
|
|
|
# Deviazioni standard assolute.
|
|
"temperatura_ambiente_std_C": 1.0,
|
|
"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,
|
|
}
|