任何操作之前的分段错误(声明/使用部分)

时间:2015-04-10 17:47:43

标签: segmentation-fault fortran fortran-iso-c-binding

我有一个使用gfortran作为编译器完美处理我的Imac的fortran代码。

但是最近我换到另一台可以访问ifort编译器的计算机。

程序编译正确,但是当我运行代码时,我会在任何执行之前得到Segmentation fault,因此它必须是变量声明中的内容或导致此错误的use语句中的内容。 任何的想法?我完全无能为力......

我发布了我的代码的声明部分:

program Stokes

 use ziggurat_m
 use, intrinsic :: iso_c_binding

 implicit none

 !Include the FFTW library:
 include 'fftw3.f'



 !Start declaration of variables:

 integer, parameter ::  Nelem = 64  ,&
                       npart = 20  ,&
                       nsims = 10000  ,&
                       nphi = 1

 !Double precision parameters:
double precision, parameter :: pi= 4.0*atan(1.0)

!Mesh variables:                       
double precision :: mesh(nelem,nelem,nelem,3), invmesh(nelem,nelem,nelem,3)

double precision :: xp(3,npart), sigma(npart), fpart(3,npart),     fspread(nelem,nelem,nelem,3), tpart(3,npart),&
                 tspread(nelem,nelem,nelem,3),stress_part(5,npart), stress_spread(nelem,nelem,nelem,3)

double precision, allocatable :: partgaussenv(:,:), vec_partgaussenv(:,:,:)

double complex :: fhat(nelem,nelem,nelem,3), uhat(nelem,nelem,nelem,3), fluctstresshat(nelem,nelem,nelem,3,3)
double precision :: u(nelem,nelem,nelem,3), up(3,npart), omegap(3,npart),   rate_defp(5,npart)
double precision :: fluctstress(nelem,nelem,nelem,3,3)


double precision, parameter :: kbt = 1.0 ,&   !kBT
                               deltat = 1.0   !deltat

integer, allocatable :: cicle_array(:,:,:)
integer :: max_size

integer :: seed
double precision :: seed_rnd

integer :: i,j,k,l
logical :: test=.true. 

!optimization timing variables:
double precision :: start, finish, start1, finish1, transf_time, start2,     finish2, transf_time2

!Postprocessing variables:
double precision :: diffcoeff
double precision :: up_msq(3)

0 个答案:

没有答案