用户登录

你在这里

向Abaqus用户子例程添加静态/动态库

我想在我的umat中使用一个外部子程序,但到目前为止我还不能这样做。在Visual Studio 2008中创建了一个动态库项目后,我创建了.dll和.lib文件,并将.lib文件复制到abaqus作业的工作目录中,将.dll文件复制到exec文件夹中。我还在LIB环境变量中添加了. LIB文件的目录。但是我从ABAQUS得到这些错误:

链接:致命错误LNK1181:无法打开输入文件“Dll2.lib”
Abaqus错误:在链接Abaqus/标准用户子例程时出现问题。
此错误可能是由于Abaqus用户子例程参数不匹配造成的。
这些参数有时会随着版本的不同而改变,所以用户子例程
与以前版本的Abaqus一起使用可能需要调整。
Abaqus/Analysis退出错误[/quote]

以下是我对Dll2.lib的环境文件abaqus_v6所做的更改:

link_sl='cmd /c "LINK /nologo /INCREMENTAL:NO /subsystem:console /machine:X86 /NODEFAULTLIB:LIBC. "LIB / NODEFAULTLIB: LIBCMT。LIB / DEFAULTLIB: OLDNAMES。LIB / DEFAULTLIB: LIBIFCOREMD。LIB / DEFAULTLIB: LIBIFPORTMD。LIB / DEFAULTLIB: LIBMMD。LIB / DEFAULTLIB: MSVCRT。LIB / DEFAULTLIB: kernel32。lib / DEFAULTLIB: user32。lib / DEFAULTLIB: advapi32。lib /FIXED:NO /dll /def:%E /out:%U %F %A %B Dll2。lib &&mt /manifest %U;manifest /outputresource:%U;2 && del %U.manifest"'

compile_fortran = [' ifort ', ' / c ', ' /通用',' /递归’,‘/不带标识的’,‘/ heap-arrays: 1’,‘/包括:%我’,‘Dll2.lib’)

后退一步,奇怪的事情是当我将.lib文件复制到另一个目录时,比如:

link_sl='cmd /c "LINK /nologo /INCREMENTAL:NO /subsystem:console /machine:X86 /NODEFAULTLIB:LIBC. "LIB / NODEFAULTLIB: LIBCMT。LIB / DEFAULTLIB: OLDNAMES。LIB / DEFAULTLIB: LIBIFCOREMD。LIB / DEFAULTLIB: LIBIFPORTMD。LIB / DEFAULTLIB: LIBMMD。LIB / DEFAULTLIB: MSVCRT。LIB / DEFAULTLIB: kernel32。lib / DEFAULTLIB: user32。lib / DEFAULTLIB: advapi32。lib /固定:没有/ dll / def: % E /: % U % F G: \ \ lib \ \ Dll2。lib %A %B &&mt /manifest %U。manifest /outputresource:%U;2 && del %U.manifest"'

compile_fortran = [' ifort ', ' / c ', ' /通用',' /递归’,‘/不带标识的’,‘/ heap-arrays: 1’,‘/包括:%我’,‘G: \ \ lib \ \ Dll2.lib’)

我得到这个错误,这意味着编译器或链接器不识别.lib文件,我认为:

创建图书馆标准。lib和对象standardud .exp
aba_test。LNK2019:未解析的外部符号_IDENTITY@8在函数_UMAT中引用
致命错误LNK1120: 1个未解决的外部
Abaqus错误:在链接Abaqus/标准用户子例程时出现问题。
此错误可能是由于Abaqus用户子例程参数不匹配造成的。
这些参数有时会随着版本的不同而改变,所以用户子例程
与以前版本的Abaqus一起使用可能需要调整。
Abaqus/Analysis退出错误

其中子程序标识是我在umat子程序中使用的。如果你们能帮助我,我将不胜感激。你能介绍一个详细解释这个过程的来源吗?谢谢你!

我使用的是英特尔,版本11.1.048,VS2008和Abaqus 6.11。我还在UMAT和IDENTITY子例程中处理了!dec$语句。

评论

brunda的照片

为什么不能在主UMAT文件中包含标识子例程?

订阅“向Abaqus用户子例程添加静态/动态库”的评论

更多的评论

辛迪加

订阅辛迪加