OpenLB 1.7
Loading...
Searching...
No Matches
Public Member Functions | List of all members
olb::legacy::BGKdynamics< T, DESCRIPTOR, MOMENTA > Class Template Reference

#include <dynamics.h>

+ Inheritance diagram for olb::legacy::BGKdynamics< T, DESCRIPTOR, MOMENTA >:
+ Collaboration diagram for olb::legacy::BGKdynamics< T, DESCRIPTOR, MOMENTA >:

Public Member Functions

 BGKdynamics (T omega)
 
CellStatistic< T > collide (Cell< T, DESCRIPTOR > &cell) override
 Collision step.
 
virtual T getOmega () const
 
- Public Member Functions inherited from olb::legacy::BasicDynamics< T, DESCRIPTOR, MOMENTA >
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.
 
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.
 
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.
 

Additional Inherited Members

- 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
 

Detailed Description

template<typename T, typename DESCRIPTOR, typename MOMENTA = momenta::BulkTuple>
class olb::legacy::BGKdynamics< T, DESCRIPTOR, MOMENTA >

Definition at line 51 of file dynamics.h.

Constructor & Destructor Documentation

◆ BGKdynamics()

template<typename T , typename DESCRIPTOR , typename MOMENTA >
olb::legacy::BGKdynamics< T, DESCRIPTOR, MOMENTA >::BGKdynamics ( T omega)

Definition at line 68 of file dynamics.h.

69 : BasicDynamics<T,DESCRIPTOR,MOMENTA>(),
70 _omega(omega)
71{ }

Member Function Documentation

◆ collide()

template<typename T , typename DESCRIPTOR , typename MOMENTA >
CellStatistic< T > olb::legacy::BGKdynamics< T, DESCRIPTOR, MOMENTA >::collide ( Cell< T, DESCRIPTOR > & cell)
overridevirtual

Collision step.

Reimplemented from olb::Dynamics< T, DESCRIPTOR >.

Definition at line 74 of file dynamics.h.

75{
76 T rho, u[DESCRIPTOR::d];
77 MomentaF().computeRhoU(cell, rho, u);
78 T uSqr = lbm<DESCRIPTOR>::bgkCollision(cell, rho, u, _omega);
79 return {rho, uSqr};
80}
static V bgkCollision(CELL &cell, const RHO &rho, const VELOCITY &u, const OMEGA &omega) any_platform
BGK collision step.
Definition lbm.h:290

References olb::lbm< DESCRIPTOR >::bgkCollision().

+ Here is the call graph for this function:

◆ getOmega()

template<typename T , typename DESCRIPTOR , typename MOMENTA = momenta::BulkTuple>
virtual T olb::legacy::BGKdynamics< T, DESCRIPTOR, MOMENTA >::getOmega ( ) const
inlinevirtual

Definition at line 57 of file dynamics.h.

57 {
58 return _omega;
59 }

The documentation for this class was generated from the following file: