Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
Private Member Functions | Private Attributes | List of all members
sll_t_sparse_grid_4d Type Reference

Sparse grid object for 4d with interpolation routines. Note in 4d we have only an implementation of a standard sparse grid with periodic boundary conditions, i.e. modified=0, boundary=0 compared to 2d and 3d). More...

Inheritance diagram for sll_t_sparse_grid_4d:
Collaboration diagram for sll_t_sparse_grid_4d:

Private Member Functions

procedure init => initialize_sg4d
 
procedure interpolate_from_interpolant_value
 
procedure interpolate_disp_nconst_in_1d
 
procedure interpolate_disp_linnconst_in_1d => interpolate4d_disp_linnconst_in_1d
 
procedure interpolate_disp_nconst_in_2d
 
procedure interpolate_const_disp
 
procedure compute_hierarchical_surplus
 Compute the hierarchical surplus (to the order of the sparse grid) More...
 
procedure compute_linear_hierarchical_surplus
 Compute the linear hierarchical surplus. More...
 
procedure compute_dehierarchical
 Compute values from (order) hierarchical surplus. More...
 
procedure dehierarchical
 
procedure dehierarchical_part
 
procedure hierarchical_part
 
procedure interpolate_disp
 Interpolation function for interpolation at (constantly) displaced grid points; displacement only in dimension dim. More...
 
procedure integrate_trapezoidal
 
procedure integrate_trapezoidal2
 
procedure extract_periodic
 
procedure hierarchical_stripe
 
procedure dehierarchical_stripe
 
procedure insert_periodic
 
procedure interpolate_disp_1d_periodic_self
 
procedure, nopass basis_function
 
procedure, nopass basis_function_derivative
 
procedure dehierarchical_part_order
 
procedure interpolate_disp_1d_periodic_for_neighbor
 
procedure interpolate_disp_1d_periodic
 
procedure displace1d
 
procedure tonodal1d
 
procedure tonodal1d_comp
 
procedure todehi1d
 
procedure tohira1d
 
procedure tohierarchical1d
 
procedure tohierarchical1d_comp
 
procedure initialize_sg
 
procedure hierarchical_part_order
 
procedure dehierarchical_order
 
procedure free => free_sparse_grid
 

Private Attributes

integer(kind=i32), dimension(:, :, :, :), pointer index
 4d mapping: for each 4d index l on the sparse grid, index gives the index of the first node belonging to this level More...
 
integer(kind=i32) dim
 dim defines the dimension of the sparse grid More...
 
real(kind=f64), dimension(:), pointer eta_min
 eta_min defines the lower bound of the computational domain More...
 
real(kind=f64), dimension(:), pointer eta_max
 eta_max defines the upper bound of the computational domain More...
 
real(kind=f64), dimension(:), pointer length
 length defines the length of the computational domain More...
 
real(kind=f64) volume
 volumne defines the volume of the computational domain More...
 
integer(kind=i32) max_level
 max_level is the upper bound of the l_infinity norm of the level vector More...
 
integer(kind=i32), dimension(:), pointer levels
 levels is the upper bound on the level in each direction More...
 
integer(kind=i32) order
 order it the (maximal) order of basis functions More...
 
integer(kind=i32) interpolation
 specifies type of interpolation More...
 
integer(kind=i32) no_basis_functions
 no_basis_functions is the number of different basis functions More...
 
integer(kind=i32) size_basis
 size_basis is the number of grid points More...
 
integer(kind=i32) modified
 modified specifies the number of boundary points in sparse grid (0 for usual sparse grid, 1 for as many boundary as middle points) More...
 
integer(kind=i32) boundary
 boundary specifies if the boundary is periodic (0) or usual sparse grid (1) More...
 
class(sparsegrid_node), dimension(:), pointer hierarchy
 hierarchy is an array containing the nodes More...
 
class(fft_hierarchical), dimension(:), pointer fft_object
 fft_object is the object for hierarchical fft More...
 
real(kind=f64), dimension(:), pointer stripe
 
