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.