Public Member Functions | Static Public Member Functions | List of all members
ElementId< VolumeDim > Class Template Reference

An ElementId uniquely labels an Element. It is constructed from the BlockId of the Block to which the Element belongs and the VolumeDim SegmentIds that label the segments of the Block that the Element covers. More...

#include <ElementId.hpp>

Public Member Functions

constexpr ElementId ()=default
 Default constructor needed for Charm++ serialization.
 
 ElementId (size_t block_id) noexcept
 Create the ElementId of the root Element of a Block.
 
 ElementId (const ElementIndex< VolumeDim > &index) noexcept
 Convert an ElementIndex to an ElementId.
 
 operator Parallel::ArrayIndex< ElementIndex< VolumeDim >> () const noexcept
 Conversion operator needed to index proxys using ElementId
 
 ElementId (size_t block_id, std::array< SegmentId, VolumeDim > segment_ids) noexcept
 Create an arbitrary ElementId.
 
ElementId< VolumeDim > id_of_child (size_t dim, Side side) const noexcept
 
ElementId< VolumeDim > id_of_parent (size_t dim) const noexcept
 
constexpr size_t block_id () const noexcept
 
const std::array< SegmentId, VolumeDim > & segment_ids () const noexcept
 
void pup (PUP::er &p) noexcept
 Serialization for Charm++.
 

Static Public Member Functions

static ElementId< VolumeDim > external_boundary_id () noexcept
 Returns an ElementId meant for identifying data on external boundaries, which should never correspond to the Id of an actual element.
 

Detailed Description

template<size_t VolumeDim>
class ElementId< VolumeDim >

An ElementId uniquely labels an Element. It is constructed from the BlockId of the Block to which the Element belongs and the VolumeDim SegmentIds that label the segments of the Block that the Element covers.


The documentation for this class was generated from the following files: