OpenLB 1.7
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
olb::collision::NguyenLaddCorrection< COLLISION >::type< DESCRIPTOR, MOMENTA, EQUILIBRIUM > Struct Template Reference

#include <collision.h>

+ Collaboration diagram for olb::collision::NguyenLaddCorrection< COLLISION >::type< DESCRIPTOR, MOMENTA, EQUILIBRIUM >:

Public Types

using MomentaF = typename MOMENTA::template type<DESCRIPTOR>
 
using CollisionO = typename COLLISION::template type<DESCRIPTOR,MOMENTA,EQUILIBRIUM>
 

Public Member Functions

template<CONCEPT(MinimalCell) CELL, typename PARAMETERS , typename V = typename CELL::value_t>
CellStatistic< V > apply (CELL &cell, PARAMETERS &parameters) any_platform
 

Detailed Description

template<typename COLLISION>
template<typename DESCRIPTOR, typename MOMENTA, typename EQUILIBRIUM>
struct olb::collision::NguyenLaddCorrection< COLLISION >::type< DESCRIPTOR, MOMENTA, EQUILIBRIUM >

Definition at line 283 of file collision.h.

Member Typedef Documentation

◆ CollisionO

template<typename COLLISION >
template<typename DESCRIPTOR , typename MOMENTA , typename EQUILIBRIUM >
using olb::collision::NguyenLaddCorrection< COLLISION >::type< DESCRIPTOR, MOMENTA, EQUILIBRIUM >::CollisionO = typename COLLISION::template type<DESCRIPTOR,MOMENTA,EQUILIBRIUM>

Definition at line 285 of file collision.h.

◆ MomentaF

template<typename COLLISION >
template<typename DESCRIPTOR , typename MOMENTA , typename EQUILIBRIUM >
using olb::collision::NguyenLaddCorrection< COLLISION >::type< DESCRIPTOR, MOMENTA, EQUILIBRIUM >::MomentaF = typename MOMENTA::template type<DESCRIPTOR>

Definition at line 284 of file collision.h.

Member Function Documentation

◆ apply()

template<typename COLLISION >
template<typename DESCRIPTOR , typename MOMENTA , typename EQUILIBRIUM >
template<CONCEPT(MinimalCell) CELL, typename PARAMETERS , typename V = typename CELL::value_t>
CellStatistic< V > olb::collision::NguyenLaddCorrection< COLLISION >::type< DESCRIPTOR, MOMENTA, EQUILIBRIUM >::apply ( CELL & cell,
PARAMETERS & parameters )
inline

Definition at line 288 of file collision.h.

288 {
289 CollisionO().apply(cell, parameters);
290 V rho, u[DESCRIPTOR::d];
291 MomentaF().computeRhoU(cell, rho, u);
292 for (int iPop=1; iPop < DESCRIPTOR::q; ++iPop) {
293 for (int iD=0; iD < DESCRIPTOR::d; ++iD) {
294 cell[iPop] += 2 * rho * u[iD]*descriptors::c<DESCRIPTOR>(iPop,iD) * descriptors::t<V,DESCRIPTOR>(iPop) * descriptors::invCs2<V,DESCRIPTOR>();
295 }
296 }
297 return {rho, util::normSqr<V,DESCRIPTOR::d>(u)};
298 };
typename MOMENTA::template type< DESCRIPTOR > MomentaF
Definition collision.h:284
typename COLLISION::template type< DESCRIPTOR, MOMENTA, EQUILIBRIUM > CollisionO
Definition collision.h:285
typename COLLISION::parameters parameters
Definition collision.h:276

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