|
| template<typename FlagUIDContainer > |
| T | getMask (const FlagUIDContainer &uids) const |
| | Returns the flag mask for a given container of UIDs.
|
| |
|
| | FlagField (uint_t xSize, uint_t ySize, uint_t zSize, uint_t gl, const shared_ptr< FieldAllocator< T > > &alloc=make_shared< StdFieldAlloc< T > >()) |
| | Constructor.
|
| |
| | ~FlagField () override |
| | Explicitly declared destructor, needed for handling the shallow copied Registration Data.
|
| |
| FlagField< T > * | clone () const |
| |
| FlagField< T > * | cloneUninitialized () const |
| |
| FlagField< T > * | cloneShallowCopy () const |
| |
|
| flag_t | registerFlag (const FlagUID &uid) |
| | Registers a flag.
|
| |
| flag_t | registerFlag (const FlagUID &uid, uint_t bitNr) |
| | Registers a flag and forces it to a given bitNr.
|
| |
| flag_t | getFlag (const FlagUID &uid) const |
| | Returns the flag mask for a given UID.
|
| |
| const FlagUID & | getFlagUID (const flag_t flag) const |
| | Returns the flag UID for a given mask.
|
| |
| flag_t | getOrRegisterFlag (const FlagUID &uid) |
| | Returns the flag mask for a given UID if already registered, otherwise registers flag.
|
| |
| template<typename FlagUIDContainer > |
| flag_t | getMask (const FlagUIDContainer &uids) const |
| |
| bool | flagExists (const FlagUID &uid) const |
| | Test if flag was already registered.
|
| |
| bool | flagExists (uint_t bitNr) const |
| | Test if flag was already registered.
|
| |
| void | printRegistered (std::ostream &os) const |
| | Prints a list of "bitNr - flagName".
|
| |
| void | printCell (std::ostream &os, const Cell &cell) const |
| | Prints a list of set flags in the given cell.
|
| |
| bool | isRegistered (flag_t mask) const |
| | True, if all bits that are set in the mask have been registered at this FlagField.
|
| |
| void | getAllRegisteredFlags (std::vector< FlagUID > &out) const |
| | Appends the string representation of all registered flags at the given vector.
|
| |
| const std::map< FlagUID, flag_t > & | getMapping () const |
| |
| | GhostLayerField (uint_t xSize, uint_t ySize, uint_t zSize, uint_t gl, const Layout &layout=fzyx, const shared_ptr< FieldAllocator< uint32_t > > &alloc=shared_ptr< FieldAllocator< uint32_t > >()) |
| | Creates an uninitialized field of given size.
|
| |
| | GhostLayerField (uint_t xSize, uint_t ySize, uint_t zSize, uint_t gl, const uint32_t &initValue, const Layout &layout=fzyx, const shared_ptr< FieldAllocator< uint32_t > > &alloc=shared_ptr< FieldAllocator< uint32_t > >()) |
| | Creates a field and initializes it with constant value.
|
| |
| | GhostLayerField (uint_t xSize, uint_t ySize, uint_t zSize, uint_t gl, const std::vector< uint32_t > &fValues, const Layout &layout=fzyx, const shared_ptr< FieldAllocator< uint32_t > > &alloc=shared_ptr< FieldAllocator< uint32_t > >()) |
| | Creates a field and initializes f coordinate with vector values.
|
| |
| | ~GhostLayerField () override=default |
| |
| void | init (uint_t xSizeWithoutGhostLayer, uint_t ySizeWithoutGhostLayer, uint_t zSizeWithoutGhostLayer, uint_t nrGhostLayers, const Layout &layout=fzyx, const shared_ptr< FieldAllocator< uint32_t > > &alloc=shared_ptr< FieldAllocator< uint32_t > >()) |
| | Initializes a field, must be called exactly once.
|
| |
| void | resize (uint_t xSize, uint_t ySize, uint_t zSize) override |
| | Deletes all stored data, and resizes the field.
|
| |
| void | resize (uint_t xSize, uint_t ySize, uint_t zSize, uint_t gl) |
| | Deletes all stored data, and resizes the field.
|
| |
| GhostLayerField< uint32_t, fSize_ > * | clone () const |
| |
| GhostLayerField< uint32_t, fSize_ > * | cloneUninitialized () const |
| |
| GhostLayerField< uint32_t, fSize_ > * | cloneShallowCopy () const |
| |
| FlattenedField * | flattenedShallowCopy () const |
| |
| uint_t | xSizeWithGhostLayer () const |
| |
| uint_t | ySizeWithGhostLayer () const |
| |
| uint_t | zSizeWithGhostLayer () const |
| |
| uint_t | sizeWithGhostLayer (uint_t i) const |
| |
| uint_t | nrOfGhostLayers () const |
| |
| CellInterval | xyzSizeWithGhostLayer () const |
| | Returns the x/y/z Size of the field with ghost layers.
|
| |
| void | setWithGhostLayer (const uint32_t &value) |
| | Sets all entries (including the ghost layer) of the field to given value.
|
| |
| void | setWithGhostLayer (const std::vector< uint32_t > &fValues) |
| | Initializes the f coordinate to values from vector, in all cells including the ghost layers Sets the entry (x,y,z,f) to fValues[f].
|
| |
| iterator | beginWithGhostLayer () |
| | Iterator over all cells, including the ghost layers.
|
| |
| const_iterator | beginWithGhostLayer () const |
| | Returns const_iterator, see beginWithGhostLayer()
|
| |
| iterator | beginWithGhostLayer (cell_idx_t numGhostLayers) |
| |
| const_iterator | beginWithGhostLayer (cell_idx_t numGhostLayers) const |
| |
| iterator | beginWithGhostLayerXYZ () |
| | Iterates only over all cells including ghost layers of XYZ coordinate, f is always 0.
|
| |
| const_iterator | beginWithGhostLayerXYZ () const |
| | Const version of beginWithGhostLayerXYZ()
|
| |
| iterator | beginWithGhostLayerXYZ (cell_idx_t numGhostLayers) |
| |
| const_iterator | beginWithGhostLayerXYZ (cell_idx_t numGhostLayers) const |
| |
| iterator | beginGhostLayerOnly (stencil::Direction dir, bool fullSlice=false) |
| | Iterates only over ghost layers of a given direction.
|
| |
| const_iterator | beginGhostLayerOnly (stencil::Direction dir, bool fullSlice=false) const |
| | Const version of beginGhostLayersOnly()
|
| |
| iterator | beginGhostLayerOnly (uint_t thickness, stencil::Direction dir, bool fullSlice=false) |
| | Iterates only over specified number of ghost layers of a given direction.
|
| |
| const_iterator | beginGhostLayerOnly (uint_t thickness, stencil::Direction dir, bool fullSlice=false) const |
| | Const version of beginGhostLayersOnly(uint_t thickness, stencil::Direction)
|
| |
| iterator | beginGhostLayerOnlyXYZ (stencil::Direction dir, cell_idx_t f=0, bool fullSlice=false) |
| | Iterates only over ghost layers of a given direction, only over xyz coordinates, f is fixed.
|
| |
| const_iterator | beginGhostLayerOnlyXYZ (stencil::Direction dir, cell_idx_t f=0, bool fullSlice=false) const |
| | Const version of beginGhostLayersOnlyXYZ()
|
| |
| iterator | beginGhostLayerOnlyXYZ (uint_t thickness, stencil::Direction dir, cell_idx_t f=0, bool fullSlice=false) |
| | Iterates only over ghost layers of a given direction, only over xyz coordinates, f is fixed.
|
| |
| const_iterator | beginGhostLayerOnlyXYZ (uint_t thickness, stencil::Direction dir, cell_idx_t f=0, bool fullSlice=false) const |
| | Const version of beginGhostLayersOnlyXYZ()
|
| |
| iterator | beginSliceBeforeGhostLayer (stencil::Direction dir, cell_idx_t thickness=1, bool fullSlice=false) |
| | Iterates only over the last slice before ghost layer.
|
| |
| const_iterator | beginSliceBeforeGhostLayer (stencil::Direction dir, cell_idx_t thickness=1, bool fullSlice=false) const |
| | Const version of beginSliceBeforeGhostLayer()
|
| |
| iterator | beginSliceBeforeGhostLayerXYZ (stencil::Direction dir, cell_idx_t thickness=1, cell_idx_t f=0, bool fullSlice=false) |
| | Iterates only over the last slice before ghost layer, only in XYZ direction, f is fixed.
|
| |
| const_iterator | beginSliceBeforeGhostLayerXYZ (stencil::Direction dir, cell_idx_t thickness=1, cell_idx_t f=0, bool fullSlice=false) const |
| | Const version of beginSliceBeforeGhostLayerXYZ()
|
| |
| void | getGhostRegion (stencil::Direction dir, CellInterval &ghostAreaOut, cell_idx_t thickness, bool fullSlice=false) const |
| |
| void | getSliceBeforeGhostLayer (stencil::Direction d, CellInterval &ci, cell_idx_t thickness=1, bool fullSlice=false) const |
| |
| bool | isInInnerPart (const Cell &cell) const |
| | Checks if a given cell is in the inner part of the field ( not in ghost region or outside )
|
| |
| reverse_iterator | rbeginWithGhostLayer () |
| | Reverse Iterator over all cells, including the ghost layers.
|
| |
| const_reverse_iterator | rbeginWithGhostLayer () const |
| | Returns const_iterator, see beginWithGhostLayer()
|
| |
| reverse_iterator | rbeginWithGhostLayerXYZ () |
| | Iterates only over all cells including ghost layers of XYZ coordinate, f is always 0.
|
| |
| const_reverse_iterator | rbeginWithGhostLayerXYZ () const |
| | Const version of beginWithGhostLayerXYZ()
|
| |
| GhostLayerField< uint32_t, fSize_ > * | getSlicedField (const CellInterval &interval) const |
| |
| void | slice (const CellInterval &interval) override |
| | Changes the coordinate system of the field.
|
| |
| void | shiftCoordinates (cell_idx_t cx, cell_idx_t cy, cell_idx_t cz) override |
| |
| uint8_t | advanceTimestep () |
| |
| uint8_t | getTimestep () const |
| |
| uint8_t | getTimestepPlusOne () const |
| |
| bool | isEvenTimeStep () const |
| |
| | Field (uint_t xSize, uint_t ySize, uint_t zSize, const Layout &layout=fzyx, const shared_ptr< FieldAllocator< uint32_t > > &alloc=shared_ptr< FieldAllocator< uint32_t > >()) |
| | Creates an uninitialized field of given size.
|
| |
| | Field (uint_t xSize, uint_t ySize, uint_t zSize, const uint32_t &initValue, const Layout &layout=fzyx, const shared_ptr< FieldAllocator< uint32_t > > &alloc=shared_ptr< FieldAllocator< uint32_t > >()) |
| | Creates a field and initializes it with constant.
|
| |
| | Field (uint_t xSize, uint_t ySize, uint_t zSize, const std::vector< uint32_t > &fValues, const Layout &layout=fzyx, const shared_ptr< FieldAllocator< uint32_t > > &alloc=shared_ptr< FieldAllocator< uint32_t > >()) |
| | Creates a field and initializes f coordinate with vector values.
|
| |
| virtual | ~Field () |
| | Destructor, using Allocator template parameter.
|
| |
| void | init (uint_t xSize, uint_t ySize, uint_t zSize, const Layout &layout=fzyx, shared_ptr< FieldAllocator< uint32_t > > alloc=shared_ptr< FieldAllocator< uint32_t > >(), uint_t innerGhostLayerSizeForAlignedAlloc=0) |
| | Initializes the field with a given size, in a given layout.
|
| |
| Field< uint32_t, fSize_ > * | clone () const |
| | Returns a deep copy of the current field.
|
| |
| Field< uint32_t, fSize_ > * | cloneUninitialized () const |
| | Creates a new field that has equal size and layout as this field.
|
| |
| Field< uint32_t, fSize_ > * | cloneShallowCopy () const |
| | Returns a shallow copy of the current field.
|
| |
| FlattenedField * | flattenedShallowCopy () const |
| | Returns a flattened shallow copy of the current field.
|
| |
| Field & | operator= (const Field &)=delete |
| |
| uint32_t & | get (cell_idx_t x, cell_idx_t y, cell_idx_t z) |
| | get function with only (x,y,z) coordinates, assumes fSize=1
|
| |
| const uint32_t & | get (cell_idx_t x, cell_idx_t y, cell_idx_t z) const |
| | get function with only (x,y,z) coordinates, assumes fSize=1
|
| |
| uint32_t & | get (cell_idx_t x, cell_idx_t y, cell_idx_t z, cell_idx_t f) |
| | Non-Const variant of get()
|
| |
| const uint32_t & | get (cell_idx_t x, cell_idx_t y, cell_idx_t z, cell_idx_t f) const |
| | Accesses the value at given coordinate.
|
| |
| uint32_t & | get (cell_idx_t x, cell_idx_t y, cell_idx_t z, uint_t f) |
| | get() variant which takes a uint_t as last coordinate, as for example Stencil::toIdx() returns
|
| |
| const uint32_t & | get (cell_idx_t x, cell_idx_t y, cell_idx_t z, uint_t f) const |
| | get() variant which takes a uint_t as last coordinate, as for example Stencil::toIdx() returns
|
| |
| uint32_t & | get (const Cell &cell) |
| | get overload using a cell as input, only possible if fSize=1
|
| |
| const uint32_t & | get (const Cell &cell) const |
| | get overload using a cell as input, only possible if fSize=1
|
| |
| uint32_t & | get (const Cell &c, cell_idx_t f) |
| |
| const uint32_t & | get (const Cell &c, cell_idx_t f) const |
| |
| uint32_t & | get (const Cell &c, uint_t f) |
| |
| const uint32_t & | get (const Cell &c, uint_t f) const |
| |
| uint32_t & | get (const base_iterator &iter) |
| | get overload, where position is specified using an iterator of another field with equal size
|
| |
| const uint32_t & | get (const base_iterator &iter) const |
| | get overload, where position is specified using an iterator of another field with equal size
|
| |
| uint32_t & | operator() (cell_idx_t x, cell_idx_t y, cell_idx_t z) |
| |
| const uint32_t & | operator() (cell_idx_t x, cell_idx_t y, cell_idx_t z) const |
| |
| uint32_t & | operator() (cell_idx_t x, cell_idx_t y, cell_idx_t z, cell_idx_t f) |
| |
| const uint32_t & | operator() (cell_idx_t x, cell_idx_t y, cell_idx_t z, cell_idx_t f) const |
| |
| uint32_t & | operator() (cell_idx_t x, cell_idx_t y, cell_idx_t z, uint_t f) |
| |
| const uint32_t & | operator() (cell_idx_t x, cell_idx_t y, cell_idx_t z, uint_t f) const |
| |
| uint32_t & | operator() (const Cell &cell) |
| |
| const uint32_t & | operator() (const Cell &cell) const |
| |
| uint32_t & | operator() (const Cell &cell, cell_idx_t f) |
| |
| const uint32_t & | operator() (const Cell &cell, cell_idx_t f) const |
| |
| uint32_t & | operator() (const Cell &cell, uint_t f) |
| |
| const uint32_t & | operator() (const Cell &cell, uint_t f) const |
| |
| uint32_t & | operator() (const base_iterator &iter) |
| |
| const uint32_t & | operator() (const base_iterator &iter) const |
| |
| uint32_t & | getNeighbor (cell_idx_t x, cell_idx_t y, cell_idx_t z, stencil::Direction d) |
| | returns neighboring value of cell in the given direction
|
| |
| const uint32_t & | getNeighbor (cell_idx_t x, cell_idx_t y, cell_idx_t z, stencil::Direction d) const |
| | returns neighboring value of cell in the given direction
|
| |
| uint32_t & | getNeighbor (cell_idx_t x, cell_idx_t y, cell_idx_t z, uint_t f, stencil::Direction d) |
| | returns neighboring value of cell in the given direction
|
| |
| const uint32_t & | getNeighbor (cell_idx_t x, cell_idx_t y, cell_idx_t z, uint_t f, stencil::Direction d) const |
| | returns neighboring value of cell in the given direction
|
| |
| uint32_t & | getNeighbor (const Cell &cell, stencil::Direction d) |
| | get overload using a cell as input, only possible if fSize=1, with neighbor access
|
| |
| const uint32_t & | getNeighbor (const Cell &cell, stencil::Direction d) const |
| | get overload using a cell as input, only possible if fSize=1, with neighbor access
|
| |
| uint32_t & | getF (uint32_t *const xyz0, const cell_idx_t f) |
| |
| const uint32_t & | getF (const uint32_t *const xyz0, const cell_idx_t f) const |
| |
| uint32_t & | getF (uint32_t *const xyz0, const uint_t f) |
| |
| const uint32_t & | getF (const uint32_t *const xyz0, const uint_t f) const |
| |
| void | set (const uint32_t &value) |
| | Sets all entries of the field to given value.
|
| |
| void | set (const std::vector< uint32_t > &fValues) |
| | Initializes the f coordinate to values from vector Sets the entry (x,y,z,f) to fValues[f].
|
| |
| void | set (const Field< uint32_t, fSize_ > &other) |
| | Copies all entries of the given field to this field.
|
| |
| void | set (const Field< uint32_t, fSize_ > *other) |
| |
| void | swapDataPointers (Field< uint32_t, fSize_ > &other) |
| | Swap two fields efficiently by exchanging only values_ pointer The two fields have to have identical sizes and same layout.
|
| |
| void | swapDataPointers (Field< uint32_t, fSize_ > *other) |
| |
| bool | operator== (const Field< uint32_t, fSize_ > &other) const |
| | Equality operator compares element-wise.
|
| |
| bool | operator!= (const Field< uint32_t, fSize_ > &other) const |
| | Inequality operator compares element-wise.
|
| |
| bool | hasSameAllocSize (const Field< uint32_t, fSize_ > &other) const |
| | True if allocation sizes of all dimensions match.
|
| |
| bool | hasSameSize (const Field< uint32_t, fSize_ > &other) const |
| | True if sizes of all dimensions match.
|
| |
| iterator | begin () |
| | Returns iterator, which can iterate over complete field in a suitable order depending on layout.
|
| |
| const_iterator | begin () const |
| | Returns const_iterator, see begin()
|
| |
| iterator | beginXYZ () |
| | Iterates only over XYZ coordinate, f is always 0.
|
| |
| const_iterator | beginXYZ () const |
| | Const version of beginXYZ()
|
| |
| iterator | beginSlice (cell_idx_t xBeg, cell_idx_t yBeg, cell_idx_t zBeg, cell_idx_t fBeg, cell_idx_t xEnd, cell_idx_t yEnd, cell_idx_t zEnd, cell_idx_t fEnd) |
| | Returns iterator which iterates over a sub-block of the field.
|
| |
| const_iterator | beginSlice (cell_idx_t xBeg, cell_idx_t yBeg, cell_idx_t zBeg, cell_idx_t fBeg, cell_idx_t xEnd, cell_idx_t yEnd, cell_idx_t zEnd, cell_idx_t fEnd) const |
| | Const variant of beginSlice()
|
| |
| iterator | beginSliceXYZ (const CellInterval &interval, cell_idx_t f=0) |
| | Returns iterator which iterates over a slice, but only in x,y,z coordinates.
|
| |
| const_iterator | beginSliceXYZ (const CellInterval &interval, cell_idx_t f=0) const |
| | Const variant of beginSliceXYZ()
|
| |
| const iterator & | end () |
| |
| const const_iterator & | end () const |
| |
| reverse_iterator | rbegin () |
| | Returns reverse iterator, which can iterate over complete field in a suitable order depending on layout.
|
| |
| const_reverse_iterator | rbegin () const |
| | Returns const_reverse_iterator, see begin()
|
| |
| reverse_iterator | rbeginXYZ () |
| | Iterates only over XYZ coordinate, f is always 0.
|
| |
| const_reverse_iterator | rbeginXYZ () const |
| | Const version of beginXYZ()
|
| |
| const reverse_iterator & | rend () |
| |
| const const_reverse_iterator & | rend () const |
| |
| uint_t | xSize () const |
| |
| uint_t | ySize () const |
| |
| uint_t | zSize () const |
| |
| uint_t | fSize () const |
| |
| uint_t | size (uint_t coord) const |
| |
| uint_t | xAllocSize () const |
| |
| uint_t | yAllocSize () const |
| |
| uint_t | zAllocSize () const |
| |
| uint_t | fAllocSize () const |
| |
| uint_t | allocSize () const |
| |
| CellInterval | xyzSize () const |
| |
| CellInterval | xyzAllocSize () const |
| |
| Layout | layout () const |
| |
| int64_t | xStride () const |
| |
| int64_t | yStride () const |
| |
| int64_t | zStride () const |
| |
| int64_t | fStride () const |
| |
| cell_idx_t | xOff () const |
| |
| cell_idx_t | yOff () const |
| |
| cell_idx_t | zOff () const |
| |
| bool | coordinatesValid (cell_idx_t x, cell_idx_t y, cell_idx_t z, cell_idx_t f=0) const |
| |
| bool | coordinatesValid (const Cell &c, cell_idx_t f=0) const |
| |
| Field< uint32_t, fSize_ > * | getSlicedField (const CellInterval &interval) const |
| | Create a different "view" of the field, where the created field has the size of the given sliceInterval.
|
| |
| uint32_t * | data () |
| |
| const uint32_t * | data () const |
| |
| uint32_t * | dataAt (cell_idx_t x, cell_idx_t y, cell_idx_t z, cell_idx_t f) |
| |
| const uint32_t * | dataAt (cell_idx_t x, cell_idx_t y, cell_idx_t z, cell_idx_t f) const |
| |
| uint32_t * | dataInner () |
| |
| const uint32_t * | dataInner () const |
| |
| shared_ptr< FieldAllocator< uint32_t > > | getAllocator () const |
| | Returns internal data allocator.
|
| |
| void | addMonitoringFunction (const MonitorFunction &func) |
| | Registers a monitoring function.
|
| |