m_ordering Module

"Application storage" stores spatial data with a directionality for better cache locality This set of functions converts indices from this application storage (_dir) to cartesian indices (_ijk)


Uses

  • module~~m_ordering~~UsesGraph module~m_ordering m_ordering module~m_common m_common module~m_ordering->module~m_common mpi mpi module~m_common->mpi

Used by

  • module~~m_ordering~~UsedByGraph module~m_ordering m_ordering module~m_omp_backend m_omp_backend module~m_omp_backend->module~m_ordering program~xcompact xcompact program~xcompact->module~m_omp_backend

Subroutines

public pure subroutine get_index_ijk(i, j, k, dir_i, dir_j, dir_k, dir, SZ, nx_padded, ny_padded, nz_padded)

Get cartesian index from application storage directional one

Arguments

Type IntentOptional Attributes Name
integer, intent(out) :: i
integer, intent(out) :: j
integer, intent(out) :: k
integer, intent(in) :: dir_i
integer, intent(in) :: dir_j
integer, intent(in) :: dir_k
integer, intent(in) :: dir
integer, intent(in) :: SZ
integer, intent(in) :: nx_padded
integer, intent(in) :: ny_padded
integer, intent(in) :: nz_padded

public pure subroutine get_index_dir(dir_i, dir_j, dir_k, i, j, k, dir, SZ, nx_padded, ny_padded, nz_padded)

Get application storage directional index from cartesian index

Arguments

Type IntentOptional Attributes Name
integer, intent(out) :: dir_i
integer, intent(out) :: dir_j
integer, intent(out) :: dir_k
integer, intent(in) :: i
integer, intent(in) :: j
integer, intent(in) :: k
integer, intent(in) :: dir
integer, intent(in) :: SZ
integer, intent(in) :: nx_padded
integer, intent(in) :: ny_padded
integer, intent(in) :: nz_padded

public pure subroutine get_index_reordering(out_i, out_j, out_k, in_i, in_j, in_k, dir_from, dir_to, sz, cart_padded)

Converts indices in between any two DIR_?

Arguments

Type IntentOptional Attributes Name
integer, intent(out) :: out_i
integer, intent(out) :: out_j
integer, intent(out) :: out_k
integer, intent(in) :: in_i
integer, intent(in) :: in_j
integer, intent(in) :: in_k
integer, intent(in) :: dir_from
integer, intent(in) :: dir_to
integer, intent(in) :: sz
integer, intent(in) :: cart_padded(3)