20 #include "sll_memory.h"
21 #include "sll_working_precision.h"
48 procedure, pass(qn) :: init => &
50 procedure, pass(qn) :: precompute_qn => &
52 procedure, pass(qn) :: solve_qn => &
69 sll_real64,
intent(in) :: eta_min(2)
70 sll_real64,
intent(in) :: eta_max(2)
71 sll_int32,
intent(in) :: nc(2)
72 sll_int32,
intent(in) :: n_points
73 sll_real64,
dimension(:),
intent(in) :: lambda
74 sll_real64,
dimension(:),
intent(in) :: t_i
77 sll_allocate(qn, 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_real64,
dimension(:),
intent(in) :: lambda
103 sll_real64,
dimension(:),
intent(in) :: t_i
111 sll_int32,
intent(in) :: n_mu
112 sll_real64,
dimension(1:N_mu),
intent(in) :: mu_points
113 sll_real64,
dimension(1:N_mu),
intent(in) :: mu_weights
114 sll_real64,
dimension(1:N_mu) :: rho_points
118 rho_points(i) = sqrt(2._f64*mu_points(i))
128 sll_real64,
dimension(:, :),
intent(inout) :: phi
type(sll_t_qn_2d_polar_splines_solver) function, pointer, public sll_f_new_qn_2d_polar_splines_solver(eta_min, eta_max, Nc, N_points, lambda, T_i)
subroutine, public sll_s_qn_2d_polar_splines_solver_init(qn, eta_min, eta_max, Nc, N_points, lambda, T_i)
subroutine solve_qn_2d_polar_splines(qn, phi)
subroutine precompute_qn_2d_polar_splines(qn, mu_points, mu_weights, N_mu)
subroutine, public sll_s_precompute_inverse_qn_matrix_polar_splines(quasineutral, mu_points, mu_weights, N_mu)
subroutine, public sll_s_qn_2d_polar_init(this, eta_min, eta_max, Nc, N_points, lambda, T_i)
subroutine, public sll_s_precompute_gyroaverage_index(quasineutral, rho, N_rho)
subroutine, public sll_s_qn_2d_polar_solve(quasineutral, phi)