Subrutinas de usuario en Abaqus, ¿qué son?

Abaqus proporciona una amplia gama de subrutinas de usuario y rutinas de utilidad, pero ¿qué queremos decir cuando hablamos de subrutinas en Abaqus?

Un ejemplo lo vemos en la imagen de arriba. Imagina que tienes una placa de composite laminada en la que se producen daños al ser sometida a compresión.

La placa consiste en capas de grafito epóxico con direcciones de fibra que se encuentran en una capa (-45/+45). Si quisieras obtener el modelo de fallo compuesto complejo (fallo de la matriz, fallo de la matriz de fibra, daño por cizallamiento,…), éste no se define directamente en Abaqus y esto es lo que se hace a través de una subrutina de usuario en Abaqus.

Subroutinas de usuario con Fortran

Abaqus proporciona una amplia gama de subrutinas de usuario que permiten la adaptación de Abaqus a requerimientos particulares de análisis. Las subrutinas de usuario se escriben principalmente en Fortran, aunque también es posible desarrollar el código en C o C++ y están disponibles para Abaqus/Standard o Abaqus/Explicit. Por ejemplo, (V)DLOAD se refiere a las subrutinas DLOAD (Abaqus/Standard) y VDLOAD (Abaqus/Explicit).

Ejemplo de subrutinas de usuario

A continuacion vemos algunos ejemplo de subrutinas de usuario y qué se pueden conseguir con ellas:

  • CREEP: Utiliza esta subrutina para definir la deformación viscosa dependiente del tiempo en un material. La deformación se divide en comportamiento desviatorio (fluencia) y comportamiento volumétrico (expansión).
  • FILM: Utiliza esta subrutina para describir el comportamiento de los coeficientes de la película complejos (dependen de la temperatura y de las variables de campo) y el comportamiento de la temperatura complejo.
  • (V)UEL: Utiliza esta subrutina cuando sea necesario crear elementos con una formulación que no esté disponible en Abaqus.
  • (V)UAMP: Utilice esta subrutina para describir una secuencia lógica de control. Dentro de Abaqus es posible definir sensores, actuadores y lógica de control para incluir modelado lógico, tipicamente usado en mecatrónica.

 

Rutinas de utilidad

Además de las subrutunas de usuario, Abaqus proporciona una amplia gama de rutinas de utilidades que permiten el acceso a los datos de la solución desde una subrutina de usuario.

Ejemplos de rutinas de utilidad

  • GETVRN: Utiliza esta rutina para acceder a la información del nodo. Esto es utilil cuando, durante tu análisis, quieres obtener información de un nodo
  • GETVRC: Utiliza esta rutina para acceder a la información de contacto, por ejemplo, cuando los resultados tengan relevancia en el comportamiento.

 

¿Cómo ejecutar las subrutinas de usuario?

Para incluir las subrutinas de usuario en un análisis, deberías especificar el nombre del archivo con el parametro de usuario a la hora de ejecutar el análisis.

Abaqus job=my_analysis user=my_subroutine

El archivo debería ser código fuente (extensión.f o.for) o un archivo objeto.

En Abaqus/CAE, puedes editar el job (General tab / User subroutine file) para especificar el archivo que contiene la subrutina de usuario (la extensión puede ser .f o .for).

Compilar y enlazar las subrutinas de usuario

Cuando se utilizan subrutinas en un modelo de simulación, previamente se tiene que hacer una compilación de la subrutina y enlazarla con Abaqus.

Abaqus incluye los comandos de compilación y enlace para cada plataforma en la que Abaqus puede trabajar. Esto se hace en un archivo de entorno específico de la plataforma:

  • Windows: win86_64.env
  • Linux: lnx86_64.env

Éstos se encuentran ubicado en el directorio  (abaqus installation directory\os\SMA\site).

Nivel requerido del compilador de Fortran

Los niveles del compilador de Fortran utilizados para crear subrutinas de usuario en Abaqus se muestran en los directorios de programas de Dassault Systemes. Se necesita tener un pasaporte 3DS para acceder a los directorios.

Para Abaqus 2019, el Intel® Visual Fortran 16.0 Update 1 tiene soporte oficial como compilador de Fortran.

Ten en cuanta que si la versión de tu compilador de Fortran no corresponde a la especificada, pueden producirse incompatibilidades.



¿Mas informacion?
Si tienes cualquier duda, puedes ponerte en contacto con nosotros a traves del formulario de contacto o escribiendo directamente a contacto@4realsim.com