real(kind=f64), dimension(:), pointer stripe_out
 stripe and stripe are internal arrays to handle the 1d interpolations More...
 
real(kind=f64), dimension(:), pointer hs_weights
 hs_weights contains the weights for the computation of the hierarchical surplus More...
 
integer(kind=i32), dimension(:), pointer hs_weights_index
 hs_weights_index is the index vector for hs_weights More...
 
type(sll_t_periodic_interpolator_1d), dimension(:, :), pointer interp_per
 interp_per is the periodic interpolator object along the stripes More...
 
type(interpolator_base_ptr), dimension(:, :), pointer interp
 interp is the interpolator object for the 1d interpolations along the stripes More...
 
integer(kind=i32), dimension(:), pointer level_mapping
 level_mapping is an index pointing the the start of each level More...
 

Detailed Description

Sparse grid object for 4d with interpolation routines. Note in 4d we have only an implementation of a standard sparse grid with periodic boundary conditions, i.e. modified=0, boundary=0 compared to 2d and 3d).

Definition at line 26 of file sll_m_sparse_grid_4d.F90.

Member Function/Subroutine Documentation

◆ basis_function()

procedure, nopass basis_function
privateinherited

Definition at line 114 of file sll_m_sparse_grid_interpolator.F90.

◆ basis_function_derivative()

procedure, nopass basis_function_derivative
privateinherited

Definition at line 115 of file sll_m_sparse_grid_interpolator.F90.

◆ compute_dehierarchical()

procedure compute_dehierarchical
privateinherited

Compute values from (order) hierarchical surplus.

Definition at line 102 of file sll_m_sparse_grid_interpolator.F90.

◆ compute_hierarchical_surplus()

procedure compute_hierarchical_surplus
privateinherited

Compute the hierarchical surplus (to the order of the sparse grid)

Definition at line 100 of file sll_m_sparse_grid_interpolator.F90.

◆ compute_linear_hierarchical_surplus()

procedure compute_linear_hierarchical_surplus
privateinherited

Compute the linear hierarchical surplus.

Definition at line 101 of file sll_m_sparse_grid_interpolator.F90.

◆ dehierarchical()

procedure dehierarchical
privateinherited

Definition at line 103 of file sll_m_sparse_grid_interpolator.F90.

◆ dehierarchical_order()

procedure dehierarchical_order
privateinherited

Definition at line 128 of file sll_m_sparse_grid_interpolator.F90.

◆ dehierarchical_part()

procedure dehierarchical_part
privateinherited

Definition at line 104 of file sll_m_sparse_grid_interpolator.F90.

◆ dehierarchical_part_order()

procedure dehierarchical_part_order
privateinherited

Definition at line 116 of file sll_m_sparse_grid_interpolator.F90.

◆ dehierarchical_stripe()

procedure dehierarchical_stripe
privateinherited

Definition at line 111 of file sll_m_sparse_grid_interpolator.F90.

◆ displace1d()

procedure displace1d
privateinherited

Definition at line 119 of file sll_m_sparse_grid_interpolator.F90.

◆ extract_periodic()

procedure extract_periodic
privateinherited

Definition at line 109 of file sll_m_sparse_grid_interpolator.F90.

◆ free()

procedure free
privateinherited

Definition at line 129 of file sll_m_sparse_grid_interpolator.F90.

◆ hierarchical_part()

procedure hierarchical_part
privateinherited

Definition at line 105 of file sll_m_sparse_grid_interpolator.F90.

◆ hierarchical_part_order()

procedure hierarchical_part_order
privateinherited

Definition at line 127 of file sll_m_sparse_grid_interpolator.F90.

◆ hierarchical_stripe()

procedure hierarchical_stripe
privateinherited

Definition at line 110 of file sll_m_sparse_grid_interpolator.F90.

◆ init()

procedure init
private

Definition at line 30 of file sll_m_sparse_grid_4d.F90.

◆ initialize_sg()

procedure initialize_sg
privateinherited

Definition at line 126 of file sll_m_sparse_grid_interpolator.F90.

