Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
Derived types and interfaces | Functions/Subroutines
sll_m_sparse_grid_interpolator Module Reference

Description

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)
 

Function/Subroutine Documentation

◆ basis_function()

subroutine sll_m_sparse_grid_interpolator::basis_function ( real(kind=f64), intent(in)  x,
real(kind=f64), intent(inout)  fx,
integer(kind=i32), intent(in)  type 
)
private

Definition at line 326 of file sll_m_sparse_grid_interpolator.F90.

◆ basis_function_derivative()

subroutine sll_m_sparse_grid_interpolator::basis_function_derivative ( real(kind=f64), intent(in)  x,
real(kind=f64), intent(inout)  fx,
integer(kind=i32), intent(in)  type 
)
private

Definition at line 396 of file sll_m_sparse_grid_interpolator.F90.

◆ compute_dehierarchical()

subroutine sll_m_sparse_grid_interpolator::compute_dehierarchical ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
real(kind=f64), dimension(:), intent(inout)  data_array 
)
private

Definition at line 302 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:

◆ compute_hierarchical_surplus()

subroutine sll_m_sparse_grid_interpolator::compute_hierarchical_surplus ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
real(kind=f64), dimension(:), intent(inout)  data_array 
)
private

Definition at line 282 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:

◆ compute_linear_hierarchical_surplus()

subroutine sll_m_sparse_grid_interpolator::compute_linear_hierarchical_surplus ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
real(kind=f64), dimension(:), intent(inout)  data_array 
)
private

Definition at line 294 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:

◆ dehi()

subroutine sll_m_sparse_grid_interpolator::dehi ( complex(kind=f64), dimension(:), intent(inout)  data,
integer(kind=i32), intent(in)  max_level 
)
private

Definition at line 1558 of file sll_m_sparse_grid_interpolator.F90.

Here is the caller graph for this function:

◆ dehierarchical()

subroutine sll_m_sparse_grid_interpolator::dehierarchical ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
real(kind=f64), dimension(:), intent(inout)  data 
)
private

Definition at line 837 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dehierarchical_d_dimension()

recursive subroutine sll_m_sparse_grid_interpolator::dehierarchical_d_dimension ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
real(kind=f64), intent(inout)  surplus,
real(kind=f64), dimension(:), intent(in)  data_array,
integer(kind=i32), dimension(:), intent(in)  level,
real(kind=f64), intent(in)  factor,
integer(kind=i32), intent(in)  index,
integer(kind=i32), intent(in)  d 
)
private

Definition at line 885 of file sll_m_sparse_grid_interpolator.F90.

Here is the caller graph for this function:

◆ dehierarchical_order()

subroutine sll_m_sparse_grid_interpolator::dehierarchical_order ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
real(kind=f64), dimension(:), intent(inout)  data,
integer(kind=i32), intent(in)  order 
)
private

Definition at line 855 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dehierarchical_order_d_dimension()

recursive subroutine sll_m_sparse_grid_interpolator::dehierarchical_order_d_dimension ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
real(kind=f64), intent(inout)  surplus,
real(kind=f64), dimension(:), intent(in)  data_array,
integer(kind=i32), intent(in)  start_level,
integer(kind=i32), dimension(:), intent(in)  level,
integer(kind=i32), dimension(:), intent(in)  k,
real(kind=f64), intent(in)  factor,
integer(kind=i32), intent(in)  index,
integer(kind=i32), intent(in)  d 
)
private

Definition at line 915 of file sll_m_sparse_grid_interpolator.F90.

Here is the caller graph for this function:

◆ dehierarchical_part()

subroutine sll_m_sparse_grid_interpolator::dehierarchical_part ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
real(kind=f64), dimension(:), intent(inout)  data,
integer(kind=i32), intent(in)  dmax,
integer(kind=i32), intent(in)  dmin,
integer(kind=i32), dimension(:), intent(in)  dorder 
)
private

Definition at line 1125 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dehierarchical_part_d_dimension()

recursive subroutine sll_m_sparse_grid_interpolator::dehierarchical_part_d_dimension ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
real(kind=f64), intent(inout)  surplus,
real(kind=f64), dimension(:), intent(in)  data_array,
integer(kind=i32), dimension(:), intent(in)  level,
real(kind=f64), intent(in)  factor,
integer(kind=i32), intent(in)  index,
integer(kind=i32), intent(in)  dmax,
integer(kind=i32), intent(in)  dmin,
integer(kind=i32), intent(in)  dim,
integer(kind=i32), dimension(:), intent(in)  dorder 
)
private

