waLBerla 7.2
Loading...
Searching...
No Matches
walberla::lbm::D3Q19SRT Class Reference

#include <D3Q19SRT.h>

Public Types

enum  Type { ALL = 0 , INNER = 1 , OUTER = 2 }
 

Public Member Functions

 D3Q19SRT (const shared_ptr< StructuredBlockStorage > &blocks, BlockDataID pdfsID_, BlockDataID densityID_, BlockDataID velocityID_, double omega, const Cell &outerWidth=Cell(1, 1, 1))
 
 ~D3Q19SRT ()
 
std::function< void(IBlock *)> streamCollide ()
 
std::function< void(IBlock *)> streamCollide (Type type)
 
std::function< void(IBlock *)> streamCollide (Type type, const cell_idx_t ghost_layers)
 
void streamCollide (IBlock *block)
 
void streamCollide (IBlock *block, const cell_idx_t ghost_layers)
 
void streamCollideCellInterval (IBlock *block, const CellInterval &ci)
 
void streamCollideInner (IBlock *block)
 
void streamCollideOuter (IBlock *block)
 
std::function< void(IBlock *)> collide ()
 
std::function< void(IBlock *)> collide (Type type)
 
std::function< void(IBlock *)> collide (Type type, const cell_idx_t ghost_layers)
 
void collide (IBlock *block)
 
void collide (IBlock *block, const cell_idx_t ghost_layers)
 
void collideCellInterval (IBlock *block, const CellInterval &ci)
 
void collideInner (IBlock *block)
 
void collideOuter (IBlock *block)
 
std::function< void(IBlock *)> stream ()
 
std::function< void(IBlock *)> stream (Type type)
 
std::function< void(IBlock *)> stream (Type type, const cell_idx_t ghost_layers)
 
void stream (IBlock *block)
 
void stream (IBlock *block, const cell_idx_t ghost_layers)
 
void streamCellInterval (IBlock *block, const CellInterval &ci)
 
void streamInner (IBlock *block)
 
void streamOuter (IBlock *block)
 
std::function< void(IBlock *)> streamOnlyNoAdvancement ()
 
std::function< void(IBlock *)> streamOnlyNoAdvancement (Type type)
 
std::function< void(IBlock *)> streamOnlyNoAdvancement (Type type, const cell_idx_t ghost_layers)
 
void streamOnlyNoAdvancement (IBlock *block)
 
void streamOnlyNoAdvancement (IBlock *block, const cell_idx_t ghost_layers)
 
void streamOnlyNoAdvancementCellInterval (IBlock *block, const CellInterval &ci)
 
void streamOnlyNoAdvancementInner (IBlock *block)
 
void streamOnlyNoAdvancementOuter (IBlock *block)
 
std::function< void(IBlock *)> initialise ()
 
std::function< void(IBlock *)> initialise (Type type)
 
std::function< void(IBlock *)> initialise (Type type, const cell_idx_t ghost_layers)
 
void initialise (IBlock *block)
 
void initialise (IBlock *block, const cell_idx_t ghost_layers)
 
void initialiseCellInterval (IBlock *block, const CellInterval &ci)
 
void initialiseInner (IBlock *block)
 
void initialiseOuter (IBlock *block)
 
std::function< void(IBlock *)> calculateMacroscopicParameters ()
 
std::function< void(IBlock *)> calculateMacroscopicParameters (Type type)
 
std::function< void(IBlock *)> calculateMacroscopicParameters (Type type, const cell_idx_t ghost_layers)
 
void calculateMacroscopicParameters (IBlock *block)
 
void calculateMacroscopicParameters (IBlock *block, const cell_idx_t ghost_layers)
 
void calculateMacroscopicParametersCellInterval (IBlock *block, const CellInterval &ci)
 
void calculateMacroscopicParametersInner (IBlock *block)
 
void calculateMacroscopicParametersOuter (IBlock *block)
 

Static Public Member Functions

static void streamCollide (field::GhostLayerField< double, 19 > *pdfs, field::GhostLayerField< double, 19 > *pdfs_tmp, double omega, const cell_idx_t ghost_layers=0)
 
static void streamCollideCellInterval (field::GhostLayerField< double, 19 > *pdfs, field::GhostLayerField< double, 19 > *pdfs_tmp, double omega, const CellInterval &ci)
 
static void collide (field::GhostLayerField< double, 19 > *pdfs, double omega, const cell_idx_t ghost_layers=0)
 
static void collideCellInterval (field::GhostLayerField< double, 19 > *pdfs, double omega, const CellInterval &ci)
 
static void stream (field::GhostLayerField< double, 19 > *pdfs, field::GhostLayerField< double, 19 > *pdfs_tmp, const cell_idx_t ghost_layers=0)
 
static void streamCellInterval (field::GhostLayerField< double, 19 > *pdfs, field::GhostLayerField< double, 19 > *pdfs_tmp, const CellInterval &ci)
 
static void streamOnlyNoAdvancement (field::GhostLayerField< double, 19 > *pdfs, field::GhostLayerField< double, 19 > *pdfs_tmp, const cell_idx_t ghost_layers=0)
 
static void streamOnlyNoAdvancementCellInterval (field::GhostLayerField< double, 19 > *pdfs, field::GhostLayerField< double, 19 > *pdfs_tmp, const CellInterval &ci)
 
static void initialise (field::GhostLayerField< double, 1 > *density, field::GhostLayerField< double, 19 > *pdfs, field::GhostLayerField< double, 3 > *velocity, const cell_idx_t ghost_layers=0)
 
static void initialiseCellInterval (field::GhostLayerField< double, 1 > *density, field::GhostLayerField< double, 19 > *pdfs, field::GhostLayerField< double, 3 > *velocity, const CellInterval &ci)
 
static void calculateMacroscopicParameters (field::GhostLayerField< double, 1 > *density, field::GhostLayerField< double, 19 > *pdfs, field::GhostLayerField< double, 3 > *velocity, const cell_idx_t ghost_layers=0)
 
static void calculateMacroscopicParametersCellInterval (field::GhostLayerField< double, 1 > *density, field::GhostLayerField< double, 19 > *pdfs, field::GhostLayerField< double, 3 > *velocity, const CellInterval &ci)
 

Private Attributes

shared_ptr< StructuredBlockStorageblocks_
 
BlockDataID pdfsID
 
BlockDataID densityID
 
BlockDataID velocityID
 
double omega_
 
std::set< field::GhostLayerField< double, 19 > *, field::SwapableCompare< field::GhostLayerField< double, 19 > * > > cache_pdfs_
 
Cell outerWidth_
 
std::vector< CellIntervallayers_
 
bool validInnerOuterSplit_
 

Member Enumeration Documentation

◆ Type

Enumerator
ALL 
INNER 
OUTER 

Constructor & Destructor Documentation

◆ D3Q19SRT()

walberla::lbm::D3Q19SRT::D3Q19SRT ( const shared_ptr< StructuredBlockStorage > & blocks,
BlockDataID pdfsID_,
BlockDataID densityID_,
BlockDataID velocityID_,
double omega,
const Cell & outerWidth = Cell(1, 1, 1) )
inline

◆ ~D3Q19SRT()

walberla::lbm::D3Q19SRT::~D3Q19SRT ( )
inline

Member Function Documentation

◆ calculateMacroscopicParameters() [1/6]

std::function< void(IBlock *)> walberla::lbm::D3Q19SRT::calculateMacroscopicParameters ( )
inline

◆ calculateMacroscopicParameters() [2/6]

void walberla::lbm::D3Q19SRT::calculateMacroscopicParameters ( field::GhostLayerField< double, 1 > * density,
field::GhostLayerField< double, 19 > * pdfs,
field::GhostLayerField< double, 3 > * velocity,
const cell_idx_t ghost_layers = 0 )
static

◆ calculateMacroscopicParameters() [3/6]

void walberla::lbm::D3Q19SRT::calculateMacroscopicParameters ( IBlock * block)
inline

◆ calculateMacroscopicParameters() [4/6]

void walberla::lbm::D3Q19SRT::calculateMacroscopicParameters ( IBlock * block,
const cell_idx_t ghost_layers )
inline

◆ calculateMacroscopicParameters() [5/6]

std::function< void(IBlock *)> walberla::lbm::D3Q19SRT::calculateMacroscopicParameters ( Type type)
inline

◆ calculateMacroscopicParameters() [6/6]

std::function< void(IBlock *)> walberla::lbm::D3Q19SRT::calculateMacroscopicParameters ( Type type,
const cell_idx_t ghost_layers )
inline

◆ calculateMacroscopicParametersCellInterval() [1/2]

void walberla::lbm::D3Q19SRT::calculateMacroscopicParametersCellInterval ( field::GhostLayerField< double, 1 > * density,
field::GhostLayerField< double, 19 > * pdfs,
field::GhostLayerField< double, 3 > * velocity,
const CellInterval & ci )
static

◆ calculateMacroscopicParametersCellInterval() [2/2]

void walberla::lbm::D3Q19SRT::calculateMacroscopicParametersCellInterval ( IBlock * block,
const CellInterval & ci )
inline

◆ calculateMacroscopicParametersInner()

void walberla::lbm::D3Q19SRT::calculateMacroscopicParametersInner ( IBlock * block)
inline

◆ calculateMacroscopicParametersOuter()

void walberla::lbm::D3Q19SRT::calculateMacroscopicParametersOuter ( IBlock * block)
inline

◆ collide() [1/6]

std::function< void(IBlock *)> walberla::lbm::D3Q19SRT::collide ( )
inline

◆ collide() [2/6]

void walberla::lbm::D3Q19SRT::collide ( field::GhostLayerField< double, 19 > * pdfs,
double omega,
const cell_idx_t ghost_layers = 0 )
static

◆ collide() [3/6]

void walberla::lbm::D3Q19SRT::collide ( IBlock * block)
inline

◆ collide() [4/6]

void walberla::lbm::D3Q19SRT::collide ( IBlock * block,
const cell_idx_t ghost_layers )
inline

◆ collide() [5/6]

std::function< void(IBlock *)> walberla::lbm::D3Q19SRT::collide ( Type type)
inline

◆ collide() [6/6]

std::function< void(IBlock *)> walberla::lbm::D3Q19SRT::collide ( Type type,
const cell_idx_t ghost_layers )
inline

◆ collideCellInterval() [1/2]

void walberla::lbm::D3Q19SRT::collideCellInterval ( field::GhostLayerField< double, 19 > * pdfs,
double omega,
const CellInterval & ci )
static

◆ collideCellInterval() [2/2]

void walberla::lbm::D3Q19SRT::collideCellInterval ( IBlock * block,
const CellInterval & ci )
inline

◆ collideInner()

void walberla::lbm::D3Q19SRT::collideInner ( IBlock * block)
inline

◆ collideOuter()

void walberla::lbm::D3Q19SRT::collideOuter ( IBlock * block)
inline

◆ initialise() [1/6]

std::function< void(IBlock *)> walberla::lbm::D3Q19SRT::initialise ( )
inline

◆ initialise() [2/6]

void walberla::lbm::D3Q19SRT::initialise ( field::GhostLayerField< double, 1 > * density,
field::GhostLayerField< double, 19 > * pdfs,
field::GhostLayerField< double, 3 > * velocity,
const cell_idx_t ghost_layers = 0 )
static

◆ initialise() [3/6]

void walberla::lbm::D3Q19SRT::initialise ( IBlock * block)
inline

◆ initialise() [4/6]

void walberla::lbm::D3Q19SRT::initialise ( IBlock * block,
const cell_idx_t ghost_layers )
inline

◆ initialise() [5/6]

std::function< void(IBlock *)> walberla::lbm::D3Q19SRT::initialise ( Type type)
inline

◆ initialise() [6/6]

std::function< void(IBlock *)> walberla::lbm::D3Q19SRT::initialise ( Type type,
const cell_idx_t ghost_layers )
inline

◆ initialiseCellInterval() [1/2]

void walberla::lbm::D3Q19SRT::initialiseCellInterval ( field::GhostLayerField< double, 1 > * density,
field::GhostLayerField< double, 19 > * pdfs,
field::GhostLayerField< double, 3 > * velocity,
const CellInterval & ci )
static

◆ initialiseCellInterval() [2/2]

void walberla::lbm::D3Q19SRT::initialiseCellInterval ( IBlock * block,
const CellInterval & ci )
inline

◆ initialiseInner()

void walberla::lbm::D3Q19SRT::initialiseInner ( IBlock * block)
inline

◆ initialiseOuter()

void walberla::lbm::D3Q19SRT::initialiseOuter ( IBlock * block)
inline

◆ stream() [1/6]

std::function< void(IBlock *)> walberla::lbm::D3Q19SRT::stream ( )
inline

◆ stream() [2/6]

void walberla::lbm::D3Q19SRT::stream ( field::GhostLayerField< double, 19 > * pdfs,
field::GhostLayerField< double, 19 > * pdfs_tmp,
const cell_idx_t ghost_layers = 0 )
static

◆ stream() [3/6]

void walberla::lbm::D3Q19SRT::stream ( IBlock * block)
inline

◆ stream() [4/6]

void walberla::lbm::D3Q19SRT::stream ( IBlock * block,
const cell_idx_t ghost_layers )
inline

◆ stream() [5/6]

std::function< void(IBlock *)> walberla::lbm::D3Q19SRT::stream ( Type type)
inline

◆ stream() [6/6]

std::function< void(IBlock *)> walberla::lbm::D3Q19SRT::stream ( Type type,
const cell_idx_t ghost_layers )
inline

◆ streamCellInterval() [1/2]

void walberla::lbm::D3Q19SRT::streamCellInterval ( field::GhostLayerField< double, 19 > * pdfs,
field::GhostLayerField< double, 19 > * pdfs_tmp,
const CellInterval & ci )
static

◆ streamCellInterval() [2/2]

void walberla::lbm::D3Q19SRT::streamCellInterval ( IBlock * block,
const CellInterval & ci )
inline

◆ streamCollide() [1/6]

std::function< void(IBlock *)> walberla::lbm::D3Q19SRT::streamCollide ( )
inline

◆ streamCollide() [2/6]

void walberla::lbm::D3Q19SRT::streamCollide ( field::GhostLayerField< double, 19 > * pdfs,
field::GhostLayerField< double, 19 > * pdfs_tmp,
double omega,
const cell_idx_t ghost_layers = 0 )
static

◆ streamCollide() [3/6]

void walberla::lbm::D3Q19SRT::streamCollide ( IBlock * block)
inline

◆ streamCollide() [4/6]

void walberla::lbm::D3Q19SRT::streamCollide ( IBlock * block,
const cell_idx_t ghost_layers )
inline

◆ streamCollide() [5/6]

std::function< void(IBlock *)> walberla::lbm::D3Q19SRT::streamCollide ( Type type)
inline

◆ streamCollide() [6/6]

std::function< void(IBlock *)> walberla::lbm::D3Q19SRT::streamCollide ( Type type,
const cell_idx_t ghost_layers )
inline

◆ streamCollideCellInterval() [1/2]

void walberla::lbm::D3Q19SRT::streamCollideCellInterval ( field::GhostLayerField< double, 19 > * pdfs,
field::GhostLayerField< double, 19 > * pdfs_tmp,
double omega,
const CellInterval & ci )
static

◆ streamCollideCellInterval() [2/2]

void walberla::lbm::D3Q19SRT::streamCollideCellInterval ( IBlock * block,
const CellInterval & ci )
inline

◆ streamCollideInner()

void walberla::lbm::D3Q19SRT::streamCollideInner ( IBlock * block)
inline

◆ streamCollideOuter()

void walberla::lbm::D3Q19SRT::streamCollideOuter ( IBlock * block)
inline

◆ streamInner()

void walberla::lbm::D3Q19SRT::streamInner ( IBlock * block)
inline

◆ streamOnlyNoAdvancement() [1/6]

std::function< void(IBlock *)> walberla::lbm::D3Q19SRT::streamOnlyNoAdvancement ( )
inline

◆ streamOnlyNoAdvancement() [2/6]

void walberla::lbm::D3Q19SRT::streamOnlyNoAdvancement ( field::GhostLayerField< double, 19 > * pdfs,
field::GhostLayerField< double, 19 > * pdfs_tmp,
const cell_idx_t ghost_layers = 0 )
static

◆ streamOnlyNoAdvancement() [3/6]

void walberla::lbm::D3Q19SRT::streamOnlyNoAdvancement ( IBlock * block)
inline

◆ streamOnlyNoAdvancement() [4/6]

void walberla::lbm::D3Q19SRT::streamOnlyNoAdvancement ( IBlock * block,
const cell_idx_t ghost_layers )
inline

◆ streamOnlyNoAdvancement() [5/6]

std::function< void(IBlock *)> walberla::lbm::D3Q19SRT::streamOnlyNoAdvancement ( Type type)
inline

◆ streamOnlyNoAdvancement() [6/6]

std::function< void(IBlock *)> walberla::lbm::D3Q19SRT::streamOnlyNoAdvancement ( Type type,
const cell_idx_t ghost_layers )
inline

◆ streamOnlyNoAdvancementCellInterval() [1/2]

void walberla::lbm::D3Q19SRT::streamOnlyNoAdvancementCellInterval ( field::GhostLayerField< double, 19 > * pdfs,
field::GhostLayerField< double, 19 > * pdfs_tmp,
const CellInterval & ci )
static

◆ streamOnlyNoAdvancementCellInterval() [2/2]

void walberla::lbm::D3Q19SRT::streamOnlyNoAdvancementCellInterval ( IBlock * block,
const CellInterval & ci )
inline

◆ streamOnlyNoAdvancementInner()

void walberla::lbm::D3Q19SRT::streamOnlyNoAdvancementInner ( IBlock * block)
inline

◆ streamOnlyNoAdvancementOuter()

void walberla::lbm::D3Q19SRT::streamOnlyNoAdvancementOuter ( IBlock * block)
inline

◆ streamOuter()

void walberla::lbm::D3Q19SRT::streamOuter ( IBlock * block)
inline

Member Data Documentation

◆ blocks_

shared_ptr< StructuredBlockStorage > walberla::lbm::D3Q19SRT::blocks_
private

◆ cache_pdfs_

std::set< field::GhostLayerField<double, 19> *, field::SwapableCompare< field::GhostLayerField<double, 19> * > > walberla::lbm::D3Q19SRT::cache_pdfs_
private

◆ densityID

BlockDataID walberla::lbm::D3Q19SRT::densityID
private

◆ layers_

std::vector<CellInterval> walberla::lbm::D3Q19SRT::layers_
private

◆ omega_

double walberla::lbm::D3Q19SRT::omega_
private

◆ outerWidth_

Cell walberla::lbm::D3Q19SRT::outerWidth_
private

◆ pdfsID

BlockDataID walberla::lbm::D3Q19SRT::pdfsID
private

◆ validInnerOuterSplit_

bool walberla::lbm::D3Q19SRT::validInnerOuterSplit_
private

◆ velocityID

BlockDataID walberla::lbm::D3Q19SRT::velocityID
private

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