◆ insert_periodic()

procedure insert_periodic
privateinherited

Definition at line 112 of file sll_m_sparse_grid_interpolator.F90.

◆ integrate_trapezoidal()

procedure integrate_trapezoidal
privateinherited

Definition at line 107 of file sll_m_sparse_grid_interpolator.F90.

◆ integrate_trapezoidal2()

procedure integrate_trapezoidal2
privateinherited

Definition at line 108 of file sll_m_sparse_grid_interpolator.F90.

◆ interpolate_const_disp()

procedure interpolate_const_disp
private

Definition at line 35 of file sll_m_sparse_grid_4d.F90.

◆ interpolate_disp()

procedure interpolate_disp
privateinherited

Interpolation function for interpolation at (constantly) displaced grid points; displacement only in dimension dim.

Definition at line 106 of file sll_m_sparse_grid_interpolator.F90.

◆ interpolate_disp_1d_periodic()

procedure interpolate_disp_1d_periodic
privateinherited

Definition at line 118 of file sll_m_sparse_grid_interpolator.F90.

◆ interpolate_disp_1d_periodic_for_neighbor()

procedure interpolate_disp_1d_periodic_for_neighbor
privateinherited

Definition at line 117 of file sll_m_sparse_grid_interpolator.F90.

◆ interpolate_disp_1d_periodic_self()

procedure interpolate_disp_1d_periodic_self
privateinherited

Definition at line 113 of file sll_m_sparse_grid_interpolator.F90.

◆ interpolate_disp_linnconst_in_1d()

procedure interpolate_disp_linnconst_in_1d
private

Definition at line 33 of file sll_m_sparse_grid_4d.F90.

◆ interpolate_disp_nconst_in_1d()

procedure interpolate_disp_nconst_in_1d
private

Definition at line 32 of file sll_m_sparse_grid_4d.F90.

◆ interpolate_disp_nconst_in_2d()

procedure interpolate_disp_nconst_in_2d
private

Definition at line 34 of file sll_m_sparse_grid_4d.F90.

◆ interpolate_from_interpolant_value()

procedure interpolate_from_interpolant_value
private

Definition at line 31 of file sll_m_sparse_grid_4d.F90.

◆ todehi1d()

procedure todehi1d
privateinherited

Definition at line 122 of file sll_m_sparse_grid_interpolator.F90.

◆ tohierarchical1d()

procedure tohierarchical1d
privateinherited

Definition at line 124 of file sll_m_sparse_grid_interpolator.F90.

◆ tohierarchical1d_comp()

procedure tohierarchical1d_comp
privateinherited

Definition at line 125 of file sll_m_sparse_grid_interpolator.F90.

◆ tohira1d()

procedure tohira1d
privateinherited

Definition at line 123 of file sll_m_sparse_grid_interpolator.F90.

◆ tonodal1d()

procedure tonodal1d
privateinherited

Definition at line 120 of file sll_m_sparse_grid_interpolator.F90.

◆ tonodal1d_comp()

procedure tonodal1d_comp
privateinherited

Definition at line 121 of file sll_m_sparse_grid_interpolator.F90.

Member Data Documentation

◆ boundary

integer(kind=i32) boundary
privateinherited

boundary specifies if the boundary is periodic (0) or usual sparse grid (1)

Definition at line 80 of file sll_m_sparse_grid_interpolator.F90.

◆ dim

integer(kind=i32) dim
privateinherited

dim defines the dimension of the sparse grid

Definition at line 68 of file sll_m_sparse_grid_interpolator.F90.

◆ eta_max

real(kind=f64), dimension(:), pointer eta_max
privateinherited

eta_max defines the upper bound of the computational domain

Definition at line 70 of file sll_m_sparse_grid_interpolator.F90.

◆ eta_min

real(kind=f64), dimension(:), pointer eta_min
privateinherited

eta_min defines the lower bound of the computational domain

Definition at line 69 of file sll_m_sparse_grid_interpolator.F90.

◆ fft_object