Definition at line 1061 of file sll_m_sparse_grid_interpolator.F90.

Here is the caller graph for this function:

◆ dehierarchical_part_order()

subroutine sll_m_sparse_grid_interpolator::dehierarchical_part_order ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
real(kind=f64), dimension(:), intent(inout)  data,
integer(kind=i32), intent(in)  dmax,
integer(kind=i32), intent(in)  dmin,
integer(kind=i32), dimension(:), intent(in)  dorder,
integer(kind=i32), intent(in)  order 
)
private

Definition at line 1145 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dehierarchical_part_order_d_dimension()

recursive subroutine sll_m_sparse_grid_interpolator::dehierarchical_part_order_d_dimension ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
real(kind=f64), intent(inout)  surplus,
real(kind=f64), dimension(:), intent(in)  data_array,
integer(kind=i32), intent(in)  start_level,
integer(kind=i32), dimension(:), intent(in)  level,
integer(kind=i32), dimension(:), intent(in)  k,
real(kind=f64), intent(in)  factor,
integer(kind=i32), intent(in)  index,
integer(kind=i32), intent(in)  dmax,
integer(kind=i32), intent(in)  dmin,
integer(kind=i32), intent(in)  d,
integer(kind=i32), dimension(:), intent(in)  dorder 
)
private

Definition at line 1094 of file sll_m_sparse_grid_interpolator.F90.

Here is the caller graph for this function:

◆ dehierarchical_stripe()

subroutine sll_m_sparse_grid_interpolator::dehierarchical_stripe ( class(sll_t_sparse_grid_interpolator), intent(inout)  sparsegrid,
real(kind=f64), dimension(:), intent(inout)  data,
integer(kind=i32), intent(in)  max_level 
)
private

Definition at line 990 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dehierarchical_stripe_order_recursive()

recursive subroutine sll_m_sparse_grid_interpolator::dehierarchical_stripe_order_recursive ( integer(kind=i32), intent(in)  index,
integer(kind=i32), intent(in)  stride,
real(kind=f64), dimension(:), intent(inout)  data_out 
)
private

Definition at line 1030 of file sll_m_sparse_grid_interpolator.F90.

◆ dehierarchical_stripe_recursive()

recursive subroutine sll_m_sparse_grid_interpolator::dehierarchical_stripe_recursive ( integer(kind=i32), intent(in)  index,
integer(kind=i32), intent(in)  stride,
integer(kind=i32), intent(in)  upper,
real(kind=f64), dimension(:), intent(inout)  data_out 
)
private

Definition at line 1044 of file sll_m_sparse_grid_interpolator.F90.

Here is the caller graph for this function:

◆ displace1d()

subroutine sll_m_sparse_grid_interpolator::displace1d ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
integer(kind=i32), intent(in)  dim,
integer(kind=i32), intent(in)  max_level,
integer(kind=i32), intent(in)  index,
real(kind=f64), intent(in)  displacement,
complex(kind=f64), dimension(:), intent(inout)  data 
)
private

Definition at line 1810 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:

◆ displace_fourier_coeffs()

subroutine sll_m_sparse_grid_interpolator::displace_fourier_coeffs ( real(kind=f64), intent(in)  d_scale,
integer(kind=i32), intent(in)  size,
complex(kind=f64), dimension(:), intent(inout)  data 
)
private

Definition at line 1787 of file sll_m_sparse_grid_interpolator.F90.

Here is the caller graph for this function:

◆ displace_on_stripe_periodic()

subroutine sll_m_sparse_grid_interpolator::displace_on_stripe_periodic ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
real(kind=f64), intent(in)  displacement,
integer(kind=i32), intent(in)  dim,
integer(kind=i32), intent(in)  max_level 
)
private

Definition at line 459 of file sll_m_sparse_grid_interpolator.F90.

Here is the caller graph for this function:

◆ displace_on_stripe_periodic_for_neighbor()

subroutine sll_m_sparse_grid_interpolator::displace_on_stripe_periodic_for_neighbor ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
real(kind=f64), intent(in)  displacement,
integer(kind=i32), intent(in)  dim,
integer(kind=i32), intent(in)  max_level,
integer(kind=i32), intent(in)  max_level_neighbor 
)
private

Definition at line 440 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ extract_comp()

subroutine sll_m_sparse_grid_interpolator::extract_comp ( class(sll_t_sparse_grid_interpolator), intent(in)  sparsegrid,
integer(kind=i32), intent(in)  dim,
integer(kind=i32), intent(in)  max_level,
integer(kind=i32), intent(in)  index,
complex(kind=f64), dimension(:), intent(in)  data_in,
complex(kind=f64), dimension(:), intent(out)  data_out 
)
private

Definition at line 1314 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ extract_fourier()

subroutine sll_m_sparse_grid_interpolator::extract_fourier ( class(sll_t_sparse_grid_interpolator), intent(in)  sparsegrid,
integer(kind=i32), intent(in)  dim,
integer(kind=i32), intent(in)  max_level,
integer(kind=i32), intent(in)  index,
complex(kind=f64), dimension(:), intent(in)  data_in,
complex(kind=f64), dimension(:), intent(out)  data_out 
)
private

Definition at line 1356 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ extract_periodic()

subroutine sll_m_sparse_grid_interpolator::extract_periodic ( class(sll_t_sparse_grid_interpolator), intent(in)  sparsegrid,
integer(kind=i32), intent(in)  dim,
integer(kind=i32), intent(in)  max_level,
integer(kind=i32), intent(in)  index,
real(kind=f64), dimension(:), intent(in)  data_in,
real(kind=f64), dimension(:), intent(out)  data_out 
)
private

Definition at line 648 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ extract_real_to_comp()

subroutine sll_m_sparse_grid_interpolator::extract_real_to_comp ( class(sll_t_sparse_grid_interpolator), intent(in)  sparsegrid,
integer(kind=i32), intent(in)  dim,
integer(kind=i32), intent(in)  max_level,
integer(kind=i32), intent(in)  index,
real(kind=f64), dimension(:), intent(in)  data_in,
complex(kind=f64), dimension(:), intent(out)  data_out 
)
private

Definition at line 1272 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ extract_recursive()

recursive subroutine sll_m_sparse_grid_interpolator::extract_recursive ( class(sll_t_sparse_grid_interpolator), intent(in)  sparsegrid,
integer(kind=i32), intent(in)  index_stripe,
integer(kind=i32), intent(in)  stride,
integer(kind=i32), intent(in)  index_sg,
integer(kind=i32), intent(in)  dim,
real(kind=f64), dimension(:), intent(in)  data_in,
real(kind=f64), dimension(:), intent(inout)  data_out 
)
private

Definition at line 668 of file sll_m_sparse_grid_interpolator.F90.

Here is the caller graph for this function:

◆ extract_recursive_comp()

recursive subroutine sll_m_sparse_grid_interpolator::extract_recursive_comp ( class(sll_t_sparse_grid_interpolator), intent(in)  sparsegrid,
integer(kind=i32), intent(in)  index_stripe,
integer(kind=i32), intent(in)  stride,
integer(kind=i32), intent(in)  index_sg,
integer(kind=i32), intent(in)  dim,
complex(kind=f64), dimension(:), intent(in)  data_in,
complex(kind=f64), dimension(:), intent(inout)  data_out 
)
private

Definition at line 1336 of file sll_m_sparse_grid_interpolator.F90.

Here is the caller graph for this function:

◆ extract_recursive_fourier()

recursive subroutine sll_m_sparse_grid_interpolator::extract_recursive_fourier ( class(sll_t_sparse_grid_interpolator), intent(in)  sparsegrid,
integer(kind=i32), intent(in)  index_sg,
integer(kind=i32), intent(in)  ind,
integer(kind=i32), intent(in)  level,
integer(kind=i32), intent(in)  max_level,
integer(kind=i32), intent(in)  dim,
complex(kind=f64), dimension(:), intent(in)  data_in,
complex(kind=f64), dimension(:), intent(inout)  data_out 
)
private

Definition at line 1375 of file sll_m_sparse_grid_interpolator.F90.

Here is the caller graph for this function:

◆ extract_recursive_real_to_comp()

