OpenLB 1.8.1
Loading...
Searching...
No Matches
olb::dynamics::CSE< CombinedRLBdynamics< T, descriptors::D2Q9< FIELDS... >, dynamics::Tuple< T, descriptors::D2Q9< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::BulkMomentum, momenta::BulkStress, momenta::DefineToNEq >, equilibria::SecondOrder, collision::RLB, dynamics::DefaultCombination >, momenta::Tuple< momenta::VelocityBoundaryDensity< 0, -1 >, momenta::FixedVelocityMomentumGeneric, momenta::RegularizedBoundaryStress< 0, -1 >, momenta::DefineSeparately > > > Struct Template Reference

#include <28b412c3212309bda828fb523846538c1ff88ecc514b00e0844dd995ec50e49c.cse.h>

+ Collaboration diagram for olb::dynamics::CSE< CombinedRLBdynamics< T, descriptors::D2Q9< FIELDS... >, dynamics::Tuple< T, descriptors::D2Q9< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::BulkMomentum, momenta::BulkStress, momenta::DefineToNEq >, equilibria::SecondOrder, collision::RLB, dynamics::DefaultCombination >, momenta::Tuple< momenta::VelocityBoundaryDensity< 0, -1 >, momenta::FixedVelocityMomentumGeneric, momenta::RegularizedBoundaryStress< 0, -1 >, momenta::DefineSeparately > > >:

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< CombinedRLBdynamics< T, descriptors::D2Q9< FIELDS... >, dynamics::Tuple< T, descriptors::D2Q9< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::BulkMomentum, momenta::BulkStress, momenta::DefineToNEq >, equilibria::SecondOrder, collision::RLB, dynamics::DefaultCombination >, momenta::Tuple< momenta::VelocityBoundaryDensity< 0, -1 >, momenta::FixedVelocityMomentumGeneric, momenta::RegularizedBoundaryStress< 0, -1 >, momenta::DefineSeparately > > >

Definition at line 38 of file 28b412c3212309bda828fb523846538c1ff88ecc514b00e0844dd995ec50e49c.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< CombinedRLBdynamics< T, descriptors::D2Q9< FIELDS... >, dynamics::Tuple< T, descriptors::D2Q9< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::BulkMomentum, momenta::BulkStress, momenta::DefineToNEq >, equilibria::SecondOrder, collision::RLB, dynamics::DefaultCombination >, momenta::Tuple< momenta::VelocityBoundaryDensity< 0, -1 >, momenta::FixedVelocityMomentumGeneric, momenta::RegularizedBoundaryStress< 0, -1 >, momenta::DefineSeparately > > >::collide ( CELL & cell,
PARAMETERS & parameters )
inline

Definition at line 40 of file 28b412c3212309bda828fb523846538c1ff88ecc514b00e0844dd995ec50e49c.cse.h.

