|
|
| Descrizione |
|---|
| Questa macro calcola il flusso di calore in una direzione dovuto a convezione e/o conduzione, quando il fenomeno è in stato stazionario. Calcola anche le temperature tra gli strati dei materiali. Versione macro: 0.0.2 Ultima modifica: 14-09-2025 Versione FreeCAD: All Download: Text-x-python.png Autore: Garlic |
| Autore |
| Garlic |
| Download |
| Text-x-python.png |
| Link |
| Heat Flow Convection Conduction Documentation Raccolta di macro Come installare le macro Personalizzare la toolbar |
| Versione macro |
| 0.0.2 |
| Data ultima modifica |
| 14-09-2025 |
| Versioni di FreeCAD |
| All |
| Scorciatoia |
| Nessuna |
| Vedere anche |
| Nessuno |
Descrizione
Si tratta di un algoritmo che calcola il flusso termico dovuto alla conduzione e/o alla convezione in una direzione (ad esempio, una parete rivestita con vari materiali come intonaco, mattoni e isolante, oppure una finestra con doppio vetro e un'intercapedine chiusa riempita d'aria, ecc.). Il fenomeno deve essere in stato stazionario (ovvero non variabile nel tempo).
L'input dei dati deve essere scritto in un foglio di calcolo in FreeCAD e i risultati vengono scritti nello stesso foglio di calcolo, poche righe sotto l'ultima riga scritta. Questi dati di input devono includere (in un ordine specifico) le proprietà termiche dei materiali degli strati in cui si verifica il flusso termico, lo spessore di ciascun strato, l'area, la temperatura del primo e dell'ultimo punto nella direzione del flusso termico, il tipo di fenomeno in ciascun strato (ad esempio conduzione, o forzata convezione, o convezione libera su una superficie orizzontale, verticale, inclinata o una cavità chiusa). I risultati sono la portata termica (in Watt), l'accuratezza relativa dei calcoli (l'algoritmo utilizza equazioni del flusso termico e risolve il problema per iterazioni, cercando di convergere) e le temperature calcolate delle due superfici su ciascun strato.
Installazione
Si prega di notare che è necessario eseguire i seguenti passaggi solo una volta:
- Dal menu di FreeCAD, andare su Macro → Macro...
- Trovare il percorso scritto nel campo "Percorso macro utente:"
- Aprire questa cartella con Esplora risorse (o qualsiasi altra applicazione di gestione file).
- Scaricare i file HeatFlowConvectionConduction.py, Thermal.py e SpreadsheetDataReadWrite.py da https://git.disroot.org/CrowdDiscussesAlternatives/ScriptsForFreeCAD/src/branch/master/Thermal e incollarli in questa cartella.
- Chiudi la finestra di dialogo Esegui macro.
Qui, si possono trovare maggiori informazioni su come installare manualmente le macro.
Utilizzo
Gli esempi seguenti mostrano come utilizzare questo script.
Esempio 1
In questo esempio, viene calcolato il flusso di calore che attraversa una finestra con doppi vetri. Si suppone che la temperatura dell'aria ambiente all'interno della stanza sia di 25 °C e che la temperatura dell'aria ambiente all'esterno della finestra sia di 10 °C. Le dimensioni della finestra sono 0,57 m di altezza x 0,43 m di larghezza (ovvero un'area di 0,2451 m²). Lo spessore di ciascun vetro è di 4 mm (ovvero 0,004 m) e l'intercapedine d'aria è di 16 mm.
Per utilizzare l'algoritmo, innanzitutto aprire l'applicazione FreeCAD. Quindi, selezionare Ambiente Spreadsheet, creare un nuovo documento e, successivamente, creare un nuovo
foglio di calcolo.
Immettere i dati
L'algoritmo cerca nella prima colonna del foglio di calcolo il primo numero. Una volta trovato, presume che questo sia l'ID del primo layer. Quindi cerca l'ID del secondo layer. Se cinque righe successive non hanno un numero nella prima colonna, presume che non ci siano altri layer. Le righe tra i dati dei layer possono essere utilizzate per scrivere unità, commenti, ecc. Le proprietà di ciascun layer devono essere scritte in un ordine specifico.
Per questo esempio, i dati nel foglio di calcolo possono essere scritti come illustrato nell'immagine sottostante.
La riga 4 contiene i dati dello strato con ID 1. Questo è lo strato in cui avviene la convezione tra l'aria ambiente esterna alla finestra e la superficie esterna del vetro esterno della finestra. Le unità di misura dei dati sono in S.I. (sistema metrico).
Temp. 1 è la temperatura ambiente esterna, in Kelvin (che è nota: 10°C + 273,15 = 283,15K).
Temp. 2 è la temperatura della superficie esterna del vetro esterno ed è stimata approssimativamente in 286,15 K. Questo è un valore iniziale per il risolutore per iniziare la prima iterazione. Questa temperatura verrà calcolata e presentata nei risultati. Per stimare un valore iniziale, è stata utilizzata la seguente equazione: (25 - 10) / 5 = 3, dove 25 °C è la temperatura interna, 10 °C è la temperatura esterna e 5 è il numero di strati, quindi è stato aggiunto 3 a 283,15 K.
0,2451 m2 è l'area della finestra.
2 è il numero che specifica la categoria di “free convection on an inclined or a vertical surface” (come meccanismo di trasferimento di calore in questo strato).
101325Pa è la pressione atmosferica al livello del mare.
0,7 (70% / 100) è l'umidità relativa dell'aria ambiente esterna.
0,57 m è la lunghezza caratteristica (per una convezione libera su un piano verticale, la lunghezza caratteristica è l'altezza del piano).
0 gradi è l'angolo tra il piano e la verticale.
Si noti che affinché l'algoritmo riceva i dati, questi devono essere scritti nell'ordine sopra indicato (senza celle vuote intermedie), quando il meccanismo di trasferimento del calore è la convezione libera su un piano verticale.
La riga 7 contiene i dati dello strato in cui avviene la conduzione, sul vetro esterno della finestra. 2 è l'ID di questo strato.
Temp. 1 è la temperatura della superficie esterna del vetro esterno e si stima approssimativamente che sia 286,15 K (deve avere lo stesso valore della temp. 2 dello strato precedente, poiché si riferisce alla stessa superficie).
Temp. 2 è la temperatura della superficie interna del vetro esterno (ovvero la superficie a contatto con l'aria racchiusa tra i due vetri) e si stima approssimativamente che sia 289,15 K (la temperatura precedente più 3 K). Questa temperatura sarà calcolata dal risolutore.
0,2451 m2 è l'area della finestra.
1 è il numero che specifica la categoria di “conduction” (come meccanismo di trasferimento di calore in questo strato).
0,96 W / (m × K) è la conduttività termica del vetro [1]. Sono disponibili diverse tabelle online che riportano le proprietà termiche dei materiali più comuni. È anche possibile utilizzare l' Ambiente Material per visualizzare le proprietà di un materiale.
0,004 m è lo spessore del vetro.
L'ordine sopra indicato è quello in cui i dati devono essere scritti sul foglio di calcolo, quando si tratta di conduzione.
La riga 10 contiene i dati dello strato d'aria intrappolato tra i due vetri. 3 è l'ID di questo strato.
289,15 K è la temperatura approssimativamente stimata della superficie interna del vetro esterno.
292,15 K è la temperatura approssimativamente stimata della superficie opposta che racchiude l'aria (ovvero la superficie dell'altro vetro a contatto con l'aria intrappolata). Anche questa temperatura verrà calcolata dal risolutore.
0,2451 m2 è l'area della finestra.
4 è il numero che specifica la categoria di “free convection in an enclosure” (come meccanismo di trasferimento di calore in questo strato). Si noti che il set di equazioni nell'algoritmo (per questo caso) è adatto solo per fessure di piccole dimensioni, simili a quelle di una finestra con doppi vetri (ovvero inferiori a 0,05 m) [2].
101325Pa è la pressione atmosferica al livello del mare.
0,2 (20% / 100) è l'umidità relativa dell'aria chiusa.
0,016 m è la lunghezza caratteristica (per una convezione libera in un ambiente chiuso, la lunghezza caratteristica è lo spessore dell'intercapedine d'aria, ovvero la distanza tra i due vetri).
La riga 13 contiene i dati dello strato con id 4, che riguarda la conduzione (categoria 1) che avviene sul secondo vetro della finestra.
La riga 16 riporta i dati dello strato con ID 5, che riguarda la convezione libera (categoria 2) che si verifica sulla superficie del secondo vetro della finestra a contatto con l'aria ambiente della stanza. Si noti che la temperatura 2 di questo strato è 298,15 K, ovvero 25 °C (un valore dato in questo esempio).
Si noti che le equazioni utilizzate sono valide per un intervallo di valori relativi ai dati di input (i commenti nello script Thermal.py specificano questi intervalli). Se questi intervalli vengono superati, vengono stampati avvisi (o errori) nella Console Python di FreeCAD.
Esecuzione dello script
Per eseguire l'algoritmo, è necessario aprire la Console Python su FreeCAD ed eseguire il codice seguente (ovvero copiare e incollare separatamente ogni riga del codice seguente e premere ogni volta Invio).
import HeatFlowConvectionConduction
heatFlowObj = HeatFlowConvectionConduction.HeatFlowConvectionConduction()
heatFlowObj.calcHeatFlowConvectionConduction()
Si prega di notare che una volta aperto FreeCAD, è necessario copiare e incollare le prime due righe di questo codice una sola volta (la prima riga importa lo script e la seconda crea un oggetto). Quindi, ogni volta che si desidera eseguire l'algoritmo dello script (per leggere i dati del foglio di calcolo, eseguire il risolutore e visualizzare i risultati), è sufficiente copiare e incollare la terza riga del codice sopra e premere Invio.
I risultati vengono scritti nello stesso foglio di calcolo, tre righe sotto l'ultima riga scritta (si tenga presente che l'algoritmo controlla solo se le prime dieci colonne nelle sette righe successive sono vuote e, in tal caso, considera di aver trovato "the last written row").
Risultati
Il flusso di calore è 2,62 W. Abbiamo scritto prima la temperatura più bassa, quindi il simbolo meno nell'immagine sopra indica che il flusso è nella direzione opposta (ovvero dalla temperatura più alta a quella più bassa).
La precisione relativa è dello 0,76% (il risolutore dell'algoritmo termina se la precisione relativa è inferiore al 5% o se il numero di iterazioni è superiore a dieci; è possibile modificare questi limiti modificandone i valori nella funzione simulate_thermal_flow all'interno dello script).
Vengono calcolate le temperature di ogni strato. Per maggiore chiarezza, vengono stampati nuovamente anche i restanti dati di input per ogni strato.
Esempio 2
Un vento con velocità di 10 m/sec, umidità del 40% e temperatura di 10 °C scorre parallelamente alla larghezza di un muro, che ha una larghezza di 5 m e un'altezza di 3 m e la cui superficie ha una temperatura di 11 °C.
Per calcolare la portata di calore, dobbiamo scrivere i dati sul foglio di calcolo, nell'ordine corretto.
1 è l'ID del livello.
283,15 K è la temperatura dell'aria (si sarebbe potuto anche scrivere prima la temperatura del muro).
284,15 K è la temperatura della superficie della parete.
15m2 è l'area della superficie.
5 specifica la categoria “forced convection parallel to a flat surface”.
101325Pa è la pressione atmosferica al livello del mare.
0,4 è l'umidità relativa divisa per 100.
5 m è la lunghezza caratteristica (per la convezione forzata, è la dimensione della superficie parallela al flusso).
10 m/sec è la velocità del flusso.
I risultati mostrano che il flusso di calore è pari a 367,18 W.
Esempio 3
La superficie di una terrazza è di 50 m² (10 m di lunghezza x 5 m di larghezza) e la temperatura è di 11 °C. La temperatura ambiente esterna è di 10 °C e l'umidità è del 50%.
Per calcolare il flusso di calore, dobbiamo inserire questi dati nell'ordine corretto.
1 è l'ID del livello.
283,15 K è la temperatura dell'aria ambiente (ovvero la temperatura del fluido all'esterno dello strato limite termico, in Kelvin).
284,15K è la temperatura della superficie della terrazza.
50m2 è l'area della superficie.
3 specifica la categoria “free convection on a horizontal surface”.
101325Pa è la pressione atmosferica al livello del mare.
0,5 è l'umidità relativa divisa per 100.
1,67 m è la lunghezza caratteristica (per convezione libera su una superficie orizzontale è l'area della superficie divisa per il perimetro: 50 / (10 + 5 + 10 + 5)). Si prega di notare che affinché i dati vengano letti correttamente, è necessario scrivere nella cella del foglio di calcolo 1,67 (e non = 50 / (10 + 5 + 10 + 5)).
1 è la direzione della superficie. Poiché l'aria si trova sulla parte superiore della superficie, questo valore deve essere 1. Se l'aria si trovasse nella parte inferiore della superficie (ad esempio nel caso di un soffitto), allora si sarebbe dovuto scrivere -1.
2 è l'ultimo dato scritto nella riga e specifica che temp. 1 è la temperatura dell'aria e temp. 2 è la temperatura della superficie. Se si fosse scritto prima la temperatura della superficie e poi quella dell'aria, quest'ultima voce avrebbe dovuto essere 1.
I risultati mostrano che il flusso di calore è pari a 92,55 W.
Casi di simulazione di trasferimento del calore
Gli esempi sopra riportati coprono i cinque casi (categorie) in cui l'algoritmo nello script può calcolare il flusso di calore:
- Categoria 1: Conduzione.
- Categoria 2: Convezione libera su una superficie inclinata o verticale.
- Categoria 3: Convezione libera su una superficie orizzontale.
- Categoria 4: Convezione libera in un ambiente chiuso (per piccole fessure, simili a quelle di una finestra con doppi vetri).
- Categoria 5: Convezione forzata parallela a una superficie piana.
Script
È possibile scaricare i file HeatFlowConvectionConduction.py, Thermal.py e SpreadsheetDataReadWrite.py da:
https://git.disroot.org/CrowdDiscussesAlternatives/ScriptsForFreeCAD/src/branch/master/Thermal
Link
La discussione sul forum: Presenting HeatFlowConvectionConduction macro
La documentazione di questo script in formato pdf: Heat Flow Convection Conduction Documentation
Riferimenti
- Thermal Conductivity of Common Materials - Solids, Liquids and Gases
- Heat transfer through a double-glazed window by convection, V А Маiоrоv. Citation V A Maiorov 2020 IOP Conf. Ser.: Mater. Sci. Eng. 939 012049, DOI 10.1088/1757-899X/939/1/012049. https://iopscience.iop.org/article/10.1088/1757-899X/939/1/012049/pdf
- Heat Transfer Handbook, by Adrian Bejan and Allan D. Kraus
Questa pagina è recuperata da https://wiki.freecad.org/Macro_Heat_Flow_Convection_Conduction