回 帖 发 新 帖 刷新版面

主题:哪位高手可以帮我看看这段程序错在哪?小弟感激不尽!!

!*******计算Fibonacci链DNA电子透射谱及I-V特征曲线特性**************(成功)
   program main
   IMPLICIT NONE 
   INTEGER,PARAMETER::N=14
   INTEGER I,A1N,A2N,A3N,J,K
   integer::m=1  !m是cache的计数器
   INTEGER ORD 
   CHARACTER A1(1000),A2(1000),A3(1000)
   REAL*8 A(1000),L11,P11,L12,P12,L21,P21,L22,P22,R11,R12,R21,R22,TE,EM,TM
   REAL*8 S0,VOLT,TEMPER,FIMIL,FIMIR,EF,E,TDM ,FIMI,TD(1000)
   real(kind=8)::cache(6,1000)  !存储数组
   ORD=100
   TM=0.68             !TM为电极内格点相互作用
!   TD=0.35             !TD为碱基对间相互作用
   EM=0
   S0=0                  !S0为电流强度
   EF=0                  !EF为费米能级
!*******以下得到Fibonacci PolyGC DNA链**************
   A3N=0
   A1N=1
   A2N=2
   A1(1)="G"
   A2(1)="G"
   A2(2)="C"
!    WRITE(*,*) A1N,A1(1:A1N)
!    WRITE(*,*) A2N,A2(1:A2N)
   DO I=3,N
      A3N=A1N+A2N
      DO J=1,A2N
         A3(J)=A2(J)
      END DO
      DO K=1,A1N
         A3(A2N+K)=A1(K)
      END DO
     A1=A2
     A2=A3
     A1N=A2N
     A2N=A3N    
   END DO
!**************************************
   DO I=1,ORD !在产生的总链长中取ORD个碱基的长度
     IF(A3(I)=="G") A(I)=0.38
     IF(A3(I)=="C") A(I)=0
!      WRITE(*,*) I,A(I)   
   END DO
!***************************碱基对间相互作用赋值***************************
   DO I=1,ORD
!   IF(A(I).EQ.A(I+1)) THEN 
   TD=0.35        !TD为碱基对间相互作用
!   ELSE
!   TD=0.17
!   ENDIF
   ENDDO
   TDM=0.17             !TDM为碱基对与电极间耦合相互作用
!***************************碱基对间相互作用赋值*************************** 
!***********以下为传输矩阵p的计算********
!   DO TEMPER=50,300,5
   DO VOLT=0,2,0.1         !VOLT为外加电压
   s0=0
   DO E=-2,2,0.001                   !E为能量
!   VOLT=2                   !VOLT为外加电压
   TEMPER=300               !TEMPER为绝对温度
   FIMIL=1/(1+EXP((E-(VOLT/2)-EF)/(0.862E-4*TEMPER)))
   FIMIR=1/(1+EXP((E+(VOLT/2)-EF)/(0.862E-4*TEMPER)))
   FIMI=FIMIL-FIMIR
10 L11=(E-EM)/TDM
   L12=-TDM/TD(1)
   L21=1
   L22=0
   DO I=1,ORD
     P11=((E-A(I))/TD(I))*L11-L21
     P12=((E-A(I))/TD(I))*L12-L22
     P21=L11
     P22=L12
     L11=P11
     L12=P12
     L21=P21
     L22=P22
  END DO
!****************右边界矩阵************************
   R11=(E-EM)/TDM
   R12=-TD(ORD)/TDM
   R21=1
   R22=0
!****************右边界矩阵************************
   P11=P11*R11+P12*R21
   P12=P11*R12+P12*R22
   P21=P21*R22+P22*R21
   P22=P21*R12+P22*R22
!*********最后得到以上这些传输矩阵的元
!*********最后得到以上这些传输矩阵的元
  TE=(4-((E-EM)/TM)**2)/(2+P11**2+P12**2+P21**2+P22**2+(E-EM)/TM*(P11-P22)&
     *(P12-P21)-((E-EM)/TM)**2*(P12*P21+1)) !计算传输系数TE
  IF(TE<=0) TE=0.00001
  S0=S0+TE*ABS(FIMIL-FIMIR)*0.001
!   WRITE(*,*) E,TE
   ENDDO
  cache(1,M)=-VOLT
  cache(2,M)=-S0
  cache(3,M)=VOLT
  cache(4,M)=S0
  cache(5,M)=TEMPER
  cache(6,M)=S0
  M=M+1
  ENDDO
!  DO M=20,1,-1
!  write(*,*) cache(1,M), cache(2,M)
!  enddo
  DO M=1,20
  write(*,*) cache(3,M), cache(4,M)
  enddo
!  DO M=1,50
!  write(*,*) cache(5,M), cache(6,M)
!  enddo
 END 

错误信息:
Compiling Fortran...
Z:\F\毕业论文\我的资料\ 程序\保存\DNATF1.f90
f90: Severe: Invalid argument
... file is 'Z:\F\±?òμ????\?òμ?×êá?\?T  3D?? 3ìDò\±£′?\DNATF1.f90'
Error executing df.exe.

DNATF1.obj - 1 error(s), 0 warning(s)

回复列表 (共2个回复)

沙发

应该是 中文路径 惹的祸,请用英文路径。

板凳

恩,楼上说的对,提示很明白,说是路径错误啊。Fortran程序的存放路径中,不允许出现中文字符的,难道这个楼主不知道?我运行了一下啊,可以:Compiling Fortran...
D:\test1\test\test1.f90

test1.obj - 0 error(s), 0 warning(s)
results:
  0.000000000000000E+000  0.000000000000000E+000
  0.100000001490116       5.357479233017943E-004
  0.200000002980232       2.936442869971900E-003
  0.300000004470348       1.034663952849911E-002
  0.400000005960464       2.359115306198831E-002
  0.500000007450581       3.896551894569264E-002
  0.600000008940697       5.055654626410373E-002
  0.700000010430813       5.859699415909098E-002
  0.800000011920929       6.692547751255551E-002
  0.900000013411045       7.148301469717318E-002
   1.00000001490116       7.290848059370984E-002
   1.10000001639128       7.346677545713216E-002
   1.20000001788139       7.477742134082115E-002
   1.30000001937151       7.753441690704166E-002
   1.40000002086163       8.020400660112702E-002
   1.50000002235174       8.261601875149237E-002
   1.60000002384186       8.395686964199146E-002
   1.70000002533197       8.462082018656338E-002
   1.80000002682209       8.509153290473187E-002
   1.90000002831221       8.530117039952033E-002
Press any key to continue

我来回复

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