This struct describes an affine index transformation for two coordinate systems. More...
#include <AMReX_NonLocalBC.H>
Public Member Functions | |
| __host__ __device__ Dim3 | operator() (Dim3 i) const noexcept |
| Applies this mapping on the index from destination space and returns an index in the source space. | |
| __host__ __device__ Dim3 | Inverse (Dim3 i) const noexcept |
| The inverse function is given by rearringing all above terms. | |
| IndexType | operator() (IndexType it) const noexcept |
| IndexType | Inverse (IndexType it) const noexcept |
Public Attributes | |
| IntVect | permutation { 0 , 1 , 2 } |
| This vector needs to be a valid permutation. | |
| IntVect | offset { 0 , 0 , 0 } |
| The offset in the source index space. | |
| IntVect | sign { 1 , 1 , 1 } |
| A vector of 1 and -1 describing the orientation in each component. | |
This struct describes an affine index transformation for two coordinate systems.
This DTOS is used to map indices from one block to another. It respects a permutation of (x,y,z) coordinates, an offset and a change in orientation.
|
inlinenoexcept |
The inverse function is given by rearringing all above terms.
| [in] | i | The index that lives in the source space. |
|
inlinenoexcept |
Applies this mapping on the index from destination space and returns an index in the source space.
| [in] | i | The index that lives in the destination space. |
|
inlinenoexcept |
| IntVect amrex::NonLocalBC::MultiBlockIndexMapping::offset { 0 , 0 , 0 } |
The offset in the source index space.
| IntVect amrex::NonLocalBC::MultiBlockIndexMapping::permutation { 0 , 1 , 2 } |
This vector needs to be a valid permutation.
| IntVect amrex::NonLocalBC::MultiBlockIndexMapping::sign { 1 , 1 , 1 } |
A vector of 1 and -1 describing the orientation in each component.