|
template<typename CELL , typename V = typename CELL::value_t> |
V | computeRho (CELL &cell) const any_platform |
|
template<typename CELL , typename U > |
void | computeU (CELL &cell, U &u) const any_platform |
|
template<typename CELL , typename J > |
void | computeJ (CELL &cell, J &j) const any_platform |
|
template<typename CELL , typename RHO , typename U , typename PI > |
void | computeStress (CELL &cell, const RHO &rho, const U &u, PI &pi) const any_platform |
|
template<typename CELL , typename PI , typename V = typename CELL::value_t> |
void | computeStress (CELL &cell, PI &pi) const any_platform |
|
template<typename CELL , typename RHO , typename J > |
void | computeRhoJ (CELL &cell, RHO &rho, J &j) const any_platform |
|
template<typename CELL , typename RHO , typename U > |
void | computeRhoU (CELL &cell, RHO &rho, U &u) const any_platform |
|
template<typename CELL , typename RHO , typename U , typename PI > |
void | computeAllMomenta (CELL &cell, RHO &rho, U &u, PI &pi) const any_platform |
|
template<typename CELL , typename PINEQNORMSQR , typename V = typename CELL::value_t> |
void | computePiNeqNormSqr (CELL &cell, PINEQNORMSQR &piNeqNormSqr) const any_platform |
|
template<typename CELL , typename RHO > |
void | defineRho (CELL &cell, const RHO &rho) any_platform |
|
template<typename CELL , typename U > |
void | defineU (CELL &cell, const U &u) any_platform |
|
template<typename CELL , typename RHO , typename U > |
void | defineRhoU (CELL &cell, const RHO &rho, const U &u) any_platform |
|
template<typename CELL , typename RHO , typename U , typename PI > |
void | defineAllMomenta (CELL &cell, const RHO &rho, const U &u, const PI &pi) any_platform |
|
template<typename CELL > |
void | initialize (CELL &cell) |
|
template<typename CELL , typename RHO > |
void | inverseShiftRho (CELL &cell, RHO &rho) any_platform |
|
template<typename CELL , typename U > |
void | inverseShiftU (CELL &cell, U &u) any_platform |
|
template<typename CELL , typename RHO , typename U > |
void | inverseShiftRhoU (CELL &cell, RHO &rho, U &u) any_platform |
|
std::string | getName () const |
|
template<typename DESCRIPTOR, typename DENSITY, typename MOMENTUM, typename STRESS, typename DefinitionRule>
struct olb::momenta::ConcreteTuple< DESCRIPTOR, DENSITY, MOMENTUM, STRESS, DefinitionRule >
Tuple of momenta components forming a moment system.
Momenta are reduced on their components DENSITY, MOMETUM, STRESS A generic momenta tuple consists of single "submomenta" (0th moment = density, 1st velocity, 2nd moment = stress). These give a rule how to compute a certain moment and how to set the corresponding data, e.g. a velocity field, in case that this is necessary. DefinitionRule describes how to modify the momenta, e.g. the populations could be transformed to a new equilibrium or non-equilibrium state.
Definition at line 95 of file interface.h.
template<typename DESCRIPTOR , typename DENSITY , typename MOMENTUM , typename STRESS , typename DefinitionRule >
template<typename CELL , typename RHO , typename U , typename PI >
void olb::momenta::ConcreteTuple< DESCRIPTOR, DENSITY, MOMENTUM, STRESS, DefinitionRule >::computeAllMomenta |
( |
CELL & | cell, |
|
|
RHO & | rho, |
|
|
U & | u, |
|
|
PI & | pi ) const |
|
inline |
template<typename DESCRIPTOR , typename DENSITY , typename MOMENTUM , typename STRESS , typename DefinitionRule >
template<typename CELL , typename PINEQNORMSQR , typename V = typename CELL::value_t>
void olb::momenta::ConcreteTuple< DESCRIPTOR, DENSITY, MOMENTUM, STRESS, DefinitionRule >::computePiNeqNormSqr |
( |
CELL & | cell, |
|
|
PINEQNORMSQR & | piNeqNormSqr ) const |
|
inline |
template<typename DESCRIPTOR , typename DENSITY , typename MOMENTUM , typename STRESS , typename DefinitionRule >
template<typename CELL , typename PI , typename V = typename CELL::value_t>
void olb::momenta::ConcreteTuple< DESCRIPTOR, DENSITY, MOMENTUM, STRESS, DefinitionRule >::computeStress |
( |
CELL & | cell, |
|
|
PI & | pi ) const |
|
inline |
template<typename DESCRIPTOR , typename DENSITY , typename MOMENTUM , typename STRESS , typename DefinitionRule >
template<typename CELL , typename RHO , typename U , typename PI >
void olb::momenta::ConcreteTuple< DESCRIPTOR, DENSITY, MOMENTUM, STRESS, DefinitionRule >::defineAllMomenta |
( |
CELL & | cell, |
|
|
const RHO & | rho, |
|
|
const U & | u, |
|
|
const PI & | pi ) |
|
inline |
Definition at line 212 of file interface.h.
213 {
214 DENSITY().template define<type>(cell, rho);
215 MOMENTUM().template define<type>(cell, u);
216
217 RHO rhoShift = rho;
218 using U_ARITH = std::remove_const_t<std::remove_pointer_t<std::remove_extent_t<U>>>;
219 U_ARITH uShift[DESCRIPTOR::d];
222 DefinitionRule().template defineAllMomenta<type>(cell, rhoShift, uShift, pi);
223 }
void copyN(T c[], const T a[], const unsigned dim) any_platform
void inverseShiftRhoU(CELL &cell, RHO &rho, U &u) any_platform
References olb::util::copyN(), and olb::momenta::ConcreteTuple< DESCRIPTOR, DENSITY, MOMENTUM, STRESS, DefinitionRule >::inverseShiftRhoU().
template<typename DESCRIPTOR , typename DENSITY , typename MOMENTUM , typename STRESS , typename DefinitionRule >
template<typename CELL , typename RHO , typename U >
void olb::momenta::ConcreteTuple< DESCRIPTOR, DENSITY, MOMENTUM, STRESS, DefinitionRule >::defineRhoU |
( |
CELL & | cell, |
|
|
const RHO & | rho, |
|
|
const U & | u ) |
|
inline |