程序补充:
SUBROUTINE
FN(N,X,Y,Z)
IMPLICIT
REAL(A-H,O-Z)
PARAMETER
(a=1.80,L=21.0,G=1.20)
DIMENSION
R(N,N),X(N),Y(N),Z(N)
CALL
DISTANCE(N,X,Y,Z,R)
FX=0
DO
I=1,N
DO
J=1,N
DO
K=1,N
F1=EXP(G/(R(I,J)-a)+G/(R(I,K)-a))
F2=((R(I,J)**2+R(I,K)**2-R(J,K)**2)/(2*R(I,J)*R(I,K))+1/3)**2
FX=FX+L*F1*F2
ENDDO
ENDDO
ENDDO
RETURN
END
SUBROUTINE
FT(N,X,Y,Z)
IMPLICIT
REAL(A-H,O-Z)
PARAMETER
(c=7.049556277,d=0.6022245584,P=4,Q=0,a=1.80)
DIMENSION
R(N,N),X(N),Y(N),Z(N)
CALL
DISTANCE(N,X,Y,Z,R)
FY=0
DO
I=1,N
DO
J=1,N
IF(R(I,J).LT.a)
THEN
FY=FY+c*((d**(-P))-R(I,J)**(-Q))*EXP(1/(R(I,J)-a))
ELSE
FY=0
ENDIF
ENDDO
ENDDO
RETURN
END
SUBROUTINE
ENERGY(N,X,Y,Z)
IMPLICIT
REAL(A-H,O-Z)
DIMENSION
X(N),Y(N),Z(N)
CALL
FN(N,X,Y,Z)
CALL
FT(N,X,Y,Z)
E=FX+FY
RETURN
END
DO
I=1,N
DO
J=1,N
DO
K=1,N
F1=EXP(G/(R(I,J)-a)+G/(R(I,K)-a))
F2=((R(I,J)**2+R(I,K)**2-R(J,K)**2)/(2*R(I,J)*R(I,K))+1/3)**2
FX=FX+L*F1*F2
ENDDO
ENDDO
ENDDO
RETURN
END
程序补充:
SUBROUTINE FN(N,X,Y,Z)
IMPLICIT REAL(A-H,O-Z)
PARAMETER (a=1.80,L=21.0,G=1.20)
DIMENSION R(N,N),X(N),Y(N),Z(N)
CALL DISTANCE(N,X,Y,Z,R)
FX=0
DO I=1,N
DO J=1,N
DO K=1,N
F1=EXP(G/(R(I,J)-a)+G/(R(I,K)-a))
F2=((R(I,J)**2+R(I,K)**2-R(J,K)**2)/(2*R(I,J)*R(I,K))+1/3)**2
FX=FX+L*F1*F2
ENDDO
ENDDO
ENDDO
RETURN
END
SUBROUTINE FT(N,X,Y,Z)
IMPLICIT REAL(A-H,O-Z)
PARAMETER (c=7.049556277,d=0.6022245584,P=4,Q=0,a=1.80)
DIMENSION R(N,N),X(N),Y(N),Z(N)
CALL DISTANCE(N,X,Y,Z,R)
FY=0
DO I=1,N
DO J=1,N
IF(R(I,J).LT.a) THEN
FY=FY+c*((d**(-P))-R(I,J)**(-Q))*EXP(1/(R(I,J)-a))
ELSE
FY=0
ENDIF
ENDDO
ENDDO
RETURN
END
SUBROUTINE ENERGY(N,X,Y,Z)
IMPLICIT REAL(A-H,O-Z)
DIMENSION X(N),Y(N),Z(N)
CALL FN(N,X,Y,Z)
CALL FT(N,X,Y,Z)
E=FX+FY
RETURN
END
DO I=1,N
DO J=1,N
DO K=1,N
F1=EXP(G/(R(I,J)-a)+G/(R(I,K)-a))
F2=((R(I,J)**2+R(I,K)**2-R(J,K)**2)/(2*R(I,J)*R(I,K))+1/3)**2
FX=FX+L*F1*F2
ENDDO
ENDDO
ENDDO
RETURN
END
是编译的问题还是运行的问题?详细的错误信息?
另外,请简单的介绍一下每个函数是干什么用的,不要一次扔几百行没有注释的代码上来……