Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
Sparse grid object for 3d with interpolation routines. More...
Private Member Functions | |
procedure | init => initialize_sg3d |
procedure | interpolate_from_interpolant_value |
procedure | interpolate_const_disp |
procedure | fg_to_sg |
procedure | spfft |
procedure | ispfft |
procedure | interpolate_array_disp_sgfft |
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 |
3d mapping: for each 3d 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... | |
Sparse grid object for 3d with interpolation routines.
Definition at line 27 of file sll_m_sparse_grid_3d.F90.
|
privateinherited |
Definition at line 114 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
Definition at line 115 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
Compute values from (order) hierarchical surplus.
Definition at line 102 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
Compute the hierarchical surplus (to the order of the sparse grid)
Definition at line 100 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
Compute the linear hierarchical surplus.
Definition at line 101 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
Definition at line 103 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
Definition at line 128 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
Definition at line 104 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
Definition at line 116 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
Definition at line 111 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
Definition at line 119 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
Definition at line 109 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 34 of file sll_m_sparse_grid_3d.F90.
|
privateinherited |
Definition at line 129 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
Definition at line 105 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
Definition at line 127 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
Definition at line 110 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 31 of file sll_m_sparse_grid_3d.F90.
|
privateinherited |
Definition at line 126 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
Definition at line 112 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
Definition at line 107 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
Definition at line 108 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 37 of file sll_m_sparse_grid_3d.F90.
|
private |
Definition at line 33 of file sll_m_sparse_grid_3d.F90.
|
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.
|
privateinherited |
Definition at line 118 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
Definition at line 117 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
Definition at line 113 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 32 of file sll_m_sparse_grid_3d.F90.
|
private |
Definition at line 36 of file sll_m_sparse_grid_3d.F90.
|
private |
Definition at line 35 of file sll_m_sparse_grid_3d.F90.
|
privateinherited |
Definition at line 122 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
Definition at line 124 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
Definition at line 125 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
Definition at line 123 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
Definition at line 120 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
Definition at line 121 of file sll_m_sparse_grid_interpolator.F90.
|
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.
|
privateinherited |
dim defines the dimension of the sparse grid
Definition at line 68 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
eta_max defines the upper bound of the computational domain
Definition at line 70 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
eta_min defines the lower bound of the computational domain
Definition at line 69 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
fft_object is the object for hierarchical fft
Definition at line 84 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
hierarchy is an array containing the nodes
Definition at line 82 of file sll_m_sparse_grid_interpolator.F90.
|
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.
|
privateinherited |
hs_weights_index is the index vector for hs_weights
Definition at line 89 of file sll_m_sparse_grid_interpolator.F90.
|
private |
3d mapping: for each 3d index l on the sparse grid, index gives the index of the first node belonging to this level
Definition at line 28 of file sll_m_sparse_grid_3d.F90.
|
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.
|
privateinherited |
interp_per is the periodic interpolator object along the stripes
Definition at line 90 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
specifies type of interpolation
Definition at line 76 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
length defines the length of the computational domain
Definition at line 71 of file sll_m_sparse_grid_interpolator.F90.
|
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.
|
privateinherited |
levels is the upper bound on the level in each direction
Definition at line 74 of file sll_m_sparse_grid_interpolator.F90.
|
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.
|
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.
|
privateinherited |
no_basis_functions is the number of different basis functions
Definition at line 77 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
order it the (maximal) order of basis functions
Definition at line 75 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
size_basis is the number of grid points
Definition at line 78 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
Definition at line 87 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
stripe and stripe are internal arrays to handle the 1d interpolations
Definition at line 87 of file sll_m_sparse_grid_interpolator.F90.
|
privateinherited |
volumne defines the volume of the computational domain
Definition at line 72 of file sll_m_sparse_grid_interpolator.F90.