recursive subroutine sll_m_sparse_grid_interpolator::extract_recursive_real_to_comp ( class(sll_t_sparse_grid_interpolator), intent(in)  sparsegrid,
integer(kind=i32), intent(in)  index_stripe,
integer(kind=i32), intent(in)  stride,
integer(kind=i32), intent(in)  index_sg,
integer(kind=i32), intent(in)  dim,
real(kind=f64), dimension(:), intent(in)  data_in,
complex(kind=f64), dimension(:), intent(inout)  data_out 
)
private

Definition at line 1294 of file sll_m_sparse_grid_interpolator.F90.

Here is the caller graph for this function:

◆ fft_finalize()

subroutine sll_m_sparse_grid_interpolator::fft_finalize ( class(fft_hierarchical), dimension(:), pointer  fft_object,
integer(kind=i32), intent(in)  levels 
)
private

Definition at line 1622 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fft_initialize()

subroutine sll_m_sparse_grid_interpolator::fft_initialize ( class(fft_hierarchical), dimension(:), pointer  fft_object,
integer(kind=i32), intent(in)  levels 
)
private

Definition at line 1597 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fft_on_stripe()

subroutine sll_m_sparse_grid_interpolator::fft_on_stripe ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
integer(kind=i32), intent(in)  level 
)
private

Definition at line 1571 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fft_to_centered()

subroutine sll_m_sparse_grid_interpolator::fft_to_centered ( integer(kind=i32), intent(in)  length,
complex(kind=f64), dimension(:), intent(in)  data_in,
complex(kind=f64), dimension(:), intent(out)  data_out 
)
private

Definition at line 1755 of file sll_m_sparse_grid_interpolator.F90.

Here is the caller graph for this function:

◆ fft_to_inorder()

subroutine sll_m_sparse_grid_interpolator::fft_to_inorder ( integer(kind=i32), intent(in)  length,
complex(kind=f64), dimension(:), intent(in)  data_in,
complex(kind=f64), dimension(:), intent(out)  data_out 
)
private

Definition at line 1771 of file sll_m_sparse_grid_interpolator.F90.

Here is the caller graph for this function:

◆ free_sparse_grid()

subroutine sll_m_sparse_grid_interpolator::free_sparse_grid ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator)
private

Finalize sparse grid.

Definition at line 1635 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:

◆ hierarchical()

subroutine sll_m_sparse_grid_interpolator::hierarchical ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
real(kind=f64), dimension(:), intent(inout)  data 
)
private

Definition at line 789 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hierarchical_order()

subroutine sll_m_sparse_grid_interpolator::hierarchical_order ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
real(kind=f64), dimension(:), intent(inout)  data,
integer(kind=i32), intent(in)  order 
)
private

Definition at line 807 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hierarchical_part()

subroutine sll_m_sparse_grid_interpolator::hierarchical_part ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
real(kind=f64), dimension(:), intent(inout)  data,
integer(kind=i32), intent(in)  dmax,
integer(kind=i32), intent(in)  dmin,
integer(kind=i32), dimension(:), intent(in)  dorder 
)
private

Definition at line 1177 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hierarchical_part_order()

subroutine sll_m_sparse_grid_interpolator::hierarchical_part_order ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
real(kind=f64), dimension(:), intent(inout)  data,
integer(kind=i32), intent(in)  dmax,
integer(kind=i32), intent(in)  dmin,
integer(kind=i32), dimension(:), intent(in)  dorder,
integer(kind=i32), intent(in)  order 
)
private

Definition at line 1198 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:

◆ hierarchical_stripe()

subroutine sll_m_sparse_grid_interpolator::hierarchical_stripe ( class(sll_t_sparse_grid_interpolator), intent(inout)  sparsegrid,
real(kind=f64), dimension(:), intent(inout)  data,
integer(kind=i32), intent(in)  max_level 
)
private

Definition at line 946 of file sll_m_sparse_grid_interpolator.F90.

Here is the caller graph for this function:

◆ hira()

subroutine sll_m_sparse_grid_interpolator::hira ( complex(kind=f64), dimension(:), intent(inout)  data,
integer(kind=i32), intent(in)  max_level 
)
private

Definition at line 1545 of file sll_m_sparse_grid_interpolator.F90.

Here is the caller graph for this function:

◆ ifft_on_stripe()

