OpenLB 1.7
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Functions
olb::descriptors Namespace Reference

Descriptors for the 2D and 3D lattices. More...

Namespaces

namespace  cum_data
 
namespace  data
 
namespace  mrt_data
 
namespace  rtlbm_data
 
namespace  tag
 

Classes

struct  ACCELERATION_STRD
 
struct  access_field_content
 Traversal of nested field contents for output and initialization. More...
 
struct  access_field_content< F, T, DESCRIPTOR, meta::list< FIELDS... > >
 
struct  ACTIVE
 
struct  AD_FIELD
 
struct  AD_SOURCE
 
struct  ADDEND
 
struct  ADHESION
 
struct  ANG_ACC_STRD
 
struct  ANG_ACC_STRD_XD
 
struct  ANG_VELOCITY
 
struct  ANG_VELOCITY_XD
 
struct  ANGLE
 
struct  ANGLE_XD
 
struct  AV_SHEAR
 
struct  AVERAGE_VELOCITY
 
struct  BIOGAS_CUMULATIVE
 
struct  BIOGAS_INSTANT
 
struct  BODY_FORCE
 
struct  BOUNDARY
 
struct  BOUZIDI_ADE_DIRICHLET
 Interpolated Bounce Back (Bouzidi) for ADE Dirichlet field. More...
 
struct  BOUZIDI_DISTANCE
 Interpolated Bounce Back (Bouzidi) distance field. More...
 
struct  BOUZIDI_VELOCITY
 Interpolated Bounce Back (Bouzidi) velocity coefficient field. More...
 
struct  CELL_ID
 
struct  CELL_TYPE
 
struct  CHEM_POTENTIAL
 
struct  CO2_CUMULATIVE
 
struct  CO2_INSTANT
 
struct  COMPUTE_CONTACT
 
struct  COMPUTE_MOTION
 
struct  CONCRETE_FIELD_TUPLE
 Tuple of concretized field declarations. More...
 
struct  CONTACT_DETECTION
 
struct  COORDINATE
 
struct  COR_OFFSET
 
struct  COUNTER
 
struct  CUTOFF_HEAT_FLUX
 
struct  CUTOFF_KIN_ENERGY
 
struct  D2Q5
 D2Q5 lattice. More...
 
struct  D2Q9
 D2Q9 lattice. More...
 
struct  D3Q13
 D3Q13 lattice. More...
 
struct  D3Q15
 D3Q15 lattice. More...
 
struct  D3Q19
 D3Q19 lattice. More...
 
struct  D3Q27
 D3Q27 lattice. More...
 
struct  D3Q7
 D3Q7 lattice. More...
 
struct  DENSITY
 
struct  DESCRIPTOR_TAG
 Base of a descriptor tag. More...
 
struct  DETACHING
 
struct  dimension
 
struct  DJDALPHA
 
struct  DJDF
 
struct  DYNAMICS_ID
 
struct  DYNBEHAVIOUR
 
struct  DYNBEHAVIOUR_BASIC
 
struct  DYNBEHAVIOUR_DETACHABLE
 
struct  DYNBEHAVIOUR_MULTI_DYN
 
struct  EFFECTIVE_OMEGA
 
struct  ELONGATION
 
struct  ENLARGEMENT_FOR_CONTACT
 
struct  EPSILON
 
struct  ERROR_COVARIANCE
 
struct  EUL2LAGR
 
struct  EXTERNAL_FORCE
 
struct  F
 
struct  FIELD_BASE
 Base of a field whose size is defined by [C,U_1,...,U_N]^T * [1,V_1,...V_N]. More...
 
struct  FIELD_TUPLE
 Tuple of abstract field declarations. More...
 
struct  FIL_RHO
 
struct  FILTERED_POPULATION
 
struct  FILTERED_VEL_GRAD
 
struct  FLUIDVEL
 
struct  FORCE
 
struct  FORCE_STRD
 
struct  FORCING
 
struct  FORCING_ADHESIVE
 
struct  FORCING_RESOLVED
 
struct  FORCING_SUBGRID
 
struct  G
 
struct  GAMMA
 
struct  GENERAL
 
struct  GENERAL_EXTENDABLE
 
struct  GENERAL_TMP
 
struct  IC
 
struct  ID
 
struct  INDICATE
 
struct  INTERFACE_THICKNESS
 
struct  INTERPHASE_NORMAL
 
struct  INVALID
 
struct  K
 
struct  LATTICE_DESCRIPTOR
 Base descriptor of a D-dimensional lattice with Q directions and a list of additional fields. More...
 
struct  LATTICE_DESCRIPTOR_BASE
 
struct  LATTICE_TIME
 
struct  LOCAL_AV_DISS
 
struct  LOCAL_AV_TKE
 
struct  LOCAL_DRAG
 
struct  LOCAL_FIL_VEL_X
 
struct  LOCAL_FIL_VEL_Y
 
struct  LOCAL_FIL_VEL_Z
 
struct  LOCAL_NU_EDDY
 
struct  LOCAL_SIGMA_ADM
 
struct  LOCATION
 
struct  MAGIC
 
struct  MASS
 
struct  MASS_ADDED
 
struct  MATERIAL
 
struct  MECHPROPERTIES
 Mechanical properties. More...
 
struct  MECHPROPERTIES_COLLISION
 
struct  METHANE_CUMULATIVE
 
struct  METHANE_INSTANT
 
struct  MOBILITY
 
struct  MOBILITY_EULER_NO_ANGLE
 
struct  MOBILITY_VERLET
 
struct  MOBILITY_VERLET_NO_ANGLE
 
struct  MOFI
 
struct  MOFI_XD
 
struct  NEIGHBOR
 
struct  NORMAL_X
 
struct  NORMAL_Y
 
struct  NORMAL_Z
 
struct  NU
 
struct  NUMERICPROPERTIES
 
struct  NUMERICPROPERTIES_RESOLVED_CONTACT
 
struct  OBJECT_POINTER_FIELD_BASE
 Base of a descriptor field of pointer type. More...
 
struct  OMEGA
 
struct  PARALLELIZATION
 Communication. More...
 
struct  PARALLELIZATION_RESOLVED
 
struct  PARALLELIZATION_SUBGRID
 
struct  PARAMETER_TUPLE
 Tuple of parameters to concretize field declarations. More...
 
struct  PARTICLE_DESCRIPTOR
 Base descriptor of a particle system. More...
 
struct  PHYSPROPERTIES
 
struct  PHYSPROPERTIES_RESOLVED
 
struct  PHYSPROPERTIES_RESOLVED_PERMEABLE
 
struct  PHYSPROPERTIES_SUBGRID
 
struct  PHYSPROPERTIES_SUBGRID_REACTIVE
 
struct  POISSON_RATIO
 
struct  POPULATION
 
struct  POROSITY
 
struct  POROSITY2
 
struct  POSITION
 
struct  PRESSCORR
 
struct  PROPAGATABLE_FIELD_BASE
 Base of a implicitly propagatable descriptor field. More...
 
struct  RADIUS
 
struct  ROT_MATRIX
 
struct  ROT_MATRIX_XD
 
struct  SCALAR
 
struct  SHEAR_MODULUS
 
struct  SHEAR_RATE_MAGNITUDE
 
struct  SINDICATOR
 
struct  SINDICATOR_XD
 
struct  SMAGO_CONST
 
struct  SOURCE
 
struct  SPATIAL_DESCRIPTOR
 Base descriptor of a d-dimensional system. More...
 
struct  SPECIES
 
