Installare i componenti per l'ambiente FEM
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.
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
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, 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 (il 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:
- (Ubuntu Daily PPA) Transitioning to OCCT7, VTK7...
- Ubuntu Daily Builds PPA now using OCC 7.1.0
- patching Netgen 5.3.1 to work with OCCT 7.1
- Troubles with gmsh in FEM wb (netgen nostalgy)
Nonostante Netgen non sia più disponibile all'interno di FEM, può ancora essere utilizzato da solo per produrre mesh che possono essere importate.
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
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.
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 Unix 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
The freecad-community PPA also provides netgen
, gmsh
, and calculix-ccx
packages for testing. If they are stable enough, they may be added to the daily or stable repositories.
Per gli sviluppatori: C'è una lunga sequenza nel forum in cui è stata discussa la creazione dei pacchetti PPA di Ubuntu. Può essere utile consultarla se è necessario aggiornare i pacchetti PPA di Ubuntu. Su Launchpad ci sono diversi pacchetti di calculix. Si dovrebbe installare un solo pacchetto calculix, e qualsiasi di loro dovrebbe funzionare. Prima della discussione nel forum non sapevamo di questo (vedere http://forum.freecadweb.org/viewtopic.php?f=18&t=10393&start=90#p85498)
Arch Linux
Get the CalculiX package from the AUR repository.
Debian
- Debian 9 Buster: the packages in the repository are outdated, but you can use the packages from the Ubuntu PPA (
freecad-community
). See Gmsh 4 package available for testing in Community Extras PPA (forum post). - Debian 8 Stretch: the packages in the repository are outdated, but you can use the packages from the Ubuntu PPA (
freecad-community
). See Gmsh 4 package available for testing in Community Extras PPA (forum post). - Debian 7 Jessie: install the packages from Debian 8 Stretch using
dpkg
. See Debian source package for Calculix (forum post).
Installare CalculiX Binario
Si conoscono solo un paio di distribuzioni di Linux che hanno i pacchetti calculix nei loro repository. Ecco una lista:
- Arch Linux:
- 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 nel forum di FreeCAD
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
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
- Fedora 27, 28, 29
- In github c'è un Repository CMake, ma nel forum di FreeCAD nessuno ha detto se funziona
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:
- Debian: Debian source package for Calculix, Gmsh 4 package available for testing in Community Extras PPA, Compiling CalculiX ccx on fedora, ubuntu and debian.
- Fedora 27, 28, 29: Compiling CalculiX ccx on fedora, ubuntu and debian.
- There is a CMake version of the source package in a github repository, but at the FreeCAD forums no one has reported if this package works.
Netgen
Ci sono stati risultati contrastanti con il mesher NetGen e la compilazione di FreeCAD con il supporto NetGen.
- ToDo
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.
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.
OSX
I pacchetti di sviluppo OSX di FreeCAD 0.17.xxxxx includono Netgen [2] ma non includono CalculiX.
CalculiX
Per installare CalculiX su OSX vedere questo post del forum FreeCAD Fem on OSX. Le seguenti informazioni potrebbero essere superate:
The following posts may be outdated:
Ulteriori informazioni
Il forum di FreeCAD è un'ottima risorsa per informazioni al riguardo. Cercare con google search dalla pagina del forum di FreeCAD:
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: