Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
Derived types and interfaces | Functions/Subroutines
sll_m_cubic_non_uniform_splines Module Reference

Description

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)
 

Function/Subroutine Documentation

◆ compute_spline_nonunif_1d_hermite()

subroutine sll_m_cubic_non_uniform_splines::compute_spline_nonunif_1d_hermite ( real(kind=f64), dimension(:), intent(in), target  f,
type(sll_t_cubic_nonunif_spline_1d), pointer  spline 
)
private

Definition at line 204 of file sll_m_cubic_non_uniform_splines.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_spline_nonunif_1d_hermite_aux()

subroutine sll_m_cubic_non_uniform_splines::compute_spline_nonunif_1d_hermite_aux ( real(kind=f64), dimension(:), pointer  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,
real(kind=f64), dimension(4, 2), intent(in)  lift 
)
private

Definition at line 433 of file sll_m_cubic_non_uniform_splines.F90.

Here is the caller graph for this function:

◆ compute_spline_nonunif_1d_periodic()

subroutine sll_m_cubic_non_uniform_splines::compute_spline_nonunif_1d_periodic ( real(kind=f64), dimension(:), intent(in), target  f,
type(sll_t_cubic_nonunif_spline_1d), pointer  spline 
)
private

Definition at line 175 of file sll_m_cubic_non_uniform_splines.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_spline_nonunif_1d_periodic_aux()

subroutine sll_m_cubic_non_uniform_splines::compute_spline_nonunif_1d_periodic_aux ( real(kind=f64), dimension(:), pointer  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 
)
private

Definition at line 356 of file sll_m_cubic_non_uniform_splines.F90.

Here is the caller graph for this function:

◆ delete_cubic_nonunif_spline_1d()

subroutine sll_m_cubic_non_uniform_splines::delete_cubic_nonunif_spline_1d ( type(sll_t_cubic_nonunif_spline_1d), pointer  spline,
integer(kind=i32)  ierr 
)
private

delete spline object

Definition at line 102 of file sll_m_cubic_non_uniform_splines.F90.

◆ interpolate_value_nonunif()

real(kind=f64) function sll_m_cubic_non_uniform_splines::interpolate_value_nonunif ( real(kind=f64), intent(in)  x,
type(sll_t_cubic_nonunif_spline_1d), pointer  spline 
)
private

get spline interpolate at point x

Definition at line 458 of file sll_m_cubic_non_uniform_splines.F90.

◆ setup_spline_nonunif_1d_hermite_aux()

subroutine sll_m_cubic_non_uniform_splines::setup_spline_nonunif_1d_hermite_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 
)
private

Definition at line 305 of file sll_m_cubic_non_uniform_splines.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sll_f_new_cubic_nonunif_spline_1d()

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.

Here is the caller graph for this function:

◆ sll_s_compute_spline_nonunif()

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.

Here is the call graph for this function:

◆ sll_s_compute_spline_nonunif_1d_periodic_aux2()

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.

Here is the caller graph for this function:

◆ sll_s_cubic_nonunif_spline_1d_init()

subroutine sll_m_cubic_non_uniform_splines::sll_s_cubic_nonunif_spline_1d_init ( class(sll_t_cubic_nonunif_spline_1d self,
integer(kind=i32), intent(in)  n_cells,
integer(kind=i32), intent(in)  bc_type 
)
private

Initialize spline object.

Definition at line 77 of file sll_m_cubic_non_uniform_splines.F90.

◆ sll_s_interpolate_array_value_nonunif()

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.

◆ sll_s_interpolate_array_value_nonunif_aux()

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.

Here is the caller graph for this function:

◆ sll_s_setup_spline_nonunif_1d_periodic_aux()

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.

Here is the call graph for this function:
Here is the caller graph for this function:
    Report Typos and Errors