struct  STATISTIC
 
struct  STATISTIC_GENERATED
 
struct  SURFACE
 
struct  SURFACE_ID
 
struct  SURFACE_RESOLVED
 
struct  SURFACE_RESOLVED_CIRCULAR
 
struct  SURFACE_RESOLVED_COR
 
struct  SURFACE_RESOLVED_PARALLEL
 
struct  TAU_EFF
 
struct  TAU_SGS
 
struct  TAU_W
 
struct  TEMPERATURE
 
struct  TEMPLATE_FIELD_BASE
 
struct  TENSOR
 Base of a tensor-valued descriptor field. More...
 
struct  TORQUE
 
struct  TORQUE_XD
 
struct  TYPED_FIELD_BASE
 Base of a descriptor field of scalar TYPE with dimensions A*B + B*Q + C. More...
 
struct  V12
 
struct  V6
 
struct  VALUED_DESCRIPTOR
 Pair of base value and descriptor type. More...
 
struct  VARIANCE
 
struct  VELO_GRAD
 
struct  VELOCITY
 
struct  VELOCITY2
 
struct  VELOCITY_DENOMINATOR
 
struct  VELOCITY_NUMERATOR
 
struct  VELOCITY_SOLID
 
struct  VORTICITY
 
struct  YOUNG_MODULUS
 
struct  ZETA
 

Typedefs

using D2Q5Descriptor = D2Q5<>
 D2Q5 descriptor.
 
using AdvectionDiffusionD2Q5Descriptor = D2Q5<VELOCITY>
 
using SourcedAdvectionDiffusionD2Q5Descriptor = D2Q5<SOURCE,VELOCITY>
 
using SmagorinskyAdvectionDiffusionD2Q5Descriptor = D2Q5<VELOCITY,TAU_EFF>
 
using MixedScaleAdvectionDiffusionD2Q5Descriptor = D2Q5<VELOCITY,TAU_EFF,CUTOFF_HEAT_FLUX>
 
using MRTD2Q5Descriptor = D2Q5<tag::MRT>
 MRTD2Q5 descriptor.
 
using AdvectionDiffusionMRTD2Q5Descriptor = D2Q5<tag::MRT,VELOCITY>
 
using D2Q9Descriptor = D2Q9<>
 D2Q9 descriptor.
 
using AdvectionDiffusionD2Q9Descriptor = D2Q9<VELOCITY>
 
using ForcedD2Q9Descriptor = D2Q9<FORCE>
 
using SmagorinskyForcedD2Q9Descriptor = D2Q9<FORCE,TAU_EFF>
 
using MixedScaleForcedD2Q9Descriptor = D2Q9<FORCE,TAU_EFF,CUTOFF_KIN_ENERGY>
 
using FreeEnergyD2Q9Descriptor = D2Q9<CHEM_POTENTIAL,FORCE>
 
using V6ForcedD2Q9Descriptor = D2Q9<FORCE,V6>
 
using DynOmegaD2Q9Descriptor = D2Q9<OMEGA>
 
using ForcedDynOmegaD2Q9Descriptor = D2Q9<FORCE,OMEGA>
 
using DynOmegaPorousParticleD2Q9Descriptor = D2Q9<POROSITY,VELOCITY_NUMERATOR,VELOCITY_DENOMINATOR,OMEGA>
 
using ShearSmagorinskyD2Q9Descriptor = D2Q9<AV_SHEAR>
 
using ShanChenForcedD2Q9Descriptor = D2Q9<VELOCITY,FORCE>
 
using ShanChenDynOmegaD2Q9Descriptor = D2Q9<VELOCITY,FORCE,OMEGA>
 
using ShanChenDynOmegaForcedD2Q9Descriptor = D2Q9<VELOCITY,FORCE,EXTERNAL_FORCE,OMEGA>
 
using ShanChenDynGD2Q9Descriptor = D2Q9<VELOCITY,FORCE,G>
 
using ShanChenDynGForcedD2Q9Descriptor = D2Q9<VELOCITY,FORCE,EXTERNAL_FORCE,G>
 
using DynSmagorinskyD2Q9Descriptor = D2Q9<SMAGO_CONST>
 
using PorousD2Q9Descriptor = D2Q9<POROSITY>
 
using ExtendedPorousD2Q9Descriptor = D2Q9<POROSITY,LOCAL_DRAG>
 
using PorousParticleD2Q9Descriptor = D2Q9<POROSITY,VELOCITY_NUMERATOR,VELOCITY_DENOMINATOR>
 
using PorousParticleWithContactD2Q9Descriptor = D2Q9<POROSITY,VELOCITY_NUMERATOR,VELOCITY_DENOMINATOR,CONTACT_DETECTION>
 
using PSMD2Q9Descriptor = D2Q9<POROSITY,VELOCITY_SOLID>
 
using GuoZhaoD2Q9Descriptor = D2Q9<FORCE,EPSILON,K,NU,BODY_FORCE>
 
using ADMD2Q9Descriptor = D2Q9<FIL_RHO,LOCAL_FIL_VEL_X,LOCAL_FIL_VEL_Y>
 
using ForcedADMD2Q9Descriptor = D2Q9<FORCE,FIL_RHO,LOCAL_FIL_VEL_X,LOCAL_FIL_VEL_Y>
 
using MRTD2Q9Descriptor = D2Q9<tag::MRT>
 MRTD2Q9 descriptor.
 
using ForcedMRTD2Q9Descriptor = D2Q9<tag::MRT,FORCE>
 
using D3Q7Descriptor = D3Q7<>
 D3Q7 descriptor.
 
using AdvectionDiffusionD3Q7Descriptor = D3Q7<VELOCITY>
 
using SourcedAdvectionDiffusionD3Q7Descriptor = D3Q7<SOURCE,VELOCITY>
 
using SmagorinskyAdvectionDiffusionD3Q7Descriptor = D3Q7<VELOCITY,TAU_EFF>
 
using ParticleAdvectionDiffusionD3Q7Descriptor = D3Q7<VELOCITY,VELOCITY2>
 
using ParticleAdvectionDiffusionMRTD3Q7Descriptor = D3Q7<VELOCITY,VELOCITY2>
 
using PorousAdvectionDiffusionD3Q7Descriptor = D3Q7<POROSITY,VELOCITY>
 
using D3Q7DescriptorLebedev = D3Q7<tag::RTLBM>
 
using MRTD3Q7Descriptor = D3Q7<tag::MRT>
 MRTD3Q7 descriptor.
 
using AdvectionDiffusionMRTD3Q7Descriptor = D3Q7<tag::MRT,VELOCITY>
 
using ForcedD3Q13Descriptor = D3Q13<FORCE>
 D3Q13 descriptor.
 
using D3Q15Descriptor = D3Q15<>
 D3Q15 descriptor.
 
using ForcedD3Q15Descriptor = D3Q15<FORCE>
 
using D3Q15DescriptorLebedev = D3Q15<tag::RTLBM>
 
using D3Q19Descriptor = D3Q19<>
 D3Q19 descriptor.
 
using ForcedD3Q19Descriptor = D3Q19<FORCE>
 
using SmagorinskyForcedD3Q19Descriptor = D3Q19<FORCE,TAU_EFF>
 
using V12ForcedD3Q19Descriptor = D3Q19<FORCE,V12>
 
using FreeEnergyD3Q19Descriptor = D3Q19<CHEM_POTENTIAL,FORCE>
 
using ParticleAdvectionDiffusionD3Q19Descriptor = D3Q19<VELOCITY,VELOCITY2>
 
