Notifications
Clear all

can user subroutine (UEL) in ABAQUS call a DLL?

4 Posts
3 Users
0 Likes
733 Views
Posts: 9
Topic starter
(@jnrao)
Active Member
Joined: 14 years ago

Hi,

I am a new comer to this forum (impressed and attracted me so much) which I came across through Googling.

I have one question about using user subroutine in ABAQUS. Can the user subroutine in ABAQUS call third partys DLL?

I have the ABAQUS input file (200foot.inp), the user subroutine UEL (UEL.FOR) and a DLL (CVFDLL). All these three files were tested and assumed to be correct (with the !Dec$ declarations). Everything is fine when the UEL does not use the DLL using the following command line:

C:\Temp>abaqus job=20foot user=uel interactive

But an error always occur when the UEL attempts to use the DLL. Ther error message is:

C:\Temp>abaqus job=20foot user=uel interactive

Abaqus JOB 20foot

Abaqus Version 6.7-1

Begin Compiling Abaqus/Standard User Subroutines

3/4/2009 3:29:23 PM

End Compiling Abaqus/Standard User Subroutines

3/4/2009 3:29:24 PM

Begin Linking Abaqus/Standard User Subroutines

3/4/2009 3:29:24 PM

Creating library standardU.lib and object standardU.exp

uel.obj : error LNK2019: unresolved external symbol __imp__CVFDLL@0 referenced in function _UEL

standardU.dll : fatal error LNK1120: 1 unresolved externals

Abaqus Error: Problem during linking - Abaqus/Standard 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.

Abaqus/Analysis exited with errors

To me, that means the DLL can not be located by ABAQUS and can not be linked to create the StandardU.dll. Is my understanding correct?

I tried:

1. add usub_lib_dir in the enviromental setting file (abaqus_v6.env) to direct to the path where the DLL is,

2. add /DLL:X:\path\CVFDLL.DLL to the link_sl= in abaqus_v6.env.

but neither works.

the first got the same error prompt and the second got similiar error message:

C:\Temp>abaqus job=20foot user=uel interactive

Abaqus JOB 20foot

Abaqus Version 6.7-1

Begin Compiling Abaqus/Standard User Subroutines

3/4/2009 3:40:20 PM

End Compiling Abaqus/Standard User Subroutines

3/4/2009 3:40:20 PM

Begin Linking Abaqus/Standard User Subroutines

3/4/2009 3:40:20 PM

LINK : fatal error LNK1146: no argument specified with option /dll:

Abaqus Error: Problem during linking - Abaqus/Standard 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.

Abaqus/Analysis exited with errors

Does anybody have some suggestions? Any comments will be appreciated.

thanks

Topic Tags
3 Replies
Posts: 3982
(@jorgen)
Member
Joined: 4 years ago

Have you tried to place a copy of your dll-file into the following directory:

/opt/abaqus/6.8-1/External
(or similar directory)?

It should be sufficient to save the dll file in a location that Abaqus can find. Alternatively, you can also update your PATH variable to include the location of the dll-file.

- Jorgen

Topic Tags
3 Replies
Posts: 9
Topic starter
(@jnrao)
Active Member
Joined: 14 years ago

Thanks, Jorgen.
I tried to place the DLL into C:\ABAQUS\6.7-1\External and added the Path including the DLL. Neither works on my computer. (Actually I only have limited privilege to set up my computer and the ABAQUS environment. Directly usage of compiled object file (user subroutines) in the command line on my computer doesn&#8217,t work and linking errors are always reported. So I am unconfident about the settings of my computer.)

But I found an alternative of &#8220,compromise&#8221, &#8211, the third party provides compiled object file rather than DLL and I combine the object file and my other subroutines together into one integrated object file. I tried the integrated object file on another computer (ABAQUS6.5+COMPAQ Fortran) and everything is fine.

Due to the urgency of the work, I did not use the DLL method. But I would think over your suggestion and try on an updated and reliable computer.

Regards,

Reply
Posts: 1
(@isyhadhumayr)
New Member
Joined: 10 years ago

More than two years later I faced the same problem! I was able to do what you wanted and documented it in this webpage: [url] http://forum.cadec-online.com/viewtopic.php?f=5&t=203 [/url]

something like this comic [url] http://xkcd.com/979/ [/url] lol

Best

Reply
Share: