ply_calculate_coeff_strip Subroutine

private subroutine ply_calculate_coeff_strip(n, s, gam, matrix, alph, nDiagonals, block_offset, remainder, strip_lb, strip_ub, subblockingWidth)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n
integer, intent(in) :: s
real(kind=rk), intent(inout) :: gam(:)

Modal coefficients of the Chebyshev expansion. Size has to be: (1:indeps*params%n,nVars)

Note, that the resulting array will have changed layout, and the transformed direction will run slowest in the array.

real(kind=rk), intent(in) :: matrix(:,:)

The arraz that holds the coefficients to calculate.

real(kind=rk), intent(in) :: alph(:)

Modal coefficients of the Legendre expansion. Size has to be: (1:params%n*indeps,nVars)

The direction which is to be transformed has to run fastest in the array.

integer, intent(in) :: nDiagonals

The number of diagonals to calculcate

integer, intent(in) :: block_offset

The offset of the block relative to the origin of the whole matrix.

integer, intent(in) :: remainder

The diagonals that are not covered by any block.

integer, intent(in) :: strip_lb

The lower bound of the strip to calculate.

integer, intent(in) :: strip_ub

The upper bound of the strip to calculate.

integer, intent(in) :: subblockingWidth

The subblocking width defines the size of the blocking of the diagonal strides, i.e. in y direction. This subblocking is used to get a better cache locality.


Called by

proc~~ply_calculate_coeff_strip~~CalledByGraph proc~ply_calculate_coeff_strip ply_calculate_coeff_strip proc~ply_fpt_exec ply_fpt_exec proc~ply_fpt_exec->proc~ply_calculate_coeff_strip proc~ply_fpt_exec_striped ply_fpt_exec_striped proc~ply_fpt_exec_striped->proc~ply_calculate_coeff_strip proc~ply_fpt_single ply_fpt_single proc~ply_fpt_single->proc~ply_calculate_coeff_strip proc~atl_cheb_spectral_visc_1d atl_cheb_spectral_visc_1d proc~atl_cheb_spectral_visc_1d->proc~ply_fpt_exec_striped proc~ply_legtopnt_lobatto_single ply_legToPnt_lobatto_single proc~ply_legtopnt_lobatto_single->proc~ply_fpt_single proc~ply_legtopnt_lobatto_vec ply_legToPnt_lobatto_vec proc~ply_legtopnt_lobatto_vec->proc~ply_fpt_exec_striped proc~ply_legtopnt_single ply_legToPnt_single proc~ply_legtopnt_single->proc~ply_fpt_single proc~ply_legtopnt_vec ply_legToPnt_vec proc~ply_legtopnt_vec->proc~ply_fpt_exec_striped proc~ply_pnttoleg_lobatto_single ply_pntToLeg_lobatto_single proc~ply_pnttoleg_lobatto_single->proc~ply_fpt_single proc~ply_pnttoleg_lobatto_vec ply_pntToLeg_lobatto_vec proc~ply_pnttoleg_lobatto_vec->proc~ply_fpt_exec_striped proc~ply_pnttoleg_single ply_pntToLeg_single proc~ply_pnttoleg_single->proc~ply_fpt_single proc~ply_pnttoleg_vec ply_pntToLeg_vec proc~ply_pnttoleg_vec->proc~ply_fpt_exec_striped proc~atl_stabilize atl_stabilize proc~atl_stabilize->proc~atl_cheb_spectral_visc_1d proc~mesh_timestep_euler mesh_timestep_euler proc~mesh_timestep_euler->proc~atl_stabilize proc~mesh_timestep_imexrk mesh_timestep_imexrk proc~mesh_timestep_imexrk->proc~atl_stabilize proc~mesh_timestep_rk4 mesh_timestep_rk4 proc~mesh_timestep_rk4->proc~atl_stabilize proc~mesh_timestep_rktaylor mesh_timestep_rktaylor proc~mesh_timestep_rktaylor->proc~atl_stabilize proc~mesh_timestep_ssprk2 mesh_timestep_ssprk2 proc~mesh_timestep_ssprk2->proc~atl_stabilize program~atl_harvesting atl_harvesting program~atl_harvesting->proc~atl_stabilize