OpenLB 1.8.1
Loading...
Searching...
No Matches
olb::momenta::PorousParticleMomentum< MOMENTUM > Struct Template Reference

#include <elements.h>

+ Collaboration diagram for olb::momenta::PorousParticleMomentum< MOMENTUM >:

Public Member Functions

template<typename TYPE , typename CELL , typename J , typename V = typename CELL::value_t, typename DESCRIPTOR = typename CELL::descriptor_t>
void compute (CELL &cell, J &j) any_platform
 
template<typename TYPE , typename CELL , typename U , typename V = typename CELL::value_t, typename DESCRIPTOR = typename CELL::descriptor_t>
void computeU (CELL &cell, U &u) any_platform
 
template<typename TYPE , typename CELL , typename U , typename DESCRIPTOR = typename CELL::descriptor_t>
void define (CELL &cell, const U &u) any_platform
 
template<typename TYPE , typename CELL >
void initialize (CELL &cell) any_platform
 
template<typename TYPE , typename CELL , typename U >
void inverseShift (CELL &cell, U &u) any_platform
 

Static Public Member Functions

static std::string getName ()
 

Detailed Description

template<typename MOMENTUM>
struct olb::momenta::PorousParticleMomentum< MOMENTUM >

Definition at line 1244 of file elements.h.

Member Function Documentation

◆ compute()

template<typename MOMENTUM >
template<typename TYPE , typename CELL , typename J , typename V = typename CELL::value_t, typename DESCRIPTOR = typename CELL::descriptor_t>
void olb::momenta::PorousParticleMomentum< MOMENTUM >::compute ( CELL & cell,
J & j )
inline

Definition at line 1246 of file elements.h.

1247 {
1248 MOMENTUM().template compute<TYPE>(cell, j);
1249 }
void compute(CELL &cell, J &j) any_platform
Definition elements.h:1246

References olb::momenta::PorousParticleMomentum< MOMENTUM >::compute().

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

◆ computeU()

template<typename MOMENTUM >
template<typename TYPE , typename CELL , typename U , typename V = typename CELL::value_t, typename DESCRIPTOR = typename CELL::descriptor_t>
void olb::momenta::PorousParticleMomentum< MOMENTUM >::computeU ( CELL & cell,
U & u )
inline

Definition at line 1252 of file elements.h.

1253 {
1254 V rho{};
1255 lbm<DESCRIPTOR>::computeRhoU(cell, rho, u);
1256 V u_tmp[3] = {0., 0., 0.};
1257 if (cell.template getFieldPointer<descriptors::VELOCITY_DENOMINATOR>()[0] > std::numeric_limits<V>::epsilon()) {
1258 for (int i=0; i<DESCRIPTOR::d; i++) {
1259 u_tmp[i] = (V(1) - cell.template getField<descriptors::POROSITY>())
1260 * ( cell.template getFieldPointer<descriptors::VELOCITY_NUMERATOR>()[i]
1261 / cell.template getField<descriptors::VELOCITY_DENOMINATOR>()
1262 - u[i] );
1263 u[i] += V(0.5) * rho * u_tmp[i];
1264 }
1265 }
1266 }
static void computeRhoU(CELL &cell, RHO &rho, U &u) any_platform
Computation of hydrodynamic variables.
Definition lbm.h:301

References olb::lbm< DESCRIPTOR >::computeRhoU().

+ Here is the call graph for this function:

◆ define()

template<typename MOMENTUM >
template<typename TYPE , typename CELL , typename U , typename DESCRIPTOR = typename CELL::descriptor_t>
void olb::momenta::PorousParticleMomentum< MOMENTUM >::define ( CELL & cell,
const U & u )
inline

Definition at line 1269 of file elements.h.

1270 {
1271 MOMENTUM().template define<TYPE>(cell, u);
1272 }
void define(CELL &cell, const U &u) any_platform
Definition elements.h:1269

References olb::momenta::PorousParticleMomentum< MOMENTUM >::define().

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

◆ getName()

template<typename MOMENTUM >
static std::string olb::momenta::PorousParticleMomentum< MOMENTUM >::getName ( )
inlinestatic

Definition at line 1283 of file elements.h.

1283 {
1284 return "PorousParticleMomentum<" + MOMENTUM().getName() + ">";
1285 }

◆ initialize()

template<typename MOMENTUM >
template<typename TYPE , typename CELL >
void olb::momenta::PorousParticleMomentum< MOMENTUM >::initialize ( CELL & cell)
inline

Definition at line 1275 of file elements.h.

1276 {
1277 MOMENTUM().template initialize<TYPE>(cell);
1278 }
void initialize(CELL &cell) any_platform
Definition elements.h:1275

References olb::momenta::PorousParticleMomentum< MOMENTUM >::initialize().

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

◆ inverseShift()

template<typename MOMENTUM >
template<typename TYPE , typename CELL , typename U >
void olb::momenta::PorousParticleMomentum< MOMENTUM >::inverseShift ( CELL & cell,
U & u )
inline

Definition at line 1281 of file elements.h.

1281{}

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