OpenLB 1.7
|
Implementation of Zou-He boundary condition following the paper from Zou and He. More...
#include <zouHeDynamics.h>
Public Types | |
using | MomentaF = typename MOMENTA::template type<DESCRIPTOR> |
using | parameters = typename CORRECTED_DYNAMICS::parameters |
template<typename M > | |
using | exchange_momenta = ZouHeDynamics<T,DESCRIPTOR,DYNAMICS,M,direction,orientation> |
Public Types inherited from olb::dynamics::CustomCollision< T, DESCRIPTOR, MOMENTA > | |
using | value_t = T |
using | descriptor_t = DESCRIPTOR |
using | MomentaF = typename MOMENTA::template type<DESCRIPTOR> |
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. | |
AbstractParameters< T, DESCRIPTOR > & | getParameters (BlockLattice< T, DESCRIPTOR > &block) override |
Parameters access for legacy post processors. | |
template<typename CELL , typename PARAMETERS , typename V = typename CELL::value_t> | |
CellStatistic< V > | apply (CELL &cell, PARAMETERS ¶meters) any_platform |
T | computeEquilibrium (int iPop, T rho, const T u[DESCRIPTOR::d]) const override any_platform |
Return iPop equilibrium for given first and second momenta. | |
std::string | getName () const override |
Return human-readable name. | |
Public Member Functions inherited from olb::dynamics::CustomCollision< T, DESCRIPTOR, MOMENTA > | |
void | initialize (Cell< T, DESCRIPTOR > &cell) override |
Initialize dynamics-specific data for cell. | |
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. | |
Implementation of Zou-He boundary condition following the paper from Zou and He.
This implementation is lattice independent. The implementation follow the idea proposed int the paper Qisu Zou, Xiaoyi He, "On pressure and velocity boundary conditions for the lattice Boltzmann BGK model", Phys. Fluids , (1997), Volume 9, Issue 6, pp. 1591-1598
Definition at line 40 of file zouHeDynamics.h.
using olb::ZouHeDynamics< T, DESCRIPTOR, DYNAMICS, MOMENTA, direction, orientation >::exchange_momenta = ZouHeDynamics<T,DESCRIPTOR,DYNAMICS,M,direction,orientation> |
Definition at line 51 of file zouHeDynamics.h.
using olb::ZouHeDynamics< T, DESCRIPTOR, DYNAMICS, MOMENTA, direction, orientation >::MomentaF = typename MOMENTA::template type<DESCRIPTOR> |
Definition at line 46 of file zouHeDynamics.h.
using olb::ZouHeDynamics< T, DESCRIPTOR, DYNAMICS, MOMENTA, direction, orientation >::parameters = typename CORRECTED_DYNAMICS::parameters |
Definition at line 48 of file zouHeDynamics.h.
|
inline |
Definition at line 62 of file zouHeDynamics.h.
References olb::util::abs(), olb::ZouHeDynamics< T, DESCRIPTOR, DYNAMICS, MOMENTA, direction, orientation >::computeEquilibrium(), and olb::lbm< DESCRIPTOR >::computeRhoU().
|
inlineoverridevirtual |
Return iPop equilibrium for given first and second momenta.
Implements olb::Dynamics< T, DESCRIPTOR >.
Definition at line 124 of file zouHeDynamics.h.
|
inlineoverridevirtual |
Return human-readable name.
Reimplemented from olb::Dynamics< T, DESCRIPTOR >.
Definition at line 128 of file zouHeDynamics.h.
|
inlineoverridevirtual |
Parameters access for legacy post processors.
Implements olb::Dynamics< T, DESCRIPTOR >.
Definition at line 57 of file zouHeDynamics.h.
|
inlineoverridevirtual |
Expose unique type-identifier for RTTI.
Implements olb::Dynamics< T, DESCRIPTOR >.
Definition at line 53 of file zouHeDynamics.h.