fortran编译时遇到问题:Error: Incompatible ranks 0 and 1 in assignment at (1)
INTEGER(8) :: R
COMPLEX , DIMENSION(N_x) :: Psi_xz_R
INTEGER(8), PARAMETER :: N_R=66
REAL(8) , DIMENSION(N_R) :: d_R
Open(unit=17, file='d_R.dat', status='old')
Do R=1,N_R
read(17,*) d_R(R)
Enddo
CLOSE(17)
Open(unit=3, file='Eigen_wave0.dat', status='old')
x=x_min+INT(abs(-1.0-x_min_0)/d_x_0)d_x_0
Do mx=INT(abs(-1.0-x_min_0)/d_x_0)+1, INT(abs(-1.0-x_min_0)/d_x_0)+N_x_0
Read(3,) x, RPsi6 !, IPsi6
IPsi6=0.0D0
Psi_xz_0(mx)=CMPLX(RPsi6,IPsi6)
Psi_xz_R(mx)=d_RPsi_xz_0(mx)
Psi_xz(mx)=Psi_xz_R(mx)
norm_t=norm_t+d_xABS(Psi_xz_0(mx))**2
Psi_xz_R(mx)=d_R*Psi_xz_0(mx)
1
Error: Incompatible ranks 0 and 1 in assignment at (1)
Error(E42): Last command making (build\wavepacket_1DTDSE_core-excited.o) returned a bad status
Error(E02): Make execution terminated
d_r是数组
根据评论区老师的耐心讲解,我在程序上做了改动,将d_r改成了d_r(mx),从数组转换为了数,程序是可以运行了,输出文件中一共有三列,但是只有一列数据,其余两列都是 NaN,不清楚哪里出了问题,感觉逻辑上都是对的,请各位老师指教