Creates a default boundary handling for LBM simulations.
This functor is usually used like
It adds no slip, free slip, velocity and pressure boundaries to the boundary handler. The registered FlagUIDs can be accessed via the get...() functions. The following boundary conditions and flags are available:
LatticeModel | The lattice model used for the simulation |
FlagFieldT | Type of the used flag field |
#include <DefaultBoundaryHandling.h>
Public Types | |
using | flag_t = typename FlagFieldT::flag_t |
using | Stencil = typename LatticeModel::Stencil |
using | BcNoSlip = NoSlip< LatticeModel, flag_t > |
using | BcFreeSlip = FreeSlip< LatticeModel, FlagFieldT > |
using | BcSimpleUBB = SimpleUBB< LatticeModel, flag_t > |
using | BcSimplePressure = SimplePressure< LatticeModel, flag_t > |
using | Velocity = Vector3< real_t > |
using | PdfFieldLM = PdfField< LatticeModel > |
using | BoundaryHandling = walberla::boundary::BoundaryHandling< FlagFieldT, Stencil, BcNoSlip, BcFreeSlip, BcSimpleUBB, BcSimpleUBB, BcSimplePressure, BcSimplePressure > |
Public Member Functions | |
DefaultBoundaryHandlingFactory (const BlockDataID &flagField, const BlockDataID &pdfField, const Set< FlagUID > &flagUIDSet, const Velocity velocity0, const Velocity velocity1, const real_t pressure0, const real_t pressure1, const typename BoundaryHandling::Mode boundaryHandlingTraversalMode) | |
BoundaryHandling * | operator() (walberla::IBlock *const block, const walberla::StructuredBlockStorage *const storage) const |
Static Public Member Functions | |
static BlockDataID | addBoundaryHandlingToStorage (const shared_ptr< StructuredBlockStorage > &bs, const std::string &identifier, BlockDataID flagFieldID, BlockDataID pdfFieldID, const Set< FlagUID > &flagUIDSet, const Vector3< real_t > &velocity0, const Vector3< real_t > &velocity1, const real_t pressure0, const real_t pressure1) |
static BlockDataID | addBoundaryHandlingToStorage (const shared_ptr< StructuredBlockStorage > &bs, const std::string &identifier, BlockDataID flagFieldID, BlockDataID pdfFieldID, const Set< FlagUID > &flagUIDSet, const Vector3< real_t > &velocity0, const Vector3< real_t > &velocity1, const real_t pressure0, const real_t pressure1, const typename BoundaryHandling::Mode boundaryHandlingTraversalMode) |
static const walberla::FlagUID & | getNoSlip () |
static const walberla::FlagUID & | getFreeSlip () |
static const walberla::FlagUID & | getVelocity0 () |
static const walberla::FlagUID & | getVelocity1 () |
static const walberla::FlagUID & | getPressure0 () |
static const walberla::FlagUID & | getPressure1 () |
static const walberla::BoundaryUID & | getNoSlipBoundaryUID () |
static const walberla::BoundaryUID & | getFreeSlipBoundaryUID () |
static const walberla::BoundaryUID & | getVelocity0BoundaryUID () |
static const walberla::BoundaryUID & | getVelocity1BoundaryUID () |
static const walberla::BoundaryUID & | getPressure0BoundaryUID () |
static const walberla::BoundaryUID & | getPressure1BoundaryUID () |
Private Attributes | |
BlockDataID | flagField_ |
BlockDataID | pdfField_ |
const Set< FlagUID > | flagUIDSet_ |
Velocity | velocity0_ |
Velocity | velocity1_ |
real_t | pressure0_ |
real_t | pressure1_ |
const BoundaryHandling::Mode | boundaryHandlingTraversalMode_ |
using walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::BcFreeSlip = FreeSlip<LatticeModel, FlagFieldT> |
using walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::BcNoSlip = NoSlip<LatticeModel, flag_t> |
using walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::BcSimplePressure = SimplePressure<LatticeModel, flag_t> |
using walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::BcSimpleUBB = SimpleUBB<LatticeModel, flag_t> |
using walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::BoundaryHandling = walberla::boundary::BoundaryHandling<FlagFieldT, Stencil, BcNoSlip, BcFreeSlip, BcSimpleUBB, BcSimpleUBB, BcSimplePressure, BcSimplePressure> |
using walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::flag_t = typename FlagFieldT::flag_t |
using walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::PdfFieldLM = PdfField<LatticeModel> |
using walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::Stencil = typename LatticeModel::Stencil |
using walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::Velocity = Vector3<real_t> |
walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::DefaultBoundaryHandlingFactory | ( | const BlockDataID & | flagField, |
const BlockDataID & | pdfField, | ||
const Set< FlagUID > & | flagUIDSet, | ||
const Velocity | velocity0, | ||
const Velocity | velocity1, | ||
const real_t | pressure0, | ||
const real_t | pressure1, | ||
const typename BoundaryHandling::Mode | boundaryHandlingTraversalMode | ||
) |
flagField | BlockDataID of the flag field used in the simulation |
pdfField | BlockDataID of the PDF field used in the simulation |
velocity0 | Velocity parameter for SimpleUBB "Velocity0" |
velocity1 | Velocity parameter for SimpleUBB "Velocity1" |
pressure0 | Pressure parameter for SimplePressure "Pressure0" |
pressure1 | Pressure parameter for SimplePressure "Pressure1" |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::BoundaryHandling * walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::operator() | ( | walberla::IBlock *const | block, |
const walberla::StructuredBlockStorage *const | storage | ||
) | const |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |