OpenLB 1.8.1
Loading...
Searching...
No Matches
olb::dynamics::CSE< dynamics::Tuple< T, descriptors::D2Q5< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::BulkMomentum, momenta::NoStress, momenta::DefineToEq >, equilibria::FirstOrder, collision::BGK, AdvectionDiffusionExternalVelocityCollision > > Struct Template Reference

#include <462a238371e486b6552d99628d3ac0964c4efd099dcc0129e460ce9de7078105.cse.h>

+ Collaboration diagram for olb::dynamics::CSE< dynamics::Tuple< T, descriptors::D2Q5< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::BulkMomentum, momenta::NoStress, momenta::DefineToEq >, equilibria::FirstOrder, collision::BGK, AdvectionDiffusionExternalVelocityCollision > >:

Public Member Functions

template<concepts::Cell CELL, concepts::Parameters PARAMETERS, concepts::BaseType V = typename CELL::value_t>
CellStatistic< V > collide (CELL &cell, PARAMETERS &parameters) any_platform
 

Detailed Description

template<typename T, typename... FIELDS>
struct olb::dynamics::CSE< dynamics::Tuple< T, descriptors::D2Q5< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::BulkMomentum, momenta::NoStress, momenta::DefineToEq >, equilibria::FirstOrder, collision::BGK, AdvectionDiffusionExternalVelocityCollision > >

Definition at line 38 of file 462a238371e486b6552d99628d3ac0964c4efd099dcc0129e460ce9de7078105.cse.h.

Member Function Documentation

◆ collide()

template<typename T , typename... FIELDS>
template<concepts::Cell CELL, concepts::Parameters PARAMETERS, concepts::BaseType V = typename CELL::value_t>
CellStatistic< V > olb::dynamics::CSE< dynamics::Tuple< T, descriptors::D2Q5< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::BulkMomentum, momenta::NoStress, momenta::DefineToEq >, equilibria::FirstOrder, collision::BGK, AdvectionDiffusionExternalVelocityCollision > >::collide ( CELL & cell,
PARAMETERS & parameters )
inline

Definition at line 40 of file 462a238371e486b6552d99628d3ac0964c4efd099dcc0129e460ce9de7078105.cse.h.

40 {
41auto x5 = cell.template getFieldComponent<descriptors::VELOCITY>(0);
42auto x7 = parameters.template get<descriptors::OMEGA>();
43auto x6 = cell.template getFieldComponent<descriptors::VELOCITY>(1);
44auto x8 = x7 + V{-1};
45auto x9 = cell[0] + cell[1] + cell[2] + cell[3] + cell[4];
46auto x10 = V{3}*x5;
47auto x11 = x9 + V{1};
48auto x12 = V{0.166666666666667}*x7;
49auto x13 = V{3}*x6;
50auto x0 = -cell[0]*x8 + V{0.333333333333333}*x7*x9;
51auto x1 = -cell[1]*x8 - x12*(x11*(x10 + V{-1}) + V{1});
52auto x2 = -cell[2]*x8 - x12*(x11*(x13 + V{-1}) + V{1});
53auto x3 = -cell[3]*x8 + V{0.166666666666667}*x7*(x11*(x10 + V{1}) + V{-1});
54auto x4 = -cell[4]*x8 + V{0.166666666666667}*x7*(x11*(x13 + V{1}) + V{-1});
55cell[0] = x0;
56cell[1] = x1;
57cell[2] = x2;
58cell[3] = x3;
59cell[4] = x4;
60return { x9 + V{1}, x5*x5 + x6*x6 };
61}

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