40 {
41auto x11 = parameters.template get<descriptors::OMEGA>();
42auto x10 = cell.template getFieldComponent<momenta::FixedVelocityMomentumGeneric::VELOCITY>(1);
43auto x9 = cell.template getFieldComponent<momenta::FixedVelocityMomentumGeneric::VELOCITY>(0);
44auto x12 = x11 + V{-1};
45auto x13 = x9 + V{-1};
46auto x14 = V{1} / (x13);
47auto x15 = cell[0] + V{2}*cell[1] + V{2}*cell[2] + V{2}*cell[3] + cell[4] + cell[8] + V{1};
48auto x16 = x14*x15;
49auto x17 = V{1.38777878078145e-17}*x16;
50auto x18 = V{3}*x10;
51auto x19 = x10*x10;
52auto x20 = x9*x9;
53auto x21 = V{1.5}*x20;
54auto x22 = -x21;
55auto x23 = V{3}*x19 + x22 + V{1};
56auto x24 = x18 + x23;
57auto x25 = -x18;
58auto x26 = x23 + x25;
59auto x27 = V{0.0740740740740741}*x14;
60auto x28 = V{1.5}*x19;
61auto x29 = x28 + V{-1};
62auto x30 = x21 + x29;
63auto x31 = V{3}*x9;
64auto x32 = V{3}*x20;
65auto x33 = x29 + x31 - x32;
66auto x34 = V{0.0555555555555555}*x16;
67auto x35 = x10 + x9;
68auto x36 = V{4.5}*(x35*x35);
69auto x37 = x30 + x31;
70auto x38 = x18 - x36 + x37;
71auto x39 = x10 - x9;
72auto x40 = V{4.5}*(x39*x39);
73auto x41 = -x40;
74auto x42 = x25 + x37 + x41;
75auto x43 = V{0.111111111111111}*x14;
76auto x44 = x15*x43;
77auto x45 = V{1.33226762955019e-15}*cell[1] + V{6.66133814775094e-16}*cell[2] + V{8.88178419700125e-16}*cell[3] + V{1.66533453693773e-16}*cell[4] + V{1.66533453693773e-16}*cell[8] + V{1.11022302462516e-16};
78auto x46 = V{0.444444444444444}*x14*x15*x30 + V{0.222222222222222}*x16*x33 - x24*x44 - x26*x44 + x34*x38 + x34*x42 + x45;
79auto x47 = x24*x46;
80auto x48 = x26*x46;
81auto x49 = V{0.0277777777777778}*x14;
82auto x50 = x42*x46;
83auto x51 = V{0.00462962962962963}*x14;
84auto x52 = x38*x46;
85auto x53 = V{0.0833333333333334}*cell[4];
86auto x54 = V{0.0833333333333334}*cell[8];
87auto x55 = V{0.166666666666667}*cell[2];
88auto x56 = V{1.73472347597681e-18}*x16;
89auto x57 = V{0.00925925925925926}*x14;
90auto x58 = -V{4.62592926927149e-18}*x14*x15*x33 - V{0.0185185185185185}*x14*x33*x46 + x24*x56 + x26*x56 + x47*x57 + x48*x57 + x53 + x54 + x55 + V{0.0555555555555556};
91auto x59 = x12*(-V{0.833333333333333}*cell[1] + V{0.166666666666667}*cell[3] + V{1.87928376564154e-18}*x14*x15*x38 + V{1.01192202765314e-18}*x14*x15*x42 + V{0.0231481481481481}*x14*x42*x46 - x51*x52 - x58) + V{-0.0277777777777778};
92auto x60 = V{0.0185185185185185}*x14;
93auto x61 = V{0.00925925925925926}*x14;
94auto x62 = V{1.44560289664734e-18}*x16;
95auto x63 = x33*x46;
96auto x64 = V{3.85185988877447e-34}*x16;
97auto x65 = -V{0.333333333333334}*cell[1] - V{0.333333333333333}*cell[3] + V{-0.0555555555555556};
98auto x66 = -V{0.666666666666667}*cell[2] + V{0.166666666666667}*cell[4] + V{0.166666666666667}*cell[8] + x65;
99auto x67 = V{0.833333333333333}*cell[3];
100auto x68 = -1/x13;
101auto x69 = x15*x68;
102auto x70 = V{3.46944695195361e-18}*x69;
103auto x71 = V{0.037037037037037}*x68;
104auto x72 = V{0.111111111111111}*x69;
105auto x73 = -x31;
106auto x74 = V{1} - x28;
107auto x75 = x32 + x74;
108auto x76 = x73 + x75;
109auto x77 = V{0.0555555555555555}*x69;
110auto x78 = x18 + x73;
111auto x79 = x22 + x74;
112auto x80 = x40 + x78 + x79;
113auto x81 = -x38;
114auto x82 = x24*x72 + x26*x72 - V{0.444444444444444}*x30*x69 + x45 + V{0.222222222222222}*x69*x76 + x77*x80 + x77*x81;
115auto x83 = x24*x82;
116auto x84 = x26*x82;
117auto x85 = x76*x82;
118auto x86 = V{0.00925925925925926}*x68;
119auto x87 = x80*x82;
120auto x88 = x81*x82;
121auto x89 = V{1.44560289664734e-18}*x69;
122auto x90 = x80*x89 + x81*x89 + x86*x87 + x86*x88;
123auto x91 = -x12*(V{0.333333333333333}*cell[2] - V{0.333333333333333}*cell[4] - V{0.333333333333333}*cell[8] + x24*x70 + x26*x70 + x65 - V{0.037037037037037}*x68*x85 - V{2.31296463463574e-18}*x69*x76 + x71*x83 + x71*x84 + x90) + V{0.111111111111111};
124auto x92 = V{3.85185988877447e-34}*x69;
125auto x93 = V{0.0185185185185185}*x68;
126auto x94 = V{1.73472347597681e-18}*x69;
127auto x95 = V{0.00925925925925926}*x68;
128auto x0 = -x12*(-V{2.66666666666667}*cell[1] - V{1.33333333333333}*cell[2] - V{2.66666666666667}*cell[3] - V{0.666666666666667}*cell[4] - V{0.666666666666667}*cell[8] + V{3.70074341541719e-17}*x14*x15*x33 + V{1.15648231731787e-17}*x14*x15*x38 + V{1.15648231731787e-17}*x14*x15*x42 + V{0.148148148148148}*x14*x33*x46 + V{0.0740740740740741}*x14*x38*x46 + V{0.0740740740740741}*x14*x42*x46 - x17*x24 - x17*x26 - x27*x47 - x27*x48 + V{-0.444444444444444}) + V{0.444444444444444}*x14*x30*x46 + V{-0.444444444444444};
129auto x1 = x49*x50 + x59;
130auto x2 = x12*(V{0.0740740740740741}*x14*x63 + V{1.15648231731787e-17}*x16*x33 - x24*x64 - x26*x64 + x38*x62 + x42*x62 + x47*x60 + x48*x60 + x50*x61 + x52*x61 + x66) + x43*x63 + V{-0.111111111111111};
131auto x3 = x12*(V{0.166666666666666}*cell[1] + V{1.01192202765314e-18}*x14*x15*x38 + V{1.87928376564154e-18}*x14*x15*x42 + V{0.0231481481481481}*x14*x38*x46 - x50*x51 - x58 - x67) + x49*x52 + V{-0.0277777777777778};
132auto x4 = -x43*x48 - x91;
133auto x5 = x46*x49*(x30 + x41 + x78) + x59;
134auto x6 = x12*(x24*x92 + x26*x92 + x66 + V{0.0740740740740741}*x68*x85 + V{1.15648231731787e-17}*x69*x76 - x83*x93 - x84*x93 + x90) - x43*x46*(x31 + x75) + V{-0.111111111111111};
135auto x7 = x12*(V{0.166666666666666}*cell[1] + x24*x94 + x26*x94 - x53 - x54 - x55 - x67 + V{0.0185185185185185}*x68*x85 - V{0.00462962962962963}*x68*x87 + V{0.0231481481481481}*x68*x88 + V{4.62592926927149e-18}*x69*x76 + V{1.87928376564154e-18}*x69*x80 + V{1.01192202765314e-18}*x69*x81 + x83*x95 + x84*x95 + V{-0.0555555555555556}) - x46*x49*(x18 + x31 + x36 + x79) + V{-0.0277777777777778};
136auto x8 = -x43*x47 - x91;
137cell[0] = x0;
138cell[1] = x1;
139cell[2] = x2;
140cell[3] = x3;
141cell[4] = x4;
142cell[5] = x5;
143cell[6] = x6;
144cell[7] = x7;
145cell[8] = x8;
146return { -V{1}*x14*x46, x19 + x20 };
147}

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