FleCSI User API Version: 2.3.0
 
Loading...
Searching...
No Matches
axis_layout Struct Reference

The layout of one axis of one color. More...

Public Member Functions

auto all () const
 Return a range of all (local) indices.
 
template<short E>
util::id exclusive () const
 
template<short E>
util::id extended () const
 The extended entities, i.e., the logical entities including boundary padding.
 
auto extended () const
 Return a range of all extended indices.
 
util::id extent () const
 The local extent of this color.
 
template<short E>
util::id ghost () const
 The beginning or end index of the domain entities, including logical and ghost entities.
 
template<short E>
util::id logical () const
 The beginning or end index of the logical entities, i.e., the entities for this color without boundary padding or ghosts.
 
auto logical () const
 Return a range of all logical indices.
 

Detailed Description

The layout of one axis of one color.

Note
Periodic axes use the interior layout for all colors.

This class is supported for GPU execution.

Layouts for each possible orientation.

Member Function Documentation

◆ extent()

util::id extent ( ) const

The local extent of this color.

This is the full size including boundary depth, and ghosts. The "extent" coordinate implicitly defines a range [0, extent[.

◆ all()

auto all ( ) const

Return a range of all (local) indices.

Returns
range of util::id

◆ logical() [1/2]

template<short E>
util::id logical ( ) const

The beginning or end index of the logical entities, i.e., the entities for this color without boundary padding or ghosts.

Template Parameters
E0 or 1 for beginning or end

◆ logical() [2/2]

auto logical ( ) const

Return a range of all logical indices.

Returns
range of util::id

◆ exclusive()

template<short E>
util::id exclusive ( ) const

◆ ghost()

template<short E>
util::id ghost ( ) const

The beginning or end index of the domain entities, including logical and ghost entities.

Template Parameters
E0 or 1 for beginning or end

◆ extended() [1/2]

template<short E>
util::id extended ( ) const

The extended entities, i.e., the logical entities including boundary padding.

The boundary depth can be computed like:

boundary_depth_low = logical<0>() - extended<0>();
boundary_depth_high = extended<1>() - logical<1>();

The ghost depth can be computed like:

halo_depth_low = extended<0>();
halo_depth_high = extent() - extended<1>();
util::id extent() const
The local extent of this color.
Definition types.hh:198
Template Parameters
E0 or 1 for beginning or end

◆ extended() [2/2]

auto extended ( ) const

Return a range of all extended indices.

Returns
range of util::id