|
| 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 |
| |
template<typename MOMENTUM>
struct olb::momenta::PorousParticleMomentum< MOMENTUM >
Definition at line 1244 of file elements.h.
template<typename MOMENTUM >
template<typename TYPE , typename CELL , typename U , typename V = typename CELL::value_t, typename DESCRIPTOR = typename CELL::descriptor_t>
Definition at line 1252 of file elements.h.
1253 {
1254 V rho{};
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.
References olb::lbm< DESCRIPTOR >::computeRhoU().