Sets a boundary condition at a certain border of the domain (borders are specified by directions).
Configuration file syntax:
<initializerID> { direction W; // can be W,E,S,N,T,B and all walldistance 0; // optional (default to 0), // 0 means the first interior layer is set, -1 means ghost layer // 1 first inner slice ... ghostLayersToInitialize // how many ghost layers are initialized in the direction normal to the border // Example: when initializing northern boundary, the parameter controls how far // the slice goes into the W,E,T,B directions, i.e. how many ghost layers are // initialized in these directions // If this parameter is greater than the existing number of ghost layers, // no error is reported, but all ghostlayers are initialized. // Do not mix up this parameter with the parameter "walldistance" which // specifies the distance of the slice to the (in this example) northern boundary. <FlagUID> { <boundaryConfiguration> } }
The order of these blocks in the configuration file is important, when regions overlap. later config blocks overwrite the previous ones.
#include <BoundaryFromDomainBorder.h>
Public Member Functions | |
BoundaryFromDomainBorder (StructuredBlockStorage &blocks, BlockDataID handlerBlockDataID, CellInterval globalDomain=CellInterval()) | |
Constructor for BoundaryFromDomainBorder. More... | |
void | init (const Config::BlockHandle &blockHandle) |
void | init (BlockStorage &blockStorage, const Config::BlockHandle &blockHandle) override |
void | init (FlagUID flagUID, stencil::Direction direction, cell_idx_t wallDistance=0, cell_idx_t ghostLayersToInitialize=std::numeric_limits< cell_idx_t >::max()) |
void | init (BoundaryUID boundaryUID, stencil::Direction direction, const shared_ptr< BoundaryConfiguration > &conf, cell_idx_t wallDistance=0, cell_idx_t ghostLayersToInitialize=std::numeric_limits< cell_idx_t >::max()) |
void | initAllBorders (FlagUID flagUID, cell_idx_t wallDistance=0, cell_idx_t ghostLayersToInitialize=std::numeric_limits< cell_idx_t >::max()) |
void | initAllBorders (BoundaryUID boundaryUID, const shared_ptr< BoundaryConfiguration > &conf, cell_idx_t wallDistance=0, cell_idx_t ghostLayersToInitialize=std::numeric_limits< cell_idx_t >::max()) |
Public Member Functions inherited from walberla::geometry::initializer::Initializer | |
virtual | ~Initializer ()=default |
Protected Member Functions | |
void | init (stencil::Direction direction, cell_idx_t wallDistance, cell_idx_t ghostLayersToInitialize, BoundarySetter< BoundaryHandling_T > &boundarySetter) |
Protected Attributes | |
StructuredBlockStorage & | blocks_ |
BlockDataID | handlerBlockDataID_ |
CellInterval | globalDomain_ |
walberla::geometry::initializer::BoundaryFromDomainBorder< Handling >::BoundaryFromDomainBorder | ( | StructuredBlockStorage & | blocks, |
BlockDataID | handlerBlockDataID, | ||
CellInterval | globalDomain = CellInterval() |
||
) |
Constructor for BoundaryFromDomainBorder.
blocks | the structured block storage |
handlerBlockDataID | the id of the BoundaryHandler, which type is the template parameter Handling |
globalDomain | This parameter can be used if the simulation domain should be smaller than the number of total cells the StructuredBlockStorage has. Instead of using blockStorage.getDomainCellBB() here a custom cell interval can be given. If the empty CellInterval is given (default), the complete domain is used. |
|
overridevirtual |
Implements walberla::geometry::initializer::Initializer.
void walberla::geometry::initializer::BoundaryFromDomainBorder< Handling >::init | ( | BoundaryUID | boundaryUID, |
stencil::Direction | direction, | ||
const shared_ptr< BoundaryConfiguration > & | conf, | ||
cell_idx_t | wallDistance = 0 , |
||
cell_idx_t | ghostLayersToInitialize = std::numeric_limits<cell_idx_t>::max() |
||
) |
void walberla::geometry::initializer::BoundaryFromDomainBorder< Handling >::init | ( | const Config::BlockHandle & | blockHandle | ) |
void walberla::geometry::initializer::BoundaryFromDomainBorder< Handling >::init | ( | FlagUID | flagUID, |
stencil::Direction | direction, | ||
cell_idx_t | wallDistance = 0 , |
||
cell_idx_t | ghostLayersToInitialize = std::numeric_limits<cell_idx_t>::max() |
||
) |
|
protected |
void walberla::geometry::initializer::BoundaryFromDomainBorder< Handling >::initAllBorders | ( | BoundaryUID | boundaryUID, |
const shared_ptr< BoundaryConfiguration > & | conf, | ||
cell_idx_t | wallDistance = 0 , |
||
cell_idx_t | ghostLayersToInitialize = std::numeric_limits<cell_idx_t>::max() |
||
) |
void walberla::geometry::initializer::BoundaryFromDomainBorder< Handling >::initAllBorders | ( | FlagUID | flagUID, |
cell_idx_t | wallDistance = 0 , |
||
cell_idx_t | ghostLayersToInitialize = std::numeric_limits<cell_idx_t>::max() |
||
) |
|
protected |
|
protected |
|
protected |