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

A wrapper around a vector of Blocks that represent the computational domain. More...

#include <Domain.hpp>

Public Member Functions

 Domain (std::vector< Block< VolumeDim, TargetFrame >> blocks) noexcept
 
 Domain (std::vector< std::unique_ptr< domain::CoordinateMapBase< Frame::Logical, TargetFrame, VolumeDim >>> maps, const std::vector< std::array< size_t, two_to_the(VolumeDim)>> &corners_of_all_blocks, const std::vector< PairOfFaces > &identifications={}) noexcept
 
 Domain (const Domain &)=delete
 
 Domain (Domain &&)=default
 
Domain< VolumeDim, TargetFrame > & operator= (const Domain< VolumeDim, TargetFrame > &)=delete
 
Domain< VolumeDim, TargetFrame > & operator= (Domain< VolumeDim, TargetFrame > &&)=default
 
const std::vector< Block< VolumeDim, TargetFrame > > & blocks () const noexcept
 
void pup (PUP::er &p) noexcept
 

Detailed Description

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

A wrapper around a vector of Blocks that represent the computational domain.

Constructor & Destructor Documentation

◆ Domain()

template<size_t VolumeDim, typename TargetFrame >
Domain< VolumeDim, TargetFrame >::Domain ( std::vector< std::unique_ptr< domain::CoordinateMapBase< Frame::Logical, TargetFrame, VolumeDim >>>  maps,
const std::vector< std::array< size_t, two_to_the(VolumeDim)>> &  corners_of_all_blocks,
const std::vector< PairOfFaces > &  identifications = {} 
)
noexcept

Create a Domain using a corner numbering scheme to encode the Orientations, with an optional parameter that encodes periodic boundary conditions.

Details

Each element of corners_of_all_blocks contains the corner numbering of that block's corners according to the global corner number scheme. The details of the corner numbering scheme are described in the tutorial. identifications is for imposing periodic boundary conditions on the domain. To identify faces, identifications should contain the PairOfFaces containing the corners of each pair of faces that you wish to identify with one another. For more information on setting up domains, see the domain creation tutorial.

Requires: maps.size() == corners_of_all_blocks.size(), and identifications.size() is even.


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