subroutine sim4di(kdim,xx,jx,gx) 1,1
implicit none
integer kdim
include 'champ.cdk'
include 'chinc.cdk'
real jz,js,xx(kdim),gx(kdim),jx
complex zd,sd
external lininc,adjinc
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(xx(nco),xx(nco+1))
else
so(ikx,iky) = cmplx(0.,0.)
endif
enddo
enddo
jz = 0.
js = 0.
do ikx=1,iktx
do iky=1,ikty
if (l(ikx+ktx,iky).eq.1) then
zd = zo(ikx,iky)+ztraj(ikx,iky,1)-zm(ikx,iky)
sd = so(ikx,iky)+straj(ikx,iky,1)-sm(ikx,iky)
jz = jz + real(zd*conjg(zd))
js = js + real(sd*conjg(sd))
endif
enddo
enddo
write(22,101) jz,js
101 format(2e12.4)
grflag = 0
obflag = 0
jxflag = 1
call lininc
(jx)
call adjinc
nco=0
do ikx=1,iktx
do iky=1,ikty
if (l(ikx+ktx,iky).eq.1) then
nco = nco + 1
gx(nco) = real(zo(ikx,iky))
nco = nco + 1
gx(nco) = aimag(zo(ikx,iky))
endif
enddo
enddo
do ikx=1,iktx
do iky=1,ikty
if (l(ikx+ktx,iky).eq.1) then
nco = nco + 1
gx(nco) = real(so(ikx,iky))
nco = nco + 1
gx(nco) = aimag(so(ikx,iky))
endif
enddo
enddo
return
end