MEF Instalación
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
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
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
- Debian 9 Buster: los paquetes en el repository están obsoletos, pero puede utilizar los paquetes del PPA de Ubuntu (
freecad-community
). Ver Paquete Gmsh 4 disponible para probar en el PPA de Community Extras (post del foro). - Debian 8 Stretch: los paquetes del repository están obsoletos, pero puede utilizar los paquetes del PPA de Ubuntu (
freecad-community
). Ver Paquete Gmsh 4 disponible para probar en el PPA de Community Extras (post del foro). - Debian 7 Jessie: instale los paquetes de Debian 8 Stretch usando
dpkg
. Ver paquete fuente de Debian para Calculix (mensaje en el foro).
openSUSE
- openSUSE:Science Math
- netgen Generador automático de mallas tetraédricas 3D
- gmsh Un generador de mallas de elementos finitos tridimensionales
- ccx Un paquete de elementos finitos de código abierto
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)
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:
- 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.
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
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:
- Materials: Solid, Fluid, Nonlinear mechanical, Reinforced (concrete); Material editor
- Element geometry: Beam (1D), Beam rotation (1D), Shell (2D), Fluid flow (1D)
Constraints
- Electromagnetic: Electrostatic potential, Current density, Magnetization
- Geometrical: Plane rotation, Section print, Transform
- Mechanical: Fixed, Displacement, Contact, Tie, Spring, Force, Pressure, Centrif, Self weight
- Thermal: Initial temperature, Heat flux, Temperature, Body heat source
- Overwrite Constants: Constant vacuum permittivity
- Solve: CalculiX Standard, Elmer, Mystran, Z88; Equations: Deformation, Elasticity, Electrostatic, Electricforce, Magnetodynamic, Magnetodynamic 2D, Flow, Flux, Heat; Solver: Solver control, Solver run
- Results: Purge, Show; Postprocessing: Apply changes, Pipeline from result, Warp filter, Scalar clip filter, Function cut filter, Region clip filter, Contours filter, Line clip filter, Stress linearization plot, Data at point clip filter, Filter function plane, Filter function sphere, Filter function cylinder, Filter function box
- Additional: Preferences; FEM Install, FEM Mesh, FEM Solver, FEM CalculiX, FEM Concrete; FEM Element Types
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub