Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
Data Types | Modules | Functions/Subroutines | Variables
sll_m_cubic_splines.F90 File Reference
#include "sll_assert.h"
#include "sll_errors.h"
#include "sll_memory.h"
#include "sll_working_precision.h"
Include dependency graph for sll_m_cubic_splines.F90:

Go to the source code of this file.

Data Types

type  sll_t_cubic_spline_1d
 basic type for one-dimensional cubic spline data. More...
 
type  sll_t_cubic_spline_2d
 Basic type for one-dimensional cubic spline data. More...
 

Modules

module  sll_m_cubic_splines
 Provides capabilities for data and derivative interpolation with cubic B-splines and different boundary conditions.
 

Functions/Subroutines

subroutine, public sll_s_cubic_spline_1d_init (self, num_points, xmin, xmax, bc_type, sl, sr, fast_algorithm)
 Returns a pointer to a heap-allocated cubic spline object. More...
 
subroutine, public sll_s_cubic_spline_1d_compute_interpolant (f, spline)
 Computes the cubic spline coefficients corresponding to the 1D data array 'f'. More...
 
subroutine compute_spline_1d_periodic_aux (f, num_pts, d, coeffs)
 
subroutine compute_spline_1d_hermite_aux (f, num_pts, d, slope_l, slope_r, delta, coeffs)
 
subroutine compute_spline_1d_periodic (f, spline)
 
subroutine compute_spline_1d_hermite (f, spline)
 
real(kind=f64) function interpolate_value_aux (x, xmin, rh, coeffs)
 
real(kind=f64) function, public sll_f_cubic_spline_1d_eval (x, spline)
 returns the value of the interpolated image of the abscissa x, using the spline coefficients stored in the spline object. More...
 
subroutine, public sll_s_cubic_spline_1d_eval_array (a_in, a_out, n, spline)
 returns the values of the images of a collection of abscissae, represented by a 1D array in another output array. The spline coefficients used are stored in the spline object pointer. More...
 
subroutine interpolate_pointer_values (ptr_in, ptr_out, n, spline)
 returns the values of the images of a collection of abscissae, More...
 
real(kind=f64) function interpolate_derivative_aux (x, xmin, rh, coeffs)
 
real(kind=f64) function, public sll_f_cubic_spline_1d_eval_deriv (x, spline)
 returns the value of the derivative at the image of the abscissa 'x', using the spline coefficients stored in the spline object. More...
 
subroutine, public sll_s_cubic_spline_1d_eval_array_deriv (array_in, array_out, num_pts, spline)
 returns the values of the derivatives evaluated at a collection of abscissae stored in the input 1D array and stores the results in a different output array. The spline coefficients used are stored in the spline object pointer. More...
 
subroutine interpolate_pointer_derivatives (ptr_in, ptr_out, num_pts, spline)
 analogous to the sll_s_cubic_spline_1d_eval_array_deriv() subroutine but its input and output arrays are pointers. More...
 
subroutine, public sll_s_cubic_spline_1d_free (spline)
 deallocate the sll_t_cubic_spline_1d object More...
 
type(sll_t_cubic_spline_2d) function, pointer sll_f_new_cubic_spline_2d (num_pts_x1, num_pts_x2, x1_min, x1_max, x2_min, x2_max, x1_bc_type, x2_bc_type, const_slope_x1_min, const_slope_x1_max, const_slope_x2_min, const_slope_x2_max, x1_min_slopes, x1_max_slopes, x2_min_slopes, x2_max_slopes)
 Returns a pointer to a heap-allocated 2D cubic spline object. More...
 
subroutine, public sll_s_cubic_spline_2d_init (this, num_pts_x1, num_pts_x2, x1_min, x1_max, x2_min, x2_max, x1_bc_type, x2_bc_type, const_slope_x1_min, const_slope_x1_max, const_slope_x2_min, const_slope_x2_max, x1_min_slopes, x1_max_slopes, x2_min_slopes, x2_max_slopes)
 
subroutine compute_spline_2d_prdc_prdc (data, spline)
 
subroutine compute_spline_2d_hrmt_prdc (data, spline)
 
subroutine compute_spline_2d_prdc_hrmt (data, spline)
 
subroutine compute_spline_2d_hrmt_hrmt (data, spline)
 
subroutine, public sll_s_cubic_spline_2d_compute_interpolant (data, spline)
 Computes the spline coefficients for the given data. The coeffcients are first computed in the second direction of the array (i.e. the x2 direction) and then in the first (x1) direction. More...
 
subroutine, public sll_s_cubic_spline_2d_deposit_value (x1, x2, spline, a_out)
 Updated distribution function at time \( t^{n+1} \). More...
 
real(kind=f64) function, public sll_f_cubic_spline_2d_eval (x1, x2, spline)
 Returns the interpolated value of the image of the point (x1,x2) using the spline decomposition stored in the spline object. More...
 
real(kind=f64) function, public sll_f_cubic_spline_2d_eval_deriv_x1 (x1, x2, spline)
 Returns the interpolated value of the derivative in the x1 direction at the point (x1,x2) using the spline decomposition stored in the spline object. More...
 
real(kind=f64) function, public sll_f_cubic_spline_2d_eval_deriv_x2 (x1, x2, spline)
 Returns the interpolated value of the derivative. More...
 
subroutine, public sll_s_cubic_spline_2d_get_coeff (spline, coeff)
 
subroutine, public sll_s_cubic_spline_2d_free (spline)
 
subroutine, public sll_s_cubic_spline_1d_eval_disp (spline, alpha, output_array)
 Computes the interpolated values at each grid point replaced by alpha for the precomputed spline coefficients. More...
 
subroutine spline_interpolate_from_interpolant_cell_dx (spline, cell, dx, out)
 Helper function for sll_s_cubic_spline_1d_eval_disp: evaluate spline in given cell and normalized displacement dx. More...
 

Variables

real(kind=f64), parameter inv_6 = 1._f64/6._f64
 
    Report Typos and Errors