找回密码
 注册
Simdroid-非首页
查看: 119|回复: 3

[子程序] 子程序里调用Fortran的IMSL功能出错

[复制链接]
发表于 2010-7-6 21:01:16 | 显示全部楼层 |阅读模式 来自 河北石家庄
在abaqus子程序里调用了一个很简单的小程序测试一下Fortran的IMSL功能
即用龙科库塔法解一个微分方程
结果出来了如下的错误

请高手给看看是怎么回事

Abaqus JOB aa-1
Abaqus 6.9-1
Begin Compiling Single Precision Abaqus/Explicit User Subroutines
07/06/10 18:29:24
test.for(10): error #5102: Cannot open include file 'LINK_F90_DLL.H'
         include 'LINK_F90_DLL.H'
-----------------^
test.for(18): error #6401: The attributes of this name conflict with those made accessible by a USE statement.   [CONST]
                           parameter ( const = 1.d5 )
---------------------------------------^
test.for(31): error #6236: A specification statement cannot appear in the executable section.
      character*80 sname
------^
test.for(39): error #6285: There is no matching specific subroutine for this generic subroutine call.   [IVPRK]
call IVPRK (IDO, N, FCN, T, TEND, TOL, PARAM, Y)
-------------^
test.for(44): error #6285: There is no matching specific subroutine for this generic subroutine call.   [IVPRK]
      call IVPRK (3, N, FCN, T, TEND, TOL, PARAM, Y)
-----------^
test.for(45): error #6355: This binary operation is invalid for this data type.   [CONST]
         value(k) = 1.5 * const
--------------------------^
compilation aborted for test.for (code 1)
Abaqus Error: Problem during compilation - E:\test\test.for
Abaqus/Analysis exited with errors

我在子程序的后面又写了一个子程序FCN供IVPRK调用
为什么还是会有这样的错误?
谢谢!
发表于 2010-7-7 05:27:21 | 显示全部楼层 来自 法国
Simdroid开发平台
本帖最后由 fr_zengtao 于 2010-7-7 05:34 编辑

这个问题,论坛里面有人提过的,记得不是很清楚
大概好像是 加一个 INCLUDE 将FORTRAN的一个LIB文件包括进来,平时很少在UMAT里面用IMSL,所以我不能保证这样可以解决问题
可以看看这个链接
http://forum.simwe.com/viewthread.php?tid=797566&highlight=IMSL

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2010-7-7 10:59:59 | 显示全部楼层 来自 河北石家庄
谢谢楼上
那个链接看了
我就是按照他的提示设置的还是不行
我的IMSL environment软件提示已经设置成功
但存在Cannot open include file 'LINK_F90_DLL.H'这样的问题
不知道是不是因为不能打开这样的动态链接所以子程序中的函数不能调用
回复 不支持

使用道具 举报

发表于 2015-9-15 21:21:48 | 显示全部楼层 来自 上海
你好,我在国外的论坛上有人这样说,在abaqus.env6中加入
link_sl=['LINK',
         ..., 'D:\Program Files\VNI\IMSL\Fnl600\IA32\LIB\imsl_dll.lib',
         'D:\Program Files\VNI\IMSL\Fnl600\IA32\LIB\imsl.lib',
         'D:\Program Files\VNI\IMSL\Fnl600\IA32\LIB\imslscalar.lib',
         'D:\Program Files\VNI\IMSL\Fnl600\IA32\LIB\imslblas.lib',
         'D:\Program Files\VNI\IMSL\Fnl600\IA32\LIB\imsls_err.lib']
可以帮助打开一些库,地址在这http://abaqus-users.1086179.n5.nabble.com/imsl-td5707.html
但是我现在的问题是,如果用      USE IMSL_LIBRARIES :error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [IMSL_LIBRARIES]

不用的话,是obj : error LNK2019: unresolved external symbol linrg referenced in function umat.R
standardU.dll : fatal error LNK1120: 1 unresolved externals
请问一下这两种错误哪一个离成功更进步了一点,还应该再怎么做才能运行成功呢?谢谢!
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-11-1 11:35 , Processed in 0.044547 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表