|  | Semi-Lagrangian Library
    Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices. | 
Provides capabilities for data interpolation with cubic B-splines on non-uniform meshes.
| Derived types and interfaces | |
| type | sll_t_cubic_nonunif_spline_1d | 
| Spline object.  More... | |
| interface | sll_o_delete | 
| Functions/Subroutines | |
| type(sll_t_cubic_nonunif_spline_1d) function, pointer, public | sll_f_new_cubic_nonunif_spline_1d (n_cells, bc_type) | 
| create new spline object  More... | |
| subroutine | sll_s_cubic_nonunif_spline_1d_init (self, n_cells, bc_type) | 
| Initialize spline object.  More... | |
| subroutine | delete_cubic_nonunif_spline_1d (spline, ierr) | 
| delete spline object  More... | |
| subroutine, public | sll_s_compute_spline_nonunif (f, spline, node_positions, sl, sr) | 
| compute splines coefficients  More... | |
| subroutine | compute_spline_nonunif_1d_periodic (f, spline) | 
| subroutine | compute_spline_nonunif_1d_hermite (f, spline) | 
| subroutine, public | sll_s_setup_spline_nonunif_1d_periodic_aux (node_pos, N, buf, ibuf) | 
| subroutine | setup_spline_nonunif_1d_hermite_aux (node_pos, N, buf, ibuf) | 
| subroutine | compute_spline_nonunif_1d_periodic_aux (f, N, buf, ibuf, coeffs) | 
| subroutine, public | sll_s_compute_spline_nonunif_1d_periodic_aux2 (f, N, buf, ibuf, coeffs) | 
| subroutine | compute_spline_nonunif_1d_hermite_aux (f, N, buf, ibuf, coeffs, lift) | 
| real(kind=f64) function | interpolate_value_nonunif (x, spline) | 
| get spline interpolate at point x  More... | |
| subroutine, public | sll_s_interpolate_array_value_nonunif (a_in, a_out, n, spline) | 
| get spline interpolate on an array of points  More... | |
| subroutine, public | sll_s_interpolate_array_value_nonunif_aux (a_in, a_out, n, node_pos, coeffs, n_cells) | 
| 
 | private | 
Definition at line 204 of file sll_m_cubic_non_uniform_splines.F90.
| 
 | private | 
Definition at line 433 of file sll_m_cubic_non_uniform_splines.F90.
| 
 | private | 
Definition at line 175 of file sll_m_cubic_non_uniform_splines.F90.
| 
 | private | 
Definition at line 356 of file sll_m_cubic_non_uniform_splines.F90.
| 
 | private | 
delete spline object
Definition at line 102 of file sll_m_cubic_non_uniform_splines.F90.
| 
 | private | 
get spline interpolate at point x
Definition at line 458 of file sll_m_cubic_non_uniform_splines.F90.
| 
 | private | 
Definition at line 305 of file sll_m_cubic_non_uniform_splines.F90.
| type(sll_t_cubic_nonunif_spline_1d) function, pointer, public sll_m_cubic_non_uniform_splines::sll_f_new_cubic_nonunif_spline_1d | ( | integer(kind=i32), intent(in) | n_cells, | 
| integer(kind=i32), intent(in) | bc_type | ||
| ) | 
create new spline object
Definition at line 64 of file sll_m_cubic_non_uniform_splines.F90.
| subroutine, public sll_m_cubic_non_uniform_splines::sll_s_compute_spline_nonunif | ( | real(kind=f64), dimension(:), intent(in) | f, | 
| type(sll_t_cubic_nonunif_spline_1d), pointer | spline, | ||
| real(kind=f64), dimension(:), intent(in), optional | node_positions, | ||
| real(kind=f64), intent(in), optional | sl, | ||
| real(kind=f64), intent(in), optional | sr | ||
| ) | 
compute splines coefficients
Definition at line 114 of file sll_m_cubic_non_uniform_splines.F90.
| subroutine, public sll_m_cubic_non_uniform_splines::sll_s_compute_spline_nonunif_1d_periodic_aux2 | ( | real(kind=f64), dimension(:) | f, | 
| integer(kind=i32), intent(in) | N, | ||
| real(kind=f64), dimension(:), pointer | buf, | ||
| integer(kind=i32), dimension(:), pointer | ibuf, | ||
| real(kind=f64), dimension(:), pointer | coeffs | ||
| ) | 
Definition at line 383 of file sll_m_cubic_non_uniform_splines.F90.
| 
 | private | 
Initialize spline object.
Definition at line 77 of file sll_m_cubic_non_uniform_splines.F90.
| subroutine, public sll_m_cubic_non_uniform_splines::sll_s_interpolate_array_value_nonunif | ( | real(kind=f64), dimension(1:n), intent(in) | a_in, | 
| real(kind=f64), dimension(1:n), intent(out) | a_out, | ||
| integer(kind=i32), intent(in) | n, | ||
| type(sll_t_cubic_nonunif_spline_1d), pointer | spline | ||
| ) | 
get spline interpolate on an array of points
Definition at line 504 of file sll_m_cubic_non_uniform_splines.F90.
| subroutine, public sll_m_cubic_non_uniform_splines::sll_s_interpolate_array_value_nonunif_aux | ( | real(kind=f64), dimension(1:n), intent(in) | a_in, | 
| real(kind=f64), dimension(1:n), intent(out) | a_out, | ||
| integer(kind=i32), intent(in) | n, | ||
| real(kind=f64), dimension(:), pointer | node_pos, | ||
| real(kind=f64), dimension(:), pointer | coeffs, | ||
| integer(kind=i32), intent(in) | n_cells | ||
| ) | 
Definition at line 593 of file sll_m_cubic_non_uniform_splines.F90.
| subroutine, public sll_m_cubic_non_uniform_splines::sll_s_setup_spline_nonunif_1d_periodic_aux | ( | real(kind=f64), dimension(:), pointer | node_pos, | 
| integer(kind=i32), intent(in) | N, | ||
| real(kind=f64), dimension(:), pointer | buf, | ||
| integer(kind=i32), dimension(:), pointer | ibuf | ||
| ) | 
Definition at line 272 of file sll_m_cubic_non_uniform_splines.F90.
 1.9.1
 1.9.1