出现吐核问题一直解决不了
本帖最后由 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
代码不全,这种问题必须有完整的代码才能调试。
如果你的代码特别涉密,你可以删减一些无关的代码,使其“最小可复现”(意思是,代码量最小,但仍然能复现问题)
页:
[1]