FEM Install/de: Difference between revisions

From FreeCAD Documentation
(Created page with "Als historische Referenz siehe die Beiträge: * [https://forum.freecadweb.org/viewtopic.php?f=4&t=17501 (Ubuntu Daily PPA) Transitioning to OCCT7, VTK7...] * [https://forum.fr...")
(Created page with "Obwohl Netgen nicht aus der FEM Arbeitsbereich heraus verfügbar ist, kann es dennoch allein verwendet werden, um Netze zu erzeugen, die dann importiert w...")
Line 62: Line 62:
* [https://forum.freecadweb.org/viewtopic.php?t=28368 Probleme mit gmsh in FEM wb (netgen nostalgy)]
* [https://forum.freecadweb.org/viewtopic.php?t=28368 Probleme mit gmsh in FEM wb (netgen nostalgy)]


Obwohl Netgen nicht aus der [[FEM Workbench/de|FEM Arbeitsbereich]] heraus verfügbar ist, kann es dennoch allein verwendet werden, um Netze zu erzeugen, die dann importiert werden können.
Despite Netgen not being available from within the [[FEM Workbench]], it can still be used by itself to produce meshes that can then be imported.


If the program is correctly installed, you may run the command {{incode|netgen}} in the terminal to launch the graphical interface of the program.
If the program is correctly installed, you may run the command {{incode|netgen}} in the terminal to launch the graphical interface of the program.

Revision as of 21:16, 15 July 2021

Einführung

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 Netzes 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 Polygonnetz zu erstellen, verwendet FreeCAD Gmsh als Standard Netzerzeuger. Damit dies funktioniert, sollte Gmsh separat von FreeCAD installiert werden.

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

Hinweis: Der Netgen Netzerzeuger wurde im März 2017 deaktiviert, als FreeCAD auf die Verwendung von OCCT 7.1 umgestellt wurde. Bitte bearbeiten Sie diese Information, wenn Netgen mit der stabilen Version von FreeCAD wieder nutzbar ist.

In früheren Versionen von FreeCAD war Netgen der Standard Netzerzeuger. Damit es mit dem FEM Arbeitsbereich funktioniert, musste FreeCAD zur Kompilierzeit mit den Netgen Bibliotheken gelinkt werden. Als FreeCAD von OCE 0.17 auf OCCT 7.1 überging, konnte Netgen 4.9.13 nicht mehr gegen diese Version von OCCT gelinkt werden, so dass beschlossen wurde, die Netgen Unterstützung im FEM Arbeitsbereich zu beenden. (die Schaltfläche Netgen wurde entfernt). Nichtsdestotrotz berichteten einige Anwender kurz darauf von Erfolgen beim Patchen von Netgen 5.3.1, so dass es mit OCCT 7.x und FreeCAD funktionierte.

Als historische Referenz siehe die Beiträge:

Obwohl Netgen nicht aus der FEM Arbeitsbereich heraus verfügbar ist, kann es dennoch allein verwendet werden, um Netze zu erzeugen, die dann importiert werden können.

If the program is correctly installed, you may run the command netgen in the terminal to launch the graphical interface of the program.

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

Installieren unter Windows

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

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

Holen dir das CalculiX Paket aus dem AUR Repositorium.

Debian

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 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.

Installation unter MacOSX

This information may be out of date. If you are an OSX user, please test and clean up this section

The OSX development packages of FreeCAD may include Netgen but may not include CalculiX.

See this forum post FEM on Mac OSX for information on installing CalculiX, and an updated post for more recent information.

CalculiX:

The following posts may be outdated:

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: