OpenLB 1.8.1
Loading...
Searching...
No Matches
olb::dynamics::CSE< dynamics::Tuple< T, descriptors::D3Q19< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::FixedVelocityMomentumGeneric, momenta::BulkStress, momenta::DefineUSeparatelyTrace >, equilibria::SecondOrder, collision::RLB, dynamics::DefaultCombination > > Struct Template Reference

#include <2e3ccd063d9ac9b188387089ccceaec875a477d2d5e0e06c3aed3bd65365a8ed.cse.h>

+ Collaboration diagram for olb::dynamics::CSE< dynamics::Tuple< T, descriptors::D3Q19< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::FixedVelocityMomentumGeneric, momenta::BulkStress, momenta::DefineUSeparatelyTrace >, equilibria::SecondOrder, collision::RLB, dynamics::DefaultCombination > >:

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::D3Q19< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::FixedVelocityMomentumGeneric, momenta::BulkStress, momenta::DefineUSeparatelyTrace >, equilibria::SecondOrder, collision::RLB, dynamics::DefaultCombination > >

Definition at line 38 of file 2e3ccd063d9ac9b188387089ccceaec875a477d2d5e0e06c3aed3bd65365a8ed.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::D3Q19< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::FixedVelocityMomentumGeneric, momenta::BulkStress, momenta::DefineUSeparatelyTrace >, equilibria::SecondOrder, collision::RLB, dynamics::DefaultCombination > >::collide ( CELL & cell,
PARAMETERS & parameters )
inline

Definition at line 40 of file 2e3ccd063d9ac9b188387089ccceaec875a477d2d5e0e06c3aed3bd65365a8ed.cse.h.

