FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in), | dimension (-ntgrid:,:,:) | :: | kperp2 | ||
complex, | intent(out), | dimension (-ntgrid:,:,:) | :: | j_ext |
subroutine antenna_apar (kperp2, j_ext)
! GGH ERR? Is this correct? It uses apar_new rather than just the applied
! current, so does this include the plasma response?
! BD: No error. Here, apar and apar_new are local variables for the antenna only. 7.1.06
!
! this routine returns space-centered (kperp**2 * A_ext) at the current time
use kt_grids, only: naky, ntheta0
use run_parameters, only: beta, has_apar
use theta_grid, only: ntgrid
complex, dimension (-ntgrid:,:,:), intent(out) :: j_ext
real, dimension (-ntgrid:,:,:), intent(in) :: kperp2
integer :: ik, it, ig
if (has_apar) then
if (.not. allocated(apar_new)) return
do ik = 1, naky
do it = 1, ntheta0
do ig = -ntgrid, ntgrid-1
j_ext(ig,it,ik) = 0.5* &
( &
! kperp2(ig+1,it,ik)*apar_old(ig+1,it,ik) &
! +kperp2(ig, it,ik)*apar_old(ig, it,ik) &
+kperp2(ig+1,it,ik)*apar_new(ig+1,it,ik) &
+kperp2(ig, it,ik)*apar_new(ig, it,ik))
end do
end do
end do
! GGH Is this some normalization? Yes.
if (beta > 0.) j_ext = j_ext * 0.5 / beta
else ! if apar itself is not being advanced in time, there should be no j_ext
j_ext = 0.
end if
end subroutine antenna_apar