Instalacja środowiska MES

From FreeCAD Documentation
Revision as of 17:04, 1 January 2024 by NewJoker (talk | contribs) (Created page with "* Debian 9 Buster: paczki w [https://packages.debian.org/buster/calculix-ccx repozytorium] są nieaktualne, ale możesz skorzystać z paczek z Ubuntu PPA ({{incode|freecad-community}}). Zobacz [https://forum.freecadweb.org/viewtopic.php?f=18&t=31360&start=10#p279925 ten wątek na forum]. * Debian 8 Stretch: paczki w [https://packages.debian.org/stretch/calculix-ccx repozytorium] są nieaktualne, ale możesz skorzystać z paczek z Ubuntu PPA ({{incode|freecad-community}})...")

Wprowadzenie

Aby móc przeprowadzić analizę metodą elementów skończonych (MES) w ramach środowiska pracy MES, FreeCAD korzysta z dwóch zewnętrznych programów: jeden służy do generowania siatek, a drugi do numerycznego rozwiązywania właściwej analizy. Możesz sprawdzić, czy Twoja instalacja FreeCAD jest gotowa do przeprowadzenia analizy metodą elementów skończonych, uruchamiając przykład MES CalculiX - wspornik 3D, który jest dołączany do każdej instalacji FreeCAD od wersji 0.17.

Przepływ pracy w środowisku MES. Środowisko to wywołuje dwa zewnętrzne środowiska w celu wykonania siatkowania obiektu bryłowego oraz rozwiązania problemu metodą elementów skończonych.

Solver MES

Domyślny solver do symulacji MES to CalculiX, prosty solver do analiz strukturalnych. FreeCAD zapisuje plik wejściowy CalculiX'a, uruchamia solver i odczytuje wyniki, które mogą być zaprezentowane graficznie w rzutni programu. Oznacza to, że plik wykonywalny solvera CalculiX jest niezależny od programu FreeCAD. Ponieważ istnieje wiele programów do generowania siatek, zalecane jest najpierw zainstalowanie solvera i upewnienie się, że działa prawidłowo.

Jeśli solver jest poprawnie zainstalowany, możesz uruchomić pojedynczą komendę ccx w wierszu poleceń aby uzyskać krótką odpowiedź:

User@PC:~$ ccx

Usage: CalculiX.exe -i jobname

Jeśli solver jest zainstalowany, upewnij się, że środowisko pracy MES może znaleźć jego plik wykonywalny - przejdź do Edycja → Preferencke → MES → CalculiX → Szukaj w znanych katalogach bin. Jeśli sam skompilowałeś solver, odznacz tę opcję i podaj prawidłową ścieżkę do pliku wykonywalnego. Informacje dotyczące innych solverów, które mogą być używane z FreeCAD, można znaleźć na stronie MES: Solver.

Generowanie siatki MES

Aby utworzyć siatkę MES, FreeCAD korzysta z programu Gmsh jako domyślnego generatora siatek. W zależności od Twojego systemu operacyjnego i instalacji FreeCAD, Gmsh może być dołączony do plików instalacyjnych FreeCAD. Jeśli tak nie jest, możesz go zainstalować niezależnie i skorzystać z opcji Edycja → Preferencje → MES → Gmsh aby ustawić ścieżkę do pliku gmsh.exe.

Jeśli program jest poprawnie zainstalowany, możesz uruchomić komendę gmsh w wierszu poleceń aby otworzyć jego środowisko graficzne. To środowisko nie jest używane przez FreeCAD, ale pokazuje, że program jest zainstalowany.

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

Jeśli zainstalowany jest generator siatek, upewnij się, że środowisko pracy MES może znaleźć jego plik wykonywalny - przejdź do Edycja → Preferencje → MES → Gmsh → Szukaj w znanych katalogach bin. Jeśli sam skompilowałeś generator siatek, odznacz tę opcję i podaj prawidłową ścieżkę do pliku wykonywalnego. Zobacz stronę MES: Siatka aby poznać różne możliwości uzyskiwania siatek do analiz.

Netgen

Do utworzenia siatki MES możesz również skorzystać z generatora Netgen, jako alternatywy dla Gmsh. W zależności od Twojego systemu operacyjnego i instalacji FreeCAD, Netgen może być dołączony do plików instalacyjnych FreeCAD.

Jeśli program jest poprawnie zainstalowany, możesz uruchomić komendę netgen w wierszu poleceń Linux aby otworzyć jego środowisko graficzne.

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

Instalacja w środowisku Windows

Paczki z programem FreeCAD dostępne na stronie pobierania zawierają już Netgen i CalculiX, więc nie jest wymagana instalacja żadnego dodatkowego oprogramowania. Linki z informacjami gdzie znaleźć lepsze pliki wykonywalne solvera CalculiX niż te dołączone do FreeCAD, można znaleźć w tym wątku na forum

Instalacja w środowisku Linux

Dystrybucje Linuxa mają różne sposoby instalowania oprogramowania. Wiele z nich posiada repozytoria oprogramowania i menedżery paczek. Przed skompilowaniem kodu źródłowego poszukaj w swoim menedżer paczek haseł netgen, gmsh, calculix-ccx lub ccx i zainstaluj te programy zgodnie z instrukcjami dla Twojej dystrybucji.

Instalacja w środowisku Ubuntu PPA

Archiwa PPA freecad-stable i freecad-daily zapewniają nowszą wersję programu FreeCAD niż ta dostępna w oficjalnych repozytoriach Ubuntu. Te PPA zawierają też najnowsze paczki netgen, gmsh i calculix-ccx. Zobacz stronę Instalacja na Linux aby uzyskać więcej informacji o ustawianiu repozytoriów.

Jeśli PPA jest już dodane do Twojego systemu, zainstaluj paczki jak opisano poniżej

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

PPA freecad-community również zapewnia paczki netgen, gmsh i calculix-ccx do testowania. Jeśli są one wystarczająco stabilne, można je dodać do repozytoriów daily lub stable. Pliki wykonywalne dla ccx 2.14 działają na Debian Stretch, ale nie na Debian Buster ze względu na problemy z zależnościami.

Uwaga: wątek Ubuntu Repository na forum omawia tworzenie paczek Ubuntu PPA. W momencie jego tworzenia, CalculiX nie był uwzględniony w repozytoriach Debiana, więc było kilka osobistych paczek w Launchpad. Tylko jedna paczka powinna być zainstalowana.

Instalacja w środowisku Arch Linux

Uzyskaj paczkę CalculiX z repozytorium AUR.

Instalacja w środowisku Debian

Instalacja w środowisku 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

Binaria CalculiX

The CalculiX authors provide a pre-compiled Linux binary of the solver; it can be downloaded from the authors' website. However, since different Linux distributions have different library paths, most likely this binary will not work without making some adjustments.

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)

Kompilacja 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:

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

Instalacja w środowisku 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:

Informacje dodatkowe

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: