walberla::lbm::Curved< LatticeModel_T, FlagField_T > Class Template Reference

#include <Curved.h>

+ Inheritance diagram for walberla::lbm::Curved< LatticeModel_T, FlagField_T >:

Classes

class  Configuration
 

Public Member Functions

 Curved (const BoundaryUID &boundaryUID, const FlagUID &uid, PDFField *const pdfField, const FlagField_T *const flagField, const flag_t domain)
 
void pushFlags (std::vector< FlagUID > &uids) const
 
void beforeBoundaryTreatment () const
 
void afterBoundaryTreatment () const
 
template<typename Buffer_T >
void packCell (Buffer_T &buffer, const cell_idx_t x, const cell_idx_t y, const cell_idx_t z) const
 
template<typename Buffer_T >
void registerCell (Buffer_T &buffer, const flag_t, const cell_idx_t x, const cell_idx_t y, const cell_idx_t z)
 
void registerCell (const flag_t, const cell_idx_t x, const cell_idx_t y, const cell_idx_t z, const BoundaryConfiguration &deltas)
 
void registerCells (const flag_t, const CellInterval &cells, const BoundaryConfiguration &deltas)
 
template<typename CellIterator >
void registerCells (const flag_t, const CellIterator &begin, const CellIterator &end, const BoundaryConfiguration &deltas)
 
void unregisterCell (const flag_t, const cell_idx_t x, const cell_idx_t y, const cell_idx_t z) const
 
void treatDirection (const cell_idx_t x, const cell_idx_t y, const cell_idx_t z, const stencil::Direction dir, const cell_idx_t nx, const cell_idx_t ny, const cell_idx_t nz, const flag_t mask)
 
const WeightField::value_typegetValue (const cell_idx_t x, cell_idx_t y, cell_idx_t z) const
 
- Public Member Functions inherited from walberla::boundary::Boundary< flag_t >
 Boundary (const BoundaryUID &boundaryUID)
 
void setMask (const flag_t mask)
 
flag_t getMask () const
 
const BoundaryUIDgetUID () const
 

Static Public Member Functions

static shared_ptr< ConfigurationcreateConfiguration (const Config::BlockHandle &config)
 

Static Public Attributes

static const bool threadsafe = true
 

Private Types

using PDFField = PdfField< LatticeModel_T >
 
using Stencil = typename LatticeModel_T::Stencil
 
using flag_t = typename FlagField_T::flag_t
 
using WeightField = GhostLayerField< shared_ptr< std::array< real_t, Stencil::Size > >, 1 >
 

Static Private Member Functions

static real_t deltaToWeight (const real_t delta)
 
static shared_ptr< std::array< real_t, Stencil::Size > > makeDeltaArray ()
 

Private Attributes

const FlagUID uid_
 
flag_t domainMask_
 
PDFField *const pdfField_
 
const FlagField_T *const flagField_
 
shared_ptr< WeightFieldweights_
 

Additional Inherited Members

- Protected Attributes inherited from walberla::boundary::Boundary< flag_t >
const BoundaryUID boundaryUID_
 
flag_t mask_
 
bool maskSet_
 

Member Typedef Documentation

◆ flag_t

template<typename LatticeModel_T , typename FlagField_T >
using walberla::lbm::Curved< LatticeModel_T, FlagField_T >::flag_t = typename FlagField_T::flag_t
private

◆ PDFField

template<typename LatticeModel_T , typename FlagField_T >
using walberla::lbm::Curved< LatticeModel_T, FlagField_T >::PDFField = PdfField<LatticeModel_T>
private

◆ Stencil

template<typename LatticeModel_T , typename FlagField_T >
using walberla::lbm::Curved< LatticeModel_T, FlagField_T >::Stencil = typename LatticeModel_T::Stencil
private

◆ WeightField

template<typename LatticeModel_T , typename FlagField_T >
using walberla::lbm::Curved< LatticeModel_T, FlagField_T >::WeightField = GhostLayerField<shared_ptr<std::array<real_t, Stencil::Size> >, 1>
private

Constructor & Destructor Documentation

◆ Curved()

template<typename LatticeModel_T , typename FlagField_T >
walberla::lbm::Curved< LatticeModel_T, FlagField_T >::Curved ( const BoundaryUID &  boundaryUID,
const FlagUID &  uid,
PDFField *const  pdfField,
const FlagField_T *const  flagField,
const flag_t  domain 
)
inline

Member Function Documentation

◆ afterBoundaryTreatment()

template<typename LatticeModel_T , typename FlagField_T >
void walberla::lbm::Curved< LatticeModel_T, FlagField_T >::afterBoundaryTreatment ( ) const
inline

◆ beforeBoundaryTreatment()

template<typename LatticeModel_T , typename FlagField_T >
void walberla::lbm::Curved< LatticeModel_T, FlagField_T >::beforeBoundaryTreatment ( ) const
inline

