回 帖 发 新 帖 刷新版面

主题:CVF6.5支持F77吗

我用CVF6.5调试f77程序时出错了,
报错如下,
--------------------Configuration: my practice - Win32 Debug--------------------
Compiling Fortran...
E:\Program Files\kernel.f
f90: Error: Illegal character in statement label field  [s]
f90: Error: Illegal character in statement label field  [u]
f90: Error: Illegal character in statement label field  [b]
f90: Error: Illegal character in statement label field  [r]
f90: Error: Illegal character in statement label field  [o]
f90: Error: First statement in file must not be continued
E:\Program Files\kernel.f(1) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: ( % . = =>
subroutine kernel(r,dx,hsml,w,dwdx)   
--------------------------------------^
Error executing df.exe.
kernel.obj - 7 error(s), 0 warning(s)
这是什么问题啊,
版本的问题吗?不是说CVF编译器向下兼容的吗??谢谢哦

回复列表 (共22个回复)

21 楼

[quote]唉,是我的错,跟baidu知道里的另一个问题混了,这个问题是把kernel函数前的subroutine前再加上一个tab就行了。[/quote]
真的谢谢你们,我是加TAB弄好的,第一次调试别人写的这么大的程序,让我很有成就感,谢谢你们,真的太感激了,


原本也想给你30分的,没想到次一次不能超过50分,已经给了前面30分了,谢谢你,下次再问你,哈哈,

22 楼

这是经我修改后的 Fortran 90 格式的代码:

!----------------------------------------------------------------------
!   calculate the smoothing kernel wij and its derivatives dwdxij.
!     if skf = 1, cubic spline kernel by W4 - Spline (Monaghan 1985)
!            = 2, Gauss kernel   (Gingold and Monaghan 1981) 
!            = 3, Quintic kernel (Morris 1997)

!     r    : Distance between particles i and j                     [in]
!     dx   : x-, y- and z-distance between i and j                  [in]  
!     hsml : Smoothing length                                       [in]
!     w    : Kernel for all interaction pairs                      [out]
!     dwdx : Derivative of kernel with respect to x, y and z       [out]

subroutine kernel(r,dx,hsml,w,dwdx)   
  implicit none

!      include 'param.inc' --> you may replace this by module
!---------------------------------------------------------
!     Including file for parameters and constants used 
!     in the entire SPH software packages.
!---------------------------------------------------------

!     dim : Dimension of the problem (1, 2 or 3)
  integer, parameter:: dim = 1
  integer:: skf
!     maxn    : Maximum number of particles
!     max_interation : Maximum number of interaction pairs
  integer, parameter:: maxn = 12000 
  integer, parameter:: max_interaction = 100 * maxn 

!     Parameters for the computational geometry,  
!     x_maxgeom : Upper limit of allowed x-regime 
!     x_mingeom : Lower limit of allowed x-regime 
!     y_maxgeom : Upper limit of allowed y-regime 
!     y_mingeom : Lower limit of allowed y-regime 
!     z_maxgeom : Upper limit of allowed z-regime 
!     z_mingeom : Lower limit of allowed z-regime 
  real, parameter:: x_maxgeom = 10.e0, x_mingeom = -10.e0
  real:: y_maxgeom, y_mingeom
  real:: z_maxgeom,z_mingeom    
  real:: r, dx(dim), hsml, w, dwdx(dim)
  integer i, j, d      
  real:: q, dw, factor
  real, parameter:: pi = 3.1415926535897932

  q = r / hsml 
  w = 0.e0
  do d = 1, dim, 1         
    dwdx(d) = 0.e0
  end do


我来回复

您尚未登录,请登录后再回复。点此登录或注册