waLBerla 7.3
Loading...
Searching...
No Matches
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_ {false}

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>
shared_ptr< Configuration > walberla::lbm::Curved< LatticeModel_T, FlagField_T >::createConfiguration ( const Config::BlockHandle & config)
inlinestatic

◆ deltaToWeight()

template<typename LatticeModel_T, typename FlagField_T>
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>
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:
  • /builds/administration/walberla-website/walberla/src/lbm/boundary/Curved.h