◆ createConfiguration()

template<typename LatticeModel_T , typename FlagField_T >
static shared_ptr<Configuration> walberla::lbm::Curved< LatticeModel_T, FlagField_T >::createConfiguration ( const Config::BlockHandle config)
inlinestatic

◆ deltaToWeight()

template<typename LatticeModel_T , typename FlagField_T >
static real_t walberla::lbm::Curved< LatticeModel_T, FlagField_T >::deltaToWeight ( const real_t  delta)
inlinestaticprivate

◆ getValue()

template<typename LatticeModel_T , typename FlagField_T >
const WeightField::value_type& walberla::lbm::Curved< LatticeModel_T, FlagField_T >::getValue ( const cell_idx_t  x,
cell_idx_t  y,
cell_idx_t  z 
) const
inline

◆ makeDeltaArray()

template<typename LatticeModel_T , typename FlagField_T >
static shared_ptr< std::array<real_t, Stencil::Size> > walberla::lbm::Curved< LatticeModel_T, FlagField_T >::makeDeltaArray ( )
inlinestaticprivate

◆ packCell()

template<typename LatticeModel_T , typename FlagField_T >
template<typename Buffer_T >
void walberla::lbm::Curved< LatticeModel_T, FlagField_T >::packCell ( Buffer_T &  buffer,
const cell_idx_t  x,
const cell_idx_t  y,
const cell_idx_t  z 
) const
inline

◆ pushFlags()

template<typename LatticeModel_T , typename FlagField_T >
void walberla::lbm::Curved< LatticeModel_T, FlagField_T >::pushFlags ( std::vector< FlagUID > &  uids) const
inline

◆ registerCell() [1/2]

template<typename LatticeModel_T , typename FlagField_T >
template<typename Buffer_T >
void walberla::lbm::Curved< LatticeModel_T, FlagField_T >::registerCell ( Buffer_T &  buffer,
const  flag_t,
const cell_idx_t  x,
const cell_idx_t  y,
const cell_idx_t  z 
)
inline

◆ registerCell() [2/2]

template<typename LatticeModel_T , typename FlagField_T >
void walberla::lbm::Curved< LatticeModel_T, FlagField_T >::registerCell ( const  flag_t,
const cell_idx_t  x,
const cell_idx_t  y,
const cell_idx_t  z,
const BoundaryConfiguration deltas 
)
inline

◆ registerCells() [1/2]

template<typename LatticeModel_T , typename FlagField_T >
void walberla::lbm::Curved< LatticeModel_T, FlagField_T >::registerCells ( const  flag_t,
const CellInterval cells,
const BoundaryConfiguration deltas 
)
inline

◆ registerCells() [2/2]

template<typename LatticeModel_T , typename FlagField_T >
template<typename CellIterator >
void walberla::lbm::Curved< LatticeModel_T, FlagField_T >::registerCells ( const  flag_t,
const CellIterator &  begin,
const CellIterator &  end,
const BoundaryConfiguration deltas 
)
inline

◆ treatDirection()

template<typename LatticeModel_T , typename FlagField_T >
void walberla::lbm::Curved< LatticeModel_T, FlagField_T >::treatDirection ( const cell_idx_t  x,
const cell_idx_t  y,
const cell_idx_t  z,
const stencil::Direction  dir,
const cell_idx_t  nx,
const cell_idx_t  ny,
const cell_idx_t  nz,
const flag_t  mask 
)
inline

◆ unregisterCell()

template<typename LatticeModel_T , typename FlagField_T >
void walberla::lbm::Curved< LatticeModel_T, FlagField_T >::unregisterCell ( const  flag_t,
const cell_idx_t  x,
const cell_idx_t  y,
const cell_idx_t  z 
) const
inline

Member Data Documentation

◆ domainMask_

template<typename LatticeModel_T , typename FlagField_T >
flag_t walberla::lbm::Curved< LatticeModel_T, FlagField_T >::domainMask_
private

◆ flagField_

template<typename LatticeModel_T , typename FlagField_T >
const FlagField_T* const walberla::lbm::Curved< LatticeModel_T, FlagField_T >::flagField_
private

◆ pdfField_

template<typename LatticeModel_T , typename FlagField_T >
PDFField* const walberla::lbm::Curved< LatticeModel_T, FlagField_T >::pdfField_
private

◆ threadsafe

template<typename LatticeModel_T , typename FlagField_T >
const bool walberla::lbm::Curved< LatticeModel_T, FlagField_T >::threadsafe = true
static

◆ uid_

template<typename LatticeModel_T , typename FlagField_T >
const FlagUID walberla::lbm::Curved< LatticeModel_T, FlagField_T >::uid_
private

◆ weights_

template<typename LatticeModel_T , typename FlagField_T >
shared_ptr<WeightField> walberla::lbm::Curved< LatticeModel_T, FlagField_T >::weights_
private

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