FIXME : Add documentation
Type | Intent | Optional | 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 |
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