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

Description

Interpolator with periodic boundary conditions.

the following provides an implementation for the abstract interface sll_c_interpolator_1d Define periodic interpolation of values in data define on original grid at points coordinates

Derived types and interfaces

type  sll_t_periodic_interpolator_1d
 Periodic interpolator. More...
 
interface  sll_o_delete
 Deallocate the interpolator object. More...
 

Functions/Subroutines

type(sll_t_periodic_interpolator_1d) function, pointer new_periodic_1d_interpolator (num_points, xmin, xmax, type, order)
 Create a new interpolator. More...
 
subroutine per_interpolate1d (this, num_pts, data, coordinates, output_array)
 
subroutine per_interpolate1d_disp (this, num_pts, data, alpha, output_array)
 
subroutine per_interpolate1d_disp_inplace (this, num_pts, data, alpha)
 
subroutine compute_interpolants_per1d (interpolator, data_array, eta_coords, size_eta_coords)
 
subroutine interpolate_values_per1d (interpolator, num_pts, vals_to_interpolate, output_array)
 
real(kind=f64) function interpolate_value_per1d (interpolator, eta1)
 
real(kind=f64) function interpolate_deriv1_per1d (interpolator, eta1)
 
subroutine initialize_per1d_interpolator (interpolator, num_points, xmin, xmax, type, order)
 initialize periodic interpolator More...
 
subroutine delete_per1d (obj)
 
subroutine set_coefficients_per1d (interpolator, coeffs)
 
real(kind=f64) function, dimension(:), pointer get_coefficients_per1d (interpolator)
 

Function/Subroutine Documentation

◆ compute_interpolants_per1d()

subroutine sll_m_periodic_interpolator_1d::compute_interpolants_per1d ( class(sll_t_periodic_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 157 of file sll_m_periodic_interpolator_1d.F90.

◆ delete_per1d()

subroutine sll_m_periodic_interpolator_1d::delete_per1d ( class(sll_t_periodic_interpolator_1d obj)
private

Definition at line 293 of file sll_m_periodic_interpolator_1d.F90.

◆ get_coefficients_per1d()

real(kind=f64) function, dimension(:), pointer sll_m_periodic_interpolator_1d::get_coefficients_per1d ( class(sll_t_periodic_interpolator_1d), intent(in)  interpolator)
private

Definition at line 310 of file sll_m_periodic_interpolator_1d.F90.

◆ initialize_per1d_interpolator()

subroutine sll_m_periodic_interpolator_1d::initialize_per1d_interpolator ( class(sll_t_periodic_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)  type,
integer(kind=i32), intent(in)  order 
)
private

initialize periodic interpolator

Definition at line 264 of file sll_m_periodic_interpolator_1d.F90.

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

◆ interpolate_deriv1_per1d()

real(kind=f64) function sll_m_periodic_interpolator_1d::interpolate_deriv1_per1d ( class(sll_t_periodic_interpolator_1d), intent(in)  interpolator,
real(kind=f64), intent(in)  eta1 
)
private

Definition at line 235 of file sll_m_periodic_interpolator_1d.F90.

◆ interpolate_value_per1d()

real(kind=f64) function sll_m_periodic_interpolator_1d::interpolate_value_per1d ( class(sll_t_periodic_interpolator_1d), intent(in)  interpolator,
real(kind=f64), intent(in)  eta1 
)
private

Definition at line 223 of file sll_m_periodic_interpolator_1d.F90.

◆ interpolate_values_per1d()

subroutine sll_m_periodic_interpolator_1d::interpolate_values_per1d ( class(sll_t_periodic_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 182 of file sll_m_periodic_interpolator_1d.F90.

◆ new_periodic_1d_interpolator()

type(sll_t_periodic_interpolator_1d) function, pointer sll_m_periodic_interpolator_1d::new_periodic_1d_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)  type,
integer(kind=i32), intent(in)  order 
)
private

Create a new interpolator.

Definition at line 74 of file sll_m_periodic_interpolator_1d.F90.

Here is the call graph for this function:

◆ per_interpolate1d()

subroutine sll_m_periodic_interpolator_1d::per_interpolate1d ( class(sll_t_periodic_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 98 of file sll_m_periodic_interpolator_1d.F90.

◆ per_interpolate1d_disp()

subroutine sll_m_periodic_interpolator_1d::per_interpolate1d_disp ( class(sll_t_periodic_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

Definition at line 119 of file sll_m_periodic_interpolator_1d.F90.

Here is the call graph for this function:

◆ per_interpolate1d_disp_inplace()

subroutine sll_m_periodic_interpolator_1d::per_interpolate1d_disp_inplace ( class(sll_t_periodic_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 134 of file sll_m_periodic_interpolator_1d.F90.

Here is the call graph for this function:

◆ set_coefficients_per1d()

subroutine sll_m_periodic_interpolator_1d::set_coefficients_per1d ( class(sll_t_periodic_interpolator_1d), intent(inout)  interpolator,
real(kind=f64), dimension(:), intent(in), optional  coeffs 
)
private

Definition at line 298 of file sll_m_periodic_interpolator_1d.F90.

    Report Typos and Errors