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_spline_interpolator_1d Module Reference

Description

Interpolator 1d using cubic splines on regular mesh.

the following provides an implementation for the abstract interface sll_interpolator_1d and define spline interpolation of values in data define on original grid at points coordinates

Derived types and interfaces

type  sll_t_cubic_spline_interpolator_1d
 Cubic spline interpolator 1d regular grid. More...
 
type  sll_cubic_spline_interpolator_1d_ptr
 Pointer to cubic spline interpolator implementation 1D. More...
 
interface  sll_o_delete
 Deallocate the interpolator object. More...
 

Functions/Subroutines

subroutine spline_interpolate1d (this, num_pts, data, coordinates, output_array)
 
subroutine spline_interpolate1d_disp (this, num_pts, data, alpha, output_array)
 Computes the interpolated values at each grid point replaced by alpha using cubic spline interpolation. More...
 
subroutine spline_interpolate1d_disp_inplace (this, num_pts, data, alpha)
 
subroutine compute_interpolants_cs1d (interpolator, data_array, eta_coords, size_eta_coords)
 
subroutine interpolate_values_cs1d (interpolator, num_pts, vals_to_interpolate, output_array)
 
subroutine interpolate_derivatives_cs1d (interpolator, num_pts, vals_to_interpolate, output_array)
 
real(kind=f64) function interpolate_value_cs1d (interpolator, eta1)
 
real(kind=f64) function interpolate_deriv1_cs1d (interpolator, eta1)
 
type(sll_t_cubic_spline_interpolator_1d) function, pointer, public sll_f_new_cubic_spline_interpolator_1d (num_points, xmin, xmax, bc_type, slope_left, slope_right, fast_algorithm)
 
subroutine initialize_cs1d_interpolator (interpolator, num_points, xmin, xmax, bc_type, slope_left, slope_right, fast_algorithm)
 initialize cubic spline interpolator More...
 
subroutine delete_cs1d (obj)
 
subroutine set_coefficients_cs1d (interpolator, coeffs)
 
real(kind=f64) function, dimension(:), pointer get_coefficients_cs1d (interpolator)
 

Function/Subroutine Documentation

◆ compute_interpolants_cs1d()

subroutine sll_m_cubic_spline_interpolator_1d::compute_interpolants_cs1d ( class(sll_t_cubic_spline_interpolator_1d), intent(inout)  interpolator,
real(kind=f64), dimension(:), intent(in)  data_array,
real(kind=f64), dimension(:), intent(in), optional  eta_coords,
integer(kind=i32), intent(in), optional  size_eta_coords 
)
private

Definition at line 182 of file sll_m_cubic_spline_interpolator_1d.F90.

Here is the call graph for this function:

◆ delete_cs1d()

