SUBROUTINE PATH(XX,XX1,KDIM) 2,1
IMPLICIT NONE
INTEGER KDIM,NPAS
include 'champ.cdk'
include 'chobs.cdk'
REAL XX(KDIM),XX1(KDIM),JX
EXTERNAL MODDIR
NPAS=100
GRFLAG = 0
OBFLAG = 0
TRFLAG = 1
JXFLAG = 1
TEFLAG = 0
C -------- CHEMIN ENTRE DEUX SOLUTIONS ----------------
c open (15,file='newguess.io',status='unknown')
c read(15,102) ((ZO(IW,JW),IW=1,IKTX),JW=1,IKTY)
c read(15,102) ((SO(IW,JW),IW=1,IKTX),JW=1,IKTY)
c close(15)
c 102 format(8e13.7)
c DO IKX=1,IKTX
c DO IKY=1,IKTY
c ZCONT(IKX,IKY,1) = ZO(IKX,IKY)
c SO(IKX,IKY) = CMPLX(0.,0.)
c ENDDO
c ENDDO
C -------- CHEMIN ENTRE DEUX SOLUTIONS ----------------
open (11,file='funcj.dat',status='unknown')
C ------------------------------------------------------------
NCO=0
DO IKX=1,IKTX
DO IKY=1,IKTY
IF (L(IKX+KTX,IKY).EQ.1) THEN
NCO = NCO + 1
XX1(NCO) = REAL(ZCONT(IKX,IKY,1))
NCO = NCO + 1
XX1(NCO) = AIMAG(ZCONT(IKX,IKY,1))
ENDIF
ENDDO
ENDDO
DO IKX=1,IKTX
DO IKY=1,IKTY
IF (L(IKX+KTX,IKY).EQ.1) THEN
NCO = NCO + 1
XX(NCO) = 0.0
NCO = NCO + 1
XX(NCO) = 0.0
ENDIF
ENDDO
ENDDO
DO IKX=1,KDIM
XX1(IKX)=2*(XX(IKX)-XX1(IKX))/NPAS
XX(IKX)=XX(IKX) + NPAS*XX1(IKX)/4
ENDDO
DO IW=1,NPAS
DO IKX=1,KDIM
XX(IKX)=XX(IKX)-XX1(IKX)
ENDDO
NCO=-1
DO IKX=1,IKTX
DO IKY=1,IKTY
IF (L(IKX+KTX,IKY).EQ.1) THEN
NCO = NCO + 2
ZO(IKX,IKY) = CMPLX(XX(NCO),XX(NCO+1))
ELSE
ZO(IKX,IKY) = CMPLX(0.,0.)
ENDIF
ENDDO
ENDDO
DO IKX=1,IKTX
DO IKY=1,IKTY
IF (L(IKX+KTX,IKY).EQ.1) THEN
NCO = NCO + 2
SO(IKX,IKY) = CMPLX(0.,0.)
ELSE
SO(IKX,IKY) = CMPLX(0.,0.)
ENDIF
ENDDO
ENDDO
CALL MODDIR
(JX)
write(11,101) IW,JX
101 format(i10,e13.4)
ENDDO
close(11)
RETURN
END