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 | Variables
sll_m_lagrange_interpolator_1d Module Reference

Description

Interpolator class and methods of Lagrange 1D interpolator.

Implements the sll_c_interpolator_1d interface.

Derived types and interfaces

type  sll_t_lagrange_interpolator_1d
 Interpolator class of Lagrange 1D interpolator. More...
 

Functions/Subroutines

subroutine initialize_li1d_interpolator (interpolator, num_points, xmin, xmax, bc_type, d, periodic_last, interval_selection)
 
type(sll_t_lagrange_interpolator_1d) function, pointer new_lagrange_interpolator_1d (num_points, xmin, xmax, bc_type, d, periodic_last)
 
subroutine interpolate_array_disp_li1d (this, num_pts, data, alpha, output_array)
 
subroutine interpolate_array_disp_inplace_li1d (this, num_pts, data, alpha)
 
subroutine interpolate_array_values_li1d (interpolator, num_pts, vals_to_interpolate, output_array)
 
subroutine interpolate_array_derivatives_li1d (interpolator, num_pts, vals_to_interpolate, output_array)
 
real(kind=f64) function interpolate_derivative_eta1_li1d (interpolator, eta1)
 
real(kind=f64) function interpolate_value_li1d (interpolator, eta1)
 
subroutine interpolate_array_li1d (this, num_pts, data, coordinates, output_array)
 
subroutine compute_interpolants_li1d (interpolator, data_array, eta_coords, size_eta_coords)
 
subroutine set_coefficients_li1d (interpolator, coeffs)
 
real(kind=f64) function, dimension(:), pointer get_coefficients_li1d (interpolator)
 

Variables

integer(kind=i32), parameter, public sll_p_lagrange_centered = 0
 Flag to specify Lagrange interpolation centered around the interpolation point. More...
 
integer(kind=i32), parameter, public sll_p_lagrange_fixed = 1
 Flag to specify Lagrange interpolation on a fixed interval centered around the point that is displaced (for interpolate_array_disp) More...
 

Function/Subroutine Documentation

◆ compute_interpolants_li1d()

subroutine sll_m_lagrange_interpolator_1d::compute_interpolants_li1d ( class(sll_t_lagrange_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 301 of file sll_m_lagrange_interpolator_1d.F90.

◆ get_coefficients_li1d()

real(kind=f64) function, dimension(:), pointer sll_m_lagrange_interpolator_1d::get_coefficients_li1d ( class(sll_t_lagrange_interpolator_1d), intent(in)  interpolator)
private

Definition at line 333 of file sll_m_lagrange_interpolator_1d.F90.

◆ initialize_li1d_interpolator()

subroutine sll_m_lagrange_interpolator_1d::initialize_li1d_interpolator ( class(sll_t_lagrange_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,
integer(kind=i32), intent(in)  d,
integer(kind=i32), intent(in), optional  periodic_last,
integer(kind=i32), intent(in), optional  interval_selection 
)
private

Definition at line 89 of file sll_m_lagrange_interpolator_1d.F90.

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

◆ interpolate_array_derivatives_li1d()

subroutine sll_m_lagrange_interpolator_1d::interpolate_array_derivatives_li1d ( class(sll_t_lagrange_interpolator_1d), intent(inout)  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 238 of file sll_m_lagrange_interpolator_1d.F90.

◆ interpolate_array_disp_inplace_li1d()

subroutine sll_m_lagrange_interpolator_1d::interpolate_array_disp_inplace_li1d ( class(sll_t_lagrange_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 201 of file sll_m_lagrange_interpolator_1d.F90.

Here is the call graph for this function:

◆ interpolate_array_disp_li1d()

subroutine sll_m_lagrange_interpolator_1d::interpolate_array_disp_li1d ( class(sll_t_lagrange_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(1:num_pts), intent(out)  output_array 
)
private

Definition at line 169 of file sll_m_lagrange_interpolator_1d.F90.

Here is the call graph for this function:

◆ interpolate_array_li1d()

subroutine sll_m_lagrange_interpolator_1d::interpolate_array_li1d ( class(sll_t_lagrange_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 282 of file sll_m_lagrange_interpolator_1d.F90.

◆ interpolate_array_values_li1d()

subroutine sll_m_lagrange_interpolator_1d::interpolate_array_values_li1d ( class(sll_t_lagrange_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 218 of file sll_m_lagrange_interpolator_1d.F90.

◆ interpolate_derivative_eta1_li1d()

real(kind=f64) function sll_m_lagrange_interpolator_1d::interpolate_derivative_eta1_li1d ( class(sll_t_lagrange_interpolator_1d), intent(in)  interpolator,
real(kind=f64), intent(in)  eta1 
)
private

Definition at line 258 of file sll_m_lagrange_interpolator_1d.F90.

◆ interpolate_value_li1d()

real(kind=f64) function sll_m_lagrange_interpolator_1d::interpolate_value_li1d ( class(sll_t_lagrange_interpolator_1d), intent(in)  interpolator,
real(kind=f64), intent(in)  eta1 
)
private

Definition at line 270 of file sll_m_lagrange_interpolator_1d.F90.

◆ new_lagrange_interpolator_1d()

type(sll_t_lagrange_interpolator_1d) function, pointer sll_m_lagrange_interpolator_1d::new_lagrange_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,
integer(kind=i32), intent(in)  d,
integer(kind=i32), intent(in), optional  periodic_last 
)
private

Definition at line 132 of file sll_m_lagrange_interpolator_1d.F90.

Here is the call graph for this function:

◆ set_coefficients_li1d()

subroutine sll_m_lagrange_interpolator_1d::set_coefficients_li1d ( class(sll_t_lagrange_interpolator_1d), intent(inout)  interpolator,
real(kind=f64), dimension(:), intent(in), optional  coeffs 
)
private

Definition at line 321 of file sll_m_lagrange_interpolator_1d.F90.

Variable Documentation

◆ sll_p_lagrange_centered

integer(kind=i32), parameter, public sll_p_lagrange_centered = 0

Flag to specify Lagrange interpolation centered around the interpolation point.

Definition at line 84 of file sll_m_lagrange_interpolator_1d.F90.

◆ sll_p_lagrange_fixed

integer(kind=i32), parameter, public sll_p_lagrange_fixed = 1

Flag to specify Lagrange interpolation on a fixed interval centered around the point that is displaced (for interpolate_array_disp)

Definition at line 85 of file sll_m_lagrange_interpolator_1d.F90.

    Report Typos and Errors