如何解决Syntax error in array constructor的问题
源码:Allocate(P_fft_cmplx((2*(NX/SS)-1+10)/2 + 1, 2*(NYs/SS)-1 + 3), &
W_fft_cmplx((2*(NX/SS)-1+10)/2 + 1, 2*(NYs/SS)-1 + 3), &
AK_fft_cmplx((2*(NX/SS)-1+10)/2 + 1, 2*(NYs/SS)-1+3))
rstrides =
cstrides =
dimensions = (/2*(NX/SS)-1+10,2*(NYs/SS)-1+3/)
AK_fft_real = 0
AK_fft_real(10+1:2*(NX/SS)-1+10,1+3:2*(NYs/SS)-1+3)=AK((/(Nx/SS)-1:1:-1,0:(Nx/SS)-1/),(/(Nys/SS)-1:1:-1,0:(Nys/SS)-1/))
P_fft_real = 0
P_fft_real((Nx/SS)+10:2*(Nx/SS)-1+10,(NYs/SS)+3:2*(Nys/SS)-1+3)=P((/1:NX:SS/),(/1:NN:SS,NN-1:1:-1*SS/))
报错:.\VI_FFT.f90:55:74:
AK_fft_real(10+1:2*(NX/SS)-1+10,1+3:2*(NYs/SS)-1+3)=AK((/(Nx/SS)-1:1:-1,0:(Nx/SS)-1/),(/(Nys/SS)-1:1:-1,0:(Nys/SS)-1/))
1
Error: Syntax error in array constructor at (1)
希望高手能帮小白解下问题,谢谢!!!!
等号右边不符合语法AK((/(Nx/SS)-1:1:-1,0:(Nx/SS)-1/),(/(Nys/SS)-1:1:-1,0:(Nys/SS)-1/)) 。你想表达什么? 这是国外上的一段程序,这段程序的应该是将计算的刚度矩阵对称赋值:-) fortran语言不熟,不知道是语法上的问题还是其他问题。 这段程度是用Fortran的数学库采用DC-FFT方法求解弹性变形 (/(Nx/SS)-1:1:-1,0:(Nx/SS)-1/)
这种数组构造器是 intel fortran 的扩展语法,你试试用 intel 的编译器来编译。 fcode 发表于 2024-7-31 21:22
(/(Nx/SS)-1:1:-1,0:(Nx/SS)-1/)
这种数组构造器是 intel fortran 的扩展语法,你试试用 intel 的编译器来 ...
好的,谢谢,我换个编译器试试
页:
[1]