bb492c37a6
La lastra diventa una fascetta cilindrica (diametro, lunghezza, spessore) di cui si simula la sezione rettangolare lunghezza x spessore, con origine nel vertice in alto a sinistra: x = lunghezza, z = spessore, y = coordinata circonferenziale non risolta (offset collassato in attenuazione gaussiana). - Le sorgenti si muovono in direzione -x e producono un profilo di flusso q(x) su tutto il lato esterno; corretto il posizionamento del gruppo per velocita' negative - Sensore a infrarossi con coordinata x e distanza dalla parete interna, misura la superficie interna senza contatto - Volumi finiti 2D con Eulero implicito: matrice sparsa fattorizzata LU una volta per run (scipy.sparse.linalg.splu), a ogni passo solo i sistemi triangolari - Convezione sui lati esterno/interno, bordi adiabatici in x - Schema CSV invariato; metadata con geometria e griglia 2D Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
39 lines
1.0 KiB
Python
39 lines
1.0 KiB
Python
from pathlib import Path
|
|
|
|
import matplotlib.pyplot as plt
|
|
import pandas as pd
|
|
|
|
|
|
def main() -> None:
|
|
percorso_csv = Path("dataset/run_0001.csv")
|
|
if not percorso_csv.exists():
|
|
raise FileNotFoundError(
|
|
"File CSV non trovato. Esegui prima `python simulate.py`."
|
|
)
|
|
|
|
df = pd.read_csv(percorso_csv)
|
|
|
|
plt.figure()
|
|
plt.plot(df["tempo_s"], df["T_vera_lato_sensore_C"], label="Temperatura vera lato freddo")
|
|
plt.plot(df["tempo_s"], df["T_misurata_sensore_C"], label="Temperatura misurata dal sensore")
|
|
plt.xlabel("Tempo [s]")
|
|
plt.ylabel("Temperatura [°C]")
|
|
plt.title("Sensore fisso, induttore in moto")
|
|
plt.legend()
|
|
plt.grid(True)
|
|
plt.tight_layout()
|
|
plt.show()
|
|
|
|
plt.figure()
|
|
plt.plot(df["tempo_s"], df["flusso_termico_sorgente_W_m2"])
|
|
plt.xlabel("Tempo [s]")
|
|
plt.ylabel("Flusso termico efficace [W/m²]")
|
|
plt.title("Flusso termico nel punto x osservato dal sensore")
|
|
plt.grid(True)
|
|
plt.tight_layout()
|
|
plt.show()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|