"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)
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) | :: | reorder_dir | |||
class(mesh_t), | intent(in) | :: | mesh |
Converts a set of application storage directional index to an other direction. The two directions are defined by the reorder_dir variable, RDR_X2Y will go from storage in X to Y etc.
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 | |||
class(mesh_t), | intent(in) | :: | mesh |
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 a set of application storage directional index to an other direction. The two directions are defined by the reorder_dir variable, RDR_X2Y will go from storage in X to Y etc.
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 | |||
class(mesh_t), | intent(in) | :: | mesh |
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) | :: | reorder_dir | |||
class(mesh_t), | intent(in) | :: | mesh |