Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
Dimension-independent functions for sparse grid with polynomial basis functions.
Implements the sll_m_sparse_grid_interpolator interface
Derived types and interfaces | |
type | fft_hierarchical |
class to hold values for hierarchical fft computations More... | |
type | sparsegrid_node |
Data type for sparse grid node. More... | |
type | interpolator_base_ptr |
type | sll_t_sparse_grid_interpolator |
Class defining the sparse grid data structure. More... | |
Functions/Subroutines | |
subroutine | initialize_sg (interpolator, levels, order, interpolation, interpolation_type, eta_min, eta_max) |
subroutine | compute_hierarchical_surplus (interpolator, data_array) |
subroutine | compute_linear_hierarchical_surplus (interpolator, data_array) |
subroutine | compute_dehierarchical (interpolator, data_array) |
subroutine | basis_function (x, fx, type) |
subroutine | basis_function_derivative (x, fx, type) |
subroutine | displace_on_stripe_periodic_for_neighbor (interpolator, displacement, dim, max_level, max_level_neighbor) |
subroutine | displace_on_stripe_periodic (interpolator, displacement, dim, max_level) |
subroutine | interpolate_disp_1d_periodic (interpolator, displacement, dim, max_level, index, data_in, data_out, hiera) |
recursive subroutine | interpolate_disp_recursive (interpolator, no_dims, dim, node_index, displacement, data_in, data_out, hiera) |
subroutine | interpolate_disp (interpolator, dim, displacement, data_in, data_out, hiera) |
subroutine | interpolate_disp_1d_periodic_for_neighbor (interpolator, displacement, factor, dim, max_level, max_level_neighbor, index, index_neighbor, data_in, data_out) |
subroutine | interpolate_disp_1d_periodic_self (interpolator, displacement, dim, max_level, index, data_in, data_out) |
subroutine | extract_periodic (sparsegrid, dim, max_level, index, data_in, data_out) |
recursive subroutine | extract_recursive (sparsegrid, index_stripe, stride, index_sg, dim, data_in, data_out) |
subroutine | insert_periodic (sparsegrid, dim, max_level, index, data_in, data_out) |
recursive subroutine | insert_recursive (sparsegrid, index_stripe, stride, index_sg, dim, data_in, data_out) |
subroutine | insert_periodic_additive (sparsegrid, factor, dim, max_level, index, data_in, data_out) |
recursive subroutine | insert_additive_recursive (sparsegrid, factor, index_stripe, stride, index_sg, dim, data_in, data_out) |
subroutine | hierarchical (interpolator, data) |
subroutine | hierarchical_order (interpolator, data, order) |
subroutine | dehierarchical (interpolator, data) |
subroutine | dehierarchical_order (interpolator, data, order) |
recursive subroutine | dehierarchical_d_dimension (interpolator, surplus, data_array, level, factor, index, d) |
recursive subroutine | dehierarchical_order_d_dimension (interpolator, surplus, data_array, start_level, level, k, factor, index, d) |
subroutine | hierarchical_stripe (sparsegrid, data, max_level) |
subroutine | dehierarchical_stripe (sparsegrid, data, max_level) |
recursive subroutine | dehierarchical_stripe_order_recursive (index, stride, data_out) |
recursive subroutine | dehierarchical_stripe_recursive (index, stride, upper, data_out) |
recursive subroutine | dehierarchical_part_d_dimension (interpolator, surplus, data_array, level, factor, index, dmax, dmin, dim, dorder) |
recursive subroutine | dehierarchical_part_order_d_dimension (interpolator, surplus, data_array, start_level, level, k, factor, index, dmax, dmin, d, dorder) |
subroutine | dehierarchical_part (interpolator, data, dmax, dmin, dorder) |
subroutine | dehierarchical_part_order (interpolator, data, dmax, dmin, dorder, order) |
subroutine | hierarchical_part (interpolator, data, dmax, dmin, dorder) |
subroutine | hierarchical_part_order (interpolator, data, dmax, dmin, dorder, order) |
subroutine | integrate_trapezoidal (interpolator, data_in, val) |
subroutine | integrate_trapezoidal2 (interpolator, dorder, data_in, val) |
subroutine | extract_real_to_comp (sparsegrid, dim, max_level, index, data_in, data_out) |
recursive subroutine | extract_recursive_real_to_comp (sparsegrid, index_stripe, stride, index_sg, dim, data_in, data_out) |
subroutine | extract_comp (sparsegrid, dim, max_level, index, data_in, data_out) |
recursive subroutine | extract_recursive_comp (sparsegrid, index_stripe, stride, index_sg, dim, data_in, data_out) |
subroutine | extract_fourier (sparsegrid, dim, max_level, index, data_in, data_out) |
recursive subroutine | extract_recursive_fourier (sparsegrid, index_sg, ind, level, max_level, dim, data_in, data_out) |
subroutine | insert_fourier (sparsegrid, dim, max_level, index, data_in, data_out) |
recursive subroutine | insert_recursive_fourier (sparsegrid, index_sg, ind, level, max_level, dim, data_in, data_out) |
subroutine | insert_comp_to_real (sparsegrid, dim, max_level, index, data_in, data_out) |
recursive subroutine | insert_recursive_comp_to_real (sparsegrid, index_stripe, stride, index_sg, dim, data_in, data_out) |
subroutine | insert_comp (sparsegrid, dim, max_level, index, data_in, data_out) |
recursive subroutine | insert_recursive_comp (sparsegrid, index_stripe, stride, index_sg, dim, data_in, data_out) |
subroutine | hira (data, max_level) |
subroutine | dehi (data, max_level) |
subroutine | fft_on_stripe (interpolator, level) |
subroutine | ifft_on_stripe (interpolator, level) |
subroutine | fft_initialize (fft_object, levels) |
subroutine | fft_finalize (fft_object, levels) |
subroutine | free_sparse_grid (interpolator) |
Finalize sparse grid. More... | |
subroutine | tohierarchical1d (interpolator, dim, max_level, index, data_in, data_out) |
Compute Fourier coefficients on sparse grid along dimension dim. More... | |
subroutine | tohierarchical1d_comp (interpolator, dim, max_level, index, data) |
Complex version of ToHierarchical1d_comp. More... | |
subroutine | tohira1d (interpolator, dim, max_level, index, data) |
subroutine | tonodal1d (interpolator, dim, max_level, index, data_in, data_out) |
subroutine | tonodal1d_comp (interpolator, dim, max_level, index, data) |
subroutine | todehi1d (interpolator, dim, max_level, index, data_array) |
subroutine | fft_to_centered (length, data_in, data_out) |
subroutine | fft_to_inorder (length, data_in, data_out) |
subroutine | displace_fourier_coeffs (d_scale, size, data) |
subroutine | displace1d (interpolator, dim, max_level, index, displacement, data) |
|
private |
Definition at line 326 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 396 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 302 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 282 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 294 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1558 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 837 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 885 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 855 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 915 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1125 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1061 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1145 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1094 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 990 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1030 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1044 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1810 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1787 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 459 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 440 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1314 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1356 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 648 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1272 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 668 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1336 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1375 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1294 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1622 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1597 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1571 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1755 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1771 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Finalize sparse grid.
Definition at line 1635 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 789 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 807 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1177 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1198 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 946 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1545 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1588 of file sll_m_sparse_grid_interpolator.F90.
|
private |
[in] | eta_min | eta_min defines the lower bound of the domain |
[in] | eta_max | eta_max defines the upper bound of the domain |
[in] | levels | levels defines the maximum level in the sparse grid |
[in] | order | order of the sparse grid functions |
[in] | interpolation | Order of the interpolator |
[in] | interpolation_type | Choose spline (interpolation_type = 0) or Lagrange (interpolation_type = 1) interpolation for the 1D interpolators if not traditional sparse grid interpolation is used. |
Definition at line 138 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 756 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1503 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1461 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1395 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 691 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 733 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 713 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1525 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1483 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1414 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1233 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1258 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 538 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 478 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 601 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 627 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 504 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1742 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Compute Fourier coefficients on sparse grid along dimension dim.
Definition at line 1653 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Complex version of ToHierarchical1d_comp.
Definition at line 1673 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1690 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1704 of file sll_m_sparse_grid_interpolator.F90.
|
private |
Definition at line 1723 of file sll_m_sparse_grid_interpolator.F90.