eik_get_grids Subroutine

public subroutine eik_get_grids(nperiod, ntheta, ntgrid, nbset, theta, bset, bmag, gradpar, gbdrift, gbdrift0, cvdrift, cvdrift0, cdrift, cdrift0, gds2, gds21, gds22, gds23, gds24, gds24_noq, grho, Rplot, Zplot, Rprime, Zprime, aplot, aprime, shat, drhodpsi, kxfac, qval, gb_to_cv, Bpol, surfarea, dvdrhon, rhoc)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nperiod
integer, intent(inout) :: ntheta
integer, intent(inout) :: ntgrid
integer, intent(inout) :: nbset
real, intent(out), dimension (-ntgrid:ntgrid) :: theta
real, intent(out), dimension (nbset) :: bset
real, intent(out), dimension (-ntgrid:ntgrid) :: bmag
real, intent(out), dimension (-ntgrid:ntgrid) :: gradpar
real, intent(out), dimension (-ntgrid:ntgrid) :: gbdrift
real, intent(out), dimension (-ntgrid:ntgrid) :: gbdrift0
real, intent(out), dimension (-ntgrid:ntgrid) :: cvdrift
real, intent(out), dimension (-ntgrid:ntgrid) :: cvdrift0
real, intent(out), dimension (-ntgrid:ntgrid) :: cdrift
real, intent(out), dimension (-ntgrid:ntgrid) :: cdrift0
real, intent(out), dimension (-ntgrid:ntgrid) :: gds2
real, intent(out), dimension (-ntgrid:ntgrid) :: gds21
real, intent(out), dimension (-ntgrid:ntgrid) :: gds22
real, intent(out), dimension (-ntgrid:ntgrid) :: gds23
real, intent(out), dimension (-ntgrid:ntgrid) :: gds24
real, intent(out), dimension (-ntgrid:ntgrid) :: gds24_noq
real, intent(out), dimension (-ntgrid:ntgrid) :: grho
real, intent(out), dimension (-ntgrid:ntgrid) :: Rplot
real, intent(out), dimension (-ntgrid:ntgrid) :: Zplot
real, intent(out), dimension (-ntgrid:ntgrid) :: Rprime
real, intent(out), dimension (-ntgrid:ntgrid) :: Zprime
real, intent(out), dimension (-ntgrid:ntgrid) :: aplot
real, intent(out), dimension (-ntgrid:ntgrid) :: aprime
real, intent(out) :: shat
real, intent(out) :: drhodpsi
real, intent(out) :: kxfac
real, intent(out) :: qval
logical, intent(in) :: gb_to_cv
real, intent(out), dimension (-ntgrid:ntgrid) :: Bpol
real, intent(out) :: surfarea
real, intent(out) :: dvdrhon
real, intent(out) :: rhoc

Contents

Source Code


Source Code

  subroutine eik_get_grids (nperiod, ntheta, ntgrid, nbset, theta, bset, bmag,&
       gradpar, gbdrift, gbdrift0, cvdrift, cvdrift0, cdrift, cdrift0, &
       gds2, gds21, gds22, gds23, gds24, gds24_noq, &
       grho, Rplot, Zplot, Rprime, Zprime, aplot, aprime, shat, drhodpsi,&
       kxfac, qval, gb_to_cv, Bpol, surfarea, dvdrhon, rhoc)
    use theta_grid_gridgen, only: theta_grid_gridgen_init, gridgen_get_grids
    use unit_tests, only: debug_message
    implicit none
    integer, intent (in) :: nperiod
    integer, intent (in out) :: ntheta, ntgrid, nbset
    real, dimension (-ntgrid:ntgrid), intent (out) :: theta
    real, dimension (nbset), intent (out) :: bset
    real, dimension (-ntgrid:ntgrid), intent (out) :: &
         bmag, gradpar, gbdrift, gbdrift0, cvdrift, cvdrift0, cdrift, cdrift0, &
         gds2, gds21, gds22, gds23, gds24, gds24_noq, grho, &
         Rplot, Zplot, Rprime, Zprime, aplot, aprime, Bpol
    real, intent (out) :: shat, drhodpsi, kxfac, qval, surfarea, dvdrhon, rhoc
    logical, intent (in) :: gb_to_cv
    integer, parameter :: verb=3
    character(4) :: ntgrid_char
    write(ntgrid_char, "(I4)") ntgrid
    call debug_message(verb, 'eik_get_grids: ntgrid= '//ntgrid_char)
    theta(-ntgrid:ntgrid) = eikcoefs_results%theta(-ntgrid:ntgrid)
    gradpar(-ntgrid:ntgrid) = eikcoefs_results%gradpar(-ntgrid:ntgrid)
    bmag(-ntgrid:ntgrid) = eikcoefs_results%bmag(-ntgrid:ntgrid)
    cvdrift(-ntgrid:ntgrid) = eikcoefs_results%cvdrift(-ntgrid:ntgrid)
    cvdrift0(-ntgrid:ntgrid) = eikcoefs_results%cvdrift0(-ntgrid:ntgrid)
    gbdrift(-ntgrid:ntgrid) = eikcoefs_results%gbdrift(-ntgrid:ntgrid)
    gbdrift0(-ntgrid:ntgrid) = eikcoefs_results%gbdrift0(-ntgrid:ntgrid)
    cdrift(-ntgrid:ntgrid) = eikcoefs_results%cdrift(-ntgrid:ntgrid)
    cdrift0(-ntgrid:ntgrid) = eikcoefs_results%cdrift0(-ntgrid:ntgrid)
    gds2(-ntgrid:ntgrid) = eikcoefs_results%gds2(-ntgrid:ntgrid)
    gds21(-ntgrid:ntgrid) = eikcoefs_results%gds21(-ntgrid:ntgrid)
    gds22(-ntgrid:ntgrid) = eikcoefs_results%gds22(-ntgrid:ntgrid)
    gds23(-ntgrid:ntgrid) = eikcoefs_results%gds23(-ntgrid:ntgrid)
    gds24(-ntgrid:ntgrid) = eikcoefs_results%gds24(-ntgrid:ntgrid)
    gds24_noq(-ntgrid:ntgrid) = eikcoefs_results%gds24_noq(-ntgrid:ntgrid)
    grho(-ntgrid:ntgrid) = eikcoefs_results%grho(-ntgrid:ntgrid)
    Rplot(-ntgrid:ntgrid) = eikcoefs_results%Rplot(-ntgrid:ntgrid)
    Zplot(-ntgrid:ntgrid) = eikcoefs_results%Zplot(-ntgrid:ntgrid)
    aplot(-ntgrid:ntgrid) = eikcoefs_results%aplot(-ntgrid:ntgrid)
    Rprime(-ntgrid:ntgrid) = eikcoefs_results%Rprime(-ntgrid:ntgrid)
    Zprime(-ntgrid:ntgrid) = eikcoefs_results%Zprime(-ntgrid:ntgrid)
    aprime(-ntgrid:ntgrid) = eikcoefs_results%aprime(-ntgrid:ntgrid)
    Bpol(-ntgrid:ntgrid) = eikcoefs_results%Bpol(-ntgrid:ntgrid)

    if (gb_to_cv) then
       gbdrift(-ntgrid:ntgrid) = cvdrift(-ntgrid:ntgrid)
       gbdrift0(-ntgrid:ntgrid) = cvdrift0(-ntgrid:ntgrid)
    end if

    call debug_message(verb, 'eik_get_grids: call theta_grid_gridgen_init')
    call theta_grid_gridgen_init
    call debug_message(verb, 'eik_get_grids: call gridgen_get_grids')
    call gridgen_get_grids (nperiod, ntheta, ntgrid, nbset, &
         theta, bset, bmag, &
         gradpar, gbdrift, gbdrift0, cvdrift, cvdrift0, cdrift, cdrift0, &
         gds2, gds21, gds22, gds23, gds24, gds24_noq, &
         grho, Rplot, Zplot, Rprime, Zprime, aplot, aprime, Bpol)
    shat = eikcoefs_results%shat
    drhodpsi = eikcoefs_results%drhodpsi
    kxfac = eikcoefs_results%kxfac
    qval = eikcoefs_results%qsf
    surfarea = eikcoefs_results%surfarea
    dvdrhon = eikcoefs_results%dvdrhon
    rhoc = eikcoefs_results%rhoc
    call debug_message(verb, 'eik_get_grids: end')
  end subroutine eik_get_grids