using DynOmegaD3Q19Descriptor = D3Q19<OMEGA>
 
using ForcedDynOmegaD3Q19Descriptor = D3Q19<OMEGA,FORCE>
 
using DynOmegaPorousParticleD3Q19Descriptor = D3Q19<POROSITY,VELOCITY_NUMERATOR,VELOCITY_DENOMINATOR,OMEGA>
 
using ShearSmagorinskyD3Q19Descriptor = D3Q19<AV_SHEAR>
 
using ShearSmagorinskyForcedD3Q19Descriptor = D3Q19<AV_SHEAR,FORCE>
 
using ForcedShearWallSmagorinskyD3Q19Descriptor = D3Q19<AV_SHEAR,FORCE,TAU_W>
 
using FDKalmanShearSmagorinskyD3Q19Descriptor = D3Q19<ERROR_COVARIANCE,VARIANCE,VELOCITY,FILTERED_VEL_GRAD,VELO_GRAD>
 
using FDKalmanShearSmagorinskyForcedD3Q19Descriptor = D3Q19<ERROR_COVARIANCE,VARIANCE,VELOCITY,FILTERED_VEL_GRAD,VELO_GRAD,FORCE>
 
using KalmanShearSmagorinskyD3Q19Descriptor = D3Q19<ERROR_COVARIANCE,VARIANCE,TAU_SGS,FILTERED_POPULATION>
 
using WALED3Q19Descriptor = D3Q19<EFFECTIVE_OMEGA,VELO_GRAD>
 
using WALEForcedD3Q19Descriptor = D3Q19<EFFECTIVE_OMEGA,VELO_GRAD,FORCE>
 
using ShanChenForcedD3Q19Descriptor = D3Q19<VELOCITY,FORCE>
 
using ShanChenDynOmegaD3Q19Descriptor = D3Q19<VELOCITY,FORCE,OMEGA>
 
using ShanChenDynOmegaForcedD3Q19Descriptor = D3Q19<VELOCITY,FORCE,EXTERNAL_FORCE,OMEGA>
 
using WallFunctionD3Q19Descriptor = D3Q19<TAU_W,TAU_EFF>
 
using WallFunctionForcedD3Q19Descriptor = D3Q19<TAU_W,TAU_EFF,FORCE>
 
using DynSmagorinskyD3Q19Descriptor = D3Q19<SMAGO_CONST>
 
using PorousD3Q19Descriptor = D3Q19<POROSITY>
 
using PorousForcedD3Q19Descriptor = D3Q19<POROSITY,FORCE>
 
using ExtendedPorousD3Q19Descriptor = D3Q19<POROSITY,LOCAL_DRAG>
 
using PorousParticleD3Q19Descriptor = D3Q19<POROSITY,VELOCITY_NUMERATOR,VELOCITY_DENOMINATOR>
 
using PorousParticleWithContactD3Q19Descriptor = D3Q19<POROSITY,VELOCITY_NUMERATOR,VELOCITY_DENOMINATOR,CONTACT_DETECTION>
 
using PSMD3Q19Descriptor = D3Q19<POROSITY,VELOCITY_SOLID>
 
using ForcedPSMD3Q19Descriptor = D3Q19<POROSITY,VELOCITY_SOLID,FORCE>
 
using GuoZhaoD3Q19Descriptor = D3Q19<FORCE,EPSILON,K,NU,BODY_FORCE>
 
using ADMD3Q19Descriptor = D3Q19<FIL_RHO,LOCAL_FIL_VEL_X,LOCAL_FIL_VEL_Y,LOCAL_FIL_VEL_Z>
 
using ForcedADMD3Q19Descriptor = D3Q19<FORCE,FIL_RHO,LOCAL_FIL_VEL_X,LOCAL_FIL_VEL_Y,LOCAL_FIL_VEL_Z>
 
using ForcedAdaptiveADMD3Q19Descriptor = D3Q19<FORCE,FIL_RHO,LOCAL_FIL_VEL_X,LOCAL_FIL_VEL_Y,LOCAL_FIL_VEL_Z,LOCAL_AV_DISS,LOCAL_AV_TKE,LOCAL_SIGMA_ADM,LOCAL_NU_EDDY,TAU_W>
 
using MRTD3Q19Descriptor = D3Q19<tag::MRT>
 MRTD3Q19 descriptor.
 
using ForcedMRTD3Q19Descriptor = D3Q19<tag::MRT,FORCE>
 
using D3Q27Descriptor = D3Q27<>
 D3Q27 descriptor.
 
using ForcedD3Q27Descriptor = D3Q27<FORCE>
 
using DynOmegaD3Q27Descriptor = D3Q27<OMEGA>
 
using ForcedDynOmegaD3Q27Descriptor = D3Q27<OMEGA,FORCE>
 
using DynOmegaPorousParticleD3Q27Descriptor = D3Q27<POROSITY,VELOCITY_NUMERATOR,VELOCITY_DENOMINATOR,OMEGA>
 
using WALED3Q27Descriptor = D3Q27<EFFECTIVE_OMEGA,VELO_GRAD>
 
using WALEForcedD3Q27Descriptor = D3Q27<EFFECTIVE_OMEGA,VELO_GRAD,FORCE>
 
using WallFunctionForcedD3Q27Descriptor = D3Q27<TAU_W,TAU_EFF,FORCE>
 
using D3Q27DescriptorLebedev = D3Q27<tag::RTLBM>
 
using CumulantD3Q27Descriptor = D3Q27<tag::CUM>
 
template<typename FIELD >
using is_data_field = std::integral_constant<bool, !is_tag_field<FIELD>::value>
 
template<typename TYPE >
using extract_valued_descriptor_t
 Return pair of base value and descriptor type declared by TYPE.
 
template<typename FIELD >
using is_propagatable_field = typename std::is_base_of<PROPAGATABLE_FIELD_BASE, FIELD>::type
 Evaluates to true iff FIELD is propagatable (e.g. POPULATION)
 
template<typename FIELD >
using is_tag_field = std::is_base_of<DESCRIPTOR_TAG, FIELD>
 
using DualForcedD3Q19Descriptor = D3Q19<FORCE,F,DJDF,DJDALPHA>
 
using DualForcedMRTD3Q19Descriptor = D3Q19<tag::MRT,FORCE,COORDINATE,F,DJDF,DJDALPHA>
 
using DualPorousD3Q19Descriptor = D3Q19<POROSITY,F,DJDF,DJDALPHA>
 
using ResolvedParticle2D
 
using ResolvedParticle3D
 
using ResolvedCircle2D
 
using ResolvedSphere3D
 
using ResolvedCircleWithContact2D
 
using ResolvedSphereWithContact3D
 
using ResolvedParticleWithContact2D
 
using ResolvedParticleWithContact3D
 
using ResolvedDecomposedParticle2D
 
using ResolvedDecomposedParticle3D
 
using SubgridParticle3D
 

Functions

template<typename T , unsigned D, unsigned Q>
constexpr T t (unsigned iPop, tag::CUM) any_platform
 
template<typename T , unsigned D, unsigned Q>
constexpr T constantK (unsigned iPop) any_platform
 
template<typename WANTED_FIELD , typename CURRENT_FIELD , typename... FIELDS, std::enable_if_t< std::is_same< WANTED_FIELD, CURRENT_FIELD >::value, int > = 0>
constexpr unsigned getIndexInFieldList ()
 
template<unsigned D, unsigned Q>
constexpr int vicinity () any_platform
 
