FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex, | intent(in), | dimension (0:) | :: | u |
subroutine get_field_solution (u)
use fields_arrays, only: phinew, aparnew, bparnew
use theta_grid, only: ntgrid
use kt_grids, only: naky, ntheta0
use run_parameters, only: has_phi, has_apar, has_bpar
use gs2_layouts, only: jf_lo, ij_idx
implicit none
complex, dimension (0:), intent (in) :: u
integer :: ik, it, ifield, ll, lr
ifield = 0
if (has_phi) then
ifield = ifield + 1
do ik = 1, naky
do it = 1, ntheta0
ll = ij_idx (jf_lo, -ntgrid, ifield, ik, it)
lr = ll + 2*ntgrid
phinew(:,it,ik) = u(ll:lr)
end do
end do
endif
if (has_apar) then
ifield = ifield + 1
do ik = 1, naky
do it = 1, ntheta0
ll = ij_idx (jf_lo, -ntgrid, ifield, ik, it)
lr = ll + 2*ntgrid
aparnew(:,it,ik) = u(ll:lr)
end do
end do
endif
if (has_bpar) then
ifield = ifield + 1
do ik = 1, naky
do it = 1, ntheta0
ll = ij_idx (jf_lo, -ntgrid, ifield, ik, it)
lr = ll + 2*ntgrid
bparnew(:,it,ik) = u(ll:lr)
end do
end do
endif
end subroutine get_field_solution