"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)
Get cartesian index from application storage directional one
Type | Intent | Optional | 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 |
Get application storage directional index from cartesian index
Type | Intent | Optional | 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 |
Converts indices in between any two DIR_?
Type | Intent | Optional | 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) |