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

[3. Fortran] FORTRAN编译时调用IMSL函数出现的问题

[复制链接]
发表于 2006-6-26 08:44:14 | 显示全部楼层 |阅读模式 来自 华南理工大学
C:\Program Files\ADINA\ADINA System 8.1\usrdll\ovl40u_dz3D.f(407) : Error: The type of the actual argument differs from the type of the dummy argument.   [R]
      CALL DZPLRC(3,P,R)
----------------------^
我在编译时出现上述错误提示,不知道怎么解决。在我的程序中用IMPLICIT DOUBLE PRECISION(A-H,O-Z)来定义双精度变量,为何还会出现上面的错误提示?应该怎么解决呢?望高手指点。谢谢!
 楼主| 发表于 2006-6-26 08:52:47 | 显示全部楼层 来自 华南理工大学

这是我程序的一部分

Simdroid开发平台
SUBROUTINE MOD [DLLEXPORT] (D,STRESS,F1M,F2M,S1,CS)
C
        USE IMSL
        IMPLICIT DOUBLE PRECISION(A-H,O-Z)
        DIMENSION D(6,6),STRESS(6),CS(9),PS(3),CTI(9),P(4),R(3)
C
C    CS--MATERIAL PARAMETERS ARRAY:C,PHI,DELT-PHI,K,KUR,N,RF,KB,M
C
      PARAMETER(PA=101.)
C
C
C    CALCULATION OF PRIME STRESS
C
C
       PS1=S1
        CALL XJ123(STRESS,XI1,XI2,XI3,XJ1,XJ2,XJ3)
       P(1)=-XI3
        P(2)=XI2
        P(3)=-XI1
        P(4)=1.
       CALL DZPLRC(3,P,R)
发表于 2006-7-1 15:01:52 | 显示全部楼层 来自 湖北武汉
你没把你的DZPLRC子程序写上来,大家不好解决阿!
 楼主| 发表于 2006-7-1 19:52:31 | 显示全部楼层 来自 陕西西安
问题是我不知道 DZPLRC的源代码,因为它是Fortran中IMSL的一个函数,我是直接调用它来求解一元三次方程。在BUILD时提示 CALL DZPLRC(3,P,R)中的R有问题。
发表于 2006-7-4 15:43:38 | 显示全部楼层 来自 日本

Your R should be a complex vector

See topics
 楼主| 发表于 2006-7-4 23:14:00 | 显示全部楼层 来自 华南理工大学
既然 R应为COMPLEX VECTOR张量,但不知道我应该如何定义 R ?
发表于 2006-7-5 09:37:20 | 显示全部楼层 来自 日本

COMPLEX :: R(3)

原帖由 JXNC 于 2006-7-4 23:14 发表
既然 R应为COMPLEX VECTOR张量,但不知道我应该如何定义 R ?


You can easily find the answer in manual of IMSL. Right?
发表于 2006-7-5 09:38:09 | 显示全部楼层 来自 大连理工大学
定义复型变量
Examples

COMPLEX ch
COMPLEX (KIND=4),PRIVATE :: zz, yy !equivalent to COMPLEX*8 zz, yy
COMPLEX(8) ax, by       !equivalent to COMPLEX*16 ax, by
COMPLEX (kind(4)) y(10)
complex (kind=8)  x, z(10)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

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

GMT+8, 2024-11-1 21:29 , Processed in 0.048301 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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