Fortran Coder

标题: 出现吐核问题一直解决不了 [打印本页]

作者: 七色堇    时间: 2020-3-2 17:28
标题: 出现吐核问题一直解决不了
本帖最后由 kyra 于 2020-3-3 09:09 编辑

在运行的时候J=28可以完整运行,当J=31的时候,会出现driver调用不了。。提示也是吐核。
查了吐核可能出现的原因,但是自己没查出来。求大神们帮助!!!
程序如下:
[Fortran] 纯文本查看 复制代码
      program dcsabc
      implicit double precision (a-h,o-z)
      double precision mass,mtot,mred,toteng
      character sname*30,foutics*30,foutdcs*30
      common /masses/mass(3),mtot,mred
      parameter(nrgm=1,maxvp=2)
      dimension maxv(nrgm),maxj(0:maxvp,nrgm)
      call input(sname,nrgm,maxvp,nrg,toteng,ezero,iv,ij,
     &     limom,maxv,maxj,limtotj,limvp,limjp,foutics,foutdcs)
        write(*,*) '111'
      call driver(sname,nrgm,maxvp,nrg,toteng,ezero,iv,ij,
     &     limom,maxv,maxj,limtotj,limvp,limjp,foutics,foutdcs)  !输出111之后就吐核了

      stop
      end
c
c     Actually main program
c
      subroutine driver(sname,nrgm,maxvp,nrg,toteng,ezero,iv,ij,
     &     limom,maxv,maxj,limtotj,limvp,limjp,foutics,foutdcs)
c
      implicit double precision (a-h,o-z)
      double precision mass,mtot,mred,toteng
      character sname*30,foutics*30,foutdcs*30
c
      dimension maxv(nrgm),maxj(0:maxvp,nrgm),
     &       sre(0:limtotj,-limom:limom,0:limjp,0:limvp,-limom:limom),
     &       sim(0:limtotj,-limom:limom,0:limjp,0:limvp,-limom:limom)
      common /masses/mass(3),mtot,mred
      call sread(sname,sre,sim,nrg,toteng,iv,ij,
     &           limtotj,limvp,limjp,limom)
        write(*,*) '222'                                          !输不出来!!!!!
      end  
      subroutine sread(sname,sre,sim,nrg,toteng,iv,ij,
     &                 limtotj,limvp,limjp,limom)
      implicit double precision(a-h,o-z)
      double precision toteng
      character sname*30
c
      dimension
     &        sre(0:limtotj,-limom:limom,0:limjp,0:limvp,-limom:limom),
     &        sim(0:limtotj,-limom:limom,0:limjp,0:limvp,-limom:limom)
c
      tol = 1.d-6
c
c
      do 1 iom = -limom, limom
      do 1 ivp= 0, limvp
      do 1 ijp= 0, limjp
      do 1 iomp= -limom, limom
      do 1 itotj = 0, limtotj
        sre(itotj,iomp,ijp,ivp,iom) = 0.d0
        sim(itotj,iomp,ijp,ivp,iom) = 0.d0
    1 continue
      write(*,*) '245'
      open(1,file=sname,status='old')
        do itotj= 0,limtotj
             maxom = min(itotj,limom)
        end do
      end


QQ图片20200302172446.png (3.68 KB, 下载次数: 215)

QQ图片20200302172446.png

作者: kyra    时间: 2020-3-3 09:00
代码不全,这种问题必须有完整的代码才能调试。

如果你的代码特别涉密,你可以删减一些无关的代码,使其“最小可复现”(意思是,代码量最小,但仍然能复现问题)




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