subroutine sll_m_sparse_grid_interpolator::ifft_on_stripe ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
integer(kind=i32), intent(in)  level 
)
private

Definition at line 1588 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initialize_sg()

subroutine sll_m_sparse_grid_interpolator::initialize_sg ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
integer(kind=i32), dimension(:), intent(in)  levels,
integer(kind=i32), intent(in)  order,
integer(kind=i32), intent(in)  interpolation,
integer(kind=i32), intent(in)  interpolation_type,
real(kind=f64), dimension(:), intent(in)  eta_min,
real(kind=f64), dimension(:), intent(in)  eta_max 
)
private
Parameters
[in]eta_mineta_min defines the lower bound of the domain
[in]eta_maxeta_max defines the upper bound of the domain
[in]levelslevels defines the maximum level in the sparse grid
[in]orderorder of the sparse grid functions
[in]interpolationOrder of the interpolator
[in]interpolation_typeChoose 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.

Here is the call graph for this function:

◆ insert_additive_recursive()

recursive subroutine sll_m_sparse_grid_interpolator::insert_additive_recursive ( class(sll_t_sparse_grid_interpolator), intent(in)  sparsegrid,
real(kind=f64), intent(in)  factor,
integer(kind=i32), intent(in)  index_stripe,
integer(kind=i32), intent(in)  stride,
integer(kind=i32), intent(in)  index_sg,
integer(kind=i32), intent(in)  dim,
real(kind=f64), dimension(:), intent(in)  data_in,
real(kind=f64), dimension(:), intent(inout)  data_out 
)
private

Definition at line 756 of file sll_m_sparse_grid_interpolator.F90.

Here is the caller graph for this function:

◆ insert_comp()

subroutine sll_m_sparse_grid_interpolator::insert_comp ( class(sll_t_sparse_grid_interpolator), intent(in)  sparsegrid,
integer(kind=i32), intent(in)  dim,
integer(kind=i32), intent(in)  max_level,
integer(kind=i32), intent(in)  index,
complex(kind=f64), dimension(:), intent(in)  data_in,
complex(kind=f64), dimension(:), intent(out)  data_out 
)
private

Definition at line 1503 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ insert_comp_to_real()

subroutine sll_m_sparse_grid_interpolator::insert_comp_to_real ( class(sll_t_sparse_grid_interpolator), intent(in)  sparsegrid,
integer(kind=i32), intent(in)  dim,
integer(kind=i32), intent(in)  max_level,
integer(kind=i32), intent(in)  index,
complex(kind=f64), dimension(:), intent(in)  data_in,
real(kind=f64), dimension(:), intent(out)  data_out 
)
private

Definition at line 1461 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ insert_fourier()

subroutine sll_m_sparse_grid_interpolator::insert_fourier ( class(sll_t_sparse_grid_interpolator), intent(in)  sparsegrid,
integer(kind=i32), intent(in)  dim,
integer(kind=i32), intent(in)  max_level,
integer(kind=i32), intent(in)  index,
complex(kind=f64), dimension(:), intent(in)  data_in,
complex(kind=f64), dimension(:), intent(out)  data_out 
)
private

Definition at line 1395 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ insert_periodic()

subroutine sll_m_sparse_grid_interpolator::insert_periodic ( class(sll_t_sparse_grid_interpolator), intent(in)  sparsegrid,
integer(kind=i32), intent(in)  dim,
integer(kind=i32), intent(in)  max_level,
integer(kind=i32), intent(in)  index,
real(kind=f64), dimension(:), intent(in)  data_in,
real(kind=f64), dimension(:), intent(inout)  data_out 
)
private

Definition at line 691 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ insert_periodic_additive()

subroutine sll_m_sparse_grid_interpolator::insert_periodic_additive ( class(sll_t_sparse_grid_interpolator), intent(in)  sparsegrid,
real(kind=f64), intent(in)  factor,
integer(kind=i32), intent(in)  dim,
integer(kind=i32), intent(in)  max_level,
integer(kind=i32), intent(in)  index,
real(kind=f64), dimension(:), intent(in)  data_in,
real(kind=f64), dimension(:), intent(inout)  data_out 
)
private

Definition at line 733 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ insert_recursive()

