Public Member Functions | List of all members
Block< VolumeDim, TargetFrame > Class Template Reference

A Block<VolumeDim> is a region of a VolumeDim-dimensional computational domain that defines the root node of a tree which is used to construct the Elements that cover a region of the computational domain. More...

#include <Block.hpp>

Public Member Functions

 Block (std::unique_ptr< CoordinateMapBase< Frame::Logical, TargetFrame, VolumeDim >> &&map, size_t id, DirectionMap< VolumeDim, BlockNeighbor< VolumeDim >> neighbors) noexcept
 
 Block (const Block &)=delete
 
 Block (Block &&)=default
 
Blockoperator= (const Block &)=delete
 
Blockoperator= (Block &&)=default
 
const CoordinateMapBase< Frame::Logical, TargetFrame, VolumeDim > & coordinate_map () const noexcept
 
size_t id () const noexcept
 A unique identifier for the Block that is in the range [0, number_of_blocks -1] where number_of_blocks is the number of Blocks that cover the computational domain.
 
const DirectionMap< VolumeDim, BlockNeighbor< VolumeDim > > & neighbors () const noexcept
 Information about the neighboring Blocks.
 
const std::unordered_set< Direction< VolumeDim > > & external_boundaries () const noexcept
 The directions of the faces of the Block that are external boundaries.
 
void pup (PUP::er &p) noexcept
 Serialization for Charm++.
 

Detailed Description

template<size_t VolumeDim, typename TargetFrame>
class Block< VolumeDim, TargetFrame >

A Block<VolumeDim> is a region of a VolumeDim-dimensional computational domain that defines the root node of a tree which is used to construct the Elements that cover a region of the computational domain.

Each codimension 1 boundary of a Block<VolumeDim> is either an external boundary or identical to a boundary of one other Block.

A Block has logical coordinates that go from -1 to +1 in each dimension. The global coordinates are obtained from the logical coordinates from the Coordinatemap: CoordinateMap::operator() takes Points in the Logical Frame (i.e., logical coordinates) and returns Points in the Grid Frame (i.e., global coordinates).

Constructor & Destructor Documentation

◆ Block()

template<size_t VolumeDim, typename TargetFrame >
Block< VolumeDim, TargetFrame >::Block ( std::unique_ptr< CoordinateMapBase< Frame::Logical, TargetFrame, VolumeDim >> &&  map,
size_t  id,
DirectionMap< VolumeDim, BlockNeighbor< VolumeDim >>  neighbors 
)
noexcept
Parameters
mapthe CoordinateMap.
ida unique ID.
neighborsinfo about the Blocks that share a codimension 1 boundary with this Block.

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