FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in), | optional | :: | gf_lo |
subroutine init_allfields_implicit(gf_lo)
use fields_arrays, only: phi, apar, bpar, phinew, aparnew, bparnew
use dist_fn_arrays, only: g, gnew
use dist_fn, only: get_init_field
use init_g, only: new_field_init
use array_utils, only: copy
use optionals, only: get_option_with_default
implicit none
logical, intent(in), optional :: gf_lo
logical :: local_gf_lo
local_gf_lo = get_option_with_default(gf_lo, .false.)
! MAB> new field init option ported from agk
if(local_gf_lo) then
call get_init_field (phinew, aparnew, bparnew, .true.)
!AJ Note, we do not initialise phi, apar, and bpar here
!AJ as this is now done in fields_gf_local along with a
!AJ fields redistribute.
call copy(gnew, g)
else if (new_field_init) then
call get_init_field (phinew, aparnew, bparnew)
call copy(phinew, phi); call copy(aparnew, apar); call copy(bparnew, bpar)
call copy(gnew, g)
else
call getfield (phinew, aparnew, bparnew)
call copy(phinew, phi); call copy(aparnew, apar); call copy(bparnew, bpar)
end if
! <MAB
end subroutine init_allfields_implicit