walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT > Class Template Reference

Detailed Description

template<typename LatticeModel, typename FlagFieldT>
class walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >

Creates a default boundary handling for LBM simulations.

This functor is usually used like

typedef lbm::DefaultBoundaryHandlingFactory< LatticeModel_T, FlagField_T > Factory;
BlockDataID bid = Factory::addBoundaryHandlingToStorage( blocks, "boundary handling", flagFieldId, pdfFieldId,
vel0, vel1, pressure0, pressure1, setOfDomainFlags );

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:

Boundary Condition FlagUID BoundaryUID
NoSlip getNoSlip() getNoSlipBoundaryUID()
FreeSlip getFreeSlip() getFreeSlipBoundaryUID()
SimpleUBB getVelocity0() getVelocity0BoundaryUID()
SimpleUBB getVelocity1() getVelocity1BoundaryUID()
SimplePressure getPressure0() getPressure0BoundaryUID()
SimplePressure getPressure1() getPressure1BoundaryUID()
Template Parameters
LatticeModelThe lattice model used for the simulation
FlagFieldTType of the used flag field

#include <DefaultBoundaryHandling.h>

Public Types

typedef FlagFieldT::flag_t flag_t
 
typedef LatticeModel::Stencil Stencil
 
typedef NoSlip< LatticeModel, flag_tBcNoSlip
 
typedef FreeSlip< LatticeModel, FlagFieldT > BcFreeSlip
 
typedef SimpleUBB< LatticeModel, flag_tBcSimpleUBB
 
typedef SimplePressure< LatticeModel, flag_tBcSimplePressure
 
typedef Vector3< real_tVelocity
 
typedef PdfField< LatticeModel > PdfFieldLM
 
typedef walberla::boundary::BoundaryHandling< FlagFieldT, Stencil, BcNoSlip, BcFreeSlip, BcSimpleUBB, BcSimpleUBB, BcSimplePressure, BcSimplePressureBoundaryHandling
 

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)
 
BoundaryHandlingoperator() (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 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_
 

Member Typedef Documentation

template<typename LatticeModel, typename FlagFieldT>
typedef FreeSlip< LatticeModel, FlagFieldT > walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::BcFreeSlip
template<typename LatticeModel, typename FlagFieldT>
typedef NoSlip< LatticeModel, flag_t > walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::BcNoSlip
template<typename LatticeModel, typename FlagFieldT>
typedef SimplePressure< LatticeModel, flag_t > walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::BcSimplePressure
template<typename LatticeModel, typename FlagFieldT>
typedef SimpleUBB< LatticeModel, flag_t > walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::BcSimpleUBB
template<typename LatticeModel, typename FlagFieldT>
typedef walberla::boundary::BoundaryHandling< FlagFieldT, Stencil, BcNoSlip, BcFreeSlip, BcSimpleUBB, BcSimpleUBB, BcSimplePressure, BcSimplePressure > walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::BoundaryHandling
template<typename LatticeModel, typename FlagFieldT>
typedef FlagFieldT::flag_t walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::flag_t
template<typename LatticeModel, typename FlagFieldT>
typedef PdfField< LatticeModel > walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::PdfFieldLM
template<typename LatticeModel, typename FlagFieldT>
typedef LatticeModel::Stencil walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::Stencil
template<typename LatticeModel, typename FlagFieldT>
typedef Vector3<real_t> walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::Velocity

Constructor & Destructor Documentation

template<typename LatticeModel , typename FlagFieldT >
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 
)
Parameters
flagFieldBlockDataID of the flag field used in the simulation
pdfFieldBlockDataID of the PDF field used in the simulation
velocity0Velocity parameter for SimpleUBB "Velocity0"
velocity1Velocity parameter for SimpleUBB "Velocity1"
pressure0Pressure parameter for SimplePressure "Pressure0"
pressure1Pressure parameter for SimplePressure "Pressure1"

Member Function Documentation

template<typename LatticeModel, typename FlagFieldT>
static BlockDataID walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::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 
)
inlinestatic
template<typename LatticeModel, typename FlagFieldT>
static const walberla::FlagUID& walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::getFreeSlip ( )
inlinestatic
template<typename LatticeModel, typename FlagFieldT>
static const walberla::BoundaryUID& walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::getFreeSlipBoundaryUID ( )
inlinestatic
template<typename LatticeModel, typename FlagFieldT>
static const walberla::FlagUID& walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::getNoSlip ( )
inlinestatic
template<typename LatticeModel, typename FlagFieldT>
static const walberla::BoundaryUID& walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::getNoSlipBoundaryUID ( )
inlinestatic
template<typename LatticeModel, typename FlagFieldT>
static const walberla::FlagUID& walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::getPressure0 ( )
inlinestatic
template<typename LatticeModel, typename FlagFieldT>
static const walberla::BoundaryUID& walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::getPressure0BoundaryUID ( )
inlinestatic
template<typename LatticeModel, typename FlagFieldT>
static const walberla::FlagUID& walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::getPressure1 ( )
inlinestatic
template<typename LatticeModel, typename FlagFieldT>
static const walberla::BoundaryUID& walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::getPressure1BoundaryUID ( )
inlinestatic
template<typename LatticeModel, typename FlagFieldT>
static const walberla::FlagUID& walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::getVelocity0 ( )
inlinestatic
template<typename LatticeModel, typename FlagFieldT>
static const walberla::BoundaryUID& walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::getVelocity0BoundaryUID ( )
inlinestatic
template<typename LatticeModel, typename FlagFieldT>
static const walberla::FlagUID& walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::getVelocity1 ( )
inlinestatic
template<typename LatticeModel, typename FlagFieldT>
static const walberla::BoundaryUID& walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::getVelocity1BoundaryUID ( )
inlinestatic
template<typename LatticeModel , typename FlagFieldT >
DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::BoundaryHandling * walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::operator() ( walberla::IBlock *const  block,
const walberla::StructuredBlockStorage *const  storage 
) const

Member Data Documentation

template<typename LatticeModel, typename FlagFieldT>
BlockDataID walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::flagField_
private
template<typename LatticeModel, typename FlagFieldT>
const Set< FlagUID > walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::flagUIDSet_
private
template<typename LatticeModel, typename FlagFieldT>
BlockDataID walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::pdfField_
private
template<typename LatticeModel, typename FlagFieldT>
real_t walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::pressure0_
private
template<typename LatticeModel, typename FlagFieldT>
real_t walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::pressure1_
private
template<typename LatticeModel, typename FlagFieldT>
Velocity walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::velocity0_
private
template<typename LatticeModel, typename FlagFieldT>
Velocity walberla::lbm::DefaultBoundaryHandlingFactory< LatticeModel, FlagFieldT >::velocity1_
private

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