FEAP para windows con cygwin - instrucciones y descarga de programas
José M.ª Goicolea, 15 oct 2013
El programa FEAP ha sido desarrollado por el Prof. R.L. Taylor de la Universidad de California en Berkeley, en el mismo han participado varios grandes investigadores del ámbito de los elementos finitos. Se trata de un programa muy avanzado para modelos lineales y no lineales, estáticos o dinámicos. FEAP es empleado con frecuencia como base del trabajo en grupos de investigación
Las versiones ejecutables de FEAP que se pueden descargar aquí incorporan una serie de adiciones, correcciones de errores observados, extensiones de capacidad y nuevos elementos o modelos de material aportados por los investigadores del Grupo de Mecánica Computacional (Felipe Gabaldón, José M.ª Goicolea, Javier Rodríguez Soler, Sergio Blanco).
Son ejecutables obtenidos con los compiladores gfortran de GNU y fortran intel compiler, para Linux, Mac OS X y Windows (en el entorno cygwin). El programa FEAP en sí consta de un único archivo con el programa ejecutable.
FEAP se ejecuta desde la terminal de mandatos y emplea un servidor gráfico X11 (disponibles en Linux/Unix, MAc OS X y Windows+Cygwin)
Instrucciones detalladas para instalar Cygwin
Para Windows se requiere instalar previamente el sistema cygwin que proporciona una terminal de mandatos y el servidor para los gráficos X11 que emplea FEAP. Además cygwin proporciona diversas utilidades para manipulación de ficheros de modelos y resultados de FEAP. Todos estos programas tienen licencia de software libre GNU. El entorno cygwin recomendado ocupa unos 300MB en el disco.
La versión actual de cygwin (1.7.25) funciona con todas las versiones recientes de Windows (XP, Vista, 7 y 8).
- Entrar en el sitio http://www.cygwin.com y descargar el programa de instalación de cygwin "setup-x86.exe".
(Instalar la versión 32-bit que funciona tanto en instalaciones windows de 32-bit y 64-bit, no instalar la versión cygwin de 64-bit de "setup-x86_64.exe".)
Ejecutar este programa en nuestro ordenador y seguir las instrucciones (ver capturas de pantalla abajo con detalles).
- Al instalarlo, además de los paquetes básicos que instala por omisión, seleccionar también para instalar los siguientes paquetes adicionales:
- del grupo editors -> vim, joe
- del grupo graphics -> gnuplot, gv, ImageMagick
- del grupo X11 -> font-adobe-dpi75, xclock, xinit
Se activarán por dependencias algunos otros paquetes asociados.
- Una vez terminada la instalación, ejecutar cygwin mediante el icono que se crea en el escritorio o en el menú de programas de windows.
Al entrar en cygwin, se abre un terminal (ventana de mandatos) y nos coloca en nuestro directorio base (home), con el nombre del usuario de windows desde el que se haya instalado. Suponiendo que este usuario es "pepe", el directorio base en cygwin será "/home/pepe". Debe aparecer un símbolo "$", es el "prompt" que indica que está listo para aceptar mandatos del intérprete de la "shell" (bash).
[Nota:Entre los mandatos básicos del shell (intérprete de mandatos) de
Linux /Unix podemos citar:
- ls : lista los ficheros del directorio (carpeta) actual. Usar la opción -l para listado completo
- cd : cambia de directorio (carpeta)
- rm : borra el fichero o ficheros que sigan (recomendable usar la opción -i para forzar la confirmación interactiva)
- pwd : "print what directory", informa del directorio actual
- cp : copia fichero(s) a otro directorio o al mismo con otro nombre
- mv : mueve ficheros o les cambia de nombre
- cat : vuelca el contenido de un fichero de texto sin paginación
- less : muestra el contenido de un fichero de texto con paginación
- vi, joe : editores para ver y modificar si se desea un fichero de texto
- mkdir : crea un directorio
- man <mandato> : ayuda para utilización del mandato
- La salida estándar de cualquier mandato se puede redirigir con ">" a un fichero, o con ">>" al final de un fichero existente.
- ... y muchos más: consultar cualquier manual de Linux/Unix]
- Descargar el siguiente fichero, con mandatos auxiliares para la configuración del arranque de nuestro terminal cygwin (variables de entorno para el PATH de los ejecutables y para arrancar al inicio el sistema gráfico X11):
[bash_feap.sh].
Abrimos un terminal de cygwin mediante el icono situado en el escritorio, trasladamos el archivo descargado a nuestro área de trabajo y lo activamos para el arranque en cygwin mediante los siguientes mandatos:
$ mv '/cygdrive/C/Documents and Settings/pepe/Escritorio/bash_feap.sh' .
$ cat bash_feap.sh >> .bash_profile
Finalmente, cerramos el terminal cygwin para entrar de nuevo con todo ya instalado.
Abrimos de nuevo el terminal cygwin que ya entrará con las variables de entorno y el sistema configurado. En la barra de windows abajo debería aparecer una X grande que significa que el servidor X está corriendo. Para probar que funcionan los gráficos podemos dar la instrucción siguiente:
$ xclock &
debería salir una ventana gráfica con un reloj. La cerramos después de comprobar que todo es correcto.
Instrucciones detalladas para instalar feap en Windows+Cygwin
- Creamos una carpeta denominada "bin", que luego incluiremos en el PATH para los ejecutables de FEAP, y una carpeta "feap-models" donde incluiremos los modelos de FEAP.
$ mkdir bin
$ mkdir feap-models
- Descargar de los siguientes enlaces el programa feap y algunos ficheros auxiliares:
- feap81_cygwin.exe (programa feap ejecutable)
- Modelos de prueba para FEAP:
- Ensayo brasileño (elasticidad lineal, estático)
[Ibrasil]
- Impacto de barra de Taylor (plasticidad con grandes deformaciones, dinámico)
[Itayl]
(Ojo: se debe tener cuidado ya que algunos navegadores en windows al descargar un fichero sin extensión le asignan una .txt, .htm o similar; si esto ocurre deberemos modificar el nombre del fichero una vez descargado para eliminar la extensión, deseamos que se llame "Itayl" a secas.)
Mover estos ficheros a nuestro entorno cygwin:
(suponiendo que nuestro nombre de usuario en windows sea pepe).
$ mv '/cygdrive/C/Documents and Settings/pepe/Escritorio/feap81_cygwin.exe' bin
$ mv '/cygdrive/C/Documents and Settings/pepe/Escritorio/Ibrasil' feap-models
$ mv '/cygdrive/C/Documents and Settings/pepe/Escritorio/Itayl' feap-models
(Si se prefiere, esto también se puede con el explorador de archivos de windows, copiándolos respectivamente a C:\cygwin\home\pepe\bin\, C:\cygwin\home\pepe\, C:\cygwin\home\pepe\feap\)
- Si todo ha funcionado correctamente, ya tenemos el sistema a punto para correr feap. Nos situamos en el directorio en el que vamos a trabajar ahora y comprobamos que el fichero de entrada está allí situado:
$ cd feap-models
$ dir
(debe aparecer el fichero de datos "Ibrasil" para el modelo de feap anteriormente copiado)
ejecutamos feap:
$ feap81_cygwin
al preguntar el fichero de entrada, le damos "Ibrasil" (sin comillas, claro). Los demás nombres que propone los aceptamos con la tecla de retorno. Si todo va bien, correrá feap e irá sacando simultáneamente gráficos
Después de terminado, deja un "prompt" en la ventana, podríamos seguir y dar mandatos interactivos a feap, pero ahora vamos a salir, dando "q". Si te pide confirmemos algo, damos retorno todas las veces que sea.
Ya hemos corrido el problema con feap, deberíamos tener en el directorio varios ficheros de salida, entre ellos "Obrasil" (salida de resultados general) y en el caso Itayl "Ptayla.dis, Ptayla.vel, Ptayla.str" (historias temporales solicitadas). Podemos ver su contenido con un editor de texto ("vim" o "joe" recomendados).
- Una vez instalado el sistema en próximas ocasiones basta con abrir el terminal cygwin y ejecutar feap o cualquiera de los programas auxilliares.
Imágenes de captura de pantalla de los distintos pasos:
Más cosas
Si se desea instalar paquetes adicionales del entorno cygwin basta con ejecutar de nuevo el programa de instalación "setup.exe" y seleccionar los programas adicionales deseados. También se puede emplear para actualizar a las versiones más nuevas o para desinstalar paquetes. Además de los programas sugeridos hay otros que opcionalmente podrían instalarse si se desea: gimp para manipulación de gráficos tipo "photoshop", xfig para dibujos de figuras, tex/latex para tipografía de textos, octave para cálculos numéricos clónico del lenguaje de matlab, compiladores de C (gcc) y fortran (gfortran), etc.
Finalmente
Si todo lo anterior ha funcionado sin problemas ¡enhorabuena! Te agradeceré que me lo comuniques. Si has tenido algún problema te ruego también me lo comentes por si lo puedo resolver o mejorar esta explicación.
--
Jose M. Goicolea
Grupo de Mecanica Computacional
Escuela de Ingenieros de Caminos, Universidad Politecnica de Madrid