ABAQUS in MS Windows

Thanks to M. Malena and D. Boldini for providing the following guide for compilation. To use the C++ umat from this site in ABAQUS, proceed in the following steps:

First, it is necceseary to modify the header of the umat_vec.cpp file. Replace the following lines

#include <iostream.h>
#include <fstream.h>
#include <vector.h>

by

#include <iostream>
#include <fstream>
#include <vector>

The C++ umat must be compiled externally using a compiler supported by ABAQUS, producing an object file umat_vec.obj. The compiler command is

cl /EHsc /c /Fo umat_vec.cpp

To link the object file with ABAQUS, the command link_sl of the ABAQUS environmental file abaqus_v6.env must be modified so that the C++ libraries are correctly loaded by the Fortran compiler, which is used for linking. The correct link_sl command is the following:

link_sl='LINK', '/nologo', '/INCREMENTAL:NO', '/subsystem:console', '/machine:I386','/DEFAULTLIB:DFORMD.LIB', '/NODEFAULTLIB:LIBC.LIB', '/DEFAULTLIB:OLDNAMES.LIB', '/DEFAULTLIB:MSVCRT.LIB', '/NODEFAULTLIB:LIBCMT.LIB', '/NODEFAULTLIB:LIBCPMT.LIB', '/DEFAULTLIB:LIBCMT.LIB', '/DEFAULTLIB:kernel32.lib', '/DEFAULTLIB:user32.lib', '/DEFAULTLIB:advapi32.lib', '/FIXED:NO', '/dll','/NOENTRY', '/def:%E', '/out:%U', '%F', '%A', '%B', 'oldnames.lib', 'user32.lib', 'ws2_32.lib', 'netapi32.lib', 'advapi32.lib'

Then, we may start the Abaqus job with the DOS command line

abaqus j=1 inp=inputfile.inp user=umat_vec.obj

instead of the usual

abaqus j=1 inp=inputfile.inp user=umat_vec.for

David Masin 2011-02-07