Aggiunge la mesh a elementi shell della fascetta e il main.py

Introduce mesh.py, che costruisce una griglia strutturata di quadrilateri
a 4 nodi sulla superficie media del cilindro, chiusa lungo la
circonferenza, come base per la futura analisi FEM. plot_mesh.py la
visualizza in vista isometrica e main.py raccoglie tutte le azioni del
progetto dietro un unico punto di ingresso.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-03 09:10:11 +02:00
co-authored by Claude Opus 5
parent 560c6a6a62
commit 14226234bd
5 changed files with 272 additions and 6 deletions
+13 -6
View File
@@ -18,13 +18,16 @@ source .venv/bin/activate
# Installare le dipendenze
pip install -r requirements.txt
# Generare il dataset (scrive dataset/run_XXXX.csv + dataset/metadata.csv)
python simulate.py
# Visualizzare il primo run
python plot_csv.py
# Punto di ingresso unico: `python main.py` elenca le azioni disponibili
python main.py mesh # disegna la sola mesh a elementi shell
python main.py simula # genera dataset/run_XXXX.csv + dataset/metadata.csv
python main.py grafico # grafici del primo run
python main.py anima # animazione 2D della sezione
python main.py anima3d # animazione 3D isometrica del barattolo
```
Ogni modulo resta eseguibile anche direttamente (`python simulate.py`, `python plot_csv.py`, ...).
Attivare sempre il venv (`source .venv/bin/activate`) prima di eseguire qualsiasi comando Python.
Non sono configurati test o linter.
@@ -37,10 +40,14 @@ Generatore di dataset per misurazioni termiche pseudo-realistiche di una fascett
**Flusso dei dati:**
1. `config.py`tutti i parametri configurabili (dizionari SIMULAZIONE, FASCETTA, ARIA, SORGENTE, SENSORE, RANDOMIZZAZIONE)
0. `main.py`dispatcher da riga di comando che seleziona l'azione (mesh, simula, grafico, anima, anima3d)
1. `config.py` — tutti i parametri configurabili (dizionari SIMULAZIONE, FASCETTA, MESH, ARIA, SORGENTE, SENSORE, RANDOMIZZAZIONE)
2. `materials.py` — dizionario MATERIALI con proprietà termofisiche ed elettriche per materiale
3. `simulate.py` — motore principale: genera N run randomizzati, scrive i CSV, scrive `metadata.csv`
4. `plot_csv.py` — visualizzazione autonoma per un singolo run
5. `mesh.py` — mesh a elementi shell quadrangolari della superficie media del cilindro (base per la futura analisi FEM), visualizzata da `plot_mesh.py`
**Mesh shell (`mesh.py`):** griglia strutturata `n_elementi_x × n_elementi_circonferenza` di quadrilateri a 4 nodi sulla superficie media (raggio = (diametro spessore)/2); lo spessore non è discretizzato, è un attributo della shell. La mesh è chiusa lungo la circonferenza (nessun nodo duplicato sulla cucitura) e usa lo stesso sistema di coordinate globale di `plot_animazione_3d.py`: x = asse, y = R·sin(theta), z = R·cos(theta), con theta = 0 sul piano del sensore.
**Pipeline fisica dentro `simula_singolo()` in [simulate.py](simulate.py):**