Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有libcuba的Fortran回溯错误消息_Fortran - Fatal编程技术网

带有libcuba的Fortran回溯错误消息

带有libcuba的Fortran回溯错误消息,fortran,Fortran,我正在用libcuba和Fortran开发一个积分,但是当我运行程序时,出现了这个错误 Backtrace for this error: 0x7ff80c55d31a 0x7ff80c55c503 0x7ff80bbd9f1f 0x55eb8a7eb281 0x55eb8a7ec8e1 0x55eb8a7c0b24 0x55eb8a7c1785 0x55eb8a7daf03 0x55eb8a7d7e8f 0x55eb8a7c34b1 0x55eb8a

我正在用libcuba和Fortran开发一个积分,但是当我运行程序时,出现了这个错误

Backtrace for this error:
  0x7ff80c55d31a
  0x7ff80c55c503
  0x7ff80bbd9f1f
  0x55eb8a7eb281
  0x55eb8a7ec8e1
  0x55eb8a7c0b24
  0x55eb8a7c1785
  0x55eb8a7daf03
  0x55eb8a7d7e8f
  0x55eb8a7c34b1
  0x55eb8a7c20a9
  0x55eb8a7c1087
  0x55eb8a7c1732
  0x7ff80bbbcb96
  0x55eb8a7bbc99
  0xffffffffffffffff
Targeting failure (recorded core image)
程序代码为:

      PROGRAM Integral_E_ultra

      IMPLICIT None
      DOUBLE PRECISION NORM,VAL


      CALL E_ultra(VAL)

      STOP
      END


      SUBROUTINE E_ultra(VAL)

      IMPLICIT NONE
      DOUBLE PRECISION NORM,VAL,PI,VALG1
      DOUBLE PRECISION INTEGRALG1(1),ERRORG1(1),PROBG1(1)
      PARAMETER (PI=3.14159265358979D0)

C  Parameters related to the CUBA numerical integration:

      integer ndim,ncomp,mineval,maxeval,verbose,last
      integer fail,nregions,neval
      double precision epsrel,epsabs,userdata
      parameter (ndim=1)
      parameter (userdata=0)
      parameter (ncomp=1)
      parameter (epsrel=1D-3)
      parameter (epsabs=1D-12)

      parameter (verbose=0)
      parameter (last = 4)
      parameter (mineval=0)
      parameter (maxeval=50000)

      integer key1, key2, key3
      parameter (key1 = 47)
      parameter (key2 = 1)
      parameter (key3 = 1)

      integer nstart,nincrease
      parameter (nstart = 1000)
      parameter (nincrease = 500)

      integer nnew
      double precision flatness
      parameter (nnew = 1000)
      parameter (flatness = 25D0)

      integer key
      parameter (key =0)

      EXTERNAL INTG1


      CALL CUHRE(ndim,ncomp,INTG1,userdata,
     +     epsrel,epsabs,verbose+last,mineval,maxeval,
     +     KEY,NREGIONS,neval,fail,INTEGRALG1,ERRORG1,PROBG1)
      VALG1=INTEGRALG1(1)
      VAL=3D0*VALG1/(16*PI**3D0)

      RETURN
      END


      SUBROUTINE INTG1(NDIM,X,NCOMP,RESULT)

      IMPLICIT NONE
      DOUBLE PRECISION X(NDIM),RESULT(NCOMP)
      DOUBLE PRECISION VAR(1),RANGE,JACOBIAN,PI
      DOUBLE PRECISION UPPER(1)
      COMMON/UBOUND/ UPPER
      DOUBLE PRECISION LOWER(1)
      COMMON/UBOUND/ LOWER
      INTEGER NDIM,NCOMP,I
      PARAMETER (PI=3.14159265358979D0)
      Result = 0
      VAR = 0
      RANGE=0D0
      JACOBIAN=1D0      
      LOWER(1)=0D0
      UPPER(1)=1D0    

      DO I=1,NDIM
         RANGE=UPPER(I)-LOWER(I)
         JACOBIAN=JACOBIAN*RANGE
         VAR(I)=LOWER(I)+X(I)*RANGE
      ENDDO

      CALL INTEGRANDG1(RESULT,VAR)
      RESULT(1)=RESULT(1)*JACOBIAN

      RETURN
      END


      SUBROUTINE INTEGRANDG1(RESULT,VAR)

      IMPLICIT NONE
      DOUBLE PRECISION VAR(1),RESULT(*)
      DOUBLE PRECISION NORM,LAMBDA,ALPHA,K,M,G1
      LAMBDA = 1
      K=1
      G1 = 0
      ALPHA = VAR(1)
      G1= -(LAMBDA**2*K*M*ALPHA)/(K**2+LAMBDA**2)**2
      RESULT(1) = G1

      RETURN
      END

请提供一个最小、完整且可验证的示例。请参阅,因为您似乎正在使用gfortran,请在编译选项中添加“-g-fcheck=all-Wall”,这可能有助于确定错误所在。欢迎,请接受欢迎。那是什么样的图书馆?使用ba janneb推荐的标志。仔细检查发送给子例程和函数的每个参数的类型和值。代码很难以非常陈旧的风格阅读。更多的缩进肯定会有所帮助。没有图书馆我们可能帮不了你。