40 {
41auto x19 = cell.template getFieldComponent<momenta::FixedVelocityMomentumGeneric::VELOCITY>(0);
42auto x20 = cell.template getFieldComponent<momenta::FixedVelocityMomentumGeneric::VELOCITY>(1);
43auto x22 = parameters.template get<descriptors::OMEGA>();
44auto x21 = cell.template getFieldComponent<momenta::FixedVelocityMomentumGeneric::VELOCITY>(2);
45auto x23 = x22 + V{-1};
46auto x24 = V{0.5}*cell[13];
47auto x25 = V{0.5}*cell[14];
48auto x26 = V{0.5}*cell[15];
49auto x27 = V{0.5}*cell[16];
50auto x28 = V{0.5}*cell[17];
51auto x29 = V{0.5}*cell[18];
52auto x30 = V{0.5}*cell[4];
53auto x31 = V{0.5}*cell[5];
54auto x32 = V{0.5}*cell[6];
55auto x33 = V{0.5}*cell[7];
56auto x34 = V{0.5}*cell[8];
57auto x35 = V{0.5}*cell[9];
58auto x36 = V{0.5}*cell[0];
59auto x37 = V{0.5}*cell[10] + V{0.5}*cell[11] + V{0.5}*cell[12] + V{0.5}*cell[1] + V{0.5}*cell[2] + V{0.5}*cell[3] + x24 + x25 + x26 + x27 + x28 + x29 + x30 + x31 + x32 + x33 + x34 + x35 + x36 + V{0.5};
60auto x38 = x19*x19;
61auto x39 = x20*x20;
62auto x40 = x21*x21;
63auto x41 = V{1.5}*x38;
64auto x42 = V{1.5}*x39;
65auto x43 = V{1.5}*x40;
66auto x44 = x42 + x43 + V{-1};
67auto x45 = x41 + x44;
68auto x46 = V{0.0555555555555556}*cell[0] + V{0.0555555555555556}*cell[10] + V{0.0555555555555556}*cell[11] + V{0.0555555555555556}*cell[12] + V{0.0555555555555556}*cell[13] + V{0.0555555555555556}*cell[14] + V{0.0555555555555556}*cell[15] + V{0.0555555555555556}*cell[16] + V{0.0555555555555556}*cell[17] + V{0.0555555555555556}*cell[18] + V{0.0555555555555556}*cell[1] + V{0.0555555555555556}*cell[2] + V{0.0555555555555556}*cell[3] + V{0.0555555555555556}*cell[4] + V{0.0555555555555556}*cell[5] + V{0.0555555555555556}*cell[6] + V{0.0555555555555556}*cell[7] + V{0.0555555555555556}*cell[8] + V{0.0555555555555556}*cell[9] + V{0.0555555555555556};
69auto x47 = V{3}*x19;
70auto x48 = V{3}*x38;
71auto x49 = V{0.166666666666667}*cell[10];
72auto x50 = V{0.166666666666667}*cell[1];
73auto x51 = V{0.166666666666667}*cell[17];
74auto x52 = V{0.166666666666667}*cell[18];
75auto x53 = V{0.166666666666667}*cell[8];
76auto x54 = V{0.166666666666667}*cell[9];
77auto x55 = V{0.166666666666667}*cell[11];
78auto x56 = V{0.166666666666667}*cell[12];
79auto x57 = V{0.166666666666667}*cell[13];
80auto x58 = V{0.166666666666667}*cell[14];
81auto x59 = V{0.166666666666667}*cell[15];
82auto x60 = V{0.166666666666667}*cell[16];
83auto x61 = V{0.166666666666667}*cell[2];
84auto x62 = V{0.166666666666667}*cell[3];
85auto x63 = V{0.166666666666667}*cell[4];
86auto x64 = V{0.166666666666667}*cell[5];
87auto x65 = V{0.166666666666667}*cell[6];
88auto x66 = V{0.166666666666667}*cell[7];
89auto x67 = V{0.166666666666667}*cell[0] + x49 + x50 + x51 + x52 + x53 + x54 + x55 + x56 + x57 + x58 + x59 + x60 + x61 + x62 + x63 + x64 + x65 + x66 + V{0.166666666666667};
90auto x68 = V{0.0833333333333333}*cell[13];
91auto x69 = V{0.0833333333333333}*cell[14];
92auto x70 = V{0.0833333333333333}*cell[4];
93auto x71 = V{0.0833333333333333}*cell[5];
94auto x72 = -V{6.93889390390723e-18}*cell[0];
95auto x73 = V{0.0833333333333333}*cell[0] + V{0.0833333333333333}*cell[10] + V{0.0833333333333333}*cell[11] + V{0.0833333333333333}*cell[12] + V{0.0833333333333333}*cell[13] + V{0.0833333333333333}*cell[14] + V{0.0833333333333333}*cell[15] + V{0.0833333333333333}*cell[16] + V{0.0833333333333333}*cell[17] + V{0.0833333333333333}*cell[18] + V{0.0833333333333333}*cell[1] + V{0.0833333333333333}*cell[2] + V{0.0833333333333333}*cell[3] + V{0.0833333333333333}*cell[4] + V{0.0833333333333333}*cell[5] + V{0.0833333333333333}*cell[6] + V{0.0833333333333333}*cell[7] + V{0.0833333333333333}*cell[8] + V{0.0833333333333333}*cell[9] + V{0.0833333333333333};
96auto x74 = V{0.0833333333333333}*cell[12];
97auto x75 = V{0.0833333333333333}*cell[3];
98auto x76 = -x74 - x75;
99auto x77 = x40*x73 + x68 + x69 + x70 + x71 + x72 + x76;
100auto x78 = V{0.0833333333333333}*cell[15];
101auto x79 = V{0.0833333333333333}*cell[16];
102auto x80 = V{0.0833333333333333}*cell[6];
103auto x81 = V{0.0833333333333333}*cell[7];
104auto x82 = V{0.0833333333333333}*cell[11];
105auto x83 = V{0.0833333333333333}*cell[2];
106auto x84 = -x82 - x83;
107auto x85 = x39*x73 + x78 + x79 + x80 + x81 + x84;
108auto x86 = x23*(-x38*x67 + x49 + x50 - x51 - x52 - x53 - x54 + x77 + x85) + V{0.0555555555555556};
109auto x87 = V{3}*x20;
110auto x88 = V{3}*x39;
111auto x89 = x41 + V{-1};
112auto x90 = V{0.0833333333333333}*cell[17];
113auto x91 = V{0.0833333333333333}*cell[18];
114auto x92 = V{0.0833333333333333}*cell[8];
115auto x93 = V{0.0833333333333333}*cell[9];
116auto x94 = V{0.0833333333333333}*cell[10];
117auto x95 = V{0.0833333333333333}*cell[1];
118auto x96 = -x94 - x95;
119auto x97 = x38*x73 + x90 + x91 + x92 + x93 + x96;
120auto x98 = x23*(-x39*x67 + x55 - x59 - x60 + x61 - x65 - x66 + x77 + x97) + V{0.0555555555555556};
121auto x99 = V{3}*x21;
122auto x100 = V{3}*x40;
123auto x101 = x23*(-x40*x67 + x56 - x57 - x58 + x62 - x63 - x64 + x72 + x85 + x97) + V{0.0555555555555556};
124auto x102 = V{0.0277777777777778}*cell[0] + V{0.0277777777777778}*cell[10] + V{0.0277777777777778}*cell[11] + V{0.0277777777777778}*cell[12] + V{0.0277777777777778}*cell[13] + V{0.0277777777777778}*cell[14] + V{0.0277777777777778}*cell[15] + V{0.0277777777777778}*cell[16] + V{0.0277777777777778}*cell[17] + V{0.0277777777777778}*cell[18] + V{0.0277777777777778}*cell[1] + V{0.0277777777777778}*cell[2] + V{0.0277777777777778}*cell[3] + V{0.0277777777777778}*cell[4] + V{0.0277777777777778}*cell[5] + V{0.0277777777777778}*cell[6] + V{0.0277777777777778}*cell[7] + V{0.0277777777777778}*cell[8] + V{0.0277777777777778}*cell[9] + V{0.0277777777777778};
125auto x103 = x19 + x20;
126auto x104 = V{4.5}*(x103*x103);
127auto x105 = x45 + x47;
128auto x106 = cell[0] + cell[10] + cell[11] + cell[12] + cell[13] + cell[14] + cell[15] + cell[16] + cell[17] + cell[18] + cell[1] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + cell[7] + cell[8] + cell[9];
129auto x107 = x106 + V{1};
130auto x108 = V{0.25}*x107*x19;
131auto x109 = x108*x20;
132auto x110 = V{0.0416666666666667}*cell[0] + V{0.0416666666666667}*cell[10] + V{0.0416666666666667}*cell[11] + V{0.0416666666666667}*cell[12] + V{0.0416666666666667}*cell[13] + V{0.0416666666666667}*cell[14] + V{0.0416666666666667}*cell[15] + V{0.0416666666666667}*cell[16] + V{0.0416666666666667}*cell[17] + V{0.0416666666666667}*cell[18] + V{0.0416666666666667}*cell[1] + V{0.0416666666666667}*cell[2] + V{0.0416666666666667}*cell[3] + V{0.0416666666666667}*cell[4] + V{0.0416666666666667}*cell[5] + V{0.0416666666666667}*cell[6] + V{0.0416666666666667}*cell[7] + V{0.0416666666666667}*cell[8] + V{0.0416666666666667}*cell[9] + V{0.0416666666666667};
133auto x111 = -V{0.0416666666666667}*cell[0];
134auto x112 = V{0.0833333333333333}*cell[0] + x68 + x69 + x70 + x71 + x74 + x75 + x78 + x79 + x80 + x81 + x82 + x83 + x90 + x91 + x92 + x93 + x94 + x95 + V{0.0833333333333333};
135auto x113 = V{0.0416666666666667}*cell[10] + V{6.93889390390723e-18}*cell[17] + V{6.93889390390723e-18}*cell[18] + V{0.0416666666666667}*cell[1] + V{6.93889390390723e-18}*cell[8] + V{6.93889390390723e-18}*cell[9] + x111 - x112*x38;
136auto x114 = V{0.0416666666666667}*cell[11] + V{6.93889390390723e-18}*cell[15] + V{6.93889390390723e-18}*cell[16] + V{0.0416666666666667}*cell[2] + V{6.93889390390723e-18}*cell[6] + V{6.93889390390723e-18}*cell[7] - x112*x39;
137auto x115 = x110*x40 + x113 + x114 + x76;
138auto x116 = x23*(V{0.375}*cell[13] - V{0.125}*cell[14] + V{0.375}*cell[4] - V{0.125}*cell[5] - x109 + x115) + V{0.0277777777777778};
139auto x117 = -x87;
140auto x118 = x19 - x20;
141auto x119 = -x118;
142auto x120 = x23*(-V{0.125}*cell[13] + V{0.375}*cell[14] - V{0.125}*cell[4] + V{0.375}*cell[5] + x109 + x115) + V{0.0277777777777778};
143auto x121 = x19 + x21;
144auto x122 = V{4.5}*(x121*x121);
145auto x123 = x108*x21;
146auto x124 = V{0.0416666666666667}*cell[12] + V{6.93889390390723e-18}*cell[13] + V{6.93889390390723e-18}*cell[14] + V{0.0416666666666667}*cell[3] + V{6.93889390390723e-18}*cell[4] + V{6.93889390390723e-18}*cell[5] - x112*x40;
147auto x125 = x110*x39 + x113 + x124 + x84;
148auto x126 = x23*(V{0.375}*cell[15] - V{0.125}*cell[16] + V{0.375}*cell[6] - V{0.125}*cell[7] - x123 + x125) + V{0.0277777777777778};
149auto x127 = -x99;
150auto x128 = -x21;
151auto x129 = x128 + x19;
152auto x130 = -x129;
153auto x131 = x23*(-V{0.125}*cell[15] + V{0.375}*cell[16] - V{0.125}*cell[6] + V{0.375}*cell[7] + x123 + x125) + V{0.0277777777777778};
154auto x132 = x20 + x21;
155auto x133 = V{4.5}*(x132*x132);
156auto x134 = x45 + x87;
157auto x135 = V{0.25}*x107*x20*x21;
158auto x136 = x110*x38 + x111 + x114 + x124 + x96;
159auto x137 = x23*(V{0.375}*cell[17] - V{0.125}*cell[18] + V{0.375}*cell[8] - V{0.125}*cell[9] - x135 + x136) + V{0.0277777777777778};
160auto x138 = x128 + x20;
161auto x139 = -x138;
162auto x140 = x23*(-V{0.125}*cell[17] + V{0.375}*cell[18] - V{0.125}*cell[8] + V{0.375}*cell[9] + x135 + x136) + V{0.0277777777777778};
163auto x141 = x106 + V{1};
164auto x142 = -x42;
165auto x143 = V{1} - x43;
166auto x144 = x142 + x143;
167auto x145 = x144 + x47;
168auto x146 = -x41;
169auto x147 = x146 + x87;
170auto x148 = x146 + x99;
171auto x149 = -x47;
172auto x150 = x45 + x99;
173auto x0 = x23*(V{4.16333634234434e-17}*cell[10] + V{4.16333634234434e-17}*cell[11] + V{4.16333634234434e-17}*cell[12] + V{4.16333634234434e-17}*cell[1] + V{4.16333634234434e-17}*cell[2] + V{4.16333634234434e-17}*cell[3] + x24 + x25 + x26 + x27 + x28 + x29 + x30 + x31 + x32 + x33 + x34 + x35 - x36 - x37*x38 - x37*x39 - x37*x40) - x45*(V{0.333333333333333}*cell[0] + V{0.333333333333333}*cell[10] + V{0.333333333333333}*cell[11] + V{0.333333333333333}*cell[12] + V{0.333333333333333}*cell[13] + V{0.333333333333333}*cell[14] + V{0.333333333333333}*cell[15] + V{0.333333333333333}*cell[16] + V{0.333333333333333}*cell[17] + V{0.333333333333333}*cell[18] + V{0.333333333333333}*cell[1] + V{0.333333333333333}*cell[2] + V{0.333333333333333}*cell[3] + V{0.333333333333333}*cell[4] + V{0.333333333333333}*cell[5] + V{0.333333333333333}*cell[6] + V{0.333333333333333}*cell[7] + V{0.333333333333333}*cell[8] + V{0.333333333333333}*cell[9] + V{0.333333333333333}) + V{-0.333333333333333};
174auto x1 = -x46*(x44 + x47 - x48) - x86;
175auto x2 = -x46*(x43 + x87 - x88 + x89) - x98;
176auto x3 = -x101 - x46*(-x100 + x42 + x89 + x99);
177auto x4 = -x102*(-x104 + x105 + x87) - x116;
178auto x5 = -(x102*(x105 + x117 - V{4.5}*x119*x119) + x120);
179auto x6 = -x102*(x105 - x122 + x99) - x126;
180auto x7 = -(x102*(x105 + x127 - V{4.5}*x130*x130) + x131);
181auto x8 = -x102*(-x133 + x134 + x99) - x137;
182auto x9 = -(x102*(x127 + x134 - V{4.5}*x139*x139) + x140);
183auto x10 = V{0.0555555555555556}*x141*(x145 + x48) - x86;
184auto x11 = V{0.0555555555555556}*x141*(x143 + x147 + x88) - x98;
185auto x12 = -x101 + V{0.0555555555555556}*x141*(x100 + x142 + x148 + V{1});
186auto x13 = -x116 + V{0.0277777777777778}*x141*(x104 + x145 + x147);
187auto x14 = -(x102*(x134 + x149 - V{4.5}*x118*x118) + x120);
188auto x15 = -x126 + V{0.0277777777777778}*x141*(x122 + x145 + x148);
189auto x16 = -(x102*(x149 + x150 - V{4.5}*x129*x129) + x131);
190auto x17 = -x137 + V{0.0277777777777778}*x141*(x133 + x144 + x147 + x99);
191auto x18 = -(x102*(x117 + x150 - V{4.5}*x138*x138) + x140);
192cell[0] = x0;
193cell[1] = x1;
194cell[2] = x2;
195cell[3] = x3;
196cell[4] = x4;
197cell[5] = x5;
198cell[6] = x6;
199cell[7] = x7;
200cell[8] = x8;
201cell[9] = x9;
202cell[10] = x10;
203cell[11] = x11;
204cell[12] = x12;
205cell[13] = x13;
206cell[14] = x14;
207cell[15] = x15;
208cell[16] = x16;
209cell[17] = x17;
210cell[18] = x18;
211return { x107, x38 + x39 + x40 };
212}

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