Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
sll_m_qn_2d_base.F90
Go to the documentation of this file.
2 !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 #include "sll_working_precision.h"
4 
5  implicit none
6 
7  public :: &
9 
10  private
11 !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
12 
13  type, abstract :: sll_c_qn_2d_base
14  contains
15  procedure(signature_precompute_qn_2d), deferred, pass(qn) :: &
16  precompute_qn
17  procedure(signature_solve_qn_2d), deferred, pass(qn) :: &
18  solve_qn
19  end type sll_c_qn_2d_base
20 
21  abstract interface
22 
23  subroutine signature_precompute_qn_2d(qn, mu_points, mu_weights, N_mu)
25  import sll_c_qn_2d_base
26  class(sll_c_qn_2d_base), target :: qn
27  sll_int32, intent(in) :: n_mu
28  sll_real64, dimension(1:N_mu), intent(in) :: mu_points
29  sll_real64, dimension(1:N_mu), intent(in) :: mu_weights
30  end subroutine signature_precompute_qn_2d
31 
32  subroutine signature_solve_qn_2d(qn, phi)
34  import sll_c_qn_2d_base
35  class(sll_c_qn_2d_base), target :: qn
36  sll_real64, dimension(:, :), intent(inout) :: phi
37  end subroutine signature_solve_qn_2d
38  end interface
39 
40 end module sll_m_qn_2d_base
Module to select the kind parameter.
    Report Typos and Errors