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

Go to the source code of this file.

Modules

module  sll_m_cubic_spline_halo_1d
 Interpolator 1d using cubic splines on regular mesh with halo cells.
 

Macros

#define HALO_DTYPE   sll_real64
 
#define NUM_TERMS   15
 
#define PBA_POW(i)   pba_pow(i)
 

Functions/Subroutines

subroutine, public sll_s_cubic_spline_halo_1d_prepare_exchange (fdata, si, num_points, d_0, c_np2)
 Compute the part of d(0) and c(num_points+2) that need to be send to neighboring processors. More...
 
subroutine, public sll_s_cubic_spline_halo_1d_finish_boundary_conditions (fdata, si, num_points, d_0, c_np2)
 Complete d(0) and c(num_points+2) with local data after their values have been received from the neighboring processors. More...
 
subroutine, public sll_s_cubic_spline_halo_1d_compute_interpolant (f, num_points, d, coeffs)
 Compute the coefficients of the local interpolating spline (after d(0) and c(num_points+2) have been computed. More...
 
subroutine, public sll_s_cubic_spline_halo_1d_eval_disp (coeffs, alpha, num_points, fout)
 This function corresponds to the interpolate_array_disp function of the interpolators but the displacement is normalized and between [0,1]. More...
 
subroutine, public sll_s_cubic_spline_halo_1d_periodic (fin, alpha, num_cells, fout)
 
subroutine sll_s_cubic_spline_halo_1d_compute_periodic (num_points, d, f_coeffs)
 Compute the coefficients of the local interpolating spline (after d(0) and c(num_points+2) have been computed. More...
 

Variables

real(kind=f64), parameter p_a = sqrt((2.0_f64 + sqrt(3.0_f64))/6.0_f64)
 
real(kind=f64), parameter p_r_a = 1.0_f64/p_a
 
real(kind=f64), parameter p_b = sqrt((2.0_f64 - sqrt(3.0_f64))/6.0_f64)
 
real(kind=f64), parameter p_b_a = p_b/p_a
 
real(kind=f64), parameter p_sqrt3 = sqrt(3.0_f64)
 
real(kind=f64), parameter p_inv_6 = 1._f64/6._f64
 
real(kind=f64), dimension(0:27), parameter pba_pow = [ (-p_b_a)**0, (-p_b_a)**1, (-p_b_a)**2, (-p_b_a)**3, (-p_b_a)**4, (-p_b_a)**5, (-p_b_a)**6, (-p_b_a)**7, (-p_b_a)**8, (-p_b_a)**9, (-p_b_a)**10, (-p_b_a)**11, (-p_b_a)**12, (-p_b_a)**13, (-p_b_a)**14, (-p_b_a)**15, (-p_b_a)**16, (-p_b_a)**17, (-p_b_a)**18, (-p_b_a)**19, (-p_b_a)**20, (-p_b_a)**21, (-p_b_a)**22, (-p_b_a)**23, (-p_b_a)**24, (-p_b_a)**25, (-p_b_a)**26, (-p_b_a)**27 ]
 

Macro Definition Documentation

◆ HALO_DTYPE

#define HALO_DTYPE   sll_real64

◆ NUM_TERMS

#define NUM_TERMS   15

◆ PBA_POW

#define PBA_POW (   i)    pba_pow(i)
    Report Typos and Errors