recursive subroutine sll_m_sparse_grid_interpolator::insert_recursive ( class(sll_t_sparse_grid_interpolator), intent(in)  sparsegrid,
integer(kind=i32), intent(in)  index_stripe,
integer(kind=i32), intent(in)  stride,
integer(kind=i32), intent(in)  index_sg,
integer(kind=i32), intent(in)  dim,
real(kind=f64), dimension(:), intent(in)  data_in,
real(kind=f64), dimension(:), intent(inout)  data_out 
)
private

Definition at line 713 of file sll_m_sparse_grid_interpolator.F90.

Here is the caller graph for this function:

◆ insert_recursive_comp()

recursive subroutine sll_m_sparse_grid_interpolator::insert_recursive_comp ( class(sll_t_sparse_grid_interpolator), intent(in)  sparsegrid,
integer(kind=i32), intent(in)  index_stripe,
integer(kind=i32), intent(in)  stride,
integer(kind=i32), intent(in)  index_sg,
integer(kind=i32), intent(in)  dim,
complex(kind=f64), dimension(:), intent(in)  data_in,
complex(kind=f64), dimension(:), intent(inout)  data_out 
)
private

Definition at line 1525 of file sll_m_sparse_grid_interpolator.F90.

Here is the caller graph for this function:

◆ insert_recursive_comp_to_real()

recursive subroutine sll_m_sparse_grid_interpolator::insert_recursive_comp_to_real ( class(sll_t_sparse_grid_interpolator), intent(in)  sparsegrid,
integer(kind=i32), intent(in)  index_stripe,
integer(kind=i32), intent(in)  stride,
integer(kind=i32), intent(in)  index_sg,
integer(kind=i32), intent(in)  dim,
complex(kind=f64), dimension(:), intent(in)  data_in,
real(kind=f64), dimension(:), intent(inout)  data_out 
)
private

Definition at line 1483 of file sll_m_sparse_grid_interpolator.F90.

Here is the caller graph for this function:

◆ insert_recursive_fourier()

recursive subroutine sll_m_sparse_grid_interpolator::insert_recursive_fourier ( class(sll_t_sparse_grid_interpolator), intent(in)  sparsegrid,
integer(kind=i32), intent(in)  index_sg,
integer(kind=i32), intent(in)  ind,
integer(kind=i32), intent(in)  level,
integer(kind=i32), intent(in)  max_level,
integer(kind=i32), intent(in)  dim,
complex(kind=f64), dimension(:), intent(in)  data_in,
complex(kind=f64), dimension(:), intent(inout)  data_out 
)
private

Definition at line 1414 of file sll_m_sparse_grid_interpolator.F90.

Here is the caller graph for this function:

◆ integrate_trapezoidal()

subroutine sll_m_sparse_grid_interpolator::integrate_trapezoidal ( class(sll_t_sparse_grid_interpolator), intent(in)  interpolator,
real(kind=f64), dimension(:), intent(in)  data_in,
real(kind=f64), intent(inout)  val 
)
private

Definition at line 1233 of file sll_m_sparse_grid_interpolator.F90.

◆ integrate_trapezoidal2()

subroutine sll_m_sparse_grid_interpolator::integrate_trapezoidal2 ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
integer(kind=i32), dimension(:), intent(in)  dorder,
real(kind=f64), dimension(:), intent(inout)  data_in,
real(kind=f64), intent(inout)  val 
)
private

Definition at line 1258 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:

◆ interpolate_disp()

subroutine sll_m_sparse_grid_interpolator::interpolate_disp ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
integer(kind=i32), intent(in)  dim,
real(kind=f64), intent(in)  displacement,
real(kind=f64), dimension(:), intent(inout)  data_in,
real(kind=f64), dimension(:), intent(out)  data_out,
logical, intent(in)  hiera 
)
private

Definition at line 538 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:

◆ interpolate_disp_1d_periodic()

subroutine sll_m_sparse_grid_interpolator::interpolate_disp_1d_periodic ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
real(kind=f64), intent(in)  displacement,
integer(kind=i32), intent(in)  dim,
integer(kind=i32), intent(in)  max_level,
integer(kind=i32), intent(in)  index,
real(kind=f64), dimension(:), intent(in)  data_in,
real(kind=f64), dimension(:), intent(out)  data_out,
logical, intent(in)  hiera 
)
private

