FreeCAD Logo FreeCAD 1.0
  • English Afrikaans Arabo Bielorusso Catalano Czech German Greek Spanish Spanish Basco Finnish Filippino Français Galiziano Croatian Hungarian Indonesiano Italiano Japanese Kabyle Coreano Lituano Dutch Norvegese Bokmal Polish Portuguese Portuguese Romanian Russian Slovak Slovenian Serbo Swedish Turkish Ukrainian Valenziano Vietnamita Cinese Cinese
  • Funzioni
  • Download
  • Blog
  • Documentazione
    Indice di documentazione Per iniziare Documentazione utenti Il manuale FreeCAD Documentazione degli ambienti di lavoro Documentazione di scripting Python Documentazione codice C++ Tutorial Domande frequenti Politica sulla Privacy Informazioni Su FreeCAD
  • Contribuire
    Come aiutare Sponsor Segnala un bug Fai una richiesta Opportunità di lavoro e ricompense Linee guida per contribuire Manuale degli sviluppatori Traduzioni
  • Comunità
    Codice di condotta Forum The FPA GitHub GitLab Codeberg Mastodon Matrix IRC IRC via Webchat Gitter Discord Reddit Twitter Facebook LinkedIn Calendario
  • ♥ Donate

Donate

$
Informazioni SEPA
Si prega di intestare il bonifico SEPA a:
Beneficiary: The FreeCAD project association
IBAN: BE04 0019 2896 4531
BIC/SWIFT: GEBABEBBXXX
Agenzia bancaria: BNP Paribas Fortis
Indirizzo: Rue de la Station 64, 1360 Perwez, Belgium

While Stripe doesn't support monthly donations, you can still become a sponsor! Simply make a one-time donation equivalent to 12 months of support, and you'll gain access to the corresponding sponsoring tier. It's an easy and flexible way to contribute.

If you are not sure or not able to commit to a regular donation, but still want to help the project, you can do a one-time donation, of any amount.

Choose freely the amount you wish to donate one time only.

You can support FreeCAD by sponsoring it as an individual or organization through various platforms. Sponsorship provides a steady income for developers, allowing the FPA to plan ahead and enabling greater investment in FreeCAD. To encourage sponsorship, we offer different tiers, and unless you choose to remain anonymous, your name or company logo will be featured on our website accordingly.

from 1 USD / 1 EUR per month. You will not have your name displayed here, but you will have helped the project a lot anyway. Together, normal sponsors maintain the project on its feet as much as the bigger sponsors.

from 25 USD / 25 EUR per month. Your name or company name is displayed on this page.

from 100 USD / 100 EUR per month. Your name or company name is displayed on this page, with a link to your website, and a one-line description text.

from 200 USD / 200 EUR per month. Your name or company name and logo displayed on this page, with a link to your website and a custom description text. Companies that have helped FreeCAD early on also appear under Gold sponsors.

Instead of donating each month, you might find it more comfortable to make a one-time donation that, when divided by twelve, would give you right to enter a sponsoring tier. Don't hesitate to do so!

Choose freely the amount you wish to donate each month.

Please inform your forum name or twitter handle as a notein your transfer, or reach to us, so we can give you proper credits!

Icona macro generica. Crea la tua icona personale con lo stesso nome della macro Macro Heat Flow Convection Conduction

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:

  1. Dal menu di FreeCAD, andare su Macro → Macro...
  2. Trovare il percorso scritto nel campo "Percorso macro utente:"
  3. Aprire questa cartella con Esplora risorse (o qualsiasi altra applicazione di gestione file).
  4. 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.
  5. 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

  1. Thermal Conductivity of Common Materials - Solids, Liquids and Gases
  2. 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
  3. Heat Transfer Handbook, by Adrian Bejan and Allan D. Kraus

Questa pagina è recuperata da https://wiki.freecad.org/Macro_Heat_Flow_Convection_Conduction

Tieniti aggiornato!
Forum GitHub Mastodon Matrix IRC Gitter.im Discord Reddit Twitter Facebook LinkedIn

© The FreeCAD Team. Homepage image credits (top to bottom): ppemawm, r-frank, epileftric, regis, rider_mortagnais, bejant.

Questo progetto è supportato da: , KiCad Services Corp. e altri sponsor

GitHubMigliora questa pagina su GitHub