class(fft_hierarchical), dimension(:), pointer fft_object
privateinherited

fft_object is the object for hierarchical fft

Definition at line 84 of file sll_m_sparse_grid_interpolator.F90.

◆ hierarchy

class(sparsegrid_node), dimension(:), pointer hierarchy
privateinherited

hierarchy is an array containing the nodes

Definition at line 82 of file sll_m_sparse_grid_interpolator.F90.

◆ hs_weights

real(kind=f64), dimension(:), pointer hs_weights
privateinherited

hs_weights contains the weights for the computation of the hierarchical surplus

Definition at line 88 of file sll_m_sparse_grid_interpolator.F90.

◆ hs_weights_index

integer(kind=i32), dimension(:), pointer hs_weights_index
privateinherited

hs_weights_index is the index vector for hs_weights

Definition at line 89 of file sll_m_sparse_grid_interpolator.F90.

◆ index

integer(kind=i32), dimension(:, :, :, :), pointer index
private

4d mapping: for each 4d index l on the sparse grid, index gives the index of the first node belonging to this level

Definition at line 27 of file sll_m_sparse_grid_4d.F90.

◆ interp

type(interpolator_base_ptr), dimension(:, :), pointer interp
privateinherited

interp is the interpolator object for the 1d interpolations along the stripes

Definition at line 95 of file sll_m_sparse_grid_interpolator.F90.

◆ interp_per

type(sll_t_periodic_interpolator_1d), dimension(:, :), pointer interp_per
privateinherited

interp_per is the periodic interpolator object along the stripes

Definition at line 90 of file sll_m_sparse_grid_interpolator.F90.

◆ interpolation

integer(kind=i32) interpolation
privateinherited

specifies type of interpolation

Definition at line 76 of file sll_m_sparse_grid_interpolator.F90.

◆ length

real(kind=f64), dimension(:), pointer length
privateinherited

length defines the length of the computational domain

Definition at line 71 of file sll_m_sparse_grid_interpolator.F90.

◆ level_mapping

integer(kind=i32), dimension(:), pointer level_mapping
privateinherited

level_mapping is an index pointing the the start of each level

Definition at line 97 of file sll_m_sparse_grid_interpolator.F90.

◆ levels

integer(kind=i32), dimension(:), pointer levels
privateinherited

levels is the upper bound on the level in each direction

Definition at line 74 of file sll_m_sparse_grid_interpolator.F90.

◆ max_level

integer(kind=i32) max_level
privateinherited

max_level is the upper bound of the l_infinity norm of the level vector

Definition at line 73 of file sll_m_sparse_grid_interpolator.F90.

◆ modified

integer(kind=i32) modified
privateinherited

modified specifies the number of boundary points in sparse grid (0 for usual sparse grid, 1 for as many boundary as middle points)

Definition at line 79 of file sll_m_sparse_grid_interpolator.F90.

◆ no_basis_functions

integer(kind=i32) no_basis_functions
privateinherited

no_basis_functions is the number of different basis functions

Definition at line 77 of file sll_m_sparse_grid_interpolator.F90.

◆ order

integer(kind=i32) order
privateinherited

order it the (maximal) order of basis functions

Definition at line 75 of file sll_m_sparse_grid_interpolator.F90.

◆ size_basis

integer(kind=i32) size_basis
privateinherited

size_basis is the number of grid points

Definition at line 78 of file sll_m_sparse_grid_interpolator.F90.

◆ stripe

real(kind=f64), dimension(:), pointer stripe
privateinherited

Definition at line 87 of file sll_m_sparse_grid_interpolator.F90.

◆ stripe_out

real(kind=f64), dimension(:), pointer stripe_out
privateinherited

stripe and stripe are internal arrays to handle the 1d interpolations

Definition at line 87 of file sll_m_sparse_grid_interpolator.F90.

◆ volume

real(kind=f64) volume
privateinherited

volumne defines the volume of the computational domain

Definition at line 72 of file sll_m_sparse_grid_interpolator.F90.

    Report Typos and Errors