Definition at line 478 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ interpolate_disp_1d_periodic_for_neighbor()

subroutine sll_m_sparse_grid_interpolator::interpolate_disp_1d_periodic_for_neighbor ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
real(kind=f64), intent(in)  displacement,
real(kind=f64), intent(in)  factor,
integer(kind=i32), intent(in)  dim,
integer(kind=i32), intent(in)  max_level,
integer(kind=i32), intent(in)  max_level_neighbor,
integer(kind=i32), intent(in)  index,
integer(kind=i32), intent(in)  index_neighbor,
real(kind=f64), dimension(:), intent(in)  data_in,
real(kind=f64), dimension(:), intent(out)  data_out 
)
private

Definition at line 601 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:

◆ interpolate_disp_1d_periodic_self()

subroutine sll_m_sparse_grid_interpolator::interpolate_disp_1d_periodic_self ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
real(kind=f64), intent(in)  displacement,
integer(kind=i32), intent(in)  dim,
integer(kind=i32), intent(in)  max_level,
integer(kind=i32), intent(in)  index,
real(kind=f64), dimension(:), intent(in)  data_in,
real(kind=f64), dimension(:), intent(out)  data_out 
)
private

Definition at line 627 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:

◆ interpolate_disp_recursive()

recursive subroutine sll_m_sparse_grid_interpolator::interpolate_disp_recursive ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
integer(kind=i32), intent(in)  no_dims,
integer(kind=i32), intent(in)  dim,
integer(kind=i32), intent(in)  node_index,
real(kind=f64), intent(in)  displacement,
real(kind=f64), dimension(:), intent(in)  data_in,
real(kind=f64), dimension(:), intent(out)  data_out,
logical, intent(in)  hiera 
)
private

Definition at line 504 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ todehi1d()

subroutine sll_m_sparse_grid_interpolator::todehi1d ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
integer(kind=i32), intent(in)  dim,
integer(kind=i32), intent(in)  max_level,
integer(kind=i32), intent(in)  index,
complex(kind=f64), dimension(:), intent(inout)  data_array 
)
private

Definition at line 1742 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:

◆ tohierarchical1d()

subroutine sll_m_sparse_grid_interpolator::tohierarchical1d ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
integer(kind=i32), intent(in)  dim,
integer(kind=i32), intent(in)  max_level,
integer(kind=i32), intent(in)  index,
real(kind=f64), dimension(:), intent(in)  data_in,
complex(kind=f64), dimension(:), intent(out)  data_out 
)
private

Compute Fourier coefficients on sparse grid along dimension dim.

Definition at line 1653 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:

◆ tohierarchical1d_comp()

subroutine sll_m_sparse_grid_interpolator::tohierarchical1d_comp ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
integer(kind=i32), intent(in)  dim,
integer(kind=i32), intent(in)  max_level,
integer(kind=i32), intent(in)  index,
complex(kind=f64), dimension(:), intent(inout)  data 
)
private

Complex version of ToHierarchical1d_comp.

Definition at line 1673 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:

◆ tohira1d()

subroutine sll_m_sparse_grid_interpolator::tohira1d ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
integer(kind=i32), intent(in)  dim,
integer(kind=i32), intent(in)  max_level,
integer(kind=i32), intent(in)  index,
complex(kind=f64), dimension(:), intent(inout)  data 
)
private

Definition at line 1690 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:

◆ tonodal1d()

subroutine sll_m_sparse_grid_interpolator::tonodal1d ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
integer(kind=i32), intent(in)  dim,
integer(kind=i32), intent(in)  max_level,
integer(kind=i32), intent(in)  index,
complex(kind=f64), dimension(:), intent(in)  data_in,
real(kind=f64), dimension(:), intent(out)  data_out 
)
private

Definition at line 1704 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:

◆ tonodal1d_comp()

subroutine sll_m_sparse_grid_interpolator::tonodal1d_comp ( class(sll_t_sparse_grid_interpolator), intent(inout)  interpolator,
integer(kind=i32), intent(in)  dim,
integer(kind=i32), intent(in)  max_level,
integer(kind=i32), intent(in)  index,
complex(kind=f64), dimension(:), intent(inout)  data 
)
private

Definition at line 1723 of file sll_m_sparse_grid_interpolator.F90.

Here is the call graph for this function:
    Report Typos and Errors