Scambia calore su tutto il contorno e per conduzione circonferenziale

- Convezione anche sui bordi laterali x = 0 e x = lunghezza (nuovo
  coefficiente h_bordi_W_m2K in ARIA)
- Termine di conduzione lungo y verso il resto della fascetta, assunto a
  temperatura ambiente: q_y = -k*(T - T_amb)/L_y^2 con L_y configurabile
  (lunghezza_conduzione_y_mm in FASCETTA)
- La temperatura iniziale del campo e' la temperatura ambiente del run
  (rimosso temperatura_iniziale_C)
- Fisica estratta in prepara_stato_termico e passo_implicito, condivise
  tra simulate.py e plot_animazione.py per evitare duplicazione
- Entrambi i termini sono lineari e restano nella matrice fattorizzata
  una volta per run

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-05 19:22:51 +02:00
parent c92fd26864
commit c67f6f8da6
4 changed files with 130 additions and 101 deletions
+11 -2
View File
@@ -14,6 +14,10 @@
# - Le sorgenti a induzione si muovono in direzione -x sul lato esterno.
# - Il riscaldamento a induzione è approssimato come riscaldamento volumetrico
# che decade esponenzialmente con la profondità z secondo la skin depth.
# - La sezione scambia per convezione con l'aria su tutti e quattro i lati
# (esterno, interno e i due bordi in x) e per conduzione lungo y con il
# resto della fascetta, assunto a temperatura ambiente.
# - La temperatura iniziale della fascetta è pari alla temperatura ambiente.
# - Il sensore è un pirometro a infrarossi posto all'interno della fascetta,
# a distanza "distanza_parete_mm" dalla parete interna: misura senza
# contatto la temperatura della superficie interna nel punto x = "x_mm".
@@ -64,8 +68,10 @@ FASCETTA = {
# Più nodi = maggiore risoluzione spaziale, simulazione più lenta.
"n_nodi_z": 15,
# Temperatura iniziale uniforme.
"temperatura_iniziale_C": 25.0,
# Distanza caratteristica lungo y (direzione circonferenziale) su cui la
# sezione scambia calore per conduzione con il resto della fascetta,
# assunto a temperatura ambiente.
"lunghezza_conduzione_y_mm": 25.0,
# Deve corrispondere a una chiave in materials.py.
"materiale": "banda_stagnata",
@@ -80,6 +86,9 @@ ARIA = {
# Coefficiente di convezione sul lato interno (z = spessore, lato sensore).
"h_interno_W_m2K": 8.0,
# Coefficiente di convezione sui bordi laterali (x = 0 e x = lunghezza).
"h_bordi_W_m2K": 10.0,
}
SORGENTE = {