PPPO
Joined: 04 Nov 2012 Posts: 6
|
Posted: Sun Jan 20, 2013 7:19 pm Post subject: Access violation |
|
|
Hi
Anyone seen this error?
It occurs when trying to call subroutine:
Code: | SUBROUTINE PROPAGATION()
USE VARIABLES
!.....WEST
!
DO J=1,NJ
DO I=1,NIM
IF (.NOT.OBST1(I+1,J)) THEN
FIN(3,I,J) = FOUT(3,I+1,J)
ELSE
X=(X_CYL-(R**2-(J-Y_CYL)**2)**0.5)
Q=ABS(X-I)
!FIN(3,I,J)=(1/(1+Q))*(Q*FOUT(1,I,J)+(1-Q)*FOUT(1,I-1,J)+Q*FOUT(3,I,J))
IF (Q<0.5) THEN
FIN(3,I,J)=(2*Q*FOUT(1,I,J))+(1-2*Q)*FOUT(1,I-1,J)
ELSE
FIN(3,I,J)=(1/(2*Q))*FOUT(1,I,J)+((2*Q-1)/(2*Q))*FOUT(3,I,J)
END IF
END IF
ENDDO
ENDDO
!
!.....NORTH-WEST
!
DO J=NJ,2,-1
DO I=1,NIM
IF (.NOT.OBST1(I+1,J-1)) THEN
FIN(6,I,J) = FOUT(6,I+1,J-1)
ELSE
B=I+J-Y_CYL
DELTA=(X_CYL+B)**2-2*(X_CYL**2+B**2-R**2)
X=((B+X_CYL)-(DELTA**0.5))/2
Q=ABS(X-I)
! FIN(6,I,J)=(1/(1+Q))*(Q*FOUT(8,I,J)+(1-Q)*FOUT(8,I-1,J+1)+Q*FOUT(6,I,J))
IF (Q<0.5) THEN
FIN(6,I,J)=(2*Q*FOUT(8,I,J)+(1-2*Q)*FOUT(8,I-1,J+1))
ELSE
FIN(6,I,J)=(1/(2*Q))*FOUT(8,I,J)+((2*Q-1)/(2*Q))*FOUT(6,I,J)
END IF
END IF
ENDDO
ENDDO
return
end | [/code] |
|