Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29280 Discussions

probem when linking to abaqus through VUMAT subroutine

fabed
Beginner
3,889 Views
Dear all,

I am trying to run the vumat subroutine with abaqus 6.81. the same code was working fine with abaqus 6.4 and the old version of Fortran. However, I am getting the following message when I tried to run the same vumat code using abaqus6.8 with intel fortran 11.1 on pc with windows XP:

"vumat-st.obj : error LNK2019: unresolved external symbol _FLAMDOT@20 referenced in function _VUMAT
explicitU.dll : fatal error LNK1120: 1 unresolved externals
Abaqus Error: Problem during linking - Single Precision Abaqus/Explicit User Subroutines.
This error may be due to a mismatch in the Abaqus user subroutine arguments.
These arguments sometimes change from release to release, so user subroutines
used with a previous version of Abaqus may need to be adjusted. "

Please help me fix this error.

best regards,
Farid
0 Kudos
11 Replies
mecej4
Honored Contributor III
3,889 Views
What was "the old version of Fortran"? What are the specifications of FLAMDOT? What compiler command/IDE option selections did you (Abaqus) use with the failed attempt? What is the calling convention used by Abaqus?

With these questions answered, someone will be able to identify the reason for the failure to link, without needing to have an installed copy of Abaqus.

If FLAMDOT is supposed to have five arguments, it may be that all you have to do is to tell the compiler to use the correct /iface: option.
0 Kudos
fabed
Beginner
3,889 Views
Thank you mecej4,

I am not sure about the old version of FORTRAN, but this was in 2006 woking on Linux system. FLAMDOT is a FUNCTION used in the vumat subroutine with

C ====================================================================

C ========================= FUNCTION FLAMDOT =========================

C

FUNCTION FLAMDOT(DT_EPSILON,CQBARM,EXTM,F_iteration)

INCLUDE 'vaba_param.inc'

DIMENSION DT_EPSILON(3,3),SUM12(3,3)

COMMON/KADMAT1/AD(3,3,3,3)

COMMON/KFDER1/FS(3,3),FK

DATA ZERO,ONE,TWO,THREE /0.0D0,1.0D0,2.0D0,3.0D0/

CALL DAijkl_Bkl(AD,DT_EPSILON,SUM12)

CALL DAij_Bij(FS,SUM12,TMP)

FLAMDOT=(1/CQBARM)*(F_iteration+TMP+EXTM)

END


and it was used througout the vumat subroutine as follows:

ALAMDOT=FLAMDOT(EDOT,CQBARM,EXTM,F_iteration,R_ISOTROPIC1)


what do you mean by the coreect/iface : option?

Farid

0 Kudos
Wendy_Doerner__Intel
Valued Contributor I
3,889 Views
You have to be careful to use the version of the Intel Compiler that Abaqus requires.


------

Wendy

Attaching or including files in a post



0 Kudos
fabed
Beginner
3,889 Views
I am using visual studio 2008 with abaqus 6.81. this might be a problem?
0 Kudos
mecej4
Honored Contributor III
3,889 Views
I can see one problem immediately. The function declaration shows four arguments, but the function invocation has five arguments, with R_ISOTROPIC1 the likely culprit. You have to reconcile the two.

The Linux and Windows versions of Abaqus may use slightly different calling conventions.

You can read about the /iface: options in the Intel Fortran User Guide.
0 Kudos
Wendy_Doerner__Intel
Valued Contributor I
3,889 Views
Quoting fabed
I am using visual studio 2008 with abaqus 6.81. this might be a problem?

You should check with Simula to see if it would be. The link I referenced in my previous post shows support Operating System and Intel Compiler for the 6.8 release and neither Intel Compiler 11.1 or Microsoft Visual Studio 2008 are supported with that version.

Mixing the 11.1 compiler with the older compiler DLLs in Abaqus could also cause issues.

0 Kudos
j_clausen
Beginner
3,889 Views
For what it's worth I have good experiences with Abaqus and Fortran without adhering to the Simulia list of supported Fortran versions. At the moment I use Abaqus 6.9 with Intel Fortran 11.1.054 without problems. Maybe it's just luck, but it works.

j_clausen
0 Kudos
fabed
Beginner
3,889 Views
mecej4,
I removed the fifth argument but I got another error which I believe due to the fact that abaqus681 does not support int fortran 11.1 and also VS2008.

Thanks to all.
0 Kudos
fabed
Beginner
3,889 Views
Wendy Doerner (Intel),
Yes this was one of the problems.
Thanks.
0 Kudos
fabed
Beginner
3,889 Views
Dear all,

I got the following error:

"abaqus explicit system error code 693"

appreciate any help on the cause of this type of errors.

Thanks!
0 Kudos
mecej4
Honored Contributor III
3,889 Views
That's a question to ask Abaqus users or that vendor's Web site.
0 Kudos
Reply