FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in), | dimension(-ntgrid:) | :: | bmag | ||
real, | intent(in), | dimension(-ntgrid:) | :: | bpol | ||
real, | intent(in), | dimension(-ntgrid:) | :: | invRpol | ||
real, | intent(in), | dimension(-ntgrid:) | :: | th_bish | ||
real, | intent(in), | dimension(-ntgrid:) | :: | ltheta | ||
real, | intent(in), | dimension(-ntgrid:) | :: | rmajor | ||
real, | intent(in) | :: | dp | |||
real, | intent(in) | :: | bi | |||
real, | intent(out), | dimension(-ntgrid:,:) | :: | gradB |
pure subroutine bishop_gradB(bmag, Bpol, invRpol, th_bish, ltheta, rmajor, dp, bi, gradB)
implicit none
real, dimension(-ntgrid:), intent (in) :: bmag, bpol, invRpol
real, dimension(-ntgrid:), intent (in) :: th_bish, ltheta, rmajor
real, intent(in) :: dp, bi
real, dimension(-ntgrid:,:), intent(out) :: gradB
real :: bp
integer :: i
do i = -nth, nth
bp = -bpol(i)
gradB(i, 1) = (bp / bmag(i)) * (bp * invRpol(i) + dp * rmajor(i) &
- bi**2 * sin(th_bish(i)) / (rmajor(i)**3 * bp)) !dBdrho
end do
call gradl(ltheta, bmag, gradB(:, 2), 0., nth) !dBdl
gradB(:, 3) = 0.0
end subroutine bishop_gradB