|  | Semi-Lagrangian Library
    Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices. | 
basic type for one-dimensional cubic spline data. More...
| Private Attributes | |
| integer(kind=i32), private | n_points | 
| size  More... | |
| real(kind=f64), private | delta | 
| discretization step  More... | |
| real(kind=f64), private | rdelta | 
| reciprocal of delta  More... | |
| real(kind=f64), private | xmin | 
| left boundary  More... | |
| real(kind=f64), private | xmax | 
| right boundary  More... | |
| integer(kind=i32), private | bc_type | 
| periodic, hermite  More... | |
| real(kind=f64), dimension(:), pointer, private | d => null() | 
| scratch space D (L*D=F), refer to the algorithm below. Size depends on BCs.  More... | |
| real(kind=f64), dimension(:), pointer, private | coeffs => null() | 
| the spline coeffs  More... | |
| real(kind=f64), private | slope_l | 
| left slope, for Hermite:  More... | |
| real(kind=f64), private | slope_r | 
| right slope, for Hermite  More... | |
| logical, private | compute_slope_l | 
| logical, private | compute_slope_r | 
| logical, private | use_fast_algorithm | 
| Data required for the 'slow' algorithm based on a standard tridiagonal system solution. Note that we use the same nomenclature as in the sll_m_tridiagonal module.  More... | |
| real(kind=f64), dimension(:), pointer, private | a => null() | 
| Tridiagonal solver data.  More... | |
| real(kind=f64), dimension(:), pointer, private | cts => null() | 
| Tridiagonal solver data.  More... | |
| integer(kind=i32), dimension(:), pointer, private | ipiv => null() | 
| Tridiagonal solver data.  More... | |
| real(kind=f64), dimension(:), pointer, private | f_aux => null() | 
| Hermite needs extended f array:  More... | |
basic type for one-dimensional cubic spline data.
This should be treated as an opaque type. No access to its internals is directly allowed.
Definition at line 88 of file sll_m_cubic_splines.F90.
| 
 | private | 
Tridiagonal solver data.
Definition at line 113 of file sll_m_cubic_splines.F90.
| 
 | private | 
periodic, hermite
Definition at line 94 of file sll_m_cubic_splines.F90.
| 
 | private | 
the spline coeffs
Definition at line 99 of file sll_m_cubic_splines.F90.
| 
 | private | 
Definition at line 105 of file sll_m_cubic_splines.F90.
| 
 | private | 
Definition at line 107 of file sll_m_cubic_splines.F90.
| 
 | private | 
Tridiagonal solver data.
Definition at line 115 of file sll_m_cubic_splines.F90.
| 
 | private | 
scratch space D (L*D=F), refer to the algorithm below. Size depends on BCs.
Definition at line 97 of file sll_m_cubic_splines.F90.
| 
 | private | 
discretization step
Definition at line 90 of file sll_m_cubic_splines.F90.
| 
 | private | 
Hermite needs extended f array:
Definition at line 119 of file sll_m_cubic_splines.F90.
| 
 | private | 
Tridiagonal solver data.
Definition at line 117 of file sll_m_cubic_splines.F90.
| 
 | private | 
size
Definition at line 89 of file sll_m_cubic_splines.F90.
| 
 | private | 
reciprocal of delta
Definition at line 91 of file sll_m_cubic_splines.F90.
| 
 | private | 
left slope, for Hermite:
Definition at line 101 of file sll_m_cubic_splines.F90.
| 
 | private | 
right slope, for Hermite
Definition at line 103 of file sll_m_cubic_splines.F90.
| 
 | private | 
Data required for the 'slow' algorithm based on a standard tridiagonal system solution. Note that we use the same nomenclature as in the sll_m_tridiagonal module.
Definition at line 111 of file sll_m_cubic_splines.F90.
| 
 | private | 
right boundary
Definition at line 93 of file sll_m_cubic_splines.F90.
| 
 | private | 
left boundary
Definition at line 92 of file sll_m_cubic_splines.F90.
 1.9.1
 1.9.1