![]() |
OpenLB 1.8.1
|
Dynamics constructed as a tuple of momenta, equilibrium and collision. More...
#include <interface.h>
Inheritance diagram for olb::dynamics::Tuple< T, DESCRIPTOR, MOMENTA, EQUILIBRIUM, COLLISION, COMBINATION_RULE >:
Collaboration diagram for olb::dynamics::Tuple< T, DESCRIPTOR, MOMENTA, EQUILIBRIUM, COLLISION, COMBINATION_RULE >:Public Types | |
| using | MomentaF = typename COMBINATION_RULE::template combined_momenta<DESCRIPTOR,MOMENTA> |
| using | EquilibriumF = typename COMBINATION_RULE::template combined_equilibrium<DESCRIPTOR,MOMENTA,EQUILIBRIUM> |
| using | CollisionO = typename COMBINATION_RULE::template combined_collision<DESCRIPTOR,MOMENTA,EQUILIBRIUM,COLLISION> |
| using | parameters = typename COMBINATION_RULE::template combined_parameters<DESCRIPTOR,MOMENTA,EQUILIBRIUM,COLLISION> |
| template<typename NEW_T > | |
| using | exchange_value_type |
| template<typename NEW_MOMENTA > | |
| using | exchange_momenta |
| template<concepts::CombinationRule NEW_RULE> | |
| using | exchange_combination_rule |
| template<template< typename > typename WRAPPER> | |
| using | wrap_collision |
Public Types inherited from olb::Dynamics< T, DESCRIPTOR > | |
| using | value_t = T |
| using | descriptor_t = DESCRIPTOR |
Public Member Functions | |
| std::type_index | id () override |
| Expose unique type-identifier for RTTI. | |
| std::string | getName () const override |
| Return human-readable name. | |
| template<concepts::Cell CELL, concepts::Parameters PARAMETERS, concepts::BaseType V = typename CELL::value_t> | |
| CellStatistic< V > | collide (CELL &cell, PARAMETERS ¶meters) any_platform |
| Apply purely-local collision step to a generic CELL. | |
| template<typename FIELD > | |
| constexpr bool | hasParameter () const |
| Return true iff FIELD is a parameter. | |
| AbstractParameters< T, DESCRIPTOR > & | getParameters (BlockLattice< T, DESCRIPTOR > &block) override |
| Interim workaround for accessing dynamics parameters in legacy post processors. | |
| void | initialize (Cell< T, DESCRIPTOR > &cell) override |
| Initialize MOMENTA-specific data for cell. | |
| void | computeEquilibrium (ConstCell< T, DESCRIPTOR > &cell, T rho, const T u[DESCRIPTOR::d], T fEq[DESCRIPTOR::q]) const override |
| Return iPop equilibrium for given first and second momenta. | |
| T | computeRho (ConstCell< T, DESCRIPTOR > &cell) const override |
| Compute particle density. | |
| void | computeU (ConstCell< T, DESCRIPTOR > &cell, T u[DESCRIPTOR::d]) const override |
| Compute fluid velocity. | |
| void | computeJ (ConstCell< T, DESCRIPTOR > &cell, T j[DESCRIPTOR::d]) const override |
| Compute fluid momentum. | |
| void | computeStress (ConstCell< T, DESCRIPTOR > &cell, T rho, const T u[DESCRIPTOR::d], T pi[util::TensorVal< DESCRIPTOR >::n]) const override |
| Compute stress tensor. | |
| void | computeRhoU (ConstCell< T, DESCRIPTOR > &cell, T &rho, T u[DESCRIPTOR::d]) const override |
| Compute fluid velocity and particle density. | |
| void | computeAllMomenta (ConstCell< T, DESCRIPTOR > &cell, T &rho, T u[DESCRIPTOR::d], T pi[util::TensorVal< DESCRIPTOR >::n]) const override |
| Compute all momenta up to second order. | |
| void | defineRho (Cell< T, DESCRIPTOR > &cell, T rho) override |
| Set particle density. | |
| void | defineU (Cell< T, DESCRIPTOR > &cell, const T u[DESCRIPTOR::d]) override |
| Set fluid velocity. | |
| void | defineRhoU (Cell< T, DESCRIPTOR > &cell, T rho, const T u[DESCRIPTOR::d]) override |
| Define fluid velocity and particle density. | |
| void | defineAllMomenta (Cell< T, DESCRIPTOR > &cell, T rho, const T u[DESCRIPTOR::d], const T pi[util::TensorVal< DESCRIPTOR >::n]) override |
| Define all momenta up to second order. | |
| void | inverseShiftRhoU (ConstCell< T, DESCRIPTOR > &cell, T &rho, T u[DESCRIPTOR::d]) const override |
| Calculate population momenta s.t. the physical momenta are reproduced by the computeRhoU. | |
Public Member Functions inherited from olb::Dynamics< T, DESCRIPTOR > | |
| virtual | ~Dynamics () any_platform |
| virtual CellStatistic< T > | collide (Cell< T, DESCRIPTOR > &cell) |
| Perform purely-local collision step on Cell interface (legacy, to be deprecated) | |
| void | iniEquilibrium (Cell< T, DESCRIPTOR > &cell, T rho, const T u[DESCRIPTOR::d]) |
| Initialize to equilibrium distribution. | |
| void | iniRegularized (Cell< T, DESCRIPTOR > &cell, T rho, const T u[DESCRIPTOR::d], const T pi[util::TensorVal< DESCRIPTOR >::n]) |
| Initialize cell to equilibrium and non-equilibrum part. | |
Static Public Attributes | |
| static constexpr bool | is_vectorizable = is_vectorizable_v<CollisionO> |
Dynamics constructed as a tuple of momenta, equilibrium and collision.
Optionally also a combination rule thereof (e.g. a forcing scheme)
Definition at line 308 of file interface.h.
| using olb::dynamics::Tuple< T, DESCRIPTOR, MOMENTA, EQUILIBRIUM, COLLISION, COMBINATION_RULE >::CollisionO = typename COMBINATION_RULE::template combined_collision<DESCRIPTOR,MOMENTA,EQUILIBRIUM,COLLISION> |
Definition at line 311 of file interface.h.
| using olb::dynamics::Tuple< T, DESCRIPTOR, MOMENTA, EQUILIBRIUM, COLLISION, COMBINATION_RULE >::EquilibriumF = typename COMBINATION_RULE::template combined_equilibrium<DESCRIPTOR,MOMENTA,EQUILIBRIUM> |
Definition at line 310 of file interface.h.
| using olb::dynamics::Tuple< T, DESCRIPTOR, MOMENTA, EQUILIBRIUM, COLLISION, COMBINATION_RULE >::exchange_combination_rule |
Definition at line 332 of file interface.h.
| using olb::dynamics::Tuple< T, DESCRIPTOR, MOMENTA, EQUILIBRIUM, COLLISION, COMBINATION_RULE >::exchange_momenta |
Definition at line 325 of file interface.h.
| using olb::dynamics::Tuple< T, DESCRIPTOR, MOMENTA, EQUILIBRIUM, COLLISION, COMBINATION_RULE >::exchange_value_type |
Definition at line 318 of file interface.h.
| using olb::dynamics::Tuple< T, DESCRIPTOR, MOMENTA, EQUILIBRIUM, COLLISION, COMBINATION_RULE >::MomentaF = typename COMBINATION_RULE::template combined_momenta<DESCRIPTOR,MOMENTA> |
Definition at line 309 of file interface.h.
| using olb::dynamics::Tuple< T, DESCRIPTOR, MOMENTA, EQUILIBRIUM, COLLISION, COMBINATION_RULE >::parameters = typename COMBINATION_RULE::template combined_parameters<DESCRIPTOR,MOMENTA,EQUILIBRIUM,COLLISION> |
Definition at line 313 of file interface.h.
| using olb::dynamics::Tuple< T, DESCRIPTOR, MOMENTA, EQUILIBRIUM, COLLISION, COMBINATION_RULE >::wrap_collision |
Definition at line 339 of file interface.h.
|
inline |
Apply purely-local collision step to a generic CELL.
Definition at line 360 of file interface.h.
|
inlineoverridevirtual |
Compute all momenta up to second order.
Implements olb::Dynamics< T, DESCRIPTOR >.
Definition at line 402 of file interface.h.
|
inlineoverridevirtual |
Return iPop equilibrium for given first and second momenta.
Implements olb::Dynamics< T, DESCRIPTOR >.
Definition at line 382 of file interface.h.
|
inlineoverridevirtual |
Compute fluid momentum.
Implements olb::Dynamics< T, DESCRIPTOR >.
Definition at line 392 of file interface.h.
|
inlineoverridevirtual |
Compute particle density.
Implements olb::Dynamics< T, DESCRIPTOR >.
Definition at line 386 of file interface.h.
|
inlineoverridevirtual |
Compute fluid velocity and particle density.
Implements olb::Dynamics< T, DESCRIPTOR >.
Definition at line 399 of file interface.h.
|
inlineoverridevirtual |
Compute stress tensor.
Implements olb::Dynamics< T, DESCRIPTOR >.
Definition at line 395 of file interface.h.
|
inlineoverridevirtual |
Compute fluid velocity.
Implements olb::Dynamics< T, DESCRIPTOR >.
Definition at line 389 of file interface.h.
|
inlineoverridevirtual |
Define all momenta up to second order.
Implements olb::Dynamics< T, DESCRIPTOR >.
Definition at line 416 of file interface.h.
|
inlineoverridevirtual |
Set particle density.
Implements olb::Dynamics< T, DESCRIPTOR >.
Definition at line 407 of file interface.h.
|
inlineoverridevirtual |
Define fluid velocity and particle density.
Implements olb::Dynamics< T, DESCRIPTOR >.
Definition at line 413 of file interface.h.
|
inlineoverridevirtual |
Set fluid velocity.
Implements olb::Dynamics< T, DESCRIPTOR >.
Definition at line 410 of file interface.h.
|
inlineoverridevirtual |
Return human-readable name.
Reimplemented from olb::Dynamics< T, DESCRIPTOR >.
Definition at line 349 of file interface.h.
|
inlineoverridevirtual |
Interim workaround for accessing dynamics parameters in legacy post processors.
Implements olb::Dynamics< T, DESCRIPTOR >.
Definition at line 373 of file interface.h.
|
inlineconstexpr |
Return true iff FIELD is a parameter.
Definition at line 368 of file interface.h.
|
inlineoverridevirtual |
Expose unique type-identifier for RTTI.
Implements olb::Dynamics< T, DESCRIPTOR >.
Definition at line 345 of file interface.h.
|
inlineoverridevirtual |
Initialize MOMENTA-specific data for cell.
Reimplemented from olb::Dynamics< T, DESCRIPTOR >.
Definition at line 378 of file interface.h.
|
inlineoverridevirtual |
Calculate population momenta s.t. the physical momenta are reproduced by the computeRhoU.
Reimplemented from olb::Dynamics< T, DESCRIPTOR >.
Definition at line 420 of file interface.h.
|
staticconstexpr |
Definition at line 315 of file interface.h.