template<unsigned D, unsigned Q>
constexpr int c (unsigned iPop, unsigned iDim) any_platform
 
template<unsigned D, unsigned Q>
constexpr Vector< int, D > c (unsigned iPop) any_platform
 
template<unsigned D, unsigned Q>
constexpr int opposite (unsigned iPop) any_platform
 
template<typename T , unsigned D, unsigned Q>
constexpr T t (unsigned iPop, tag::DEFAULT) any_platform
 
template<typename T , unsigned D, unsigned Q>
constexpr T invCs2 () any_platform
 
template<typename T , unsigned D, unsigned Q>
constexpr T lambda_e () any_platform
 
template<typename T , unsigned D, unsigned Q>
constexpr T lambda_h () any_platform
 
template<typename DESCRIPTOR >
constexpr int d () any_platform
 
template<typename DESCRIPTOR >
constexpr int q () any_platform
 
template<typename DESCRIPTOR >
constexpr int vicinity () any_platform
 
template<typename DESCRIPTOR >
constexpr int c (unsigned iPop, unsigned iDim) any_platform
 
template<typename DESCRIPTOR >
constexpr Vector< int, DESCRIPTOR::d > c (unsigned iPop) any_platform
 
template<typename DESCRIPTOR >
constexpr int opposite (unsigned iPop) any_platform
 
template<typename T , typename DESCRIPTOR >
constexpr T t (unsigned iPop) any_platform
 
template<typename T , typename DESCRIPTOR >
constexpr T invCs2 () any_platform
 
template<typename T , typename DESCRIPTOR >
constexpr T lambda_e () any_platform
 
template<typename T , typename DESCRIPTOR >
constexpr T lambda_h () any_platform
 
template<typename DESCRIPTOR , typename PREDICATE >
constexpr auto filter_population_indices (PREDICATE predicate) any_platform
 Return array of population indices of DESCRIPTOR matching PREDICATE.
 
template<typename T , unsigned D, unsigned Q>
constexpr T t (unsigned iPop, tag::MRT)
 
template<typename T , unsigned D, unsigned Q>
constexpr T m (unsigned iPop, unsigned jPop, tag::MRT)
 
template<typename T , typename DESCRIPTOR >
constexpr T m (unsigned iPop, unsigned jPop)
 
template<typename T , unsigned D, unsigned Q>
constexpr T invM (unsigned iPop, unsigned jPop, tag::MRT)
 
template<typename T , typename DESCRIPTOR >
constexpr T invM (unsigned iPop, unsigned jPop)
 
template<typename T , unsigned D, unsigned Q>
constexpr T s (unsigned iPop, tag::MRT)
 
template<typename T , typename DESCRIPTOR >
constexpr T s (unsigned iPop)
 
template<typename T , unsigned D, unsigned Q>
constexpr T s_2 (unsigned iPop, tag::MRT)
 
template<typename T , typename DESCRIPTOR >
constexpr T s_2 (unsigned iPop)
 
template<unsigned D, unsigned Q>
constexpr int shearIndexes (tag::MRT)
 
template<typename DESCRIPTOR >
constexpr int shearIndexes ()
 
template<unsigned D, unsigned Q>
constexpr int shearViscIndexes (unsigned iPop, tag::MRT)
 
template<typename DESCRIPTOR >
constexpr int shearViscIndexes (unsigned iPop)
 
template<unsigned D, unsigned Q>
constexpr int bulkViscIndex (tag::MRT)
 
template<typename DESCRIPTOR >
constexpr int bulkViscIndex ()
 
template<typename T , unsigned D, unsigned Q>
constexpr T t (unsigned iPop, tag::RTLBM)
 
template<typename T , unsigned D, unsigned Q>
constexpr T norm_c (unsigned iPop, tag::RTLBM)
 
template<typename T , typename DESCRIPTOR >
constexpr T norm_c (unsigned iPop)
 
template<typename F , typename T , typename DESCRIPTOR , typename ARRAYTYPE , typename HEAD , typename ... FIELDS>
void getFieldContent (F f, ARRAYTYPE &multiFieldArray, std::size_t iP)
 
template<typename F , typename T , typename DESCRIPTOR , typename HEAD , typename ... FIELDS>
void getFieldContentL2 (F f, DynamicFieldGroupsD< T, typename DESCRIPTOR::fields_t > &dynamicFieldGroups, std::size_t iP)
 

Detailed Description

Descriptors for the 2D and 3D lattices.

Warning
Attention: The lattice directions must always be ordered in such a way that c[i] = -c[i+(q-1)/2] for i=1..(q-1)/2, and c[0] = 0 must be the rest velocity. Furthermore, the velocities c[i] for i=1..(q-1)/2 must verify
  • in 2D: (c[i][0]<0) || (c[i][0]==0 && c[i][1]<0)
  • in 3D: (c[i][0]<0) || (c[i][0]==0 && c[i][1]<0) || (c[i][0]==0 && c[i][1]==0 && c[i][2]<0) Otherwise some of the code will work erroneously, because the aformentioned relations are taken as given to enable a few optimizations.

Typedef Documentation

◆ ADMD2Q9Descriptor

Definition at line 79 of file descriptorAlias.h.

◆ ADMD3Q19Descriptor

Definition at line 152 of file descriptorAlias.h.

◆ AdvectionDiffusionD2Q5Descriptor

Definition at line 44 of file descriptorAlias.h.

◆ AdvectionDiffusionD2Q9Descriptor

Definition at line 57 of file descriptorAlias.h.

◆ AdvectionDiffusionD3Q7Descriptor

Definition at line 90 of file descriptorAlias.h.

◆ AdvectionDiffusionMRTD2Q5Descriptor

Definition at line 52 of file descriptorAlias.h.

◆ AdvectionDiffusionMRTD3Q7Descriptor

Definition at line 101 of file descriptorAlias.h.

◆ CumulantD3Q27Descriptor

Definition at line 172 of file descriptorAlias.h.

◆ D2Q5Descriptor

D2Q5 descriptor.

Definition at line 43 of file descriptorAlias.h.

◆ D2Q9Descriptor

D2Q9 descriptor.

Definition at line 56 of file descriptorAlias.h.

◆ D3Q15Descriptor

D3Q15 descriptor.

Definition at line 109 of file descriptorAlias.h.

◆ D3Q15DescriptorLebedev

Definition at line 111 of file descriptorAlias.h.

◆ D3Q19Descriptor

D3Q19 descriptor.

Definition at line 115 of file descriptorAlias.h.

◆ D3Q27Descriptor

D3Q27 descriptor.

Definition at line 163 of file descriptorAlias.h.

◆ D3Q27DescriptorLebedev

Definition at line 171 of file descriptorAlias.h.

◆ D3Q7Descriptor

D3Q7 descriptor.

Definition at line 89 of file descriptorAlias.h.

◆ D3Q7DescriptorLebedev

Definition at line 96 of file descriptorAlias.h.

◆ DualForcedD3Q19Descriptor

Definition at line 37 of file dualLatticeDescriptors.h.

◆ DualForcedMRTD3Q19Descriptor

Definition at line 39 of file dualLatticeDescriptors.h.

◆ DualPorousD3Q19Descriptor

Definition at line 44 of file dualLatticeDescriptors.h.

◆ DynOmegaD2Q9Descriptor

Definition at line 63 of file descriptorAlias.h.

◆ DynOmegaD3Q19Descriptor

Definition at line 121 of file descriptorAlias.h.

◆ DynOmegaD3Q27Descriptor

Definition at line 165 of file descriptorAlias.h.

◆ DynOmegaPorousParticleD2Q9Descriptor

Definition at line 65 of file descriptorAlias.h.

◆ DynOmegaPorousParticleD3Q19Descriptor

Definition at line 123 of file descriptorAlias.h.

◆ DynOmegaPorousParticleD3Q27Descriptor

Definition at line 167 of file descriptorAlias.h.

◆ DynSmagorinskyD2Q9Descriptor

Definition at line 72 of file descriptorAlias.h.

◆ DynSmagorinskyD3Q19Descriptor

Definition at line 143 of file descriptorAlias.h.

◆ ExtendedPorousD2Q9Descriptor

Definition at line 74 of file descriptorAlias.h.

◆ ExtendedPorousD3Q19Descriptor

Definition at line 146 of file descriptorAlias.h.

◆ extract_valued_descriptor_t

template<typename TYPE >
using olb::descriptors::extract_valued_descriptor_t
Initial value:
VALUED_DESCRIPTOR<
typename std::remove_reference_t<TYPE>::value_t,
typename std::remove_reference_t<TYPE>::descriptor_t
>

Return pair of base value and descriptor type declared by TYPE.

Used to extract descriptor and associated value type from cell and lattice types.

Definition at line 182 of file descriptorBase.h.

◆ FDKalmanShearSmagorinskyD3Q19Descriptor

Definition at line 127 of file descriptorAlias.h.

◆ FDKalmanShearSmagorinskyForcedD3Q19Descriptor

Definition at line 128 of file descriptorAlias.h.

◆ ForcedAdaptiveADMD3Q19Descriptor

Definition at line 154 of file descriptorAlias.h.

◆ ForcedADMD2Q9Descriptor

Definition at line 80 of file descriptorAlias.h.

◆ ForcedADMD3Q19Descriptor

Definition at line 153 of file descriptorAlias.h.

◆ ForcedD2Q9Descriptor

Definition at line 58 of file descriptorAlias.h.

◆ ForcedD3Q13Descriptor

D3Q13 descriptor.

Definition at line 105 of file descriptorAlias.h.

◆ ForcedD3Q15Descriptor

Definition at line 110 of file descriptorAlias.h.

◆ ForcedD3Q19Descriptor

Definition at line 116 of file descriptorAlias.h.

◆ ForcedD3Q27Descriptor

Definition at line 164 of file descriptorAlias.h.

◆ ForcedDynOmegaD2Q9Descriptor

Definition at line 64 of file descriptorAlias.h.

◆ ForcedDynOmegaD3Q19Descriptor

Definition at line 122 of file descriptorAlias.h.

◆ ForcedDynOmegaD3Q27Descriptor

Definition at line 166 of file descriptorAlias.h.

◆ ForcedMRTD2Q9Descriptor

Definition at line 85 of file descriptorAlias.h.

◆ ForcedMRTD3Q19Descriptor

Definition at line 159 of file descriptorAlias.h.

◆ ForcedPSMD3Q19Descriptor

Definition at line 150 of file descriptorAlias.h.

◆ ForcedShearWallSmagorinskyD3Q19Descriptor

Definition at line 126 of file descriptorAlias.h.

◆ FreeEnergyD2Q9Descriptor

Definition at line 61 of file descriptorAlias.h.

◆ FreeEnergyD3Q19Descriptor

Definition at line 119 of file descriptorAlias.h.

◆ GuoZhaoD2Q9Descriptor

Definition at line 78 of file descriptorAlias.h.

◆ GuoZhaoD3Q19Descriptor

Definition at line 151 of file descriptorAlias.h.

◆ is_data_field

template<typename FIELD >
using olb::descriptors::is_data_field = std::integral_constant<bool, !is_tag_field<FIELD>::value>

Definition at line 37 of file descriptorBase.h.

◆ is_propagatable_field

template<typename FIELD >
using olb::descriptors::is_propagatable_field = typename std::is_base_of<PROPAGATABLE_FIELD_BASE, FIELD>::type

Evaluates to true iff FIELD is propagatable (e.g. POPULATION)

Definition at line 152 of file descriptorField.h.

◆ is_tag_field

template<typename FIELD >
using olb::descriptors::is_tag_field = std::is_base_of<DESCRIPTOR_TAG, FIELD>

Definition at line 51 of file descriptorTag.h.

◆ KalmanShearSmagorinskyD3Q19Descriptor

Definition at line 134 of file descriptorAlias.h.

◆ MixedScaleAdvectionDiffusionD2Q5Descriptor

Definition at line 47 of file descriptorAlias.h.

◆ MixedScaleForcedD2Q9Descriptor

Definition at line 60 of file descriptorAlias.h.

◆ MRTD2Q5Descriptor

MRTD2Q5 descriptor.

Definition at line 51 of file descriptorAlias.h.

◆ MRTD2Q9Descriptor

MRTD2Q9 descriptor.

Definition at line 84 of file descriptorAlias.h.

◆ MRTD3Q19Descriptor

MRTD3Q19 descriptor.

Definition at line 158 of file descriptorAlias.h.

◆ MRTD3Q7Descriptor

MRTD3Q7 descriptor.

Definition at line 100 of file descriptorAlias.h.

◆ ParticleAdvectionDiffusionD3Q19Descriptor

Definition at line 120 of file descriptorAlias.h.

◆ ParticleAdvectionDiffusionD3Q7Descriptor

Definition at line 93 of file descriptorAlias.h.

◆ ParticleAdvectionDiffusionMRTD3Q7Descriptor

Definition at line 94 of file descriptorAlias.h.

◆ PorousAdvectionDiffusionD3Q7Descriptor

Definition at line 95 of file descriptorAlias.h.

◆ PorousD2Q9Descriptor

Definition at line 73 of file descriptorAlias.h.

◆ PorousD3Q19Descriptor

Definition at line 144 of file descriptorAlias.h.

◆ PorousForcedD3Q19Descriptor

Definition at line 145 of file descriptorAlias.h.

◆ PorousParticleD2Q9Descriptor

Definition at line 75 of file descriptorAlias.h.

◆ PorousParticleD3Q19Descriptor

Definition at line 147 of file descriptorAlias.h.

◆ PorousParticleWithContactD2Q9Descriptor

Definition at line 76 of file descriptorAlias.h.

◆ PorousParticleWithContactD3Q19Descriptor

Definition at line 148 of file descriptorAlias.h.

◆ PSMD2Q9Descriptor

Definition at line 77 of file descriptorAlias.h.

◆ PSMD3Q19Descriptor

Definition at line 149 of file descriptorAlias.h.

◆ ResolvedCircle2D

Initial value:
PARTICLE_DESCRIPTOR<2, GENERAL_TMP<2>,
MOBILITY_VERLET<2>, SURFACE_RESOLVED_CIRCULAR<2>,
FORCING_RESOLVED<2>, PHYSPROPERTIES_RESOLVED<2> >

Definition at line 40 of file particleDescriptorAlias.h.

◆ ResolvedCircleWithContact2D

Initial value:
PARTICLE_DESCRIPTOR<2, GENERAL_TMP<2>,
MOBILITY_VERLET<2>, SURFACE_RESOLVED_CIRCULAR<2>,
FORCING_RESOLVED<2>, PHYSPROPERTIES_RESOLVED<2>,
MECHPROPERTIES_COLLISION<2>, NUMERICPROPERTIES_RESOLVED_CONTACT<2> >

Definition at line 48 of file particleDescriptorAlias.h.

