ABAQUS in Unix IRIX SGI

Abaqus$ ^{TM}$ (Abaqus, Inc.) is a general purpose Finite Element package, which introduced the umat format. In general, ABAQUS recommends programming of a user defined subroutine umat in FORTRAN programming language, using different languages is however also possible provided that corresponding compilers compatible with default ABAQUS compiler are installed on the system.

With FORTRAN umat, the calculation is initiated with command like

abaqus j=1 inp=inputfile.inp user=user.f

ABAQUS compiles and links the subroutine and internally producess a dynamic library for calculation. If different programming language is used, the user defined subroutine must be compiled separatelly, and the resulted object file is given to ABAQUS using command like:

abaqus j=1 inp=inputfile.inp user=user.o

At a given operating system, ABAQUS supports only one compiler. Under Unix IRIX it is MIPSpro FORTRAN 77 compiler for FORTRAN and MIPSpro C++ compiler for C++. The umat available at this site should be for 64 bit architecture compiled using command

CC -mips4 -64 -c user.cpp

Don't forget to initialise additional state variables in sdvini.cpp, which is inluded automatically through user.cpp. For linking, a command link_sl of the ABAQUS environmental file abaqus_v6.env must be modified so that:

  1. The object file is linked to ABAQUS using C++ compiler, instead of the default FORTRAN compiler.
  2. C++ libraries are correctly loaded.
The original command link_sl reads something like

link_sl="f77 -mips4 -64 ... -lftn -lm"

and command modified according to the above stated points

link_sl="CC -mips4 -64 ... -lftn -lm -lc -lC"

Example of the abaqus_v6.env file is here.

David Masin 2011-02-07