七色堇 发表于 2020-3-2 17:28:54

出现吐核问题一直解决不了

本帖最后由 kyra 于 2020-3-3 09:09 编辑

在运行的时候J=28可以完整运行,当J=31的时候,会出现driver调用不了。。提示也是吐核。
查了吐核可能出现的原因,但是自己没查出来。求大神们帮助!!!
程序如下:
      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

kyra 发表于 2020-3-3 09:00:28

代码不全,这种问题必须有完整的代码才能调试。

如果你的代码特别涉密,你可以删减一些无关的代码,使其“最小可复现”(意思是,代码量最小,但仍然能复现问题)
页: [1]
查看完整版本: 出现吐核问题一直解决不了