◆ ResolvedDecomposedParticle2D

Initial value:
PARTICLE_DESCRIPTOR<2, GENERAL_EXTENDABLE<2>,
MOBILITY_VERLET<2>, SURFACE_RESOLVED_PARALLEL<2>,
FORCING_RESOLVED<2>, PHYSPROPERTIES_RESOLVED<2>,
PARALLELIZATION_RESOLVED >

Definition at line 68 of file particleDescriptorAlias.h.

◆ ResolvedDecomposedParticle3D

Initial value:
PARTICLE_DESCRIPTOR<3, GENERAL_EXTENDABLE<3>,
MOBILITY_VERLET<3>, SURFACE_RESOLVED_PARALLEL<3>,
FORCING_RESOLVED<3>, PHYSPROPERTIES_RESOLVED<3>,
PARALLELIZATION_RESOLVED >

Definition at line 74 of file particleDescriptorAlias.h.

◆ ResolvedParticle2D

Initial value:
PARTICLE_DESCRIPTOR<2, GENERAL_TMP<2>,
MOBILITY_VERLET<2>, SURFACE_RESOLVED<2>,
FORCING_RESOLVED<2>, PHYSPROPERTIES_RESOLVED<2> >

Definition at line 32 of file particleDescriptorAlias.h.

◆ ResolvedParticle3D

Initial value:
PARTICLE_DESCRIPTOR<3, GENERAL_TMP<3>,
MOBILITY_VERLET<3>, SURFACE_RESOLVED<3>,
FORCING_RESOLVED<3>, PHYSPROPERTIES_RESOLVED<3> >

Definition at line 36 of file particleDescriptorAlias.h.

◆ ResolvedParticleWithContact2D

Initial value:
PARTICLE_DESCRIPTOR<2, GENERAL_TMP<2>,
MOBILITY_VERLET<2>, SURFACE_RESOLVED<2>,
FORCING_RESOLVED<2>, PHYSPROPERTIES_RESOLVED<2>,
MECHPROPERTIES_COLLISION<2>, NUMERICPROPERTIES_RESOLVED_CONTACT<2> >

Definition at line 58 of file particleDescriptorAlias.h.

◆ ResolvedParticleWithContact3D

Initial value:
PARTICLE_DESCRIPTOR<3, GENERAL_TMP<3>,
MOBILITY_VERLET<3>, SURFACE_RESOLVED<3>,
FORCING_RESOLVED<3>, PHYSPROPERTIES_RESOLVED<3>,
MECHPROPERTIES_COLLISION<3>, NUMERICPROPERTIES_RESOLVED_CONTACT<3> >

Definition at line 63 of file particleDescriptorAlias.h.

◆ ResolvedSphere3D

Initial value:
PARTICLE_DESCRIPTOR<3, GENERAL_TMP<3>,
MOBILITY_VERLET<3>, SURFACE_RESOLVED_CIRCULAR<3>,
FORCING_RESOLVED<3>, PHYSPROPERTIES_RESOLVED<3> >

Definition at line 44 of file particleDescriptorAlias.h.

◆ ResolvedSphereWithContact3D

Initial value:
PARTICLE_DESCRIPTOR<3, GENERAL_TMP<3>,
MOBILITY_VERLET<3>, SURFACE_RESOLVED_CIRCULAR<3>,
FORCING_RESOLVED<3>, PHYSPROPERTIES_RESOLVED<3>,
MECHPROPERTIES_COLLISION<3>, NUMERICPROPERTIES_RESOLVED_CONTACT<3> >

Definition at line 53 of file particleDescriptorAlias.h.

◆ ShanChenDynGD2Q9Descriptor

Definition at line 70 of file descriptorAlias.h.

◆ ShanChenDynGForcedD2Q9Descriptor

Definition at line 71 of file descriptorAlias.h.

◆ ShanChenDynOmegaD2Q9Descriptor

Definition at line 68 of file descriptorAlias.h.

◆ ShanChenDynOmegaD3Q19Descriptor

Definition at line 139 of file descriptorAlias.h.

◆ ShanChenDynOmegaForcedD2Q9Descriptor

Definition at line 69 of file descriptorAlias.h.

◆ ShanChenDynOmegaForcedD3Q19Descriptor

Definition at line 140 of file descriptorAlias.h.

◆ ShanChenForcedD2Q9Descriptor

Definition at line 67 of file descriptorAlias.h.

◆ ShanChenForcedD3Q19Descriptor

Definition at line 138 of file descriptorAlias.h.

◆ ShearSmagorinskyD2Q9Descriptor

Definition at line 66 of file descriptorAlias.h.

◆ ShearSmagorinskyD3Q19Descriptor

Definition at line 124 of file descriptorAlias.h.

◆ ShearSmagorinskyForcedD3Q19Descriptor

Definition at line 125 of file descriptorAlias.h.

◆ SmagorinskyAdvectionDiffusionD2Q5Descriptor

Definition at line 46 of file descriptorAlias.h.

◆ SmagorinskyAdvectionDiffusionD3Q7Descriptor

Definition at line 92 of file descriptorAlias.h.

◆ SmagorinskyForcedD2Q9Descriptor

Definition at line 59 of file descriptorAlias.h.

◆ SmagorinskyForcedD3Q19Descriptor

Definition at line 117 of file descriptorAlias.h.

◆ SourcedAdvectionDiffusionD2Q5Descriptor

Definition at line 45 of file descriptorAlias.h.

◆ SourcedAdvectionDiffusionD3Q7Descriptor

Definition at line 91 of file descriptorAlias.h.

◆ SubgridParticle3D

Initial value:
PARTICLE_DESCRIPTOR<3, GENERAL_EXTENDABLE<3>,
MOBILITY_VERLET_NO_ANGLE<3>,
FORCING_SUBGRID<3>, PHYSPROPERTIES_SUBGRID<3>,
DYNBEHAVIOUR_BASIC,
PARALLELIZATION_SUBGRID >

Definition at line 80 of file particleDescriptorAlias.h.

◆ V12ForcedD3Q19Descriptor

Definition at line 118 of file descriptorAlias.h.

◆ V6ForcedD2Q9Descriptor

Definition at line 62 of file descriptorAlias.h.

◆ WALED3Q19Descriptor

Definition at line 136 of file descriptorAlias.h.

◆ WALED3Q27Descriptor

Definition at line 168 of file descriptorAlias.h.

◆ WALEForcedD3Q19Descriptor

Definition at line 137 of file descriptorAlias.h.

◆ WALEForcedD3Q27Descriptor

Definition at line 169 of file descriptorAlias.h.

◆ WallFunctionD3Q19Descriptor

Definition at line 141 of file descriptorAlias.h.

◆ WallFunctionForcedD3Q19Descriptor

Definition at line 142 of file descriptorAlias.h.

◆ WallFunctionForcedD3Q27Descriptor

Definition at line 170 of file descriptorAlias.h.

Function Documentation

◆ bulkViscIndex() [1/2]

template<typename DESCRIPTOR >
constexpr int olb::descriptors::bulkViscIndex ( )
constexpr

Definition at line 472 of file mrtLatticeDescriptors.h.

473{
474 return bulkViscIndex<DESCRIPTOR::d, DESCRIPTOR::q>(typename DESCRIPTOR::category_tag());
475}

◆ bulkViscIndex() [2/2]

template<unsigned D, unsigned Q>
constexpr int olb::descriptors::bulkViscIndex ( tag::MRT )
constexpr

Definition at line 466 of file mrtLatticeDescriptors.h.

