FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex, | intent(out), | dimension (:,:,:) | :: | fl | ||
complex, | intent(in), | dimension (-ntgrid:,:,:) | :: | phi | ||
complex, | intent(in), | dimension (-ntgrid:,:,:) | :: | apar | ||
complex, | intent(in), | dimension (-ntgrid:,:,:) | :: | bpar |
subroutine get_field_vector (fl, phi, apar, bpar)
use theta_grid, only: ntgrid
use dist_fn, only: getfieldeq
use dist_fn_arrays, only: fieldeq, fieldeqa, fieldeqp
use run_parameters, only: has_phi, has_apar, has_bpar
implicit none
complex, dimension (-ntgrid:,:,:), intent (in) :: phi, apar, bpar
complex, dimension (:,:,:), intent (out) :: fl
integer :: istart, ifin
call getfieldeq (phi, apar, bpar, fieldeq, fieldeqa, fieldeqp)
ifin = 0
if (has_phi) then
istart = ifin + 1
ifin = (istart-1) + 2*ntgrid+1
fl(istart:ifin,:,:) = fieldeq
end if
if (has_apar) then
istart = ifin + 1
ifin = (istart-1) + 2*ntgrid+1
fl(istart:ifin,:,:) = fieldeqa
end if
if (has_bpar) then
istart = ifin + 1
ifin = (istart-1) + 2*ntgrid+1
fl(istart:ifin,:,:) = fieldeqp
end if
end subroutine get_field_vector