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

Description

Class for the cubic spline sll_c_interpolator_2d.

Implements the sll_c_interpolator_2d interface

Derived types and interfaces

type  sll_t_cubic_spline_interpolator_2d
 The spline-based interpolator is only a wrapper around the capabilities of the cubic splines. More...
 
type  sll_cubic_spline_interpolator_2d_ptr
 Pointer to this interpolator derived type. More...
 
interface  sll_o_delete
 Deallocate the interpolator object. More...
 

Functions/Subroutines

subroutine delete_sll_cubic_spline_interpolator_2d (interpolator)
 
type(sll_t_cubic_spline_interpolator_2d) function, pointer, public sll_f_new_cubic_spline_interpolator_2d (npts1, npts2, eta1_min, eta1_max, eta2_min, eta2_max, eta1_bc_type, eta2_bc_type, const_eta1_min_slope, const_eta1_max_slope, const_eta2_min_slope, const_eta2_max_slope, eta1_min_slopes, eta1_max_slopes, eta2_min_slopes, eta2_max_slopes)
 Function that return a pointer to a cubic spline interpolator 2d object. The result can be the target of a interpolator 2d base class (sll_c_interpolator_2d) More...
 
subroutine initialize_cs2d_interpolator (interpolator, npts1, npts2, eta1_min, eta1_max, eta2_min, eta2_max, eta1_bc_type, eta2_bc_type, const_eta1_min_slope, const_eta1_max_slope, const_eta2_min_slope, const_eta2_max_slope, eta1_min_slopes, eta1_max_slopes, eta2_min_slopes, eta2_max_slopes)
 
subroutine compute_interpolants_cs2d (interpolator, data_array, eta1_coords, size_eta1_coords, eta2_coords, size_eta2_coords)
 
function interpolate_value_cs2d (interpolator, eta1, eta2)
 
function interpolate_deriv1_cs2d (interpolator, eta1, eta2)
 
function interpolate_deriv2_cs2d (interpolator, eta1, eta2)
 
subroutine spline_interpolate2d (this, num_points1, num_points2, data_in, eta1, eta2, data_out)
 
subroutine spline_interpolate2d_disp (this, num_points1, num_points2, data_in, alpha1, alpha2, data_out)
 
subroutine set_coefficients_cs2d (interpolator, coeffs_1d, coeffs_2d, coeff2d_size1, coeff2d_size2, knots1, size_knots1, knots2, size_knots2)
 
pointer get_coefficients_cs2d (interpolator)
 
logical function coefficients_are_set_cs2d (interpolator)
 

Function/Subroutine Documentation

◆ coefficients_are_set_cs2d()

logical function sll_m_cubic_spline_interpolator_2d::coefficients_are_set_cs2d ( class(sll_t_cubic_spline_interpolator_2d), intent(in)  interpolator)
private

Definition at line 489 of file sll_m_cubic_spline_interpolator_2d.F90.

◆ compute_interpolants_cs2d()

subroutine sll_m_cubic_spline_interpolator_2d::compute_interpolants_cs2d ( class(sll_t_cubic_spline_interpolator_2d), intent(inout)  interpolator,
intent(in)  data_array,
optional  eta1_coords,
optional  size_eta1_coords,
optional  eta2_coords,
optional  size_eta2_coords 
)
private

Definition at line 258 of file sll_m_cubic_spline_interpolator_2d.F90.

Here is the call graph for this function:

◆ delete_sll_cubic_spline_interpolator_2d()

subroutine sll_m_cubic_spline_interpolator_2d::delete_sll_cubic_spline_interpolator_2d ( class(sll_t_cubic_spline_interpolator_2d), intent(inout)  interpolator)
private

Definition at line 119 of file sll_m_cubic_spline_interpolator_2d.F90.

◆ get_coefficients_cs2d()

pointer sll_m_cubic_spline_interpolator_2d::get_coefficients_cs2d ( class(sll_t_cubic_spline_interpolator_2d), intent(in)  interpolator)
private

Definition at line 478 of file sll_m_cubic_spline_interpolator_2d.F90.

◆ initialize_cs2d_interpolator()

subroutine sll_m_cubic_spline_interpolator_2d::initialize_cs2d_interpolator ( class(sll_t_cubic_spline_interpolator_2d), intent(inout)  interpolator,
intent(in)  npts1,
intent(in)  npts2,
intent(in)  eta1_min,
intent(in)  eta1_max,
intent(in)  eta2_min,
intent(in)  eta2_max,
intent(in)  eta1_bc_type,
intent(in)  eta2_bc_type,
optional  const_eta1_min_slope,
optional  const_eta1_max_slope,
optional  const_eta2_min_slope,
optional  const_eta2_max_slope,
optional  eta1_min_slopes,
optional  eta1_max_slopes,
optional  eta2_min_slopes,
optional  eta2_max_slopes 
)
private

