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_splines_pp.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_splines_pp.F90:

Go to the source code of this file.

Data Types

type  sll_t_spline_pp_1d
 arbitrary degree 1d spline More...
 
type  sll_t_spline_pp_2d
 arbitrary degree 2d spline More...
 
type  sll_t_spline_pp_3d
 arbitrary degree 3d spline More...
 

Modules

module  sll_m_splines_pp
 Splines in pp form.
 

Functions/Subroutines

subroutine, public sll_s_spline_pp_pp_to_b_1d (self, n_cells, pp_coeffs, b_coeffs)
 Compute b_coeffs from coefficients of the monomials (in pp_coeffs) More...
 
subroutine sll_s_spline_pp_b_to_pp_1d_clamped (self, n_cells, b_coeffs, pp_coeffs)
 Convert 1d spline in B form to spline in pp form for clamped spline. More...
 
subroutine sll_s_spline_pp_b_to_pp_1d_clamped_clampeddiri (self, n_cells, b_coeffs, pp_coeffs)
 Convert 1d spline in B form to spline in pp form for clamped spline and Dirichlet conditions on the right boundary. More...
 
subroutine, public sll_s_spline_pp_b_to_pp_1d (self, n_cells, b_coeffs, pp_coeffs)
 Convert 1d spline in B form to spline in pp form with periodic boundary conditions. More...
 
subroutine sll_s_spline_pp_b_to_pp_1d_cell (self, b_coeffs, pp_coeffs)
 Convert 1d spline in B form in a cell to spline in pp form with periodic boundary conditions. More...
 
subroutine sll_s_spline_pp_b_to_pp_1d_cella (degree, pp_b, b_coeffs, pp_coeffs)
 Convert 1d spline in B form in a cell to spline in pp form for specified pp_coefficients of the b_splines. More...
 
subroutine, public sll_s_spline_pp_b_to_pp_2d_periodic (self, n_cells, b_coeffs, pp_coeffs)
 Convert 2d spline in B form to spline in pp form with periodic boundary conditions This is a special case of the procedure sll_s_spline_pp_b_to_pp_2d for the double periodic case to avoid the select case statements. More...
 
subroutine, public sll_s_spline_pp_b_to_pp_2d (self, n_cells, b_coeffs, pp_coeffs)
 Convert 2d spline in B form to spline in pp form. More...
 
subroutine sll_s_spline_pp_b_to_pp_2d_cell (spline1, spline2, n_cells, b_coeffs, pp_coeffs, i, j)
 Convert 2d spline in B form in a cell to spline in pp form with periodic boundary conditions. More...
 
subroutine, public sll_s_spline_pp_b_to_pp_3d (self, n_cells, b_coeffs, pp_coeffs)
 Convert 3d spline in B form to spline in pp form with periodic boundary conditions. More...
 
subroutine sll_s_spline_pp_b_to_pp_3d_cell (self, n_cells, b_coeffs, pp_coeffs, i, j, k)
 Convert 3d spline in B form in a cell to spline in pp form with periodic boundary conditions. More...
 
subroutine sll_s_spline_pp_b_to_pp_3d_cella (self, n_cells, b_coeffs, pp_coeffs, i, j, k)
 Convert 3d spline in B form in a cell to spline in pp form with clamped boundary in first direction and periodic boundary conditions in the other directions. More...
 
subroutine sll_s_spline_pp_b_to_pp_3d_cella2f (self, n_cells, b_coeffs, pp_coeffs, i, j, k)
 Convert 3d spline in B form in a cell to spline in pp form with clamped boundary in all three directions. More...
 
subroutine sll_s_spline_pp_b_to_pp_3d_cellaf (self, n_cells, b_coeffs, pp_coeffs, i, j, k)
 Convert 3d spline in B form in a cell to spline in pp form with clamped boundary in all three directions. More...
 
subroutine, public sll_s_spline_pp_b_to_pp_3d_clamped (self, n_cells, b_coeffs, pp_coeffs)
 Convert 3d spline in B form to spline in pp form for clamped spline. More...
 
subroutine, public sll_s_spline_pp_b_to_pp_3d_clamped_2full (self, n_cells, b_coeffs, pp_coeffs)
 Convert 3d spline in B form to spline in pp form for clamped spline. More...
 
subroutine sll_s_spline_pp_b_to_pp_3d_clamped_full (self, n_cells, b_coeffs, pp_coeffs)
 Convert 3d spline in B form to spline in pp form for clamped spline. More...
 
subroutine, public sll_s_spline_evaluate_basis_b_form_1d_clamped (self, n_cells, b_coeffs, val)
 
subroutine, public sll_s_spline_evaluate_basis_b_form_1d_periodic (self, n_cells, b_coeffs, val)
 
subroutine sll_s_spline_evaluate_basis_pp_form_1d (self, n_cells, pp_coeffs, val)
 
subroutine, public sll_s_spline_evaluate_basis_b_form_3d_clamped (self, n_cells, b_coeffs, val)
 
subroutine, public sll_s_spline_evaluate_basis_b_form_3d_periodic (self, n_cells, b_coeffs, val)
 
subroutine sll_s_spline_evaluate_basis_pp_form_3d (self, n_cells, pp_coeffs, val)
 
subroutine, public sll_s_spline_pp_horner_m_1d (self, val, degree, x)
 Perform a 1d hornerschema on the poly_coeffs. More...
 
subroutine, public sll_s_spline_pp_horner_m_2d (self, val, degree, x)
 Perform two times a 1d hornerschema on the poly_coeffs. More...
 
subroutine, public sll_s_spline_pp_horner_m_3d (self, val, degree, x)
 Perform three times a 1d hornerschema on the poly_coeffs. More...
 