467{
468 return mrt_data::bulkViscIndex<D,Q>;
469}

◆ c() [1/4]

template<unsigned D, unsigned Q>
constexpr Vector< int, D > olb::descriptors::c ( unsigned iPop)
constexpr

Definition at line 89 of file descriptorFunction.h.

90{
91 return Vector<int,D>(data::c<D,Q>[iPop]);
92}
Plain old scalar vector.
Definition vector.h:47

◆ c() [2/4]

template<typename DESCRIPTOR >
constexpr Vector< int, DESCRIPTOR::d > olb::descriptors::c ( unsigned iPop)
constexpr

Definition at line 158 of file descriptorFunction.h.

159{
160 return c<DESCRIPTOR::d, DESCRIPTOR::q>(iPop);
161}

◆ c() [3/4]

template<unsigned D, unsigned Q>
constexpr int olb::descriptors::c ( unsigned iPop,
unsigned iDim )
constexpr

Definition at line 83 of file descriptorFunction.h.

84{
85 return data::c<D,Q>[iPop][iDim];
86}

◆ c() [4/4]

template<typename DESCRIPTOR >
constexpr int olb::descriptors::c ( unsigned iPop,
unsigned iDim )
constexpr

Definition at line 152 of file descriptorFunction.h.

153{
154 return c<DESCRIPTOR::d, DESCRIPTOR::q>(iPop, iDim);
155}

◆ constantK()

template<typename T , unsigned D, unsigned Q>
constexpr T olb::descriptors::constantK ( unsigned iPop)
constexpr

Definition at line 74 of file cum.h.

75 {
76 return cum_data::K<D,Q>[iPop].template as<T>();
77 }

◆ d()

template<typename DESCRIPTOR >
constexpr int olb::descriptors::d ( )
constexpr

Definition at line 127 of file descriptorFunction.h.

128{
129 return DESCRIPTOR::d;
130}

◆ filter_population_indices()

template<typename DESCRIPTOR , typename PREDICATE >
constexpr auto olb::descriptors::filter_population_indices ( PREDICATE predicate)
constexpr

Return array of population indices of DESCRIPTOR matching PREDICATE.

Definition at line 195 of file descriptorFunction.h.

195 {
196 return meta::filter_index_sequence(predicate,
197 std::make_index_sequence<DESCRIPTOR::q>());
198}

References olb::meta::filter_index_sequence().

+ Here is the call graph for this function:

◆ getFieldContent()

template<typename F , typename T , typename DESCRIPTOR , typename ARRAYTYPE , typename HEAD , typename ... FIELDS>
void olb::descriptors::getFieldContent ( F f,
ARRAYTYPE & multiFieldArray,
std::size_t iP )

Definition at line 57 of file particleDescriptorUtilities.h.

58{
59 auto& field = multiFieldArray.template get<HEAD>();
60 auto fieldContent = field.getRowPointer(iP);
61 int fieldSize = fieldContent.getSize();
62 std::stringstream fieldContentStream; //Necessary until c++20
63 fieldContentStream << fieldContent; //Necessary until c++20
64 if constexpr (!sizeof...(FIELDS)) {
65 bool resetField = f( typeid(HEAD), fieldSize, fieldContentStream.str() );
66 if (resetField) {
67 fieldContent = HEAD::template getInitialValue<T,DESCRIPTOR>();
68 }
69 }
70 else {
71 bool resetField = f( typeid(HEAD), fieldSize, fieldContentStream.str() );
72 if (resetField) {
73 fieldContent = HEAD::template getInitialValue<T,DESCRIPTOR>();
74 }
75 getFieldContent<F,T,DESCRIPTOR,ARRAYTYPE,FIELDS...>( f, multiFieldArray, iP );
76 }
77}
void getFieldContent(F f, ARRAYTYPE &multiFieldArray, std::size_t iP)

References getFieldContent().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getFieldContentL2()

template<typename F , typename T , typename DESCRIPTOR , typename HEAD , typename ... FIELDS>
void olb::descriptors::getFieldContentL2 ( F f,
DynamicFieldGroupsD< T, typename DESCRIPTOR::fields_t > & dynamicFieldGroups,
std::size_t iP )

Definition at line 81 of file particleDescriptorUtilities.h.

82{
83 if constexpr (!sizeof...(FIELDS)) {
84 auto& fieldL2 = dynamicFieldGroups.template get<HEAD>();
86 }
87 else {
88 auto& fieldL2 = dynamicFieldGroups.template get<HEAD>();
89 access_field_content<F,T,HEAD,typename HEAD::fields_t>::fields( f, fieldL2, iP );
90 getFieldContentL2<F,T, DESCRIPTOR, FIELDS...>( f, dynamicFieldGroups, iP );
91 }
92}
Traversal of nested field contents for output and initialization.

References getFieldContentL2().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getIndexInFieldList()

template<typename WANTED_FIELD , typename CURRENT_FIELD , typename... FIELDS, std::enable_if_t< std::is_same< WANTED_FIELD, CURRENT_FIELD >::value, int > = 0>
constexpr unsigned olb::descriptors::getIndexInFieldList ( )
constexpr

Definition at line 277 of file descriptorField.h.

278{
279 return 0;
280}
+ Here is the caller graph for this function:

◆ invCs2() [1/2]

template<typename T , unsigned D, unsigned Q>
constexpr T olb::descriptors::invCs2 ( )
constexpr

Definition at line 107 of file descriptorFunction.h.

108{
109 return data::cs2<D,Q>.template inverseAs<T>();
110}

◆ invCs2() [2/2]

template<typename T , typename DESCRIPTOR >
constexpr T olb::descriptors::invCs2 ( )
constexpr

Definition at line 176 of file descriptorFunction.h.

177{
178 return invCs2<T, DESCRIPTOR::d, DESCRIPTOR::q>();
179}

◆ invM() [1/2]

template<typename T , typename DESCRIPTOR >
constexpr T olb::descriptors::invM ( unsigned iPop,
unsigned jPop )
constexpr

Definition at line 412 of file mrtLatticeDescriptors.h.

413{
414 return invM<T, DESCRIPTOR::d, DESCRIPTOR::q>(iPop, jPop, typename DESCRIPTOR::category_tag());
415}

◆ invM() [2/2]

template<typename T , unsigned D, unsigned Q>
constexpr T olb::descriptors::invM ( unsigned iPop,
unsigned jPop,
tag::MRT  )
constexpr

Definition at line 406 of file mrtLatticeDescriptors.h.

407{
408 return mrt_data::invM<D,Q>[iPop][jPop].template as<T>();
409}

◆ lambda_e() [1/2]

template<typename T , unsigned D, unsigned Q>
constexpr T olb::descriptors::lambda_e ( )
constexpr

Definition at line 113 of file descriptorFunction.h.

114{
115 return data::lambda_e<D,Q>.template inverseAs<T>();
116}

◆ lambda_e() [2/2]

template<typename T , typename DESCRIPTOR >
constexpr T olb::descriptors::lambda_e ( )
constexpr

Definition at line 182 of file descriptorFunction.h.

183{
184 return lambda_e<T, DESCRIPTOR::d, DESCRIPTOR::q>();
185}

◆ lambda_h() [1/2]

template<typename T , unsigned D, unsigned Q>
constexpr T olb::descriptors::lambda_h ( )
constexpr

Definition at line 119 of file descriptorFunction.h.

120{
121 return data::lambda_h<D,Q>.template inverseAs<T>();
122}

◆ lambda_h() [2/2]