Definition at line 195 of file sll_m_cubic_spline_interpolator_2d.F90.

Here is the call graph for this function:

◆ interpolate_deriv1_cs2d()

function sll_m_cubic_spline_interpolator_2d::interpolate_deriv1_cs2d ( class(sll_t_cubic_spline_interpolator_2d), intent(in)  interpolator,
intent(in)  eta1,
intent(in)  eta2 
)
private

Definition at line 289 of file sll_m_cubic_spline_interpolator_2d.F90.

Here is the call graph for this function:

◆ interpolate_deriv2_cs2d()

function sll_m_cubic_spline_interpolator_2d::interpolate_deriv2_cs2d ( class(sll_t_cubic_spline_interpolator_2d), intent(in)  interpolator,
intent(in)  eta1,
intent(in)  eta2 
)
private

Definition at line 297 of file sll_m_cubic_spline_interpolator_2d.F90.

Here is the call graph for this function:

◆ interpolate_value_cs2d()

function sll_m_cubic_spline_interpolator_2d::interpolate_value_cs2d ( class(sll_t_cubic_spline_interpolator_2d), intent(in)  interpolator,
intent(in)  eta1,
intent(in)  eta2 
)
private

Definition at line 281 of file sll_m_cubic_spline_interpolator_2d.F90.

Here is the call graph for this function:

◆ set_coefficients_cs2d()

subroutine sll_m_cubic_spline_interpolator_2d::set_coefficients_cs2d ( class(sll_t_cubic_spline_interpolator_2d), intent(inout)  interpolator,
optional  coeffs_1d,
optional  coeffs_2d,
optional  coeff2d_size1,
optional  coeff2d_size2,
optional  knots1,
optional  size_knots1,
optional  knots2,
optional  size_knots2 
)
private

Definition at line 409 of file sll_m_cubic_spline_interpolator_2d.F90.

◆ sll_f_new_cubic_spline_interpolator_2d()

type(sll_t_cubic_spline_interpolator_2d) function, pointer, public sll_m_cubic_spline_interpolator_2d::sll_f_new_cubic_spline_interpolator_2d ( integer(kind=i32), intent(in)  npts1,
integer(kind=i32), intent(in)  npts2,
real(kind=f64), intent(in)  eta1_min,
real(kind=f64), intent(in)  eta1_max,
real(kind=f64), intent(in)  eta2_min,
real(kind=f64), intent(in)  eta2_max,
integer(kind=i32), intent(in)  eta1_bc_type,
integer(kind=i32), intent(in)  eta2_bc_type,
real(kind=f64), intent(in), optional  const_eta1_min_slope,
real(kind=f64), intent(in), optional  const_eta1_max_slope,
real(kind=f64), intent(in), optional  const_eta2_min_slope,
real(kind=f64), intent(in), optional  const_eta2_max_slope,
real(kind=f64), dimension(:), intent(in), optional  eta1_min_slopes,
real(kind=f64), dimension(:), intent(in), optional  eta1_max_slopes,
real(kind=f64), dimension(:), intent(in), optional  eta2_min_slopes,
real(kind=f64), dimension(:), intent(in), optional  eta2_max_slopes 
)

Function that return a pointer to a cubic spline interpolator 2d object. The result can be the target of a interpolator 2d base class (sll_c_interpolator_2d)

Definition at line 127 of file sll_m_cubic_spline_interpolator_2d.F90.

Here is the caller graph for this function:

◆ spline_interpolate2d()

subroutine sll_m_cubic_spline_interpolator_2d::spline_interpolate2d ( class(sll_t_cubic_spline_interpolator_2d), intent(inout)  this,
intent(in)  num_points1,
intent(in)  num_points2,
intent(in)  data_in,
intent(in)  eta1,
intent(in)  eta2,
dimension(num_points1, num_points2), intent(out)  data_out 
)
private

Definition at line 307 of file sll_m_cubic_spline_interpolator_2d.F90.

Here is the call graph for this function:

◆ spline_interpolate2d_disp()

subroutine sll_m_cubic_spline_interpolator_2d::spline_interpolate2d_disp ( class(sll_t_cubic_spline_interpolator_2d), intent(inout)  this,
intent(in)  num_points1,
intent(in)  num_points2,
intent(in)  data_in,
intent(in)  alpha1,
intent(in)  alpha2,
dimension(num_points1, num_points2), intent(out)  data_out 
)
private

Definition at line 329 of file sll_m_cubic_spline_interpolator_2d.F90.

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