FEM Install/it: Difference between revisions

From FreeCAD Documentation
(Replaced content with "== Introduzione ==")
(Updating to match new version of source page)
 
(23 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
== Introduzione ==


{{TOCright}}
{{TOCright}}


<span id="Introduction"></span>
To be able to perform finite element analysis (FEA) within the {{KEY|[[Image:Workbench_FEM.svg|24px]] [[Fem_Workbench|FEM Workbench]]}}, FreeCAD makes use of two external programs: one is used for generating the [[FEM Mesh]], and the other for numerically solving the actual analysis. You can test if your FreeCAD installation is ready for FEA by running the [[FEM CalculiX Cantilever 3D]] example which is included with every installation of FreeCAD since v0.17.
== Introduzione ==


Per eseguire l'analisi agli elementi finiti (FEA) all'interno di [[Image:Workbench_FEM.svg|24px]] [[FEM_Workbench/it|FEM]], FreeCAD usa due programmi esterni: uno è utilizzato per generare la [[FEM Mesh/it|Mesh FEM]] e l'altro per risolvere numericamente l'analisi attuale. È possibile verificare se l'installazione di FreeCAD è pronta per FEA eseguendo l'esempio [[FEM_CalculiX_Cantilever_3D/it|FEM CalculiX - Trave a sbalzo 3D]] che è incluso in ogni installazione di FreeCAD dalla versione 0.17.
[[Image:FEM_Workbench_workflow.svg|600px]]


[[Image:FEM_Workbench_workflow.svg|600px]]
{{Caption|Flusso di lavoro del Workbench FEM; il workbench chiama due programmi esterni per eseguire il meshing di un oggetto solido e risolvere il problema degli elementi finiti}}
{{Caption|Flusso di lavoro del Workbench FEM; il workbench chiama due programmi esterni per eseguire il meshing di un oggetto solido e risolvere il problema degli elementi finiti}}


<span id="FEM_solver"></span>
=== Il solutore FEM ===
=== Il solutore FEM ===


<div class="mw-translate-fuzzy">
Il solutore predefinito per eseguire calcoli agli elementi finiti è [[FEM CalculiX/it|CalculiX]], un semplice solutore per l'analisi delle strutture. FreeCAD scrive un file di input CalculiX, avvia il risolutore e legge l'output, che può quindi essere rappresentato visivamente nella vista 3D; questo significa che il binario CalculiX è autonomo e indipendente da FreeCAD. Dato che ci sono molti programmi in grado di generare una mesh, '''si consiglia di installare prima il risolutore e assicurarsi che funzioni'''.
Il solutore predefinito per eseguire calcoli agli elementi finiti è [[FEM CalculiX/it|CalculiX]], un semplice solutore per l'analisi delle strutture. FreeCAD scrive un file di input CalculiX, avvia il risolutore e legge l'output, che può quindi essere rappresentato visivamente nella vista 3D; questo significa che il binario CalculiX è autonomo e indipendente da FreeCAD. Dato che ci sono molti programmi in grado di generare una mesh, '''si consiglia di installare prima il risolutore e assicurarsi che funzioni'''.
</div>


Se il solutore è installato correttamente, è possibile eseguire il comando singolo {{incode|ccx}} nel terminale per ottenere una semplice risposta:
Se il solutore è installato correttamente, è possibile eseguire il comando singolo {{incode|ccx}} nel terminale per ottenere una semplice risposta:


{{SystemInput|
{{SystemInput|User@PC:~$ ccx}}
User@PC:~$ ccx}}


{{Code|code=
{{Code|code=
Line 23: Line 26:
}}
}}


<div class="mw-translate-fuzzy">
Se il solver è installato, assicurarsi che FEM sia in grado di trovare il binario; andare in {{MenuCommand|Modifica → Preferenze → FEM → CalculiX → Cerca nelle directory binarie conosciute}}. Se avete compilato il risolutore da soli, deselezionare l'opzione e indicare il percorso corretto per il file binario. Per gli altri solutori che possono essere utilizzati con FreeCAD, vedere [[FEM Solver/it|Solutori FEM]].
Se il solver è installato, assicurarsi che FEM sia in grado di trovare il binario; andare in {{MenuCommand|Modifica → Preferenze → FEM → CalculiX → Cerca nelle directory binarie conosciute}}. Se avete compilato il risolutore da soli, deselezionare l'opzione e indicare il percorso corretto per il file binario. Per gli altri solutori che possono essere utilizzati con FreeCAD, vedere [[FEM Solver/it|Solutori FEM]].
</div>


=== FEM mesh generator ===

<div class="mw-translate-fuzzy">
=== Il generatore di mesh FEM ===
=== Il generatore di mesh FEM ===
Per creare una [[FEM Mesh/it|Mesh FEM]], FreeCAD utilizza [http://gmsh.info/Gmsh] come mesher predefinito. Perché ciò funzioni, Gmsh deve essere installato separatamente da FreeCAD.
Per creare una [[FEM Mesh/it|Mesh FEM]], FreeCAD utilizza [http://gmsh.info/Gmsh] come mesher predefinito. Perché ciò funzioni, Gmsh deve essere installato separatamente da FreeCAD.
</div>


Se il programma è installato correttamente, è possibile eseguire il comando {{incode|gmsh}} nel terminale per avviare l'interfaccia grafica del programma. Questa interfaccia non è utilizzata da FreeCAD ma dimostra che il programma è installato.
Se il programma è installato correttamente, è possibile eseguire il comando {{incode|gmsh}} nel terminale per avviare l'interfaccia grafica del programma. Questa interfaccia non è utilizzata da FreeCAD ma dimostra che il programma è installato.


{{SystemInput|
{{SystemInput|User@PC:~$ gmsh -info}}
User@PC:~$ gmsh -info}}


{{Code|code=
{{Code|code=
Line 48: Line 56:
}}
}}


<div class="mw-translate-fuzzy">
Se il mesher è installato, assicurarsii che FEM sia in grado di trovare il binario; andare in {{MenuCommand|Modifica → Preferenze → FEM → Gmsh → Cerca nelle directory binarie conosciute}}. Se avete compilato il risolutore da soli, deselezionare l'opzione e indicare il percorso corretto per il file binario. Vedere [[FEM Mesh/it|Mesh FEM]] per le varie possibilità di ottenere una mesh valida per l'analisi.
Se il mesher è installato, assicurarsii che FEM sia in grado di trovare il binario; andare in {{MenuCommand|Modifica → Preferenze → FEM → Gmsh → Cerca nelle directory binarie conosciute}}. Se avete compilato il risolutore da soli, deselezionare l'opzione e indicare il percorso corretto per il file binario. Vedere [[FEM Mesh/it|Mesh FEM]] per le varie possibilità di ottenere una mesh valida per l'analisi.
</div>


=== Netgen ===
=== Netgen ===


In order to create a FEM Mesh, you can use ''Netgen'' as an alternative to ''Gmsh''. Depending on your operating system and your FreeCAD installation Netgen may be bundled with the FreeCAD installation binaries.
{{Emphasis|Nota: Il mesher Netgen è stato disattivato a marzo 2017, quando FreeCAD è passato a utilizzare OCCT 7.1. Si prega di modificare queste informazioni se Netgen è di nuovo utilizzabile con la versione stabile di FreeCAD.}}

Nelle versioni precedenti di FreeCAD, [https://sourceforge.net/projects/netgen-mesher/ Netgen] era il mesher di default. Per funzionare con FEM, FreeCAD doveva essere collegato alle librerie di Netgen in fase di compilazione. Mentre FreeCAD passava da OCE 0.17 a OCCT 7.1, Netgen 4.9.13 non riusciva a collegarsi a questa versione di OCCT, quindi si è deciso di eliminare il supporto Netgen in [[FEM Workbench/it|FEM]] (il [[FEM MeshNetgenFromShape/it|pulsante Netgen]] è stato rimosso). Tuttavia, poco dopo alcuni utenti hanno segnalato un successo con la patch di Netgen 5.3.1, che funziona con OCCT 7.x e FreeCAD.

Come riferimento storico, vedere le discussioni:
* [https://forum.freecadweb.org/viewtopic.php?f=4&t=17501 (Ubuntu Daily PPA) Transitioning to OCCT7, VTK7...]
* [https://forum.freecadweb.org/viewtopic.php?t=21246 Ubuntu Daily Builds PPA now using OCC 7.1.0]
* [https://forum.freecadweb.org/viewtopic.php?f=4&t=17501&start=200#p165769 patching Netgen 5.3.1] to work with OCCT 7.1
* [https://forum.freecadweb.org/viewtopic.php?t=28368 Troubles with gmsh in FEM wb (netgen nostalgy)]

Nonostante Netgen non sia più disponibile all'interno di [[FEM Workbench/it|FEM]], può ancora essere utilizzato da solo per produrre mesh che possono essere importate.


<div class="mw-translate-fuzzy">
Se il programma è installato correttamente, è possibile eseguire il comando {{incode|netgen}} nel terminale per avviare l'interfaccia grafica del programma.
Se il programma è installato correttamente, è possibile eseguire il comando {{incode|netgen}} nel terminale per avviare l'interfaccia grafica del programma.
</div>


{{SystemInput|
{{SystemInput|User@PC:~$ netgen -V}}
User@PC:~$ netgen -V}}


{{Code|code=
{{Code|code=
Line 86: Line 87:
}}
}}


== Installazione su Windows ==
== Installing on Windows ==
I pacchetti di FreeCAD disponibili dalla pagina [[download/it|download]] includono già Netgen e CalculiX, quindi non è necessario installare software aggiuntivo.


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
=== Installazione in Linux ===
== Installazione su Windows ==
I pacchetti di FreeCAD disponibili dalla pagina [[download/it|download]] includono già Netgen e CalculiX, quindi non è necessario installare software aggiuntivo.
</div>
</div>


<div class="mw-translate-fuzzy">
<div class="mw-collapsible mw-collapsed toccolours">

<span id="Installing_on_Linux"></span>
==Installazione in Linux==

Le distribuzioni Linux hanno diversi modi di installare software. Molte distribuzioni hanno un repository software e il gestori di pacchetti. Prima di compilare il codice sorgente, cercare nel proprio gestore i pacchetti {{incode|netgen}}, {{incode|gmsh}}, {{incode|calculix-ccx}} o {{incode|ccx}}, e installarli seguendo le istruzioni della propria distribuzione.
Le distribuzioni Linux hanno diversi modi di installare software. Molte distribuzioni hanno un repository software e il gestori di pacchetti. Prima di compilare il codice sorgente, cercare nel proprio gestore i pacchetti {{incode|netgen}}, {{incode|gmsh}}, {{incode|calculix-ccx}} o {{incode|ccx}}, e installarli seguendo le istruzioni della propria distribuzione.

</div>
<div class="mw-collapsible-content">
=== Ubuntu PPA ===


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
=== PPA di Ubuntu ===
=== PPA di Ubuntu ===
I personal package archives (PPA) [https://launchpad.net/~freecad-maintainers/+archive/ubuntu/freecad-stable freecad-stable] e [https://launchpad.net/~freecad-maintainers/+archive/ubuntu/freecad-daily freecad-daily] forniscono una versione più recente di FreeCAD di quella disponibile nei repository ufficiali di Ubuntu. Questi PPA includono anche i pacchetti {{incode|netgen}}, {{incode|gmsh}} e {{incode|calculix-ccx}} più recenti. Vedere [[Install on Unix/it|Installare su Unix]] per maggiori informazioni sulla configurazione dei repository.
I personal package archives (PPA) [https://launchpad.net/~freecad-maintainers/+archive/ubuntu/freecad-stable freecad-stable] e [https://launchpad.net/~freecad-maintainers/+archive/ubuntu/freecad-daily freecad-daily] forniscono una versione più recente di FreeCAD di quella disponibile nei repository ufficiali di Ubuntu. Questi PPA includono anche i pacchetti {{incode|netgen}}, {{incode|gmsh}} e {{incode|calculix-ccx}} più recenti. Vedere [[Install on Linux/it|Installare su Linux]] per maggiori informazioni sulla configurazione dei repository.
</div>
</div>


Se il PPA è già stato aggiunto al proprio sistema, installare i pacchetti come segue
Se il PPA è già stato aggiunto al proprio sistema, installare i pacchetti come segue

{{Code|code=
{{Code|code=
sudo apt-get install netgen
sudo apt-get install netgen
Line 109: Line 117:
}}
}}


Il PPA [https://launchpad.net/~freecad-community/+archive/ubuntu/ppa freecad-community] fornisce anche i pacchetti {{incode|netgen}}, {{incode|gmsh}}, e {{incode|calculix-ccx}} per i test. Se sono abbastanza stabili, possono essere aggiunti ai repository giornalieri o stabili. I binari per ccx 2.14 funzionano su Debian Stretch, ma non su Debian Buster a causa di problemi di dipendenze.
<div class="mw-translate-fuzzy">
Il PPA [https://launchpad.net/~freecad-community/+archive/ubuntu/ppa freecad-community] fornisce anche i pacchetti {{incode|netgen}}, {{incode|gmsh}}, e {{incode|calculix-ccx}} per i test. Se sono abbastanza stabili, possono essere aggiunti ai repository giornalieri o stabili.
</div>


{{Emphasis|Nota:}} in [http://forum.freecadweb.org/viewtopic.php?f=18&t=10393 Ubuntu Repository] si discute sulla creazione dei pacchetti PPA di Ubuntu. Al momento in cui è stato scritto, CalculiX non era incluso nei repository Debian, quindi c'erano molti pacchetti personali in Launchpad. Dovrebbe essere installato solo un pacchetto.
{{Emphasis|Nota:}} in [http://forum.freecadweb.org/viewtopic.php?f=18&t=10393 Ubuntu Repository] si discute sulla creazione dei pacchetti PPA di Ubuntu. Al momento in cui è stato scritto, CalculiX non era incluso nei repository Debian, quindi c'erano molti pacchetti personali in Launchpad. Dovrebbe essere installato solo un pacchetto.


=== Arch Linux ===

<div class="mw-translate-fuzzy">
=== Arch Linux ===
=== Arch Linux ===
Prelevare il pacchetto CalculiX dal [https://aur.archlinux.org/packages/calculix/ AUR repository].
Prelevare il pacchetto CalculiX dal [https://aur.archlinux.org/packages/calculix/ AUR repository].
</div>


=== Debian ===
=== Debian ===

* Debian 9 Buster: the packages in the [https://packages.debian.org/buster/calculix-ccx repository] are outdated, but you can use the packages from the Ubuntu PPA ({{incode|freecad-community}}). See [https://forum.freecadweb.org/viewtopic.php?f=18&t=31360&start=10#p279925 Gmsh 4 package available for testing in Community Extras PPA] (forum post).
* Debian 9 Buster: the packages in the [https://packages.debian.org/buster/calculix-ccx repository] are outdated, but you can use the packages from the Ubuntu PPA ({{incode|freecad-community}}). See [https://forum.freecadweb.org/viewtopic.php?f=18&t=31360&start=10#p279925 Gmsh 4 package available for testing in Community Extras PPA] (forum post).
* Debian 8 Stretch: the packages in the [https://packages.debian.org/stretch/calculix-ccx repository] are outdated, but you can use the packages from the Ubuntu PPA ({{incode|freecad-community}}). See [https://forum.freecadweb.org/viewtopic.php?f=18&t=31360&p=279925#p260872 Gmsh 4 package available for testing in Community Extras PPA] (forum post).
* Debian 8 Stretch: the packages in the [https://packages.debian.org/stretch/calculix-ccx repository] are outdated, but you can use the packages from the Ubuntu PPA ({{incode|freecad-community}}). See [https://forum.freecadweb.org/viewtopic.php?f=18&t=31360&p=279925#p260872 Gmsh 4 package available for testing in Community Extras PPA] (forum post).
* Debian 7 Jessie: install the packages from Debian 8 Stretch using {{incode|dpkg}}. See [http://forum.freecadweb.org/viewtopic.php?f=4&t=5975&p=110597#p110597 Debian source package for Calculix] (forum post).
* Debian 7 Jessie: install the packages from Debian 8 Stretch using {{incode|dpkg}}. See [http://forum.freecadweb.org/viewtopic.php?f=4&t=5975&p=110597#p110597 Debian source package for Calculix] (forum post).

=== openSUSE ===

* [https://en.opensuse.org/openSUSE:Science_Math#Mesh_Generation_and_Related_Tools openSUSE:Science Math]
* [https://software.opensuse.org/package/netgen netgen Automatic 3D tetrahedral mesh generator]
* [https://software.opensuse.org/package/gmsh gmsh A three-dimensional finite element mesh generator]
* [https://software.opensuse.org/package/ccx ccx An open source finite element package]

Additional packages are typically installed with YAST (abbr. Yet another Setup Tool) the Linux operating system setup and configuration tool, or in any terminal/console (root rights required) with:

:{{Code|code=
zypper install netgen
zypper install gmsh
zypper install ccx
}}

=== CalculiX binary ===


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
===== Installare CalculiX Binario =====
=== Installare CalculiX binario ===
Gli autori di CalculiX forniscono un binario Linux precompilato del solutore; può essere scaricato dal [http://www.dhondt.de/ sito web degli autori]. Tuttavia, poiché le diverse distribuzioni Linux hanno percorsi di libreria diversi, molto probabilmente questo binario non funziona senza apportare alcune modifiche.
Si conoscono solo un paio di distribuzioni di Linux che hanno i pacchetti calculix nei loro repository. Ecco una lista:
* Arch Linux:
** https://aur.archlinux.org/packages/calculix/
* Debian 09 Buster:
** I pacchetti Debian sono obsoleti, quindi vedere https://forum.freecadweb.org/viewtopic.php?f=18&t=31360&start=10#p279925
* Debian 08 Stretch:
** https://packages.debian.org/stretch/calculix-ccx
** I pacchetti Debian sono obsoleti, quindi vedere https://forum.freecadweb.org/viewtopic.php?f=18&t=31360&p=279925#p260872
* Debian 07 Jessie:
** I pacchetti di Debian Stretch possono essere installati da dpkg, vedere [http://forum.freecadweb.org/viewtopic.php?f=4&t=5975&p=110597#p110597 nel forum di FreeCAD]
</div>
</div>


Line 143: Line 162:
Use the command {{incode|ldd}} to see the libraries that are linked by the binary. Install any missing dependency.
Use the command {{incode|ldd}} to see the libraries that are linked by the binary. Install any missing dependency.


{{SystemInput|
{{SystemInput|User@PC:~$ ldd /usr/bin/ccx}}
User@PC:~$ ldd /usr/bin/ccx
}}


{{Code|code=
{{Code|code=
Line 172: Line 189:
}}
}}


<span id="Compile_CalculiX"></span>
<div class="mw-translate-fuzzy">
===== Compilare CalculiX =====
=== Compilare CalculiX ===
Compilare calculix non è così facile come è con molti software OpenSource. Nel forum di FreeCAD forum e in internet ci sono diverse indicazioni. Controllare le seguenti:
* Debian
** http://forum.freecadweb.org/viewtopic.php?f=4&t=5975&start=10
** https://forum.freecadweb.org/viewtopic.php?f=18&t=31360&start=10#p260506
* Fedora 27, 28, 29
** https://forum.freecadweb.org/viewtopic.php?f=18&t=34024
* In github c'è un Repository CMake, ma nel forum di FreeCAD nessuno ha detto se funziona
** https://github.com/ricortiz/CalculiX-cmake
</div>


Since CalculiX is a standalone application, you can either install a binary packaged for your distribution, or compile it yourself. Any CalculiX version from 2.7.x onwards should work with FreeCAD, and since the code hasn't changed much in years, lower versions than 2.7.x may work as well.
Since CalculiX is a standalone application, you can either install a binary packaged for your distribution, or compile it yourself. Any CalculiX version from 2.7.x onwards should work with FreeCAD, and since the code hasn't changed much in years, lower versions than 2.7.x may work as well.
Line 191: Line 199:
* There is a CMake version of the source package in a [https://github.com/ricortiz/CalculiX-cmake github repository], but at the FreeCAD forums no one has reported if this package works.
* There is a CMake version of the source package in a [https://github.com/ricortiz/CalculiX-cmake github repository], but at the FreeCAD forums no one has reported if this package works.


<span id="Compile_Netgen"></span>
<div class="mw-translate-fuzzy">
===== Netgen =====
===Compilare Netgen ===
Ci sono stati risultati contrastanti con il mesher NetGen e la compilazione di FreeCAD con il supporto NetGen.
* ToDo
</div>


Netgen was originally linked by FreeCAD when FreeCAD used OCE, the community fork of OpenCascade (OCCT). As OCE lagged in development behind OCCT, FreeCAD switched back to OCCT. This broke the linking of Netgen, which could only link against OCCT 6.9 or OCE 0.18 and below. As OCCT 7.x versions improved the core funcitonality of FreeCAD, it was decided to drop Netgen support in favor of Gmsh.
Netgen was originally linked by FreeCAD when FreeCAD used OCE, the community fork of OpenCascade (OCCT). As OCE lagged in development behind OCCT, FreeCAD switched back to OCCT. This broke the linking of Netgen, which could only link against OCCT 6.9 or OCE 0.18 and below. As OCCT 7.x versions improved the core functionality of FreeCAD, it was decided to drop Netgen support in favor of Gmsh.


Since then some success has been achieved patching and linking newer versions of Netgen against OCCT 7.x. Nevertheless, the inclusion of Netgen with FreeCAD is still problematic.
Since then some success has been achieved patching and linking newer versions of Netgen against OCCT 7.x. Nevertheless, the inclusion of Netgen with FreeCAD is still problematic.
Line 203: Line 208:
</div> <!-- End of 'Installing on Linux' collapsible div. Do no remove. -->
</div> <!-- End of 'Installing on Linux' collapsible div. Do no remove. -->


<span id="Installing_on_MacOSX"></span>
<div class="mw-translate-fuzzy">
== Installazione in MacOSX ==
=== OSX ===
I pacchetti di sviluppo OSX di FreeCAD 0.17.xxxxx includono Netgen [https://github.com/FreeCAD/FreeCAD/releases] ma non includono CalculiX.
</div>


{{VeryImportantMessage|Queste informazioni potrebbero non essere aggiornate. Se siete un utente OSX, provate e ripulite questa sezione}}
<div class="mw-translate-fuzzy">
I [https://github.com/FreeCAD/FreeCAD/releases pacchetti di sviluppo] OSX di FreeCAD possono includere Netgen ma potrebbero non includere CalculiX.
==== CalculiX ====

Per installare CalculiX su OSX vedere questo post del forum [https://forum.freecadweb.org/viewtopic.php?f=18&t=10979&p=198652#p198642 FreeCAD Fem on OSX].
Per installare CalculiX su OSX vedere questo post del forum [https://forum.freecadweb.org/viewtopic.php?f=18&t=10979&p=198652#p198642 FEM on Mac OSX], e un [https://forum.freecadweb.org/viewtopic.php?f=18&t=10979&start=90#p273746 post più aggiornato] per le informazioni più recenti.
Le seguenti informazioni potrebbero essere superate:
* [http://forum.freecadweb.org/viewtopic.php?f=18&t=10979 forum]
* [http://forum.freecadweb.org/viewtopic.php?f=8&t=14497 forum]
</div>


CalculiX:
* [https://forum.freecadweb.org/viewtopic.php?f=18&t=10979&start=90#p508724 install CalculiX with brew]
The following posts may be outdated:
The following posts may be outdated:
* [http://forum.freecadweb.org/viewtopic.php?f=18&t=10979 FEM on Mac OSX, post 1]
* [http://forum.freecadweb.org/viewtopic.php?f=18&t=10979 FEM on Mac OSX, post 1]
* [http://forum.freecadweb.org/viewtopic.php?f=8&t=14497 MacPorts users: CalculiX port test request]
* [http://forum.freecadweb.org/viewtopic.php?f=8&t=14497 MacPorts users: CalculiX port test request]


<span id="Further_information"></span>
<div class="mw-translate-fuzzy">
===== Ulteriori informazioni =====
== Ulteriori informazioni ==
Il [http://www.forum.freecadweb.org/ forum di FreeCAD] è un'ottima risorsa per informazioni al riguardo. Cercare con google search dalla pagina del forum di FreeCAD:
* [https://www.google.ch/search?q=sys.append.path+site%3Aforum.freecadweb.org#q=calculix+site:forum.freecadweb.org calculix site:forum.freecadweb.org]
* [https://www.google.ch/search?q=sys.append.path+site%3Aforum.freecadweb.org#q=netgen+site:forum.freecadweb.org netgen site:forum.freecadweb.org]
</div>


The [[FEM Workbench]] is under constant development. The most recent information is found in the [http://www.forum.freecadweb.org/ FreeCAD forum].
The [[FEM_Workbench|FEM Workbench]] is under constant development. The most recent information is found in the [http://www.forum.freecadweb.org/ FreeCAD forum].


If you have problems installing Netgen, Gmsh, or CalculiX, or another external tool, please search the forum first:
If you have problems installing Netgen, Gmsh, or CalculiX, or another external tool, please search the forum first:
Line 236: Line 234:
{{FEM Tools navi{{#translation:}}}}
{{FEM Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{clear}}

Latest revision as of 11:35, 2 January 2024

Introduzione

Per eseguire l'analisi agli elementi finiti (FEA) all'interno di FEM, FreeCAD usa due programmi esterni: uno è utilizzato per generare la Mesh FEM e l'altro per risolvere numericamente l'analisi attuale. È possibile verificare se l'installazione di FreeCAD è pronta per FEA eseguendo l'esempio FEM CalculiX - Trave a sbalzo 3D che è incluso in ogni installazione di FreeCAD dalla versione 0.17.

Flusso di lavoro del Workbench FEM; il workbench chiama due programmi esterni per eseguire il meshing di un oggetto solido e risolvere il problema degli elementi finiti

Il solutore FEM

Il solutore predefinito per eseguire calcoli agli elementi finiti è CalculiX, un semplice solutore per l'analisi delle strutture. FreeCAD scrive un file di input CalculiX, avvia il risolutore e legge l'output, che può quindi essere rappresentato visivamente nella vista 3D; questo significa che il binario CalculiX è autonomo e indipendente da FreeCAD. Dato che ci sono molti programmi in grado di generare una mesh, si consiglia di installare prima il risolutore e assicurarsi che funzioni.

Se il solutore è installato correttamente, è possibile eseguire il comando singolo ccx nel terminale per ottenere una semplice risposta:

User@PC:~$ ccx

Usage: CalculiX.exe -i jobname

Se il solver è installato, assicurarsi che FEM sia in grado di trovare il binario; andare in Modifica → Preferenze → FEM → CalculiX → Cerca nelle directory binarie conosciute. Se avete compilato il risolutore da soli, deselezionare l'opzione e indicare il percorso corretto per il file binario. Per gli altri solutori che possono essere utilizzati con FreeCAD, vedere Solutori FEM.

FEM mesh generator

Il generatore di mesh FEM

Per creare una Mesh FEM, FreeCAD utilizza [1] come mesher predefinito. Perché ciò funzioni, Gmsh deve essere installato separatamente da FreeCAD.

Se il programma è installato correttamente, è possibile eseguire il comando gmsh nel terminale per avviare l'interfaccia grafica del programma. Questa interfaccia non è utilizzata da FreeCAD ma dimostra che il programma è installato.

User@PC:~$ gmsh -info

Version          : 3.0.6
License          : GNU General Public License
Build OS         : Linux64
Build date       : 20171107
Build host       : lgw01-amd64-034
Build options    : 64Bit Ann Bamg Bfgs Blas(Generic) Blossom C++11 Cgns Chaco DIntegration Dlopen Fltk Gmm Jpeg Kbipack Lapack(Generic) LinuxJoystick MPI MathEx Med Mesh Mmg3d Mpeg NativeFileChooser Netgen ONELAB ONELABMetamodel OpenCASCADE OpenGL OptHom Parser Plugins Png Post Python Solver TetGen/BR Tetgen Voro3D Zlib
FLTK version     : 1.3.4
OCC version      : 6.9.1
MED version      : 3.0.6
Packaged by      : buildd
Web site         : http://gmsh.info
Mailing list     : gmsh@onelab.info

Se il mesher è installato, assicurarsii che FEM sia in grado di trovare il binario; andare in Modifica → Preferenze → FEM → Gmsh → Cerca nelle directory binarie conosciute. Se avete compilato il risolutore da soli, deselezionare l'opzione e indicare il percorso corretto per il file binario. Vedere Mesh FEM per le varie possibilità di ottenere una mesh valida per l'analisi.

Netgen

In order to create a FEM Mesh, you can use Netgen as an alternative to Gmsh. Depending on your operating system and your FreeCAD installation Netgen may be bundled with the FreeCAD installation binaries.

Se il programma è installato correttamente, è possibile eseguire il comando netgen nel terminale per avviare l'interfaccia grafica del programma.

User@PC:~$ netgen -V

NETGEN-6.2-dev
Developed by Joachim Schoeberl at
2010-xxxx Vienna University of Technology
2006-2010 RWTH Aachen University
1996-2006 Johannes Kepler University Linz
Including OpenCascade geometry kernel
Run parallel Netgen with 'mpirun -np xy netgen'
NETGENDIR = .
Tcl header version = 8.6.8
Tcl runtime version = 8.6.8 
using internal Tcl-script
optfile ./ng.opt does not exist - using default values
togl-version : 2
OCC module loaded

Installing on Windows

Installazione su Windows

I pacchetti di FreeCAD disponibili dalla pagina download includono già Netgen e CalculiX, quindi non è necessario installare software aggiuntivo.

Installazione in Linux

Le distribuzioni Linux hanno diversi modi di installare software. Molte distribuzioni hanno un repository software e il gestori di pacchetti. Prima di compilare il codice sorgente, cercare nel proprio gestore i pacchetti netgen, gmsh, calculix-ccx o ccx, e installarli seguendo le istruzioni della propria distribuzione.

Ubuntu PPA

PPA di Ubuntu

I personal package archives (PPA) freecad-stable e freecad-daily forniscono una versione più recente di FreeCAD di quella disponibile nei repository ufficiali di Ubuntu. Questi PPA includono anche i pacchetti netgen, gmsh e calculix-ccx più recenti. Vedere Installare su Linux per maggiori informazioni sulla configurazione dei repository.

Se il PPA è già stato aggiunto al proprio sistema, installare i pacchetti come segue

sudo apt-get install netgen
sudo apt-get install gmsh
sudo apt-get install calculix-ccx

Il PPA freecad-community fornisce anche i pacchetti netgen, gmsh, e calculix-ccx per i test. Se sono abbastanza stabili, possono essere aggiunti ai repository giornalieri o stabili. I binari per ccx 2.14 funzionano su Debian Stretch, ma non su Debian Buster a causa di problemi di dipendenze.

Nota: in Ubuntu Repository si discute sulla creazione dei pacchetti PPA di Ubuntu. Al momento in cui è stato scritto, CalculiX non era incluso nei repository Debian, quindi c'erano molti pacchetti personali in Launchpad. Dovrebbe essere installato solo un pacchetto.

Arch Linux

Arch Linux

Prelevare il pacchetto CalculiX dal AUR repository.

Debian

openSUSE

Additional packages are typically installed with YAST (abbr. Yet another Setup Tool) the Linux operating system setup and configuration tool, or in any terminal/console (root rights required) with:

zypper install netgen
zypper install gmsh
zypper install ccx

CalculiX binary

Installare CalculiX binario

Gli autori di CalculiX forniscono un binario Linux precompilato del solutore; può essere scaricato dal sito web degli autori. Tuttavia, poiché le diverse distribuzioni Linux hanno percorsi di libreria diversi, molto probabilmente questo binario non funziona senza apportare alcune modifiche.

To use the binary with Fedora 21, see the thread Making FEM run on linux fedora 21. For newer Fedora versions, you should compile CalculiX yourself.

If you use this binary, check that the binary is executable, that it is in the executable $PATH of your system, and that you have the necessary version of the libraries (libgfortran, liblapack, libblas, etc.) against which it was compiled. This is mentioned in the forum post FEM WB.

Use the command ldd to see the libraries that are linked by the binary. Install any missing dependency.

User@PC:~$ ldd /usr/bin/ccx

linux-vdso.so.1 (0x00007fffbabdc000)
 libspooles.so.2.2 => /usr/lib/x86_64-linux-gnu/libspooles.so.2.2 (0x00007fe9bd042000)
 libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe9bce23000)
 libarpack.so.2 => /usr/lib/x86_64-linux-gnu/libarpack.so.2 (0x00007fe9bcbd9000)
 liblapack.so.3 => /usr/lib/x86_64-linux-gnu/liblapack.so.3 (0x00007fe9bc353000)
 libgfortran.so.4 => /usr/lib/x86_64-linux-gnu/libgfortran.so.4 (0x00007fe9bbf74000)
 libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe9bbbd6000)
 libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe9bb7e5000)
 libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fe9bb5cd000)
 libmpi.so.20 => /usr/lib/x86_64-linux-gnu/libmpi.so.20 (0x00007fe9bb2db000)
 /lib64/ld-linux-x86-64.so.2 (0x00007fe9bdaa9000)
 libblas.so.3 => /usr/lib/x86_64-linux-gnu/libblas.so.3 (0x00007fe9bb080000)
 libopenblas.so.0 => /usr/lib/x86_64-linux-gnu/libopenblas.so.0 (0x00007fe9b8dda000)
 libquadmath.so.0 => /usr/lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007fe9b8b9a000)
 libopen-rte.so.20 => /usr/lib/x86_64-linux-gnu/libopen-rte.so.20 (0x00007fe9b8912000)
 libopen-pal.so.20 => /usr/lib/x86_64-linux-gnu/libopen-pal.so.20 (0x00007fe9b8660000)
 librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fe9b8458000)
 libhwloc.so.5 => /usr/lib/x86_64-linux-gnu/libhwloc.so.5 (0x00007fe9b821b000)
 libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe9b8017000)
 libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007fe9b7e14000)
 libnuma.so.1 => /usr/lib/x86_64-linux-gnu/libnuma.so.1 (0x00007fe9b7c09000)
 libltdl.so.7 => /usr/lib/x86_64-linux-gnu/libltdl.so.7 (0x00007fe9b79ff000)

Compilare CalculiX

Since CalculiX is a standalone application, you can either install a binary packaged for your distribution, or compile it yourself. Any CalculiX version from 2.7.x onwards should work with FreeCAD, and since the code hasn't changed much in years, lower versions than 2.7.x may work as well.

Compiling CalculiX is a task for experienced users, requiring editing the Makefiles and build options in different platforms. See the following information:

Compilare Netgen

Netgen was originally linked by FreeCAD when FreeCAD used OCE, the community fork of OpenCascade (OCCT). As OCE lagged in development behind OCCT, FreeCAD switched back to OCCT. This broke the linking of Netgen, which could only link against OCCT 6.9 or OCE 0.18 and below. As OCCT 7.x versions improved the core functionality of FreeCAD, it was decided to drop Netgen support in favor of Gmsh.

Since then some success has been achieved patching and linking newer versions of Netgen against OCCT 7.x. Nevertheless, the inclusion of Netgen with FreeCAD is still problematic.

Installazione in MacOSX

Queste informazioni potrebbero non essere aggiornate. Se siete un utente OSX, provate e ripulite questa sezione

I pacchetti di sviluppo OSX di FreeCAD possono includere Netgen ma potrebbero non includere CalculiX.

Per installare CalculiX su OSX vedere questo post del forum FEM on Mac OSX, e un post più aggiornato per le informazioni più recenti.

CalculiX:

The following posts may be outdated:

Ulteriori informazioni

The FEM Workbench is under constant development. The most recent information is found in the FreeCAD forum.

If you have problems installing Netgen, Gmsh, or CalculiX, or another external tool, please search the forum first: