|
waLBerla 7.2
|
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>
Inheritance diagram for walberla::geometry::initializer::BoundaryFromDomainBorder< BoundaryHandling_T >:Public Member Functions | |
| BoundaryFromDomainBorder (StructuredBlockStorage &blocks, BlockDataID handlerBlockDataID, CellInterval globalDomain=CellInterval()) | |
| Constructor for BoundaryFromDomainBorder. | |
| 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 |