template<typename T , typename DESCRIPTOR >
constexpr T olb::descriptors::lambda_h ( )
constexpr

Definition at line 188 of file descriptorFunction.h.

189{
190 return lambda_h<T, DESCRIPTOR::d, DESCRIPTOR::q>();
191}

◆ m() [1/2]

template<typename T , typename DESCRIPTOR >
constexpr T olb::descriptors::m ( unsigned iPop,
unsigned jPop )
constexpr

Definition at line 400 of file mrtLatticeDescriptors.h.

401{
402 return m<T, DESCRIPTOR::d, DESCRIPTOR::q>(iPop, jPop, typename DESCRIPTOR::category_tag());
403}

◆ m() [2/2]

template<typename T , unsigned D, unsigned Q>
constexpr T olb::descriptors::m ( unsigned iPop,
unsigned jPop,
tag::MRT  )
constexpr

Definition at line 394 of file mrtLatticeDescriptors.h.

395{
396 return mrt_data::M<D,Q>[iPop][jPop].template as<T>();
397}

◆ norm_c() [1/2]

template<typename T , typename DESCRIPTOR >
constexpr T olb::descriptors::norm_c ( unsigned iPop)
constexpr

Definition at line 129 of file rtlbmDescriptors.h.

130{
131 return norm_c<T, DESCRIPTOR::d, DESCRIPTOR::q>(iPop, typename DESCRIPTOR::category_tag());
132}

◆ norm_c() [2/2]

template<typename T , unsigned D, unsigned Q>
constexpr T olb::descriptors::norm_c ( unsigned iPop,
tag::RTLBM  )
constexpr

Definition at line 123 of file rtlbmDescriptors.h.

124{
125 return T{rtlbm_data::norm_c<D,Q>[iPop]};
126}

◆ opposite() [1/2]

template<unsigned D, unsigned Q>
constexpr int olb::descriptors::opposite ( unsigned iPop)
constexpr

Definition at line 95 of file descriptorFunction.h.

96{
97 return data::opposite<D,Q>[iPop];
98}

◆ opposite() [2/2]

template<typename DESCRIPTOR >
constexpr int olb::descriptors::opposite ( unsigned iPop)
constexpr

Definition at line 164 of file descriptorFunction.h.

165{
166 return opposite<DESCRIPTOR::d, DESCRIPTOR::q>(iPop);
167}

◆ q()

template<typename DESCRIPTOR >
constexpr int olb::descriptors::q ( )
constexpr

Definition at line 140 of file descriptorFunction.h.

141{
142 return DESCRIPTOR::q;
143}

◆ s() [1/2]

template<typename T , typename DESCRIPTOR >
constexpr T olb::descriptors::s ( unsigned iPop)
constexpr

Definition at line 424 of file mrtLatticeDescriptors.h.

425{
426 return s<T, DESCRIPTOR::d, DESCRIPTOR::q>(iPop, typename DESCRIPTOR::category_tag());
427}

◆ s() [2/2]

template<typename T , unsigned D, unsigned Q>
constexpr T olb::descriptors::s ( unsigned iPop,
tag::MRT  )
constexpr

Definition at line 418 of file mrtLatticeDescriptors.h.

419{
420 return mrt_data::s<D,Q>[iPop].template as<T>();
421}

◆ s_2() [1/2]

template<typename T , typename DESCRIPTOR >
constexpr T olb::descriptors::s_2 ( unsigned iPop)
constexpr

Definition at line 436 of file mrtLatticeDescriptors.h.

437{
438 return s_2<T, DESCRIPTOR::d, DESCRIPTOR::q>(iPop, typename DESCRIPTOR::category_tag());
439}

◆ s_2() [2/2]

template<typename T , unsigned D, unsigned Q>
constexpr T olb::descriptors::s_2 ( unsigned iPop,
tag::MRT  )
constexpr

Definition at line 430 of file mrtLatticeDescriptors.h.

431{
432 return mrt_data::s_2<D,Q>[iPop].template as<T>();
433}

◆ shearIndexes() [1/2]

template<typename DESCRIPTOR >
constexpr int olb::descriptors::shearIndexes ( )
constexpr

Definition at line 448 of file mrtLatticeDescriptors.h.

449{
450 return shearIndexes<DESCRIPTOR::d, DESCRIPTOR::q>(typename DESCRIPTOR::category_tag());
451}

◆ shearIndexes() [2/2]

template<unsigned D, unsigned Q>
constexpr int olb::descriptors::shearIndexes ( tag::MRT )
constexpr

Definition at line 442 of file mrtLatticeDescriptors.h.

443{
444 return mrt_data::shearIndexes<D,Q>;
445}

◆ shearViscIndexes() [1/2]

template<typename DESCRIPTOR >
constexpr int olb::descriptors::shearViscIndexes ( unsigned iPop)
constexpr

Definition at line 460 of file mrtLatticeDescriptors.h.

461{
462 return shearViscIndexes<DESCRIPTOR::d, DESCRIPTOR::q>(iPop, typename DESCRIPTOR::category_tag());
463}

◆ shearViscIndexes() [2/2]

template<unsigned D, unsigned Q>
constexpr int olb::descriptors::shearViscIndexes ( unsigned iPop,
tag::MRT  )
constexpr

Definition at line 454 of file mrtLatticeDescriptors.h.

455{
456 return mrt_data::shearViscIndexes<D,Q>[iPop];
457}

◆ t() [1/5]

template<typename T , typename DESCRIPTOR >
constexpr T olb::descriptors::t ( unsigned iPop)
constexpr

Definition at line 170 of file descriptorFunction.h.

171{
172 return t<T, DESCRIPTOR::d, DESCRIPTOR::q>(iPop, typename DESCRIPTOR::category_tag());
173}

◆ t() [2/5]

template<typename T , unsigned D, unsigned Q>
constexpr T olb::descriptors::t ( unsigned iPop,
tag::CUM  )
constexpr

Definition at line 69 of file cum.h.

70 {
71 return data::t<D,Q>[iPop].template as<T>();
72 }

◆ t() [3/5]

template<typename T , unsigned D, unsigned Q>
constexpr T olb::descriptors::t ( unsigned iPop,
tag::DEFAULT  )
constexpr

Definition at line 101 of file descriptorFunction.h.

102{
103 return data::t<D,Q>[iPop].template as<T>();
104}

◆ t() [4/5]

template<typename T , unsigned D, unsigned Q>
constexpr T olb::descriptors::t ( unsigned iPop,
tag::MRT  )
constexpr

Definition at line 388 of file mrtLatticeDescriptors.h.

389{
390 return data::t<D,Q>[iPop].template as<T>();
391}

◆ t() [5/5]

template<typename T , unsigned D, unsigned Q>
constexpr T olb::descriptors::t ( unsigned iPop,
tag::RTLBM  )
constexpr

Definition at line 117 of file rtlbmDescriptors.h.

118{
119 return rtlbm_data::t<D,Q>[iPop].template as<T>();
120}

◆ vicinity() [1/2]

template<unsigned D, unsigned Q>
constexpr int olb::descriptors::vicinity ( )
constexpr

Definition at line 77 of file descriptorFunction.h.

78{
79 return data::vicinity<D,Q>;
80}

◆ vicinity() [2/2]

template<typename DESCRIPTOR >
constexpr int olb::descriptors::vicinity ( )
constexpr

Definition at line 146 of file descriptorFunction.h.

147{
148 return vicinity<DESCRIPTOR::d, DESCRIPTOR::q>();
149}