新人求助,很多语法错误,自己试了试,但是太菜了
本帖最后由 kyra 于 2024-5-23 13:52 编辑详细的代码在附件,主要是一下几个问题
这是我的维度定义
real(kind = 8) :: F(3,3), B(3,3), J, t1, t2, t3, mu, kappa
1 U(3,3),BBNEW(nblock,3,3),S(3,3),eigVec(nblock,3,3)
dimension stressBE(nblock,ndir+nshr),stressT(nblock,ndir+nshr)
dimensionSTRESSA(nblock,6),STRESSB(nblock,6),DVSB(nblock,6)
integer i
C
CHARACTER*80 cmname
error #6410: This name has not been declared as an array or a function. U(J,K) = 1.0d0
DO J = 1,3
DO K = 1,3
IF (J==K) THEN
U(J,K) = 1.0d0
ELSE
U(J,K) = 0.0D0
END IF
END DO
END DO
error #6351: The number of subscripts is incorrect.
BBNEW(1,1) = U(1,1) + dt*AA*(LAMADA-1+EE)**CC*MS*2*S(1,1)
error #6410: This name has not been declared as an array or a function
BENEW(3,3) =error #6366: The shapes of the array expressions do not conform.
stressBE(i,1) = tt2 * S*(BENEW(1,1) -t1) + t3 B(3,3)-BBNEW(3,3)
本帖最后由 kyra 于 2024-5-23 13:59 编辑
real(kind = 8) :: F(3,3), B(3,3), J, t1, t2, t3, mu, kappa ,
1 U(3,3),BBNEW(nblock,3,3),S(3,3),eigVec(nblock,3,3)
此处第一行结尾处加一个逗号。
BBNEW(nblock,3,3) 是一个三维数组,所以你不能
BBNEW(1,1) = U(1,1) + dt*AA*(LAMADA-1+EE)**CC*MS*2*S(1,1)
只给2个下标。
其他问题,例如 BENEW 没有定义等。
建议你写上 implicit none,这些莫名其妙的问题就会变得很清晰。
kyra 发表于 2024-5-23 13:56
real(kind = 8) :: F(3,3), B(3,3), J, t1, t2, t3, mu, kappa ,
1 U(3,3),BBNEW(nblock,3,3),S(3,3), ...
非常感谢您!我下去试试
页:
[1]