|
| template<concepts::Cell CELL, typename V = typename CELL::value_t> |
| V | computeRho (CELL &cell) const any_platform |
| |
| template<concepts::Cell CELL, typename U > |
| void | computeU (CELL &cell, U &u) const any_platform |
| |
| template<concepts::Cell CELL, typename J > |
| void | computeJ (CELL &cell, J &j) const any_platform |
| |
| template<concepts::Cell CELL, typename RHO , typename U , typename PI > |
| void | computeStress (CELL &cell, const RHO &rho, const U &u, PI &pi) const any_platform |
| |
| template<concepts::Cell CELL, typename PI , typename V = typename CELL::value_t> |
| void | computeStress (CELL &cell, PI &pi) const any_platform |
| |
| template<concepts::Cell CELL, typename RHO , typename J > |
| void | computeRhoJ (CELL &cell, RHO &rho, J &j) const any_platform |
| |
| template<concepts::Cell CELL, typename RHO , typename U > |
| void | computeRhoU (CELL &cell, RHO &rho, U &u) const any_platform |
| |
| template<concepts::Cell CELL, typename RHO , typename U , typename PI > |
| void | computeAllMomenta (CELL &cell, RHO &rho, U &u, PI &pi) const any_platform |
| |
| template<concepts::Cell CELL, typename PINEQNORMSQR , typename V = typename CELL::value_t> |
| void | computePiNeqNormSqr (CELL &cell, PINEQNORMSQR &piNeqNormSqr) const any_platform |
| |
| template<concepts::Cell CELL, typename RHO > |
| void | defineRho (CELL &cell, const RHO &rho) any_platform |
| |
| template<concepts::Cell CELL, typename U > |
| void | defineU (CELL &cell, const U &u) any_platform |
| |
| template<concepts::Cell CELL, typename RHO , typename U > |
| void | defineRhoU (CELL &cell, const RHO &rho, const U &u) any_platform |
| |
| template<concepts::Cell 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<concepts::Cell CELL, typename RHO > |
| void | inverseShiftRho (CELL &cell, RHO &rho) any_platform |
| |
| template<concepts::Cell CELL, typename U > |
| void | inverseShiftU (CELL &cell, U &u) any_platform |
| |
| template<concepts::Cell 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<concepts::Cell 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<concepts::Cell 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<concepts::Cell CELL, typename RHO , typename U , typename PI >
| void olb::momenta::ConcreteTuple< DESCRIPTOR, DENSITY, MOMENTUM, STRESS, DefinitionRule >::computeStress |
( |
CELL & | cell, |
|
|
const RHO & | rho, |
|
|
const U & | u, |
|
|
PI & | pi ) const |
|
inline |
Definition at line 128 of file interface.h.
130 {
131 STRESS().template compute<type>(cell, rho, u, pi);
132 }
template<typename DESCRIPTOR , typename DENSITY , typename MOMENTUM , typename STRESS , typename DefinitionRule >
template<concepts::Cell 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<concepts::Cell 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];
223 }
void copyN(T c[], const T a[], const unsigned dim) any_platform
void defineAllMomenta(CELL &cell, const RHO &rho, const U &u, const PI &pi) any_platform
void inverseShiftRhoU(CELL &cell, RHO &rho, U &u) any_platform
References olb::util::copyN(), olb::momenta::ConcreteTuple< DESCRIPTOR, DENSITY, MOMENTUM, STRESS, DefinitionRule >::defineAllMomenta(), and olb::momenta::ConcreteTuple< DESCRIPTOR, DENSITY, MOMENTUM, STRESS, DefinitionRule >::inverseShiftRhoU().
template<typename DESCRIPTOR , typename DENSITY , typename MOMENTUM , typename STRESS , typename DefinitionRule >
template<concepts::Cell CELL, typename RHO , typename U >
| void olb::momenta::ConcreteTuple< DESCRIPTOR, DENSITY, MOMENTUM, STRESS, DefinitionRule >::defineRhoU |
( |
CELL & | cell, |
|
|
const RHO & | rho, |
|
|
const U & | u ) |
|
inline |
Definition at line 198 of file interface.h.
199 {
200 DENSITY().template define<type>(cell, rho);
201 MOMENTUM().template define<type>(cell, u);
202
203 RHO rhoShift = rho;
204 using U_ARITH = std::remove_const_t<std::remove_pointer_t<std::remove_extent_t<U>>>;
205 U_ARITH uShift[DESCRIPTOR::d];
209 }
void defineRhoU(CELL &cell, const RHO &rho, const U &u) any_platform
References olb::util::copyN(), olb::momenta::ConcreteTuple< DESCRIPTOR, DENSITY, MOMENTUM, STRESS, DefinitionRule >::defineRhoU(), and olb::momenta::ConcreteTuple< DESCRIPTOR, DENSITY, MOMENTUM, STRESS, DefinitionRule >::inverseShiftRhoU().
template<typename DESCRIPTOR , typename DENSITY , typename MOMENTUM , typename STRESS , typename DefinitionRule >
template<concepts::Cell CELL, typename U >
Definition at line 186 of file interface.h.
187 {
188 MOMENTUM().template define<type>(cell, u);
189
190 using U_ARITH = std::remove_const_t<std::remove_pointer_t<std::remove_extent_t<U>>>;
191 U_ARITH uShift[DESCRIPTOR::d];
195 }
void inverseShiftU(CELL &cell, U &u) any_platform
void defineU(CELL &cell, const U &u) any_platform
References olb::util::copyN(), olb::momenta::ConcreteTuple< DESCRIPTOR, DENSITY, MOMENTUM, STRESS, DefinitionRule >::defineU(), and olb::momenta::ConcreteTuple< DESCRIPTOR, DENSITY, MOMENTUM, STRESS, DefinitionRule >::inverseShiftU().