subroutine sll_m_cubic_spline_interpolator_1d::delete_cs1d ( class(sll_t_cubic_spline_interpolator_1d obj)
private

Definition at line 383 of file sll_m_cubic_spline_interpolator_1d.F90.

◆ get_coefficients_cs1d()

real(kind=f64) function, dimension(:), pointer sll_m_cubic_spline_interpolator_1d::get_coefficients_cs1d ( class(sll_t_cubic_spline_interpolator_1d), intent(in)  interpolator)
private

Definition at line 400 of file sll_m_cubic_spline_interpolator_1d.F90.

◆ initialize_cs1d_interpolator()

subroutine sll_m_cubic_spline_interpolator_1d::initialize_cs1d_interpolator ( class(sll_t_cubic_spline_interpolator_1d), intent(inout)  interpolator,
integer(kind=i32), intent(in)  num_points,
real(kind=f64), intent(in)  xmin,
real(kind=f64), intent(in)  xmax,
integer(kind=i32), intent(in)  bc_type,
real(kind=f64), intent(in), optional  slope_left,
real(kind=f64), intent(in), optional  slope_right,
logical, intent(in), optional  fast_algorithm 
)
private

initialize cubic spline interpolator

Definition at line 317 of file sll_m_cubic_spline_interpolator_1d.F90.

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

◆ interpolate_deriv1_cs1d()

real(kind=f64) function sll_m_cubic_spline_interpolator_1d::interpolate_deriv1_cs1d ( class(sll_t_cubic_spline_interpolator_1d), intent(in)  interpolator,
real(kind=f64), intent(in)  eta1 
)
private

Definition at line 236 of file sll_m_cubic_spline_interpolator_1d.F90.

Here is the call graph for this function:

◆ interpolate_derivatives_cs1d()

subroutine sll_m_cubic_spline_interpolator_1d::interpolate_derivatives_cs1d ( class(sll_t_cubic_spline_interpolator_1d), intent(in)  interpolator,
integer(kind=i32), intent(in)  num_pts,
real(kind=f64), dimension(:), intent(in)  vals_to_interpolate,
real(kind=f64), dimension(:), intent(out)  output_array 
)
private

Definition at line 216 of file sll_m_cubic_spline_interpolator_1d.F90.

Here is the call graph for this function:

◆ interpolate_value_cs1d()

real(kind=f64) function sll_m_cubic_spline_interpolator_1d::interpolate_value_cs1d ( class(sll_t_cubic_spline_interpolator_1d), intent(in)  interpolator,
real(kind=f64), intent(in)  eta1 
)
private

Definition at line 229 of file sll_m_cubic_spline_interpolator_1d.F90.

Here is the call graph for this function:

◆ interpolate_values_cs1d()

subroutine sll_m_cubic_spline_interpolator_1d::interpolate_values_cs1d ( class(sll_t_cubic_spline_interpolator_1d), intent(inout)  interpolator,
integer(kind=i32), intent(in)  num_pts,
real(kind=f64), dimension(num_pts), intent(in)  vals_to_interpolate,
real(kind=f64), dimension(num_pts), intent(out)  output_array 
)
private

Definition at line 203 of file sll_m_cubic_spline_interpolator_1d.F90.

Here is the call graph for this function:

◆ set_coefficients_cs1d()

subroutine sll_m_cubic_spline_interpolator_1d::set_coefficients_cs1d ( class(sll_t_cubic_spline_interpolator_1d), intent(inout)  interpolator,
real(kind=f64), dimension(:), intent(in), optional  coeffs 
)
private

Definition at line 388 of file sll_m_cubic_spline_interpolator_1d.F90.

◆ sll_f_new_cubic_spline_interpolator_1d()

type(sll_t_cubic_spline_interpolator_1d) function, pointer, public sll_m_cubic_spline_interpolator_1d::sll_f_new_cubic_spline_interpolator_1d ( integer(kind=i32), intent(in)  num_points,
real(kind=f64), intent(in)  xmin,
real(kind=f64), intent(in)  xmax,
integer(kind=i32), intent(in)  bc_type,
real(kind=f64), intent(in), optional  slope_left,
real(kind=f64), intent(in), optional  slope_right,
logical, intent(in), optional  fast_algorithm 
)

Definition at line 252 of file sll_m_cubic_spline_interpolator_1d.F90.

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

◆ spline_interpolate1d()

subroutine sll_m_cubic_spline_interpolator_1d::spline_interpolate1d ( class(sll_t_cubic_spline_interpolator_1d), intent(inout)  this,
integer(kind=i32), intent(in)  num_pts,
real(kind=f64), dimension(:), intent(in)  data,
real(kind=f64), dimension(num_pts), intent(in)  coordinates,
real(kind=f64), dimension(num_pts), intent(out)  output_array 
)
private

Definition at line 97 of file sll_m_cubic_spline_interpolator_1d.F90.

Here is the call graph for this function:

◆ spline_interpolate1d_disp()

subroutine sll_m_cubic_spline_interpolator_1d::spline_interpolate1d_disp ( class(sll_t_cubic_spline_interpolator_1d), intent(inout)  this,
integer(kind=i32), intent(in)  num_pts,
real(kind=f64), dimension(:), intent(in)  data,
real(kind=f64), intent(in)  alpha,
real(kind=f64), dimension(num_pts), intent(out)  output_array 
)
private

Computes the interpolated values at each grid point replaced by alpha using cubic spline interpolation.

Definition at line 112 of file sll_m_cubic_spline_interpolator_1d.F90.

Here is the call graph for this function:

◆ spline_interpolate1d_disp_inplace()

subroutine sll_m_cubic_spline_interpolator_1d::spline_interpolate1d_disp_inplace ( class(sll_t_cubic_spline_interpolator_1d), intent(inout)  this,
integer(kind=i32), intent(in)  num_pts,
real(kind=f64), dimension(num_pts), intent(inout)  data,
real(kind=f64), intent(in)  alpha 
)
private

Definition at line 128 of file sll_m_cubic_spline_interpolator_1d.F90.

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