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.