subroutine kapav(phi, den) ! ! Average n_e and bounce averaged phi over pitch angle kappa ! i.e. given phi_ba(kappa) and den(kappa), get ! phi_bk(theta) and denk(theta). ! use itg_data implicit none complex, dimension(:,:,:) :: phi, den integer l,j,m,n,l0 do m=2,md do n=1,nd do j=1,ldb l0=1+abs(j-ldb/2-1) e_denk(j,m,n)=0. phi_bk(j,m,n)=0. do l=l0,kd e_denk(j,m,n)=e_denk(j,m,n)+dkap(l)*den(l,m,n)*wgtba2(l,j) phi_bk(j,m,n)=phi_bk(j,m,n)+dkap(l)*phi(l,m,n)*wgtba2(l,j) enddo enddo enddo enddo m=1 do n=1,nd do j=1,ldb l0=1+abs(j-ldb/2-1) e_denk(j,m,n)=0. phi_bk(j,m,n)=0. do l=l0,kd-1 e_denk(j,m,n)=e_denk(j,m,n)+dkap(l)*(den(l,m,n)+den(l+1,m,n))/2*wgtba2(l,j) phi_bk(j,m,n)=phi_bk(j,m,n)+dkap(l)*(phi(l,m,n)+phi(l+1,m,n))/2*wgtba2(l,j) enddo do l=max(kd,l0),kd+1 e_denk(j,m,n)=e_denk(j,m,n)+dkap(l)*den(l,m,n)*wgtba2(l,j) phi_bk(j,m,n)=phi_bk(j,m,n)+dkap(l)*phi(l,m,n)*wgtba2(l,j) enddo do l=kd+2,kdpass e_denk(j,m,n)=e_denk(j,m,n)+dkap(l)*(den(l,m,n)+den(l-1,m,n))/2*wgtba2(l,j) phi_bk(j,m,n)=phi_bk(j,m,n)+dkap(l)*(phi(l,m,n)+phi(l-1,m,n))/2*wgtba2(l,j) enddo enddo enddo end subroutine kapav