FEM Install/es

Introducción

Para poder realizar análisis de elementos finitos (FEA) dentro del Ambiente de trabajo MEF, FreeCAD hace uso de dos programas externos: uno se utiliza para generar el MEF Malla, y el otro para resolver numéricamente el análisis real. Puedes probar si tu instalación de FreeCAD está preparada para el AEF ejecutando el ejemplo MEF CalculiX Cantilever 3D que se incluye con cada instalación de FreeCAD desde la v0.17.

Flujo de trabajo del Ambiente de trabajob MEF; el Ambiente de trabajo llama a dos programas externos para realizar el mallado de un objeto sólido, y realizar la solución real del problema de elementos finitos

MEF solucionador

El solucionador por defecto para realizar los cálculos de elementos finitos es CalculiX, un solucionador simple para el análisis de estructuras. FreeCAD escribe un archivo de entrada de CalculiX, inicia el solucionador, y lee la salida, que puede ser presentada visualmente en la ventana gráfica; esto significa que el binario de CalculiX es autónomo e independiente de FreeCAD. Dado que hay muchos programas que pueden generar una malla, se recomienda instalar el solucionador, y asegurarse de que está funcionando primero.

Si el solucionador está correctamente instalado, puede ejecutar el único comando ccx en el terminal para obtener una respuesta sencilla:

User@PC:~$ ccx

Usage: CalculiX.exe -i jobname

Si el solucionador está instalado, asegúrese de que el Ambiente de trabajo MEF es capaz de encontrar el binario; vaya a Edición → Preferencias → MEF → CalculiX → Buscar en directorios binarios conocidos. Si ha compilado el solucionador usted mismo, desmarque la opción, y dé la ruta correcta al binario. Para otros solucionadores que pueden usarse con FreeCAD, vea MEF Solucionador.

MEF Generador Malla

Para crear una MEF Malla, FreeCAD utiliza Gmsh como malla por defecto. Para que esto funcione, Gmsh debe ser instalado por separado de FreeCAD.

Si el programa está correctamente instalado, puedes ejecutar el comando gmsh en el terminal para lanzar la interfaz gráfica del programa. Esta interfaz no es utilizada por FreeCAD pero demuestra que el programa está instalado.

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

Si el mallado está instalado, asegúrese de que el Ambiente de trabajo MEF es capaz de encontrar el binario; vaya a Edición → Preferencias → MEF → Gmsh → Buscar en directorios binarios conocidos. Si has compilado el mesher tú mismo, desmarca la opción, y da la ruta correcta al binario. Vea MEF Malla para varias posibilidades de obtener una malla válida para el análisis.

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.

Si el programa está correctamente instalado, puede ejecutar el comando netgen en el terminal para lanzar la interfaz gráfica del programa.

User@PC:~$ netgen -V

version 1.0 and above: A new improved Netgen implementation is available. Thanks to it, Netgen can finally be used with FreeCAD on Linux. Netgen Python bindings have to be installed to use the new implementation:

pip install --upgrade ngsolve

If the above command is not sufficient, one can try the following from the Python console in FreeCAD:

import os, subprocess
temp_dir = os.path.dirname(os.sys.executable)
py_path = os.path.join(temp_dir, "python")
subprocess.run([py_path, "-m", "pip", "install", "--user", "netgen-mesher"])

or compile Netgen from the source. This might be necessary for Windows users and computers with old CPUs - an explanation can be found in this thread on the Netgen forum.

Instalación en Windows

Los paquetes de FreeCAD disponibles en la página descargar ya incluyen Netgen y CalculiX, por lo que no es necesario instalar ningún software adicional. Algunos enlaces donde conseguir un ejecutable de Calculix mejor que el incluido en FreeCAD se pueden encontrar aquí ejecutables ccx alternativos

Instalación en Linux

Las distribuciones de Linux tienen diferentes maneras de instalar el software. Muchas distribuciones tienen repositorios de software y gestores de paquetes; antes de compilar el código fuente, busque en su gestor de paquetes netgen, gmsh, calculix-ccx o ccx, e instálelos siguiendo las instrucciones de su propia distribución.

Ubuntu PPA

Los archivos de paquetes personales (PPA) freecad-stable y freecad-daily proporcionan una versión más reciente de FreeCAD que la disponible en los repositorios oficiales de Ubuntu. Estos PPAs incluyen los paquetes más recientes netgen, gmsh, y calculix-ccx. Ver Instalación en Linux para más información sobre la configuración de los repositorios.

Si un PPA ya está añadido a su sistema, instale los paquetes de la siguiente manera

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

El freecad-community PPA también proporciona los paquetes netgen, gmsh, y calculix-ccx para pruebas. Si son lo suficientemente estables, pueden añadirse a los repositorios diarios o estables. Los binarios para ccx 2.14 funcionan en Debian Stretch, pero no en Debian Buster debido a problemas de dependencia.

Nota: el hilo Ubuntu Repositorio habla de la creación de los paquetes PPA de Ubuntu. En el momento en que se escribió, CalculiX no estaba incluido en los repositorios de Debian, por lo que había varios paquetes personales en Launchpad. Sólo debe instalarse un paquete.

Arch Linux

Obtenga el paquete CalculiX del AUR repositorio.

Debian

openSUSE

Los paquetes adicionales suelen instalarse con YAST (abbr. Yet another Setup Tool) (Español: Otra herramienta de configuración) la herramienta de configuración del sistema operativo Linux, o en cualquier terminal/consola (se requieren derechos de root) con:

zypper install netgen
zypper install gmsh
zypper install ccx

CalculiX binary

Los autores de CalculiX proporcionan un binario precompilado para Linux del solucionador; puede descargarse desde el sitio web de los autores [1]. Sin embargo, dado que las diferentes distribuciones de Linux tienen diferentes rutas de bibliotecas, lo más probable es que este binario no funcione sin hacer algunos ajustes.

Para utilizar el binario con Fedora 21, consulte el hilo Cómo hacer que MEF funcione en linux fedora 21. Para versiones más recientes de Fedora, debes compilar CalculiX tú mismo.

Si usas este binario, comprueba que el binario es ejecutable, que está en el $PATH de tu sistema, y que tienes la versión necesaria de las librerías (libgfortran, liblapack, libblas, etc.) contra las que fue compilado. Esto se menciona en el post del foro Ambiente de trabajo MEF.

Usar el comando ldd para ver las bibliotecas que están enlazadas por el binario. Instala cualquier dependencia que falte.

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)

One of the aforementioned dependencies (libgfortran.so.4) needed for CalculiX may cause issues with newer Ubuntu releases where only libgfortran5 is available. Apart from using the old CalculiX version (2.17) available via sudo apt-get install calculix-ccx, one may build a new version of CalculiX. It's not necessary to do it manually since there is a script hosted on this website that can be obtained and used with the following commands:

wget https://feacluster.com/install/install
perl install

The script is interactive and asks for some inputs like the matrix solver type (Spooles or Pardiso). To build a different version of CalculiX just change the following line in the script:

$version = '2.2x';

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

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

Instalación en 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:

Más información

El Ambiente de trabajo MEF está en constante desarrollo. La información más reciente se encuentra en el FreeCAD foro.

Si tiene problemas para instalar Netgen, Gmsh, o CalculiX, u otra herramienta externa, por favor busque primero en el foro: