walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T > Class Template Reference

#include <Permeability.h>

Public Types

using PdfField = PdfField_T
 
using BoundaryHandling = BoundaryHandling_T
 
using LatticeModel = typename PdfField_T::LatticeModel
 
using FlagField = typename BoundaryHandling_T::FlagField
 
using flag_t = typename FlagField::flag_t
 

Public Member Functions

 Permeability (real_t viscosity, const BlockDataID &pdfFieldId, const BlockDataID &boundaryHandlingId, const FlagUID &fluid, const shared_ptr< blockforest::StructuredBlockForest > blocks)
 
void init (const Config::BlockHandle &config)
 Initializes the permeability evaluation with the parameters given in the config file. More...
 
void init (const AABB &sampleVolume, uint_t flowAxis, uint_t calcFrequency, real_t convCrit=real_t(1.0E-20))
 Initializes the permeability evaluation with the given set of parameters. More...
 
void init (const CellInterval &sampleVolume, uint_t flowAxis, uint_t calcFrequency, real_t convCrit=real_t(1.0E-20))
 Initializes the permeability evaluation with the given set of parameters. More...
 
real_t convCriterion () const
 
real_t currentDelta () const
 
real_t currentValue () const
 
bool hasConverged () const
 
void operator() ()
 Main evaluation procedure. More...
 

Private Member Functions

void initSampleVolume ()
 

Private Attributes

const real_t nu_
 
const BlockDataIDpdfFieldId_
 
const BlockDataIDboundaryHandlingId_
 
const FlagUID & fluid_
 
const shared_ptr< StructuredBlockForestblocks_
 
uint_t time_
 
uint_t numSampleFluidNodes_
 
uint_t numC0FluidNodes_
 
uint_t numC1FluidNodes_
 
uint_t flowAxis_
 
uint_t interval_
 
CellInterval sampleVolume_
 
CellInterval c0_
 
CellInterval c1_
 
real_t delta_
 
real_t convCrit_
 
real_t lastU_
 
real_t k_
 
bool initialized_
 

Member Typedef Documentation

◆ BoundaryHandling

template<typename PdfField_T , typename BoundaryHandling_T >
using walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::BoundaryHandling = BoundaryHandling_T

◆ flag_t

template<typename PdfField_T , typename BoundaryHandling_T >
using walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::flag_t = typename FlagField::flag_t

◆ FlagField

template<typename PdfField_T , typename BoundaryHandling_T >
using walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::FlagField = typename BoundaryHandling_T::FlagField

◆ LatticeModel

template<typename PdfField_T , typename BoundaryHandling_T >
using walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::LatticeModel = typename PdfField_T::LatticeModel

◆ PdfField

template<typename PdfField_T , typename BoundaryHandling_T >
using walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::PdfField = PdfField_T

Constructor & Destructor Documentation

◆ Permeability()

template<typename PdfField_T , typename BoundaryHandling_T >
walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::Permeability ( real_t  viscosity,
const BlockDataID pdfFieldId,
const BlockDataID boundaryHandlingId,
const FlagUID &  fluid,
const shared_ptr< blockforest::StructuredBlockForest blocks 
)

Member Function Documentation

◆ convCriterion()

template<typename PdfField_T , typename BoundaryHandling_T >
real_t walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::convCriterion ( ) const
inline

◆ currentDelta()

template<typename PdfField_T , typename BoundaryHandling_T >
real_t walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::currentDelta ( ) const
inline

◆ currentValue()

template<typename PdfField_T , typename BoundaryHandling_T >
real_t walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::currentValue ( ) const
inline

◆ hasConverged()

template<typename PdfField_T , typename BoundaryHandling_T >
bool walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::hasConverged ( ) const
inline

◆ init() [1/3]

template<typename PdfField_T , typename BoundaryHandling_T >
void walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::init ( const AABB &  sampleVolume,
uint_t  flowAxis,
uint_t  calcFrequency,
real_t  convCrit = real_t(1.0E-20) 
)

Initializes the permeability evaluation with the given set of parameters.

Parameters
sampleVolumeThe volume to be considered during permeability evaluation.
flowAxisThe flow axis (0 = x-axis, 1 = y-axis, 2 = z-axis) along which the permeability is evaluated.
calcFrequencyThe frequency (in time steps) in which the permeability is evaluated.
convCritThe delta value (du/dt) at which the flow is considered to have reached steady state.

◆ init() [2/3]

template<typename PdfField_T , typename BoundaryHandling_T >
void walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::init ( const CellInterval sampleVolume,
uint_t  flowAxis,
uint_t  calcFrequency,
real_t  convCrit = real_t(1.0E-20) 
)

Initializes the permeability evaluation with the given set of parameters.

Parameters
sampleVolumeThe global cell interval to be considered during permeability evaluation.
flowAxisThe flow axis (0 = x-axis, 1 = y-axis, 2 = z-axis) along which the permeability is evaluated.
calcFrequencyThe frequency (in time steps) in which the permeability is evaluated.
convCritThe delta value (du/dt) at which the flow is considered to have reached steady state.

◆ init() [3/3]

template<typename PdfField_T , typename BoundaryHandling_T >
void walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::init ( const Config::BlockHandle config)

Initializes the permeability evaluation with the parameters given in the config file.

Configuration block:

<some_name>
{
sampleVolume [<0, 0, 0> , <100, 100, 100>]; [optional, default = domain]
flowAxis 2; [required, 0-2]
calcFrequency 100; [required, unsigned int]
convCrit 1E-20; [optional, default = 1E-20]
}
Parameters
configThe config block handle containing the parameters.

◆ initSampleVolume()

template<typename PdfField_T , typename BoundaryHandling_T >
void walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::initSampleVolume
private

◆ operator()()

template<typename PdfField_T , typename BoundaryHandling_T >
void walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::operator()

Main evaluation procedure.

Member Data Documentation

◆ blocks_

template<typename PdfField_T , typename BoundaryHandling_T >
const shared_ptr<StructuredBlockForest> walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::blocks_
private

◆ boundaryHandlingId_

template<typename PdfField_T , typename BoundaryHandling_T >
const BlockDataID& walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::boundaryHandlingId_
private

◆ c0_

template<typename PdfField_T , typename BoundaryHandling_T >
CellInterval walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::c0_
private

◆ c1_

template<typename PdfField_T , typename BoundaryHandling_T >
CellInterval walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::c1_
private

◆ convCrit_

template<typename PdfField_T , typename BoundaryHandling_T >
real_t walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::convCrit_
private

◆ delta_

template<typename PdfField_T , typename BoundaryHandling_T >
real_t walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::delta_
private

◆ flowAxis_

template<typename PdfField_T , typename BoundaryHandling_T >
uint_t walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::flowAxis_
private

◆ fluid_

template<typename PdfField_T , typename BoundaryHandling_T >
const FlagUID& walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::fluid_
private

◆ initialized_

template<typename PdfField_T , typename BoundaryHandling_T >
bool walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::initialized_
private

◆ interval_

template<typename PdfField_T , typename BoundaryHandling_T >
uint_t walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::interval_
private

◆ k_

template<typename PdfField_T , typename BoundaryHandling_T >
real_t walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::k_
private

◆ lastU_

template<typename PdfField_T , typename BoundaryHandling_T >
real_t walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::lastU_
private

◆ nu_

template<typename PdfField_T , typename BoundaryHandling_T >
const real_t walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::nu_
private

◆ numC0FluidNodes_

template<typename PdfField_T , typename BoundaryHandling_T >
uint_t walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::numC0FluidNodes_
private

◆ numC1FluidNodes_

template<typename PdfField_T , typename BoundaryHandling_T >
uint_t walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::numC1FluidNodes_
private

◆ numSampleFluidNodes_

template<typename PdfField_T , typename BoundaryHandling_T >
uint_t walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::numSampleFluidNodes_
private

◆ pdfFieldId_

template<typename PdfField_T , typename BoundaryHandling_T >
const BlockDataID& walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::pdfFieldId_
private

◆ sampleVolume_

template<typename PdfField_T , typename BoundaryHandling_T >
CellInterval walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::sampleVolume_
private

◆ time_

template<typename PdfField_T , typename BoundaryHandling_T >
uint_t walberla::lbm::evaluations::Permeability< PdfField_T, BoundaryHandling_T >::time_
private

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