FEM Install/de: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
No edit summary
 
(91 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
<div class="mw-translate-fuzzy">
== Einführung ==
Um die Methode der finiten Elemente (FEM) im [[Fem_Workbench | FEM-Arbeitsbereich]] anwenden zu können, nutzt FreeCAD zwei externe Programme.
Eines dient der Erzeugung der FEM-Maschen und das andere dient der Lösung der Gleichungssysteme. Wenn FreeCAD für die Methode der finiten Elemente eingerichtet wurde, kann dies einfach durch Laden und analysieren einer Beispieldatei getestet werden. Siehe [[FEM_CalculiX_Cantilever_3D]]
</div>


{{TOCright}}
===== FEM Solver =====
For solving the system of equations, [http://www.calculix.de CalculiX] is used. FreeCAD writes a CalculiX input file, starts CalculiX and reads the output of CalculiX. This means CalculiX binary is standalone and independent from FreeCAD. Because of this and since there are more possibilities to get a valid [[FEM Mesh]] '''it is recommended to install the Solver first'''.


<span id="Introduction"></span>
===== FEM Mesh Generator =====
==Einleitung==
In respect to a meshing tool, in order to create a [[FEM Mesh]], FreeCAD uses [https://sourceforge.net/projects/netgen-mesher/ Netgen]. Using Netgen in the FEM Workbench, FreeCAD needs to be compiled against netgen libraries. Apart from Netgen a common way to create a FEM Mesh is the use FEM Gmsh mesh tool. For the use of this tool Gmsh has to be installed on your system. Check out [[FEM Mesh#Create a FEM Mesh]] for the various possibilities to create an FEM Mesh in FreeCAD.


Um die Finite Element Analyse (FEA) innerhalb des {{KEY|[[Image:Workbench_FEM.svg|24px]] [[FEM_Workbench/de|FEM Arbeitsbereichs]]}} durchführen zu können, verwendet FreeCAD zwei externe Programme: eines wird für die Generierung des [[FEM_Mesh/de|FEM Netz]] verwendet, das andere für die numerische Lösung der eigentlichen Analyse. Du kannst testen, ob dein FreeCAD Installation für die FEA bereit ist, indem du das [[FEM_CalculiX_Cantilever_3D/de|FEM CalculiX Kragarm 3D]] Beispiel ausführen, das in jeder Installation von FreeCAD seit v0.17 enthalten ist.
== Installation of external FEM Module Software ==
=== Windows ===
If either a stable or development version from [[Download]] is used no further software needs to be installed. Netgen and CalculiX are included in the FreeCAD download package.


[[Image:FEM_Workbench_workflow.svg|600px]]
=== Linux ===
{{Caption| Arbeitsablauf des FEM Arbeitsbereichs; der Arbeitsbereich ruft zwei externe Programme auf, um die Vernetzung eines festen Objekts und die eigentliche Lösung des Finite Element Problems durchzuführen.}}
==== Ubuntu PPA ====
The easiest possibility to get an working FEM Workbench on Linux is the use of the Ubuntu PPA Version. Check out [[Install on Unix#Daily PPA with console]]. The netgen FEM Mesh Generator is already included in the PPA version. CalculiX is an extra package provided by the Ubuntu PPA Version as well. If the Ubuntu PPA repository is already added to your package manager install CalculiX by
apt-get install ccx


<span id="FEM_solver"></span>
The following FreeCAD Ubuntu PPA packages have Netgen and CalculiX:
=== FEM Löser ===
* Ubuntu 14.04 (Trusty Tahr)
* Ubuntu 14.10 (Utopic Unicorn)
* Ubuntu 15.04 (Vivid Vervet)


Der Standard Löser zur Durchführung von Finite Elemente Berechnungen ist [[FEM_CalculiX/de|CalculiX]], ein einfacher Löser zur Analyse von Strukturen. FreeCAD schreibt eine CalculiX Eingabedatei, startet den Löser und liest die Ausgabe, die dann visuell im Ansichtsfenster dargestellt werden kann; das bedeutet, dass das CalculiX Binärdatei eigenständig und unabhängig von FreeCAD ist. In Anbetracht der Tatsache, dass es viele Programme gibt, die ein Netz generieren können, '''ist es empfehlenswert, den Löser zu installieren und sicherzustellen, dass er zuerst funktioniert'''.
For Developers: There is a huge [http://forum.freecadweb.org/viewtopic.php?f=18&t=10393 forum thread] in which the creation of the Ubuntu PPA packages was discussed. It may be useful if the Ubuntu PPA packages needs to be updated. On Launchpad there are more than one CalculiX packages. Only one CalculiX package should be installed and any of them should work. There is a simple reason for not taking the one which was already on Launchpad. We did not know about it (see http://forum.freecadweb.org/viewtopic.php?f=18&t=10393&start=90#p85498)


Wenn der Löser korrekt installiert ist, kannst du den einzelnen Befehl {{incode|ccx}} im Terminal ausführen, um eine einfache Antwort zu erhalten:
==== Other ====
On other Linux distributions you need to make sure to get the appropriate software and libraries installed yourself before using FEM workbench.


{{SystemInput|User@PC:~$ ccx}}
==== CalculiX ====
Since CalculiX is a standalone software you either can install a CalculiX binary or compile CalculiX yourself. Any CalculiX version from 2.7.X works with FreeCAD. Since there hasn't been much changes in CalculiX resently lower versions than 2.7.X might work as well.


{{Code|code=
===== Install CalculiX Binary =====
Usage: CalculiX.exe -i jobname
There are only a few Linux Distributions which are known to have CalculiX Packages in their Repositories. Following a list:
}}
* Arch Linux:
** https://aur.archlinux.org/packages/calculix/
* Debian 09 Buster:
** Debian packages are outdated, thus https://forum.freecadweb.org/viewtopic.php?f=18&t=31360&start=10#p279925
* Debian 08 Stretch:
** https://packages.debian.org/stretch/calculix-ccx
** Debian packages are outdated, thus https://forum.freecadweb.org/viewtopic.php?f=18&t=31360&p=279925#p260872
* Debian 07 Jessie:
** The packages of Debian Stretch can be installed by dpkg see [http://forum.freecadweb.org/viewtopic.php?f=4&t=5975&p=110597#p110597 FreeCAD forum]


Wenn der Löser installiert ist, stelle sicher, dass der FEM Arbeitsbereich in der Lage ist, die Binärdatei zu finden; gehe zu {{MenuCommand|Bearbeiten → Einstellungen → FEM → CalculiX → In bekannten Binärverzeichnissen suchen}}. Wenn du den Löser selbst kompiliert hast, deaktiviere die Option, und gib den korrekten Pfad zur Binärdatei an. Für andere Löser, die mit FreeCAD verwendet werden können, siehe [[FEM_Solver/de|FEM Löser]].
* CalculiX binary from ccx website:
** On the CalculiX Website it is possible to download a generic Linux binary of CalculiX. Check out http://www.dhondt.de/ Since any Linux Distribution could have different library paths it is likely possible this binary will not work out of the box at your linux distribution.
** Fedora 21:
*** http://forum.freecadweb.org/viewtopic.php?f=18&t=10140
*** for newer fedora versions see how to compile CalculiX, there is a script out there.
** Some bash commands that may help too
*** http://forum.freecadweb.org/viewtopic.php?f=3&t=11830&start=20#p95741


<span id="FEM_mesh_generator"></span>
===== Compile CalculiX =====
=== FEM Netz Generator ===
Compiling CalculiX is not as easy as it is with many OpenSource software. There are many different resources at FreeCAD forum and the internet. Check out the following:
* 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
* There is a CMake Repository on github, but at FreeCAD forum noone has reported if this one works
** https://github.com/ricortiz/CalculiX-cmake


Um ein [[FEM_Mesh/de|FEM-Netz]] zu erstellen, verwendet FreeCAD [http://gmsh.info/ Gmsh] als Standard-Vernetzer. Abhängig vom Betriebssystem und der FreeCAD-Installation, kann Gmsh in den FreeCAD-Installationsdateien vorhanden sein. Wenn es nicht mitgeliefert wird, kann es unabhängig von FreeCAD installiert werden und anschließend das Menü {{MenuCommand|Edit → Preferences → FEM → Gmsh}} verwendet werden, um den Pfad zu ''gmsh.exe'' einzugeben.
==== Netgen ====
There have been mixed results with the Netgen mesher and the compilation of FreeCAD with Netgen support.
* ToDo


Wenn das Programm korrekt installiert ist, kannst du den Befehl {{incode|gmsh}} im Terminal ausführen, um die grafische Oberfläche des Programms zu starten. Diese Oberfläche wird von FreeCAD nicht verwendet, zeigt aber an, dass das Programm installiert ist.
==== Further Informations ====
The [http://www.forum.freecadweb.org/ FreeCAD forum] is a very good resource for informations in this regard. Check out google search on FreeCAD forum page by :
* [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]


{{SystemInput|User@PC:~$ gmsh -info}}
=== OSX ===
The OSX development packages of FreeCAD 0.17.xxxxx do include Netgen [https://github.com/FreeCAD/FreeCAD/releases] but they do not include CalculiX.


{{Code|code=
==== CalculiX ====
Version : 3.0.6
See this forum post [https://forum.freecadweb.org/viewtopic.php?f=18&t=10979&p=198652#p198642 FreeCAD Fem on OSX] how to install CalculiX on OSX
License : GNU General Public License
Following informations might be outdated:
Build OS : Linux64
* [http://forum.freecadweb.org/viewtopic.php?f=18&t=10979 forum]
Build date : 20171107
* [http://forum.freecadweb.org/viewtopic.php?f=8&t=14497 forum]
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
}}


Wenn der Netzerzeuger installiert ist, stelle sicher, dass der FEM Arbeitsbereich in der Lage ist, die Binärdatei zu finden; gehe zu {{MenuCommand|Bearbeiten → Einstellungen → FEM → Gmsh → In bekannten Binärverzeichnissen suchen}}. Wenn du den Löser selbst kompiliert hast, deaktiviere die Option, und gib den korrekten Pfad zur Binärdatei an. Siehe [[FEM_Mesh/de|FEM Polygonetz]] für verschiedene Möglichkeiten, ein gültiges Netz für die Analyse zu erhalten.
[[Category:User Documentation/de]]


=== Netgen ===

Zum Erstelle eines FEM-Netzes kann ''Netgen'' als Alternative zu ''Gmsh'' verwendet werden. Abhängig von dem Betriebssystem und der eigenen FreeCAD-Installation kann Netgen mit den Binär-Paketen für die FreeCAD-Installation gebündelt sein.

Wenn das Programm korrekt installiert ist, kann der Befehl {{incode|netgen}} unter Linux im Terminal ausgeführt werden, um die grafische Oberfläche des Programms zu starten.

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

{{Code|code=
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
}}

<span id="Installing_on_Windows"></span>
== Installation unter Windows ==

Die auf der Seite [[Download/de|Herunterladen]] verfügbaren FreeCAD-Pakete enthalten bereits Netgen und CalculiX, so dass keine zusätzliche Software installiert werden muss. Einige Verweise, wo eine bessere ausführbare CalculiX Datei als die in FreeCAD enthalten bekommen kann, können hier gefunden werden: [https://forum.freecad.org/viewtopic.php?f=18&t=58792&start=10#p506164 alternative ccx ausführbare Dateien].

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

<span id="Installing_on_Linux"></span>
== Installation unter Linux ==

Linux Distributionen haben unterschiedliche Möglichkeiten, Software zu installieren. Viele Distributionen haben Software Repositorien und Paketmanager; Vor dem kompilieren des Quellcodes, schau in deinem Paketmanager nach {{incode|netgen}}, {{incode|gmsh}}, {{incode|calculix-ccx}} oder {{incode|ccx}}, und installiere diese nach den Anweisungen deiner eigenen Distribution.

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

Die [https://launchpad.net/~freecad-maintainers/+archive/ubuntu/freecad-stable freecad-stable] und [https://launchpad.net/~freecad-maintainers/+archive/ubuntu/freecad-daily freecad-daily] persönlichen Paketarchive (PPA) bieten eine aktuellere Version von FreeCAD als in den offiziellen Ubuntu Repositorien verfügbar ist. Diese PPAs enthalten auch die aktuellsten Pakete {{incode|netgen}}, {{incode|gmsh}} und {{incode|calculix-ccx}}. Siehe [[Installing_on_Linux/de|Installieren unter Linux]] für weitere Informationen zum Einrichten der Repositorien.

Wenn ein PPA bereits zu deinem System hinzugefügt wurde, installiere die Pakete wie folgt

{{Code|code=
sudo apt-get install netgen
sudo apt-get install gmsh
sudo apt-get install calculix-ccx
}}

Das [https://launchpad.net/~freecad-community/+archive/ubuntu/ppa freecad-community] PPA stellt auch die Pakete {{incode|netgen}}, {{incode|gmsh}} und {{incode|calculix-ccx}} zum Testen bereit. Wenn sie stabil genug sind, können sie zu den täglichen oder stabilen Repositorien hinzugefügt werden. Die Binärdateien für ccx 2.14 funktionieren unter Debian Stretch, aber nicht unter Debian Buster aufgrund von Abhängigkeitsproblemen.

{{Emphasis|Hinweis:}} Der Beitrag [http://forum.freecadweb.org/viewtopic.php?f=18&t=10393 Ubuntu Repositorium] behandelt die Erstellung der Ubuntu PPA Pakete. Zu der Zeit, als er geschrieben wurde, war CalculiX nicht in den Debian Repositorien enthalten, daher gab es mehrere persönliche Pakete in Launchpad. Es sollte nur ein Paket installiert werden.

=== Arch Linux ===

Hol dir das CalculiX Paket aus dem [https://aur.archlinux.org/packages/calculix/ AUR Repositorium].

=== Debian ===

* Debian 9 Buster: die Pakete im [https://packages.debian.org/buster/calculix-ccx Repositorium] sind veraltet, aber du kannst die Pakete aus dem Ubuntu PPA ({{incode|freecad-community}}) verwenden. Siehe [https://forum.freecadweb.org/viewtopic.php?f=18&t=31360&start=10#p279925 Gmsh 4 Paket im Community Extras PPA zum Testen verfügbar] (Forenbeitrag).
* Debian 8 Stretch: die Pakete im [https://packages.debian.org/stretch/calculix-ccx repository] sind veraltet, aber du kannst die Pakete aus dem Ubuntu PPA ({{incode|freecad-community}}) verwenden. Siehe [https://forum.freecadweb.org/viewtopic.php?f=18&t=31360&p=279925#p260872 Gmsh 4 Paket verfügbar zum Testen im Community Extras PPA] (Forumsbeitrag).
* Debian 7 Jessie: Installiere die Pakete von Debian 8 Stretch mit {{incode|dpkg}}. Siehe [http://forum.freecadweb.org/viewtopic.php?f=4&t=5975&p=110597#p110597 Debian Quellpaket für Calculix] (Forenbeitrag).

=== openSUSE ===

* [https://en.opensuse.org/openSUSE:Science_Math#Mesh_Generation_and_Related_Tools openSUSE:Science Math]
* [https://software.opensuse.org/package/netgen netgen Automatischer 3D-Tetraedernetz-Generator]
* [https://software.opensuse.org/package/gmsh gmsh Ein Generator für dreidimensionale Finite Elemente Netze]
* [https://software.opensuse.org/package/ccx ccx Ein quelloffenes Finite Elemente Paket]

Zusätzliche Pakete werden typischerweise mit YAST (Abk. Yet another Setup Tool)(deutsch: Noch ein anderes Einrichtungswerkzeug), dem Einrichtungs- und Konfigurationswerkzeug für das Linux Betriebssystem, oder in jedem Terminal/Konsole (root Rechte erforderlich) mit:

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

<span id="CalculiX_binary"></span>
=== CalculiX Binärdatei ===

Die CalculiX Autoren stellen ein vorkompiliertes Linux Binärdatei des Lösers zur Verfügung; es kann von der [http://www.dhondt.de/ Autoren Webseite] heruntergeladen werden. Da jedoch verschiedene Linux Distributionen unterschiedliche Bibliothekspfade haben, wird diese Binärdatei höchstwahrscheinlich nicht funktionieren, ohne einige Anpassungen vorzunehmen.

Um das Binärdatei mit Fedora 21 zu verwenden, siehe den Beitrag [http://forum.freecadweb.org/viewtopic.php?f=18&t=10140 FEM unter Linux fedora 21 zum Laufen bringen]. Für neuere Fedora Versionen solltest du CalculiX selbst kompilieren.

Wenn du diese Binärdatei verwendest, überprüfe, dass die Binärdatei ausführbar ist, dass sie sich im ausführbaren {{incode|$PATH}} deines Systems befindet und dass du die erforderliche Version der Bibliotheken ({{incode|libgfortran}}, {{incode|liblapack}}, {{incode|libblas}}, usw.) hast, gegen die sie kompiliert wurde. Dies wird im Forumsbeitrag [http://forum.freecadweb.org/viewtopic.php?f=3&t=11830&start=20#p95741 FEM WB] erwähnt.

Verwende den Befehl {{incode|ldd}}, um die Bibliotheken anzuzeigen, die von der Binärdatei gelinkt werden. Installiere alle fehlenden Abhängigkeiten.

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

{{Code|code=
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)
}}

<span id="Compile_CalculiX"></span>
=== CalculiX kompilieren===

Da CalculiX eine eigenständige Anwendung ist, kannst du entweder eine für deine Distribution gepackte Binärdatei installieren oder sie selbst kompilieren. Jede CalculiX Version ab 2.7.x sollte mit FreeCAD funktionieren, und da der Code in den letzten Jahren nicht viel geändert wurde, können auch niedrigere Versionen als 2.7.x funktionieren.

Das Kompilieren von CalculiX ist eine Aufgabe für erfahrene Anwender und erfordert die Bearbeitung der Makefiles und Build Optionen auf verschiedenen Plattformen. Siehe die folgenden Informationen:
* Debian: [http://forum.freecadweb.org/viewtopic.php?f=4&t=5975&start=10 Debian-Quellpaket für Calculix], [https://forum.freecadweb.org/viewtopic.php?f=18&t=31360&start=10#p260506 Gmsh 4 Paket verfügbar zum Testen im Community Extras PPA], [https://forum.freecadweb.org/viewtopic.php?f=18&t=34024 Kompilieren CalculiX ccx unter fedora, ubuntu und debian].
* Fedora 27, 28, 29: [https://forum.freecadweb.org/viewtopic.php?f=18&t=34024 Kompilieren CalculiX ccx unter fedora, ubuntu und debian].
* Es gibt eine CMake Version des Quellpakets in einem [https://github.com/ricortiz/CalculiX-cmake github repository], aber in den FreeCAD Foren hat niemand berichtet, ob dieses Paket funktioniert.

<span id="Compile_Netgen"></span>
=== Netgen kompilieren ===

Netgen wurde ursprünglich von FreeCAD verknüpft, als FreeCAD OCE, den Community-Zweig von OpenCascade (OCCT), verwendete. Da OCE in der Entwicklung hinter OCCT zurückblieb, wechselte FreeCAD zurück zu OCCT. Dadurch wurde die Verknüpfung von Netgen unterbrochen, das nur gegen OCCT 6.9 oder OCE 0.18 und darunter verknüpft werden konnte. Da die OCCT 7.x Versionen die Kernfunktionalität von FreeCAD verbesserten, wurde beschlossen, die Netgen-Unterstützung zugunsten von Gmsh aufzugeben.

Seitdem ist es gelungen, neuere Versionen von Netgen auszubessern und mit OCCT 7.x zu verbinden. Dennoch ist die Einbindung von Netgen in FreeCAD immer noch problematisch.
</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>
== Installation unter MacOSX ==

{{VeryImportantMessage|Diese Informationen könnten veraltet sein. Wenn du ein OSX Benutzer bist, teste und bereinige bitte diesen Abschnitt}}
Die OSX [https://github.com/FreeCAD/FreeCAD/releases Entwicklungspakete] von FreeCAD enthalten möglicherweise Netgen, aber nicht CalculiX.

Siehe diesen Forumsbeitrag [https://forum.freecadweb.org/viewtopic.php?f=18&t=10979&p=198652#p198642 FEM on Mac OSX] für Informationen zur Installation von CalculiX, und einen [https://forum.freecadweb.org/viewtopic.php?f=18&t=10979&start=90#p273746 aktualisierter Beitrag] für neuere Informationen.

CalculiX:
* [https://forum.freecadweb.org/viewtopic.php?f=18&t=10979&start=90#p508724 CalculiX mit brew installieren]
Die folgenden Beiträge sind möglicherweise veraltet:
* [http://forum.freecadweb.org/viewtopic.php?f=18&t=10979 FEM auf Mac OSX, Beitrag 1]
* [http://forum.freecadweb.org/viewtopic.php?f=8&t=14497 MacPorts Benutzer: CalculiX port Test Anfrage]

<span id="Further_information"></span>
== Weitere Informationen ==

Der [[FEM_Workbench/de|FEM Arbeitsbereich]] befindet sich in ständiger Entwicklung. Die aktuellsten Informationen findest du im [http://www.forum.freecadweb.org/ FreeCAD Forum].

Wenn du Probleme bei der Installation von Netgen, Gmsh oder CalculiX oder einem anderen externen Werkzeug hast, suche bitte zuerst im Forum:
* [https://www.google.ch/search?q=sys.append.path+site%3Aforum.freecadweb.org#q=netgen+site:forum.freecadweb.org netgen site:forum.freecadweb.org]
* [https://www.google.ch/search?q=sys.append.path+site%3Aforum.freecadweb.org#q=gmsh+site:forum.freecadweb.org gmsh site:forum.freecadweb.org]
* [https://www.google.ch/search?q=sys.append.path+site%3Aforum.freecadweb.org#q=calculix+site:forum.freecadweb.org calculix site:forum.freecadweb.org]


{{FEM Tools navi{{#translation:}}}}
{{clear}}
{{Userdocnavi{{#translation:}}}}

Latest revision as of 15:51, 5 January 2024

Einleitung

Um die Finite Element Analyse (FEA) innerhalb des FEM Arbeitsbereichs durchführen zu können, verwendet FreeCAD zwei externe Programme: eines wird für die Generierung des FEM Netz verwendet, das andere für die numerische Lösung der eigentlichen Analyse. Du kannst testen, ob dein FreeCAD Installation für die FEA bereit ist, indem du das FEM CalculiX Kragarm 3D Beispiel ausführen, das in jeder Installation von FreeCAD seit v0.17 enthalten ist.

Arbeitsablauf des FEM Arbeitsbereichs; der Arbeitsbereich ruft zwei externe Programme auf, um die Vernetzung eines festen Objekts und die eigentliche Lösung des Finite Element Problems durchzuführen.

FEM Löser

Der Standard Löser zur Durchführung von Finite Elemente Berechnungen ist CalculiX, ein einfacher Löser zur Analyse von Strukturen. FreeCAD schreibt eine CalculiX Eingabedatei, startet den Löser und liest die Ausgabe, die dann visuell im Ansichtsfenster dargestellt werden kann; das bedeutet, dass das CalculiX Binärdatei eigenständig und unabhängig von FreeCAD ist. In Anbetracht der Tatsache, dass es viele Programme gibt, die ein Netz generieren können, ist es empfehlenswert, den Löser zu installieren und sicherzustellen, dass er zuerst funktioniert.

Wenn der Löser korrekt installiert ist, kannst du den einzelnen Befehl ccx im Terminal ausführen, um eine einfache Antwort zu erhalten:

User@PC:~$ ccx

Usage: CalculiX.exe -i jobname

Wenn der Löser installiert ist, stelle sicher, dass der FEM Arbeitsbereich in der Lage ist, die Binärdatei zu finden; gehe zu Bearbeiten → Einstellungen → FEM → CalculiX → In bekannten Binärverzeichnissen suchen. Wenn du den Löser selbst kompiliert hast, deaktiviere die Option, und gib den korrekten Pfad zur Binärdatei an. Für andere Löser, die mit FreeCAD verwendet werden können, siehe FEM Löser.

FEM Netz Generator

Um ein FEM-Netz zu erstellen, verwendet FreeCAD Gmsh als Standard-Vernetzer. Abhängig vom Betriebssystem und der FreeCAD-Installation, kann Gmsh in den FreeCAD-Installationsdateien vorhanden sein. Wenn es nicht mitgeliefert wird, kann es unabhängig von FreeCAD installiert werden und anschließend das Menü Edit → Preferences → FEM → Gmsh verwendet werden, um den Pfad zu gmsh.exe einzugeben.

Wenn das Programm korrekt installiert ist, kannst du den Befehl gmsh im Terminal ausführen, um die grafische Oberfläche des Programms zu starten. Diese Oberfläche wird von FreeCAD nicht verwendet, zeigt aber an, dass das Programm installiert ist.

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

Wenn der Netzerzeuger installiert ist, stelle sicher, dass der FEM Arbeitsbereich in der Lage ist, die Binärdatei zu finden; gehe zu Bearbeiten → Einstellungen → FEM → Gmsh → In bekannten Binärverzeichnissen suchen. Wenn du den Löser selbst kompiliert hast, deaktiviere die Option, und gib den korrekten Pfad zur Binärdatei an. Siehe FEM Polygonetz für verschiedene Möglichkeiten, ein gültiges Netz für die Analyse zu erhalten.

Netgen

Zum Erstelle eines FEM-Netzes kann Netgen als Alternative zu Gmsh verwendet werden. Abhängig von dem Betriebssystem und der eigenen FreeCAD-Installation kann Netgen mit den Binär-Paketen für die FreeCAD-Installation gebündelt sein.

Wenn das Programm korrekt installiert ist, kann der Befehl netgen unter Linux im Terminal ausgeführt werden, um die grafische Oberfläche des Programms zu starten.

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

Installation unter Windows

Die auf der Seite Herunterladen verfügbaren FreeCAD-Pakete enthalten bereits Netgen und CalculiX, so dass keine zusätzliche Software installiert werden muss. Einige Verweise, wo eine bessere ausführbare CalculiX Datei als die in FreeCAD enthalten bekommen kann, können hier gefunden werden: alternative ccx ausführbare Dateien.

Installation unter Linux

Linux Distributionen haben unterschiedliche Möglichkeiten, Software zu installieren. Viele Distributionen haben Software Repositorien und Paketmanager; Vor dem kompilieren des Quellcodes, schau in deinem Paketmanager nach netgen, gmsh, calculix-ccx oder ccx, und installiere diese nach den Anweisungen deiner eigenen Distribution.

Ubuntu PPA

Die freecad-stable und freecad-daily persönlichen Paketarchive (PPA) bieten eine aktuellere Version von FreeCAD als in den offiziellen Ubuntu Repositorien verfügbar ist. Diese PPAs enthalten auch die aktuellsten Pakete netgen, gmsh und calculix-ccx. Siehe Installieren unter Linux für weitere Informationen zum Einrichten der Repositorien.

Wenn ein PPA bereits zu deinem System hinzugefügt wurde, installiere die Pakete wie folgt

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

Das freecad-community PPA stellt auch die Pakete netgen, gmsh und calculix-ccx zum Testen bereit. Wenn sie stabil genug sind, können sie zu den täglichen oder stabilen Repositorien hinzugefügt werden. Die Binärdateien für ccx 2.14 funktionieren unter Debian Stretch, aber nicht unter Debian Buster aufgrund von Abhängigkeitsproblemen.

Hinweis: Der Beitrag Ubuntu Repositorium behandelt die Erstellung der Ubuntu PPA Pakete. Zu der Zeit, als er geschrieben wurde, war CalculiX nicht in den Debian Repositorien enthalten, daher gab es mehrere persönliche Pakete in Launchpad. Es sollte nur ein Paket installiert werden.

Arch Linux

Hol dir das CalculiX Paket aus dem AUR Repositorium.

Debian

openSUSE

Zusätzliche Pakete werden typischerweise mit YAST (Abk. Yet another Setup Tool)(deutsch: Noch ein anderes Einrichtungswerkzeug), dem Einrichtungs- und Konfigurationswerkzeug für das Linux Betriebssystem, oder in jedem Terminal/Konsole (root Rechte erforderlich) mit:

zypper install netgen
zypper install gmsh
zypper install ccx

CalculiX Binärdatei

Die CalculiX Autoren stellen ein vorkompiliertes Linux Binärdatei des Lösers zur Verfügung; es kann von der Autoren Webseite heruntergeladen werden. Da jedoch verschiedene Linux Distributionen unterschiedliche Bibliothekspfade haben, wird diese Binärdatei höchstwahrscheinlich nicht funktionieren, ohne einige Anpassungen vorzunehmen.

Um das Binärdatei mit Fedora 21 zu verwenden, siehe den Beitrag FEM unter Linux fedora 21 zum Laufen bringen. Für neuere Fedora Versionen solltest du CalculiX selbst kompilieren.

Wenn du diese Binärdatei verwendest, überprüfe, dass die Binärdatei ausführbar ist, dass sie sich im ausführbaren $PATH deines Systems befindet und dass du die erforderliche Version der Bibliotheken (libgfortran, liblapack, libblas, usw.) hast, gegen die sie kompiliert wurde. Dies wird im Forumsbeitrag FEM WB erwähnt.

Verwende den Befehl ldd, um die Bibliotheken anzuzeigen, die von der Binärdatei gelinkt werden. Installiere alle fehlenden Abhängigkeiten.

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)

CalculiX kompilieren

Da CalculiX eine eigenständige Anwendung ist, kannst du entweder eine für deine Distribution gepackte Binärdatei installieren oder sie selbst kompilieren. Jede CalculiX Version ab 2.7.x sollte mit FreeCAD funktionieren, und da der Code in den letzten Jahren nicht viel geändert wurde, können auch niedrigere Versionen als 2.7.x funktionieren.

Das Kompilieren von CalculiX ist eine Aufgabe für erfahrene Anwender und erfordert die Bearbeitung der Makefiles und Build Optionen auf verschiedenen Plattformen. Siehe die folgenden Informationen:

Netgen kompilieren

Netgen wurde ursprünglich von FreeCAD verknüpft, als FreeCAD OCE, den Community-Zweig von OpenCascade (OCCT), verwendete. Da OCE in der Entwicklung hinter OCCT zurückblieb, wechselte FreeCAD zurück zu OCCT. Dadurch wurde die Verknüpfung von Netgen unterbrochen, das nur gegen OCCT 6.9 oder OCE 0.18 und darunter verknüpft werden konnte. Da die OCCT 7.x Versionen die Kernfunktionalität von FreeCAD verbesserten, wurde beschlossen, die Netgen-Unterstützung zugunsten von Gmsh aufzugeben.

Seitdem ist es gelungen, neuere Versionen von Netgen auszubessern und mit OCCT 7.x zu verbinden. Dennoch ist die Einbindung von Netgen in FreeCAD immer noch problematisch.

Installation unter MacOSX

Diese Informationen könnten veraltet sein. Wenn du ein OSX Benutzer bist, teste und bereinige bitte diesen Abschnitt

Die OSX Entwicklungspakete von FreeCAD enthalten möglicherweise Netgen, aber nicht CalculiX.

Siehe diesen Forumsbeitrag FEM on Mac OSX für Informationen zur Installation von CalculiX, und einen aktualisierter Beitrag für neuere Informationen.

CalculiX:

Die folgenden Beiträge sind möglicherweise veraltet:

Weitere Informationen

Der FEM Arbeitsbereich befindet sich in ständiger Entwicklung. Die aktuellsten Informationen findest du im FreeCAD Forum.

Wenn du Probleme bei der Installation von Netgen, Gmsh oder CalculiX oder einem anderen externen Werkzeug hast, suche bitte zuerst im Forum: