#include "dims.h" SUBROUTINE BDOTDH(PHIJM1,PHIJ,PHIJP1,J,ANS) use cons_module,only: imax,imaxp2,kmax,cs,re,dlamda,dphi implicit none C **** C **** EVALUATES ANS = (B(H)*DEL(H))*PHI C **** #include "params.h" real :: bxm,bx,bxp,by,byp,bz,bzp,bmod,bmodp COMMON/MAGFLD/BXM(zimxp,2),BX(zimxp,zjmx),BXP(zimxp,4), 1 BY(zimxp,zjmx),BYP(zimxp,4),BZ(zimxp,zjmx),BZP(zimxp,4), 2 BMOD(zimxp,zjmx),BMODP(zimxp,2) ! ! Args: real,intent(in) :: PHIJM1(ZIMXP,ZKMXP),PHIJ(ZIMXP,ZKMXP), | PHIJP1(ZIMXP,ZKMXP) real,intent(out) :: ANS(ZIMXP,ZKMXP) integer,intent(in) :: j ! ! Local: integer :: k,i ! DO 1 K=1,KMAX DO 2 I=3,IMAXP2 ANS(I,K) = 1./re*(BX(I,J)/(CS(J)*2.*dlamda)*(PHIJ(I+1,K)- A PHIJ(I-1,K))+BY(I,J)*(PHIJP1(I,K)-PHIJM1(I,K))/(2.*dphi)) 2 CONTINUE 1 CONTINUE C **** C **** PERIODIC POINTS C **** DO 3 I=1,2 DO 4 K=1,KMAX ANS(I,K) = ANS(I+IMAX,K) ANS(I+IMAXP2,K) = ANS(I+2,K) 4 CONTINUE 3 CONTINUE RETURN END C