Fortran Coder

标题: FORTRAN 编程中遇到的问题 麻烦各位大神帮忙 [打印本页]

作者: 我是你的眼    时间: 2016-3-31 19:51
标题: FORTRAN 编程中遇到的问题 麻烦各位大神帮忙
刚学fortran不久     m  和mag的定义是这样的:real(kind=8),allocatable:: m(:,:,:)        allocate(m(NNx,NNy,NNz))   real(kind=8)  store(2*NNx*NNy*NNz),mag(NNx*NNy*NNz)
但是在程序运行的时候 确有这样的问题,
请各位大神帮忙解决这个问题

作者: 楚香饭    时间: 2016-3-31 20:43
本帖最后由 楚香饭 于 2016-3-31 20:49 编辑

当 iz 循环到 NNz 时
ixiyiz = (iz-1)*NNx*NNy + (ix-1)*NNy + iy
       = NNz*NNx*NNy + (ix-1)*NNy + iy
       > NNz*NNx*NNy
那么 mag(ixiyiz) 就会越界,因为 mag 数组的上限为 NNx*NNy*NNz


当然,在你的错误提示里,不一定错误是发生在给出代码的位置。
你可以检查 mprism.f90 文件的第 43 行
也可以自己单步debug调试一下。

如果还是无法解决,请给出全部的代码和输入输出文件。




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2