subroutine, public sll_s_spline_pp_horner_primitive_1d (val, degree, pp_coeffs, x)
 Perform a 1d hornerschema on the pp_coeffs evaluate at x. More...
 
real(kind=f64) function, public sll_f_spline_pp_horner_1d (degree, pp_coeffs, x, index)
 Perform a 1d hornerschema on the pp_coeffs at index. More...
 
real(kind=f64) function sll_f_spline_pp_horner_derivative_1d (degree, pp_coeffs, x, index)
 Perform a 1d hornerschema on the pp_coeffs at index. More...
 
real(kind=f64) function, public sll_f_spline_pp_horner_2d (degree, pp_coeffs, x, indices, n_cells)
 Perform a 2d hornerschema on the pp_coeffs at the indices. More...
 
real(kind=f64) function, public sll_f_spline_pp_horner_3d (degree, pp_coeffs, x, indices, n_cells)
 Perform a 3d hornerschema on the pp_coeffs at the indices. More...
 
real(kind=f64) function, public sll_f_spline_pp_horner_3d_d1 (degree, pp_coeffs, x, indices, n_cells)
 Perform a 3d hornerschema on the pp_coeffs at the indices. More...
 
real(kind=f64) function, public sll_f_spline_pp_horner_3d_d2 (degree, pp_coeffs, x, indices, n_cells)
 Perform a 3d hornerschema on the pp_coeffs at the indices. More...
 
real(kind=f64) function, public sll_f_spline_pp_horner_3d_d3 (degree, pp_coeffs, x, indices, n_cells)
 Perform a 3d hornerschema on the pp_coeffs at the indices. More...
 
real(kind=f64) function, public sll_f_spline_pp_horner_derivative_3d (degree, pp_coeffs, x, indices, n_cells, component)
 Perform a 3d hornerschema on the pp_coeffs at the indices. More...
 
subroutine, public sll_s_spline_pp_init_1d (self, degree, n_cells, boundary)
 Initialize sll_t_spline_pp_1d object (Set poly_coeffs depending on degree) More...
 
subroutine, public sll_s_spline_pp_init_2d (self, degree, n_cells, boundary)
 Initialize sll_t_spline_pp_2d object. More...
 
subroutine, public sll_s_spline_pp_init_3d (self, degree, n_cells, boundary)
 Initialize sll_t_spline_pp_3d object. More...
 
subroutine, public sll_s_spline_pp_free_1d (self)
 Destructor 1d. More...
 
subroutine, public sll_s_spline_pp_free_2d (self)
 Destructor 2d. More...
 
subroutine, public sll_s_spline_pp_free_3d (self)
 Destructor 3d. More...
 

Variables

integer(kind=i32), parameter, public sll_p_boundary_periodic = 0
 Parameter to specify boundary conditions. More...
 
integer(kind=i32), parameter, public sll_p_boundary_clamped = 1
 Parameter specifying clamped boundary conditions. More...
 
integer(kind=i32), parameter, public sll_p_boundary_clamped_clampeddiri = 2
 Parameter specifying clamped boundary conditions with the last point left out (for Dirichlet conditions on the right side of the domain) More...
 
integer(kind=i32), parameter, public sll_p_boundary_clampeddiri = 3
 Parameter specifying clamped boundary conditions with the first and last point left out (for Dirichlet conditions) More...
 
integer(kind=i32), parameter, public sll_p_boundary_clampeddiri_clamped = 4
 Parameter specifying clamped boundary conditions with the first point left out (for Dirichlet conditions on the left side of the domain) More...
 
integer(kind=i32), parameter, public sll_p_boundary_clamped_square = 5
 Parameter specifying clamped boundary conditions with square spline for the 0-form, boundary spline of degree 2 is set to zero. More...
 
integer(kind=i32), parameter, public sll_p_boundary_clamped_cubic = 6
 Parameter specifying clamped boundary conditions with a cubic spline for the 0-form, boundary spline of degree 3 is set to zero. More...
 
real(kind=f64), parameter inv_2 = 1._f64/2._f64
 
real(kind=f64), parameter inv_3 = 1._f64/3._f64
 
real(kind=f64), parameter inv_4 = 1._f64/4._f64
 
real(kind=f64), parameter inv_6 = 1._f64/6._f64
 
real(kind=f64), parameter inv_7 = 1._f64/7._f64
 
real(kind=f64), parameter inv_8 = 1._f64/8._f64
 
real(kind=f64), parameter inv_12 = 1._f64/12._f64
 
real(kind=f64), parameter inv_16 = 1._f64/16._f64
 
real(kind=f64), parameter inv_18 = 1._f64/18._f64
 
real(kind=f64), parameter inv_20 = 1._f64/20._f64
 
real(kind=f64), parameter inv_24 = 1._f64/24._f64
 
real(kind=f64), parameter inv_30 = 1._f64/30._f64
 
real(kind=f64), parameter inv_36 = 1._f64/36._f64
 
real(kind=f64), parameter inv_48 = 1._f64/48._f64
 
real(kind=f64), parameter inv_60 = 1._f64/60._f64
 
real(kind=f64), parameter inv_72 = 1._f64/72._f64
 
real(kind=f64), parameter inv_80 = 1._f64/80._f64
 
real(kind=f64), parameter inv_120 = 1._f64/120._f64
 
real(kind=f64), parameter inv_240 = 1._f64/240._f64
 
real(kind=f64), parameter inv_144 = 1._f64/144._f64
 
real(kind=f64), parameter inv_720 = 1._f64/720._f64
 
real(kind=f64), parameter inv_5040 = 1._f64/5040._f64
 
    Report Typos and Errors