20 #include "sll_memory.h"
21 #include "sll_working_precision.h"
47 sll_int32 :: splines_case
55 procedure, pass(gyroaverage) :: initialize => &
57 procedure, pass(gyroaverage) :: compute_gyroaverage => &
72 sll_real64,
intent(in) :: eta_min(2)
73 sll_real64,
intent(in) :: eta_max(2)
74 sll_int32,
intent(in) :: nc(2)
76 sll_int32,
optional :: splines_case
79 sll_allocate(gyroaverage, ierr)
98 sll_real64,
intent(in) :: eta_min(2)
99 sll_real64,
intent(in) :: eta_max(2)
100 sll_int32,
intent(in) :: nc(2)
101 sll_int32,
intent(in) :: n_points
102 sll_int32,
optional :: splines_case
104 if (.not. (
present(splines_case)))
then
105 gyroaverage%splines_case = 1
107 gyroaverage%splines_case = splines_case
110 select case (gyroaverage%splines_case)
118 print *,
'#bad value of splines_case=', gyroaverage%splines_case
119 print *,
'#not implemented'
120 print *,
'#in initialize_gyroaverage_2d_polar_splines_solver'
128 sll_real64,
intent(in) :: larmor_rad
129 sll_real64,
dimension(:, :),
intent(inout) :: f
131 select case (gyroaverage%splines_case)
143 print *,
'#bad value of splines_case=', gyroaverage%splines_case
144 print *,
'#not implemented'
145 print *,
'compute_gyroaverage_2d_polar_splines'
subroutine compute_gyroaverage_2d_polar_splines(gyroaverage, larmor_rad, f)
type(gyroaverage_2d_polar_splines_solver) function, pointer, public sll_f_new_gyroaverage_2d_polar_splines_solver(eta_min, eta_max, Nc, N_points, splines_case)
subroutine initialize_gyroaverage_2d_polar_splines_solver(gyroaverage, eta_min, eta_max, Nc, N_points, splines_case)
type(sll_t_plan_gyroaverage_polar) function, pointer, public sll_f_new_plan_gyroaverage_polar_splines(eta_min, eta_max, Nc, N_points)
subroutine, public sll_s_compute_gyroaverage_points_polar_spl(gyro, f, rho)
subroutine, public sll_s_pre_compute_gyroaverage_polar_spl(gyro, rho)
subroutine, public sll_s_pre_compute_gyroaverage_polar_spl_fft(gyro, rho)
subroutine, public sll_s_compute_gyroaverage_pre_compute_polar_spl(gyro, f)
subroutine, public sll_s_compute_gyroaverage_points_polar_with_invar_spl(gyro, f, rho)
subroutine, public sll_s_compute_gyroaverage_pre_compute_polar_spl_fft(gyro, f)