Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
#include "sll_assert.h"
#include "sll_memory.h"
#include "sll_working_precision.h"
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 ] |
#define HALO_DTYPE sll_real64 |
#define NUM_TERMS 15 |
#define PBA_POW | ( | i | ) | pba_pow(i) |