init_allfields_implicit Subroutine

public subroutine init_allfields_implicit(gf_lo)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
logical, intent(in), optional :: gf_lo

Contents


Source Code

  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