Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
Private Attributes | List of all members
sll_t_cubic_spline_1d Type Reference

basic type for one-dimensional cubic spline data. More...

Collaboration diagram for sll_t_cubic_spline_1d:

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...
 

Detailed Description

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.

Member Data Documentation

◆ a

real(kind=f64), dimension(:), pointer, private a => null()
private

Tridiagonal solver data.

Definition at line 113 of file sll_m_cubic_splines.F90.

◆ bc_type

integer(kind=i32), private bc_type
private

periodic, hermite

Definition at line 94 of file sll_m_cubic_splines.F90.

◆ coeffs

real(kind=f64), dimension(:), pointer, private coeffs => null()
private

the spline coeffs

Definition at line 99 of file sll_m_cubic_splines.F90.

◆ compute_slope_l

logical, private compute_slope_l
private

Definition at line 105 of file sll_m_cubic_splines.F90.

◆ compute_slope_r

logical, private compute_slope_r
private

Definition at line 107 of file sll_m_cubic_splines.F90.

◆ cts

real(kind=f64), dimension(:), pointer, private cts => null()
private

Tridiagonal solver data.

Definition at line 115 of file sll_m_cubic_splines.F90.

◆ d

real(kind=f64), dimension(:), pointer, private d => null()
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.

◆ delta

real(kind=f64), private delta
private

discretization step

Definition at line 90 of file sll_m_cubic_splines.F90.

◆ f_aux

real(kind=f64), dimension(:), pointer, private f_aux => null()
private

Hermite needs extended f array:

Definition at line 119 of file sll_m_cubic_splines.F90.

◆ ipiv

integer(kind=i32), dimension(:), pointer, private ipiv => null()
private

Tridiagonal solver data.

Definition at line 117 of file sll_m_cubic_splines.F90.

◆ n_points

integer(kind=i32), private n_points
private

size

Definition at line 89 of file sll_m_cubic_splines.F90.

◆ rdelta

real(kind=f64), private rdelta
private

reciprocal of delta

Definition at line 91 of file sll_m_cubic_splines.F90.

◆ slope_l

real(kind=f64), private slope_l
private

left slope, for Hermite:

Definition at line 101 of file sll_m_cubic_splines.F90.

◆ slope_r

real(kind=f64), private slope_r
private

right slope, for Hermite

Definition at line 103 of file sll_m_cubic_splines.F90.

◆ use_fast_algorithm

logical, private use_fast_algorithm
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.

◆ xmax

real(kind=f64), private xmax
private

right boundary

Definition at line 93 of file sll_m_cubic_splines.F90.

◆ xmin

real(kind=f64), private xmin
private

left boundary

Definition at line 92 of file sll_m_cubic_splines.F90.

    Report Typos and Errors