This struct describes an affine index transformation for two coordinate systems. More...
#include <AMReX_NonLocalBC.H>
Public Member Functions | |
AMREX_GPU_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. More... | |
AMREX_GPU_HOST_DEVICE Dim3 | Inverse (Dim3 i) const noexcept |
The inverse function is given by rearringing all above terms. More... | |
IndexType | operator() (IndexType it) const noexcept |
IndexType | Inverse (IndexType it) const noexcept |
Public Attributes | |
IntVect | permutation {AMREX_D_DECL(0, 1, 2)} |
This vector needs to be a valid permutation. More... | |
IntVect | offset {AMREX_D_DECL(0, 0, 0)} |
The offset in the source index space. More... | |
IntVect | sign {AMREX_D_DECL(1, 1, 1)} |
A vector of 1 and -1 describing the orientation in each component. More... | |
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 {AMREX_D_DECL(0, 0, 0)} |
The offset in the source index space.
IntVect amrex::NonLocalBC::MultiBlockIndexMapping::permutation {AMREX_D_DECL(0, 1, 2)} |
This vector needs to be a valid permutation.
IntVect amrex::NonLocalBC::MultiBlockIndexMapping::sign {AMREX_D_DECL(1, 1, 1)} |
A vector of 1 and -1 describing the orientation in each component.