OpenLB 1.7
|
Implementation of Inamuro boundary condition following the paper "A non-slip boundary condition for lattice Boltzmann simulations", Inamuro, Takaji; Yoshino, Masato; Ogino, Fumimaru, (1995). More...
#include <inamuroAnalyticalDynamics.h>
Public Types | |
template<typename M > | |
using | exchange_momenta = InamuroAnalyticalDynamics<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 | |
InamuroAnalyticalDynamics (T omega) | |
Constructor. | |
T | computeEquilibrium (int iPop, T rho, const T u[DESCRIPTOR::d], T uSqr) const override |
Compute equilibrium distribution function. | |
CellStatistic< T > | collide (Cell< T, DESCRIPTOR > &cell, LatticeStatistics< T > &statistics) override |
Collision step. | |
T | getOmega () const |
Get local relaxation parameter of the dynamics. | |
void | setOmega (T omega_) |
Set local relaxation parameter of the dynamics. | |
Public Member Functions inherited from olb::legacy::BasicDynamics< T, DESCRIPTOR, MOMENTA > | |
T | computeEquilibrium (int iPop, T rho, const T u[DESCRIPTOR::d]) const override |
Return iPop equilibrium for given first and second momenta. | |
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. | |
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 std::string | getName () const |
Return human-readable name. | |
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 Inamuro boundary condition following the paper "A non-slip boundary condition for lattice Boltzmann simulations", Inamuro, Takaji; Yoshino, Masato; Ogino, Fumimaru, (1995).
This implementation works for the D2Q9 DESCRIPTOR only.
Definition at line 39 of file inamuroAnalyticalDynamics.h.
using olb::InamuroAnalyticalDynamics< T, DESCRIPTOR, Dynamics, MOMENTA, direction, orientation >::exchange_momenta = InamuroAnalyticalDynamics<T,DESCRIPTOR,Dynamics,M,direction,orientation> |
Definition at line 43 of file inamuroAnalyticalDynamics.h.
olb::InamuroAnalyticalDynamics< T, DESCRIPTOR, Dynamics, MOMENTA, direction, orientation >::InamuroAnalyticalDynamics | ( | T | omega | ) |
Constructor.
Definition at line 36 of file inamuroAnalyticalDynamics.hh.
References olb::Dynamics< T, DESCRIPTOR >::getName().
|
override |
Collision step.
Definition at line 51 of file inamuroAnalyticalDynamics.hh.
References olb::util::abs().
|
override |
Compute equilibrium distribution function.
Definition at line 44 of file inamuroAnalyticalDynamics.hh.
T olb::InamuroAnalyticalDynamics< T, DESCRIPTOR, Dynamics, MOMENTA, direction, orientation >::getOmega | ( | ) | const |
Get local relaxation parameter of the dynamics.
Definition at line 145 of file inamuroAnalyticalDynamics.hh.
void olb::InamuroAnalyticalDynamics< T, DESCRIPTOR, Dynamics, MOMENTA, direction, orientation >::setOmega | ( | T | omega_ | ) |
Set local relaxation parameter of the dynamics.
Definition at line 151 of file inamuroAnalyticalDynamics.hh.