24#ifndef DYNAMICS_COLLISION_CSE_H
25#define DYNAMICS_COLLISION_CSE_H
37template <
typename... FIELDS>
38struct BGK::type<descriptors::D2Q5<FIELDS...>,
momenta::BulkTuple,equilibria::SecondOrder> {
40template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
43auto x7 =
parameters.template get<olb::descriptors::OMEGA>();
45auto x6 = cell[0] + cell[1] + cell[2] + cell[3] + cell[4];
48auto x10 = V{1} / ((x9)*(x9));
50auto x12 = cell[2] - cell[4];
53auto x15 = cell[1] - cell[3];
55auto x17 = x11*(x16*x16) + V{-1};
56auto x18 = V{0.166666666666667}*x7;
57auto x19 = V{1} / (x9);
58auto x20 = x19*(V{3}*cell[1] - V{3}*cell[3]);
63auto x25 = V{3}*cell[2] - V{3}*cell[4];
64cell[0] = -x5*cell[0] - V{0.333333333333333}*x7*(x8*(x11*x14 + x17) + V{1});
65cell[1] = x18*(x8*(x20 + x21*x22 - x24 + V{1}) + V{-1}) - x5*cell[1];
66cell[2] = -x18*(x8*(-x14*x21 + x17 - x19*x25) + V{1}) - x5*cell[2];
67cell[3] = x18*(x8*(V{3}*x10*x22 - x20 - x24 + V{1}) + V{-1}) - x5*cell[3];
68cell[4] = -x18*(x8*(x11*x22 + x19*x25 - x21*x23 + V{-1}) + V{1}) - x5*cell[4];
69return { x9, V{1}*x10*(x22 + x23) };
74template <
typename... FIELDS>
75struct BGK::type<descriptors::D2Q5<FIELDS...>,
momenta::BulkTuple,equilibria::Incompressible> {
77template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
80auto x7 =
parameters.template get<olb::descriptors::OMEGA>();
81auto x5 = V{0.333333333333333}*cell[1];
82auto x6 = V{0.333333333333333}*cell[2];
83auto x8 = V{0.333333333333333}*cell[3];
84auto x9 = V{0.333333333333333}*cell[4];
85auto x10 = cell[1] - cell[3];
88auto x13 = cell[2] - cell[4];
92auto x17 = V{0.166666666666667}*cell[0];
93auto x18 = x12 - V{0.25}*x14 + x17 + V{0.166666666666667}*cell[2] + V{0.166666666666667}*cell[4];
94auto x19 = -V{0.25}*x11 + x15 + x17 + V{0.166666666666667}*cell[1] + V{0.166666666666667}*cell[3];
95auto x20 = cell[0] + cell[1] + cell[2] + cell[3] + cell[4] + V{1};
96cell[0] = -x16*cell[0] + x7*(-x12 - x15 + x5 + x6 + x8 + x9 + V{0.333333333333333}*cell[0]);
97cell[1] = -x16*cell[1] + x7*(x18 - x8 + V{0.666666666666667}*cell[1]);
98cell[2] = -x16*cell[2] + x7*(x19 - x9 + V{0.666666666666667}*cell[2]);
99cell[3] = -x16*cell[3] + x7*(x18 - x5 + V{0.666666666666667}*cell[3]);
100cell[4] = -x16*cell[4] + x7*(x19 - x6 + V{0.666666666666667}*cell[4]);
101return { x20, V{1}*(x11 + x14)/((x20)*(x20)) };
106template <
typename... FIELDS>
107struct BGK::type<descriptors::D2Q9<FIELDS...>,
momenta::BulkTuple,equilibria::SecondOrder> {
109template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
112auto x11 =
parameters.template get<olb::descriptors::OMEGA>();
113auto x9 = x11 + V{-1};
114auto x10 = cell[0] + cell[1] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + cell[7] + cell[8];
115auto x12 = x10 + V{1};
116auto x13 = x10 + V{1};
117auto x14 = V{1} / ((x13)*(x13));
118auto x15 = V{1.5}*x14;
119auto x16 = cell[1] - cell[5];
120auto x17 = -cell[4] + cell[8];
121auto x18 = x16 + x17 - cell[3] + cell[7];
124auto x21 = cell[2] - cell[6];
125auto x22 = x16 + x21 + cell[3] - cell[7];
127auto x24 = x15*(x23*x23) + V{-1};
129auto x26 = V{0.0277777777777778}*x11;
130auto x27 = V{4.5}*x14;
131auto x28 = x17 + x21 + V{2}*cell[1] - V{2}*cell[5];
132auto x29 = x27*(x28*x28);
133auto x30 = V{1} / (x13);
134auto x31 = V{3}*cell[3];
135auto x32 = V{3}*cell[7];
136auto x33 = V{3}*cell[1] - V{3}*cell[5];
137auto x34 = x31 - x32 + x33 + V{3}*cell[2] - V{3}*cell[6];
139auto x36 = -x20 + x35 + V{1};
140auto x37 = -x31 + x32 + x33 - V{3}*cell[4] + V{3}*cell[8];
145auto x42 = V{0.111111111111111}*x11;
147auto x44 = x21 + V{2}*cell[3] + cell[4] - V{2}*cell[7] - cell[8];
150auto x47 = x20 + x35 + V{-1};
152cell[0] = -V{0.444444444444444}*x11*(x12*x25 + V{1}) - x9*cell[0];
153cell[1] = x26*(x12*(x29 + x36 + x41) + V{-1}) - x9*cell[1];
154cell[2] = x42*(x12*(x36 + x39*x43) + V{-1}) - x9*cell[2];
155cell[3] = -x26*(x12*(x25 - x27*x45*x45 - x30*x34 + x38) + V{1}) - x9*cell[3];
156cell[4] = -x42*(x12*(x24 + x38 - x46) + V{1}) - x9*cell[4];
157cell[5] = -x26*(x12*(-x29 + x38 + x48) + V{1}) - x9*cell[5];
158cell[6] = x42*(x12*(V{3}*x14*x39 - x47) + V{-1}) - x9*cell[6];
159cell[7] = x26*(-x12*(-V{4.5}*x14*x44*x44 - x30*x37 + x48) + V{-1}) - x9*cell[7];
160cell[8] = x42*(x12*(x41 + x46 + V{1}) + V{-1}) - x9*cell[8];
161return { x13, V{1}*x14*(x19 + x39) };
166template <
typename... FIELDS>
167struct BGK::type<descriptors::D2Q9<FIELDS...>,
momenta::BulkTuple,equilibria::Incompressible> {
169template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
172auto x11 =
parameters.template get<olb::descriptors::OMEGA>();
173auto x9 = V{0.444444444444444}*cell[8];
174auto x10 = cell[1] - cell[5];
175auto x12 = cell[7] + cell[8];
176auto x13 = x10 + x12 - cell[3] - cell[4];
178auto x15 = cell[2] + cell[3];
179auto x16 = x10 + x15 - cell[6] - cell[7];
181auto x18 = V{0.444444444444444}*cell[1];
182auto x19 = V{0.444444444444444}*cell[3];
183auto x20 = x18 + x19 + V{0.444444444444444}*cell[2];
184auto x21 = V{0.444444444444444}*cell[5];
185auto x22 = x21 + V{0.444444444444444}*cell[4];
186auto x23 = V{0.444444444444444}*cell[7];
187auto x24 = x23 + V{0.444444444444444}*cell[6];
188auto x25 = x11 + V{-1};
189auto x26 = V{0.111111111111111}*cell[2];
190auto x27 = V{0.0277777777777778}*cell[0];
191auto x28 = -V{0.0416666666666667}*x14;
192auto x29 = -V{0.0416666666666667}*x17;
193auto x30 = x26 + x27 + x28 + x29 - V{0.0555555555555556}*cell[6];
194auto x31 = V{0.111111111111111}*cell[8];
195auto x32 = x31 - V{0.0555555555555556}*cell[4];
196auto x33 = V{1}*cell[8];
197auto x34 = V{1}*cell[4];
198auto x35 = V{1}*cell[2] - V{1}*cell[6];
199auto x36 = V{4.5}*cell[8];
200auto x37 = V{4.5}*cell[4];
201auto x38 = V{4.5}*cell[2] - V{4.5}*cell[6];
202auto x39 = V{0.0277777777777778}*(x33 - x34 + x35 + V{2}*cell[1] - V{2}*cell[5])*(x36 - x37 + x38 + V{9}*cell[1] - V{9}*cell[5]) + V{0.0277777777777778}*cell[3] + V{0.0277777777777778}*cell[7];
203auto x40 = -V{0.222222222222222}*cell[5];
204auto x41 = V{0.111111111111111}*cell[0];
205auto x42 = x41 - V{0.222222222222222}*cell[7];
206auto x43 = V{0.111111111111111}*cell[4];
207auto x44 = -V{0.166666666666667}*x14 + V{0.333333333333333}*x17 + x31 + x43;
208auto x45 = x43 - V{0.0555555555555556}*cell[8];
209auto x46 = V{0.0277777777777778}*(-x33 + x34 + x35 + V{2}*cell[3] - V{2}*cell[7])*(-x36 + x37 + x38 + V{9}*cell[3] - V{9}*cell[7]) + V{0.0277777777777778}*cell[1] + V{0.0277777777777778}*cell[5];
210auto x47 = -V{0.222222222222222}*cell[1];
211auto x48 = V{0.111111111111111}*cell[6];
212auto x49 = V{0.333333333333333}*x14 - V{0.166666666666667}*x17 + x26 + x48;
213auto x50 = x27 + x28 + x29 + x48 - V{0.0555555555555556}*cell[2];
214auto x51 = x41 - V{0.222222222222222}*cell[3];
215auto x52 = x12 + x15 + cell[0] + cell[1] + cell[4] + cell[5] + cell[6] + V{1};
216auto x0 = x11*(-V{0.666666666666667}*x14 - V{0.666666666666667}*x17 + x20 + x22 + x24 + x9 + V{0.444444444444444}*cell[0]) - x25*cell[0];
217auto x1 = x11*(x30 + x32 + x39 + V{0.194444444444444}*cell[1] - V{0.138888888888889}*cell[5]) - x25*cell[1];
218auto x2 = x11*(x20 + x40 + x42 + x44 - V{0.222222222222222}*cell[6]) - x25*cell[2];
219auto x3 = x11*(x30 + x45 + x46 + V{0.194444444444444}*cell[3] - V{0.138888888888889}*cell[7]) - x25*cell[3];
220auto x4 = x11*(x19 + x22 + x42 + x47 + x49 - V{0.222222222222222}*cell[8]) - x25*cell[4];
221auto x5 = x11*(x39 + x45 + x50 - V{0.138888888888889}*cell[1] + V{0.194444444444444}*cell[5]) - x25*cell[5];
222auto x6 = x11*(x21 + x24 + x44 + x47 + x51 - V{0.222222222222222}*cell[2]) - x25*cell[6];
223auto x7 = x11*(x32 + x46 + x50 - V{0.138888888888889}*cell[3] + V{0.194444444444444}*cell[7]) - x25*cell[7];
224auto x8 = x11*(x18 + x23 + x40 + x49 + x51 + x9 - V{0.222222222222222}*cell[4]) - x25*cell[8];
234return { x52, V{1}*(x14 + x17)/((x52)*(x52)) };
239template <
typename... FIELDS>
240struct BGK::type<descriptors::D3Q7<FIELDS...>,
momenta::BulkTuple,equilibria::SecondOrder> {
242template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
245auto x10 =
parameters.template get<olb::descriptors::OMEGA>();
246auto x7 = x10 + V{-1};
247auto x8 = cell[0] + cell[1] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6];
250auto x12 = V{1} / ((x11)*(x11));
252auto x14 = cell[1] - cell[4];
256auto x18 = cell[2] - cell[5];
260auto x22 = cell[3] - cell[6];
264auto x26 = x21 + x25 + V{-1};
265auto x27 = V{0.125}*x10;
266auto x28 = V{1} / (x11);
267auto x29 = V{4}*cell[1] - V{4}*cell[4];
269auto x31 = V{4}*cell[2] - V{4}*cell[5];
270auto x32 = x17 + V{-1};
271auto x33 = V{4}*cell[3] - V{4}*cell[6];
276auto x38 = x13*x37 + V{-1};
278cell[0] = -V{0.25}*x10*(x9*(x17 + x26) + V{1}) - x7*cell[0];
279cell[1] = -x27*(x9*(-x16*x30 + x26 - x28*x29) + V{1}) - x7*cell[1];
280cell[2] = -x27*(x9*(-x20*x30 + x25 - x28*x31 + x32) + V{1}) - x7*cell[2];
281cell[3] = -x27*(x9*(x21 - x24*x30 - x28*x33 + x32) + V{1}) - x7*cell[3];
282cell[4] = -x27*(x9*(x28*x29 - x30*x36 + x35 + x38) + V{1}) - x7*cell[4];
283cell[5] = -x27*(x9*(x28*x31 - x30*x34 + x38 + x39) + V{1}) - x7*cell[5];
284cell[6] = -x27*(x9*(x28*x33 - x30*x37 + x35 + x39 + V{-1}) + V{1}) - x7*cell[6];
285return { x11, V{1}*x12*(x34 + x36 + x37) };
290template <
typename... FIELDS>
291struct BGK::type<descriptors::D3Q7<FIELDS...>,
momenta::BulkTuple,equilibria::Incompressible> {
293template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
296auto x10 =
parameters.template get<olb::descriptors::OMEGA>();
297auto x7 = cell[1] - cell[4];
299auto x9 = cell[2] - cell[5];
301auto x12 = cell[3] - cell[6];
303auto x14 = x10 + V{-1};
304auto x15 = V{0.125}*cell[0];
305auto x16 = -V{0.25}*x13 + x15 + V{0.125}*cell[3] + V{0.125}*cell[6];
306auto x17 = -V{0.25}*x11 + V{0.125}*cell[2] + V{0.125}*cell[5];
307auto x18 = x16 + x17 + V{0.75}*x8;
308auto x19 = -V{0.25}*x8 + V{0.125}*cell[1] + V{0.125}*cell[4];
309auto x20 = V{0.75}*x11 + x16 + x19;
310auto x21 = V{0.75}*x13 + x15 + x17 + x19;
311auto x22 = cell[0] + cell[1] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + V{1};
312auto x0 = x10*(-V{0.5}*x11 - V{0.5}*x13 - V{0.5}*x8 + V{0.25}*cell[0] + V{0.25}*cell[1] + V{0.25}*cell[2] + V{0.25}*cell[3] + V{0.25}*cell[4] + V{0.25}*cell[5] + V{0.25}*cell[6]) - x14*cell[0];
313auto x1 = x10*(x18 + V{0.625}*cell[1] - V{0.375}*cell[4]) - x14*cell[1];
314auto x2 = x10*(x20 + V{0.625}*cell[2] - V{0.375}*cell[5]) - x14*cell[2];
315auto x3 = x10*(x21 + V{0.625}*cell[3] - V{0.375}*cell[6]) - x14*cell[3];
316auto x4 = x10*(x18 - V{0.375}*cell[1] + V{0.625}*cell[4]) - x14*cell[4];
317auto x5 = x10*(x20 - V{0.375}*cell[2] + V{0.625}*cell[5]) - x14*cell[5];
318auto x6 = x10*(x21 - V{0.375}*cell[3] + V{0.625}*cell[6]) - x14*cell[6];
326return { x22, V{1}*(x11 + x13 + x8)/((x22)*(x22)) };
331template <
typename... FIELDS>
332struct BGK::type<descriptors::D3Q19<FIELDS...>,
momenta::BulkTuple,equilibria::SecondOrder> {
334template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
337auto x22 =
parameters.template get<olb::descriptors::OMEGA>();
338auto x19 = x22 + V{-1};
339auto x20 = cell[10] + cell[14];
340auto x21 = cell[12] + cell[7];
341auto x23 = x20 + x21 + cell[0] + cell[11] + cell[13] + cell[15] + cell[16] + cell[17] + cell[18] + cell[1] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + cell[8] + cell[9];
342auto x24 = x23 + V{1};
343auto x25 = x23 + V{1};
344auto x26 = V{1} / ((x25)*(x25));
345auto x27 = V{1.5}*x26;
346auto x28 = cell[13] - cell[4];
347auto x29 = cell[15] - cell[6];
350auto x32 = cell[16] - cell[7];
352auto x34 = x20 - cell[5];
353auto x35 = x30 + x33 + x34;
356auto x38 = cell[17] - cell[8];
358auto x40 = cell[18] - cell[9];
360auto x42 = x41 + cell[11] - cell[14] + cell[5];
361auto x43 = x39 + x40 + x42;
366auto x48 = -cell[18] + cell[9];
368auto x50 = x21 - cell[16];
369auto x51 = x46 + x49 + x50;
372auto x54 = x45 + x53 + V{-1};
374auto x56 = V{0.0555555555555556}*x22;
375auto x57 = V{1} / (x25);
376auto x58 = V{3}*cell[14];
377auto x59 = V{3}*cell[16];
378auto x60 = V{3}*cell[5];
379auto x61 = V{3}*cell[7];
380auto x62 = V{3}*cell[13] - V{3}*cell[4];
381auto x63 = V{3}*cell[15] - V{3}*cell[6];
382auto x64 = x57*(x58 + x59 - x60 - x61 + x62 + x63 + V{3}*cell[10] - V{3}*cell[1]);
385auto x67 = V{3}*cell[18];
386auto x68 = V{3}*cell[9];
387auto x69 = V{3}*cell[17] - V{3}*cell[8];
388auto x70 = x57*(-x58 + x60 + x62 + x67 - x68 + x69 + V{3}*cell[11] - V{3}*cell[2]);
390auto x72 = x37 + V{-1};
391auto x73 = x57*(-x59 + x61 + x63 - x67 + x68 + x69 + V{3}*cell[12] - V{3}*cell[3]);
393auto x75 = V{0.0277777777777778}*x22;
394auto x76 = V{4.5}*x26;
395auto x77 = x33 + cell[10];
396auto x78 = x40 + x41 + x46 + x77 + cell[11] + V{2}*cell[13] - V{2}*cell[4];
397auto x79 = x76*(x78*x78);
400auto x82 = -cell[17] + cell[8];
401auto x83 = x29 + x48 + x77 + x82 - cell[11] + V{2}*cell[14] + cell[2] - V{2}*cell[5];
404auto x86 = x39 + x49 + x85 + cell[12] + V{2}*cell[15] - V{2}*cell[6];
405auto x87 = x76*(x86*x86);
407auto x89 = x28 - cell[12] + cell[3];
408auto x90 = x40 + x82 + x85 + x89 + V{2}*cell[16] - V{2}*cell[7];
410auto x92 = x30 + x42 + x47 + x50 + V{2}*cell[17] - V{2}*cell[8];
411auto x93 = x76*(x92*x92);
413auto x95 = x32 + x42 + x89 - cell[15] + V{2}*cell[18] + cell[6] - V{2}*cell[9];
416auto x98 = V{1} - x53;
418auto x100 = x64 + x99;
420auto x102 = x101 + x70;
421auto x103 = x101 + x73;
423auto x105 = x55 + x73;
424cell[0] = -x19*cell[0] - V{0.333333333333333}*x22*(x24*x55 + V{1});
425cell[1] = -x19*cell[1] - x56*(x24*(x54 + x64 - x66) + V{1});
426cell[2] = -x19*cell[2] - x56*(x24*(x53 + x70 - x71 + x72) + V{1});
427cell[3] = -x19*cell[3] - x56*(x24*(x45 + x72 + x73 - x74) + V{1});
428cell[4] = -x19*cell[4] - x75*(x24*(x70 - x79 + x80) + V{1});
429cell[5] = -x19*cell[5] - x75*(x24*(-x76*x84*x84 + x80 + x81) + V{1});
430cell[6] = -x19*cell[6] - x75*(x24*(x73 + x80 - x87) + V{1});
431cell[7] = -x19*cell[7] - x75*(x24*(-x76*x91*x91 + x80 + x88) + V{1});
432cell[8] = -x19*cell[8] - x75*(x24*(x73 - x93 + x94) + V{1});
433cell[9] = -x19*cell[9] - x75*(x24*(-x76*x96*x96 + x88 + x94) + V{1});
434cell[10] = -x19*cell[10] + x56*(x24*(x100 + x66) + V{-1});
435cell[11] = -x19*cell[11] + x56*(x24*(x102 + x71 + x98) + V{-1});
436cell[12] = -x19*cell[12] + x56*(x24*(x103 + x74 + x97 + V{1}) + V{-1});
437cell[13] = -x19*cell[13] + x75*(x24*(x100 + x102 + x79) + V{-1});
438cell[14] = -x19*cell[14] - x75*(x24*(x104 - x76*x83*x83 + x94) + V{1});
439cell[15] = -x19*cell[15] + x75*(x24*(x100 + x103 + x87) + V{-1});
440cell[16] = -x19*cell[16] - x75*(x24*(x104 + x105 - x76*x90*x90) + V{1});
441cell[17] = -x19*cell[17] + x75*(x24*(x102 + x73 + x93 + x99) + V{-1});
442cell[18] = -x19*cell[18] - x75*(x24*(x105 - x76*x95*x95 + x81) + V{1});
443return { x25, V{1}*x26*(x36 + x44 + x52) };
448template <
typename... FIELDS>
449struct BGK::type<descriptors::D3Q19<FIELDS...>,
momenta::BulkTuple,equilibria::Incompressible> {
451template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
454auto x22 =
parameters.template get<olb::descriptors::OMEGA>();
455auto x19 = cell[13] - cell[4];
456auto x20 = cell[15] - cell[6];
457auto x21 = cell[10] + cell[14] + cell[16];
458auto x23 = x19 + x20 + x21 - cell[1] - cell[5] - cell[7];
460auto x25 = cell[17] - cell[8];
461auto x26 = cell[11] + cell[18] + cell[5];
462auto x27 = x19 + x25 + x26 - cell[14] - cell[2] - cell[9];
464auto x29 = cell[12] + cell[7] + cell[9];
465auto x30 = x20 + x25 + x29 - cell[16] - cell[18] - cell[3];
467auto x32 = x22 + V{-1};
468auto x33 = V{0.111111111111111}*cell[10];
469auto x34 = V{0.0555555555555556}*cell[0];
470auto x35 = V{0.0555555555555556}*cell[3];
471auto x36 = V{0.0555555555555556}*cell[12];
472auto x37 = V{0.111111111111111}*cell[13];
473auto x38 = -V{0.0833333333333333}*x31;
474auto x39 = x34 + x35 + x36 - x37 + x38 + V{0.222222222222222}*cell[4];
475auto x40 = V{0.0555555555555556}*cell[2];
476auto x41 = V{0.0555555555555556}*cell[11];
477auto x42 = V{0.111111111111111}*cell[15];
478auto x43 = -V{0.0833333333333333}*x28;
479auto x44 = x40 + x41 - x42 + x43 + V{0.222222222222222}*cell[6];
480auto x45 = V{0.111111111111111}*cell[14];
481auto x46 = -x45 + V{0.222222222222222}*cell[5];
482auto x47 = V{0.111111111111111}*cell[16];
483auto x48 = -x47 + V{0.222222222222222}*cell[7];
484auto x49 = V{0.0555555555555556}*cell[8];
485auto x50 = V{0.0555555555555556}*cell[9];
486auto x51 = V{0.0555555555555556}*cell[17];
487auto x52 = V{0.0555555555555556}*cell[18];
488auto x53 = V{0.166666666666667}*x24 + x49 + x50 + x51 + x52;
489auto x54 = V{0.111111111111111}*cell[11];
490auto x55 = V{0.111111111111111}*cell[5];
491auto x56 = -x55 + V{0.222222222222222}*cell[14];
492auto x57 = V{0.0555555555555556}*cell[1];
493auto x58 = V{0.0555555555555556}*cell[10];
494auto x59 = V{0.111111111111111}*cell[17];
495auto x60 = -V{0.0833333333333333}*x24;
496auto x61 = x57 + x58 - x59 + x60 + V{0.222222222222222}*cell[8];
497auto x62 = V{0.111111111111111}*cell[18];
498auto x63 = -x62 + V{0.222222222222222}*cell[9];
499auto x64 = V{0.0555555555555556}*cell[6];
500auto x65 = V{0.0555555555555556}*cell[7];
501auto x66 = V{0.0555555555555556}*cell[15];
502auto x67 = V{0.0555555555555556}*cell[16];
503auto x68 = V{0.166666666666667}*x28 + x64 + x65 + x66 + x67;
504auto x69 = V{0.111111111111111}*cell[12];
505auto x70 = V{0.111111111111111}*cell[7];
506auto x71 = x34 - x70 + V{0.222222222222222}*cell[16];
507auto x72 = V{0.111111111111111}*cell[9];
508auto x73 = -x72 + V{0.222222222222222}*cell[18];
509auto x74 = V{0.0555555555555556}*cell[4];
510auto x75 = V{0.0555555555555556}*cell[5];
511auto x76 = V{0.0555555555555556}*cell[13];
512auto x77 = V{0.0555555555555556}*cell[14];
513auto x78 = V{0.166666666666667}*x31 + x74 + x75 + x76 + x77;
514auto x79 = V{0.0277777777777778}*cell[0];
515auto x80 = -V{0.0416666666666667}*x24;
516auto x81 = -V{0.0416666666666667}*x28;
517auto x82 = -V{0.0416666666666667}*x31;
518auto x83 = -x52 + x72 + x79 + x80 + x81 + x82;
519auto x84 = -x67 + x70;
520auto x85 = V{0.111111111111111}*cell[1];
522auto x87 = V{0.111111111111111}*cell[8];
523auto x88 = -x51 + x87;
524auto x89 = x85 + x86 + x88;
525auto x90 = V{0.111111111111111}*cell[2];
527auto x92 = V{0.111111111111111}*cell[6];
528auto x93 = -x66 + x92;
529auto x94 = x90 + x91 + x93;
530auto x95 = V{0.0277777777777778}*cell[3];
531auto x96 = V{0.0277777777777778}*cell[12];
532auto x97 = V{1}*cell[10];
533auto x98 = V{1}*cell[17];
534auto x99 = -V{1}*cell[1];
535auto x100 = V{1}*cell[8];
536auto x101 = -x100 + x97 + x98 + x99;
537auto x102 = V{1}*cell[18];
538auto x103 = V{1}*cell[9];
539auto x104 = x102 - x103;
540auto x105 = V{1}*cell[11];
541auto x106 = V{1}*cell[15];
542auto x107 = V{1}*cell[2];
544auto x109 = V{1}*cell[6];
546auto x111 = x105 + x106 + x108 + x110;
547auto x112 = V{1}*cell[16];
548auto x113 = V{1}*cell[7];
549auto x114 = x112 - x113;
550auto x115 = V{4.5}*cell[10];
551auto x116 = V{4.5}*cell[17];
552auto x117 = -V{4.5}*cell[1];
553auto x118 = V{4.5}*cell[8];
554auto x119 = x115 + x116 + x117 - x118;
555auto x120 = V{4.5}*cell[18];
556auto x121 = V{4.5}*cell[9];
557auto x122 = x120 - x121;
558auto x123 = V{4.5}*cell[11];
559auto x124 = V{4.5}*cell[15];
560auto x125 = V{4.5}*cell[2];
562auto x127 = V{4.5}*cell[6];
564auto x129 = x123 + x124 + x126 + x128;
565auto x130 = V{4.5}*cell[16];
566auto x131 = V{4.5}*cell[7];
567auto x132 = x130 - x131;
568auto x133 = x95 + x96 + V{0.0277777777777778}*(x101 + x104 + x111 + x114 + V{2}*cell[13] - V{2}*cell[4])*(x119 + x122 + x129 + x132 + V{9}*cell[13] - V{9}*cell[4]) + V{0.0277777777777778}*cell[14] + V{0.0277777777777778}*cell[5];
569auto x134 = -x49 + x59;
570auto x135 = x134 + x85 + x86;
571auto x136 = -x102 + x103;
572auto x137 = x100 + x97 - x98 + x99;
573auto x138 = -x120 + x121;
574auto x139 = x115 - x116 + x117 + x118;
575auto x140 = x95 + x96 + V{0.0277777777777778}*(-x105 + x106 + x107 + x110 + x114 + x136 + x137 + V{2}*cell[14] - V{2}*cell[5])*(-x123 + x124 + x125 + x128 + x132 + x138 + x139 + V{9}*cell[14] - V{9}*cell[5]) + V{0.0277777777777778}*cell[13] + V{0.0277777777777778}*cell[4];
576auto x141 = -x50 + x62;
578auto x143 = x79 + x80 + x81 + x82;
579auto x144 = x143 + x84;
580auto x145 = x142 + x144 + x54;
581auto x146 = x141 + x143;
582auto x147 = x55 - x77;
583auto x148 = V{0.111111111111111}*cell[3];
585auto x150 = V{0.111111111111111}*cell[4];
586auto x151 = x150 - x76;
587auto x152 = x148 + x149 + x151;
588auto x153 = V{0.0277777777777778}*cell[2];
589auto x154 = V{0.0277777777777778}*cell[11];
590auto x155 = V{1}*cell[14];
591auto x156 = V{1}*cell[5];
592auto x157 = V{1}*cell[13] - V{1}*cell[4];
593auto x158 = x155 - x156 + x157;
594auto x159 = V{1}*cell[12];
595auto x160 = V{1}*cell[3];
596auto x161 = x159 - x160;
597auto x162 = V{4.5}*cell[14];
598auto x163 = V{4.5}*cell[5];
599auto x164 = V{4.5}*cell[13] - V{4.5}*cell[4];
600auto x165 = x162 - x163 + x164;
601auto x166 = V{4.5}*cell[12];
602auto x167 = V{4.5}*cell[3];
603auto x168 = x166 - x167;
604auto x169 = x153 + x154 + V{0.0277777777777778}*(x101 + x136 + x158 + x161 + V{2}*cell[15] - V{2}*cell[6])*(x119 + x138 + x165 + x168 + V{9}*cell[15] - V{9}*cell[6]) + V{0.0277777777777778}*cell[16] + V{0.0277777777777778}*cell[7];
606auto x171 = x151 + x170 + x69;
607auto x172 = -x159 + x160;
608auto x173 = -x166 + x167;
609auto x174 = x153 + x154 + V{0.0277777777777778}*(x104 + x137 + x158 + x172 + V{2}*cell[16] - V{2}*cell[7])*(x122 + x139 + x165 + x173 + V{9}*cell[16] - V{9}*cell[7]) + V{0.0277777777777778}*cell[15] + V{0.0277777777777778}*cell[6];
610auto x175 = V{0.0277777777777778}*cell[1];
611auto x176 = V{0.0277777777777778}*cell[10];
612auto x177 = x45 - x75;
613auto x178 = x175 + x176 + x177;
614auto x179 = -x155 + x156 + x157;
615auto x180 = -x162 + x163 + x164;
616auto x181 = V{0.0277777777777778}*(x111 - x112 + x113 + x161 + x179 + V{2}*cell[17] - V{2}*cell[8])*(x129 - x130 + x131 + x168 + x180 + V{9}*cell[17] - V{9}*cell[8]) + V{0.0277777777777778}*cell[18] + V{0.0277777777777778}*cell[9];
617auto x182 = x47 - x65;
618auto x183 = x143 + x182;
619auto x184 = V{0.0277777777777778}*(x105 - x106 + x108 + x109 + x114 + x172 + x179 + V{2}*cell[18] - V{2}*cell[9])*(x123 - x124 + x126 + x127 + x132 + x173 + x180 + V{9}*cell[18] - V{9}*cell[9]) + V{0.0277777777777778}*cell[17] + V{0.0277777777777778}*cell[8];
620auto x185 = x42 - x64;
621auto x186 = x185 + x90 + x91;
622auto x187 = -x150 + x35 + x36 + x38 + V{0.222222222222222}*cell[13];
623auto x188 = x40 + x41 + x43 - x92 + V{0.222222222222222}*cell[15];
624auto x189 = x34 + x57 + x58 + x60 - x87 + V{0.222222222222222}*cell[17];
625auto x190 = x142 + x54;
627auto x192 = x182 + x191 + x33;
628auto x193 = x37 - x74;
629auto x194 = x170 + x193 + x69;
630auto x195 = x177 + x191 + x33;
631auto x196 = x148 + x149 + x193;
632auto x197 = x147 + x175 + x176;
633auto x198 = x21 + x26 + x29 + cell[0] + cell[13] + cell[15] + cell[17] + cell[1] + cell[2] + cell[3] + cell[4] + cell[6] + cell[8] + V{1};
634auto x0 = x22*(-V{0.5}*x24 - V{0.5}*x28 - V{0.5}*x31 + 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]) - x32*cell[0];
635auto x1 = x22*(-x33 + x39 + x44 + x46 + x48 + x53 + V{0.222222222222222}*cell[1]) - x32*cell[1];
636auto x2 = x22*(x39 - x54 + x56 + x61 + x63 + x68 + V{0.222222222222222}*cell[2]) - x32*cell[2];
637auto x3 = x22*(x44 + x61 - x69 + x71 + x73 + x78 + V{0.222222222222222}*cell[3]) - x32*cell[3];
638auto x4 = x22*(x133 + x83 + x84 + x89 + x94 - V{0.138888888888889}*cell[13] + V{0.194444444444444}*cell[4]) - x32*cell[4];
639auto x5 = x22*(x135 + x140 + x141 + x145 + x93 - V{0.138888888888889}*cell[14] + V{0.194444444444444}*cell[5]) - x32*cell[5];
640auto x6 = x22*(x146 + x147 + x152 + x169 + x89 - V{0.138888888888889}*cell[15] + V{0.194444444444444}*cell[6]) - x32*cell[6];
641auto x7 = x22*(x135 + x147 + x171 + x174 + x83 - V{0.138888888888889}*cell[16] + V{0.194444444444444}*cell[7]) - x32*cell[7];
642auto x8 = x22*(x152 + x178 + x181 + x183 + x94 - V{0.138888888888889}*cell[17] + V{0.194444444444444}*cell[8]) - x32*cell[8];
643auto x9 = x22*(x144 + x171 + x178 + x184 + x186 - V{0.138888888888889}*cell[18] + V{0.194444444444444}*cell[9]) - x32*cell[9];
644auto x10 = x22*(x187 + x188 + x53 + x56 + x71 - x85 + V{0.222222222222222}*cell[10]) - x32*cell[10];
645auto x11 = x22*(x187 + x189 + x46 + x68 + x73 - x90 + V{0.222222222222222}*cell[11]) - x32*cell[11];
646auto x12 = x22*(-x148 + x188 + x189 + x48 + x63 + x78 + V{0.222222222222222}*cell[12]) - x32*cell[12];
647auto x13 = x22*(x133 + x134 + x146 + x185 + x190 + x192 + V{0.194444444444444}*cell[13] - V{0.138888888888889}*cell[4]) - x32*cell[13];
648auto x14 = x22*(x140 + x186 + x192 + x83 + x88 + V{0.194444444444444}*cell[14] - V{0.138888888888889}*cell[5]) - x32*cell[14];
649auto x15 = x22*(x134 + x169 + x194 + x195 + x83 + V{0.194444444444444}*cell[15] - V{0.138888888888889}*cell[6]) - x32*cell[15];
650auto x16 = x22*(x146 + x174 + x195 + x196 + x88 + V{0.194444444444444}*cell[16] - V{0.138888888888889}*cell[7]) - x32*cell[16];
651auto x17 = x22*(x145 + x181 + x185 + x194 + x197 + V{0.194444444444444}*cell[17] - V{0.138888888888889}*cell[8]) - x32*cell[17];
652auto x18 = x22*(x183 + x184 + x190 + x196 + x197 + x93 + V{0.194444444444444}*cell[18] - V{0.138888888888889}*cell[9]) - x32*cell[18];
672return { x198, V{1}*(x24 + x28 + x31)/((x198)*(x198)) };
677template <
typename... FIELDS>
678struct BGK::type<descriptors::D3Q27<FIELDS...>,
momenta::BulkTuple,equilibria::SecondOrder> {
680template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
683auto x30 =
parameters.template get<olb::descriptors::OMEGA>();
684auto x27 = x30 + V{-1};
685auto x28 = cell[8] + cell[9];
686auto x29 = cell[15] + cell[21];
687auto x31 = cell[11] + cell[26];
688auto x32 = x28 + x29 + x31 + cell[0] + cell[10] + cell[12] + cell[13] + cell[14] + cell[16] + cell[17] + cell[18] + cell[19] + cell[1] + cell[20] + cell[22] + cell[23] + cell[24] + cell[25] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + cell[7];
689auto x33 = x32 + V{1};
690auto x34 = x32 + V{1};
691auto x35 = V{1} / ((x34)*(x34));
692auto x36 = V{1.5}*x35;
695auto x39 = x37 + x38 + cell[4] + cell[6];
697auto x41 = cell[10] - cell[23];
698auto x42 = x40 + x41 + cell[11];
699auto x43 = cell[12] - cell[25];
701auto x45 = -cell[20] + cell[7];
702auto x46 = x44 + x45 + cell[1];
703auto x47 = -cell[18] + cell[5];
704auto x48 = cell[13] - cell[26];
705auto x49 = x39 + x42 + x43 + x46 + x47 + x48;
711auto x55 = x53 + x54 + cell[26] + cell[8];
713auto x57 = x37 + cell[4];
714auto x58 = x56 + x57 + cell[9];
716auto x60 = x59 + cell[18] + cell[2] - cell[5];
717auto x61 = -cell[12] + cell[25];
718auto x62 = x42 + x55 + x58 + x60 + x61;
723auto x67 = x43 + x66 + cell[3];
725auto x69 = x38 + cell[6];
726auto x70 = x68 + x69 + cell[22];
727auto x71 = cell[20] - cell[7];
728auto x72 = x41 - cell[11] + cell[24];
729auto x73 = x55 + x67 + x70 + x71 + x72;
733auto x77 = x65 + x76 + V{-1};
735auto x79 = V{0.0740740740740741}*x30;
736auto x80 = V{1} / (x34);
737auto x81 = V{3}*cell[5];
738auto x82 = V{3}*cell[7];
739auto x83 = V{3}*cell[13];
740auto x84 = V{3}*cell[18];
741auto x85 = V{3}*cell[20];
742auto x86 = V{3}*cell[26];
743auto x87 = V{3}*cell[10];
744auto x88 = V{3}*cell[11];
745auto x89 = -V{3}*cell[23];
746auto x90 = V{3}*cell[24];
747auto x91 = x87 + x88 + x89 - x90 - V{3}*cell[17] + V{3}*cell[4];
748auto x92 = V{3}*cell[12];
749auto x93 = V{3}*cell[25];
750auto x94 = x92 - x93 - V{3}*cell[19] + V{3}*cell[6];
751auto x95 = x81 + x82 + x83 - x84 - x85 - x86 + x91 + x94 - V{3}*cell[14] + V{3}*cell[1];
754auto x98 = V{3}*cell[9];
755auto x99 = V{3}*cell[22];
756auto x100 = -x83 + x86 - V{3}*cell[21] + V{3}*cell[8];
757auto x101 = x100 - x81 + x84 + x91 - x92 + x93 + x98 - x99 - V{3}*cell[15] + V{3}*cell[2];
758auto x102 = -x101*x80;
759auto x103 = x52 + V{-1};
760auto x104 = x100 - x82 + x85 + x87 - x88 + x89 + x90 + x94 - x98 + x99 - V{3}*cell[16] + V{3}*cell[3];
761auto x105 = -x104*x80;
762auto x106 = V{0.0185185185185185}*x30;
763auto x107 = V{4.5}*x35;
764auto x108 = V{2}*cell[11] - V{2}*cell[24];
765auto x109 = V{2}*cell[10] - V{2}*cell[23];
766auto x110 = x109 + x54;
767auto x111 = x59 + cell[2];
768auto x112 = x111 - V{2}*cell[17] + V{2}*cell[4];
769auto x113 = x108 + x110 + x112 + x28 + x46 + x56 + x69;
771auto x115 = x78 + x96;
772auto x116 = x102 + x115;
773auto x117 = V{2}*cell[25];
774auto x118 = V{2}*cell[12];
775auto x119 = -x117 + x118;
776auto x120 = V{2}*cell[26];
777auto x121 = V{2}*cell[13];
778auto x122 = -x120 + x121 - cell[8];
779auto x123 = V{2}*cell[18];
780auto x124 = V{2}*cell[5];
781auto x125 = -x123 + x124 - cell[2];
782auto x126 = x119 + x122 + x125 + x29 + x46 + x70;
784auto x128 = x115 + x127;
785auto x129 = x44 + cell[1];
786auto x130 = x129 + x47;
787auto x131 = x66 + cell[3];
788auto x132 = -V{2}*cell[19] + V{2}*cell[6];
789auto x133 = x131 + x132;
790auto x134 = x110 + x119 + x130 + x133 + x57 + x68 + cell[22] + cell[8];
794auto x138 = x108 + x137 + cell[16];
795auto x139 = V{2}*cell[20];
796auto x140 = V{2}*cell[7];
797auto x141 = -x139 + x140;
798auto x142 = x122 + x130 + x138 + x141 + x58 + cell[21];
799auto x143 = -V{2}*cell[21] + V{2}*cell[8];
800auto x144 = x131 + x143;
801auto x145 = x109 + x120 - x121 + x144 + x39 + x60 + x71;
803auto x147 = x102 + x78;
804auto x148 = x105 + x147;
805auto x149 = V{2}*cell[22];
806auto x150 = V{2}*cell[9];
807auto x151 = -x149 + x150;
808auto x152 = x117 - x118 + x138 + x151 + x45 + x57 + x60 + cell[19] - cell[6];
809auto x153 = V{0.00462962962962963}*x30;
810auto x154 = x112 + x129;
811auto x155 = x132 + x143 + x154 + x31 + x40 + x53 + x67 + V{3}*cell[10] - V{3}*cell[23];
813auto x157 = x137 + x141 + x151 + x154 + x41 + x48 + x61 + V{3}*cell[11] + cell[16] - V{3}*cell[24];
814auto x158 = x125 + x129 + x133 + x149 - x150 + x48 + x72 + V{3}*cell[12] + cell[15] - V{3}*cell[25];
816auto x160 = x111 + x123 - x124 + x139 - x140 + x144 + x61 + x72 - V{3}*cell[13] + cell[14] - cell[1] + V{3}*cell[26];
822auto x166 = x165*x36 + V{-1};
823auto x167 = x164 + x166;
827auto x171 = x168 + x170;
828auto x172 = x162 + x167 + x171;
829auto x173 = x159 + x167;
830auto x174 = x162 + x170;
831auto x175 = x171 + x173;
834auto x178 = x173 + x174;
836auto x180 = x105 + x78;
840cell[0] = -x27*cell[0] - V{0.296296296296296}*x30*(x33*x78 + V{1});
841cell[1] = -x27*cell[1] - x79*(x33*(-x51*x97 + x77 + x96) + V{1});
842cell[2] = -x27*cell[2] - x79*(x33*(x102 + x103 - x64*x97 + x76) + V{1});
843cell[3] = -x27*cell[3] - x79*(x33*(x103 + x105 + x65 - x75*x97) + V{1});
844cell[4] = -x106*(x33*(-x107*x114*x114 + x116) + V{1}) - x27*cell[4];
845cell[5] = -x106*(x33*(-x107*x126*x126 + x128) + V{1}) - x27*cell[5];
846cell[6] = -x106*(x33*(x105 - x107*x135*x135 + x115) + V{1}) - x27*cell[6];
847cell[7] = -x106*(x33*(-x107*x142*x142 + x115 + x136) + V{1}) - x27*cell[7];
848cell[8] = -x106*(x33*(-x107*x146*x146 + x148) + V{1}) - x27*cell[8];
849cell[9] = -x106*(x33*(-x107*x152*x152 + x136 + x147) + V{1}) - x27*cell[9];
850cell[10] = -x153*(x33*(x105 - x107*x156*x156 + x116) + V{1}) - x27*cell[10];
851cell[11] = -x153*(x33*(-x107*x157*x157 + x116 + x136) + V{1}) - x27*cell[11];
852cell[12] = -x153*(x33*(x105 - x107*x158*x158 + x128) + V{1}) - x27*cell[12];
853cell[13] = -x153*(x33*(-x107*x161*x161 - x159 + x172) + V{1}) - x27*cell[13];
854cell[14] = -x27*cell[14] - x79*(x33*(-x169*x97 + x173) + V{1});
855cell[15] = -x27*cell[15] - x79*(x33*(-x163*x97 + x166 + x171) + V{1});
856cell[16] = -x27*cell[16] - x79*(x33*(x164 - x165*x97 + x174 + V{-1}) + V{1});
857cell[17] = -x106*(x33*(-x107*x113*x113 + x175) + V{1}) - x27*cell[17];
858cell[18] = -x106*(x33*(-x107*x177*x177 + x147 + x176) + V{1}) - x27*cell[18];
859cell[19] = -x106*(x33*(-x107*x134*x134 + x178) + V{1}) - x27*cell[19];
860cell[20] = -x106*(x33*(-x107*x179*x179 + x176 + x180) + V{1}) - x27*cell[20];
861cell[21] = -x106*(x33*(-x107*x145*x145 + x172) + V{1}) - x27*cell[21];
862cell[22] = -x106*(x33*(-x107*x181*x181 + x127 + x180) + V{1}) - x27*cell[22];
863cell[23] = -x153*(x33*(-x107*x155*x155 + x162 + x175) + V{1}) - x27*cell[23];
864cell[24] = -x153*(x33*(-x107*x182*x182 - x162 + x175) + V{1}) - x27*cell[24];
865cell[25] = -x153*(x33*(-x107*x183*x183 - x168 + x178) + V{1}) - x27*cell[25];
866cell[26] = -x153*(x33*(-x107*x160*x160 + x148 + x176) + V{1}) - x27*cell[26];
867return { x34, V{1}*x35*(x163 + x165 + x169) };
872template <
typename... FIELDS>
873struct BGK::type<descriptors::D3Q27<FIELDS...>,
momenta::BulkTuple,equilibria::Incompressible> {
875template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
878auto x30 =
parameters.template get<olb::descriptors::OMEGA>();
879auto x27 = V{0.296296296296296}*cell[16];
881auto x29 = x28 + cell[10] - cell[13] - cell[21] + cell[26] + cell[8];
882auto x31 = cell[11] - cell[17] - cell[24] + cell[4];
883auto x32 = cell[18] + cell[25] + cell[2] + cell[9];
884auto x33 = x29 + x31 + x32 - cell[12] - cell[15] - cell[22] - cell[5];
886auto x35 = cell[12] - cell[19] - cell[25] + cell[6];
887auto x36 = cell[20] + cell[22] + cell[24] + cell[3];
888auto x37 = x29 + x35 + x36 - cell[11] - cell[16] - cell[7] - cell[9];
890auto x39 = cell[10] + cell[13] + cell[1] + cell[5] + cell[7];
891auto x40 = x28 + x31 + x35 + x39 - cell[14] - cell[18] - cell[20] - cell[26];
893auto x42 = V{0.296296296296296}*cell[4];
894auto x43 = V{0.296296296296296}*cell[5];
895auto x44 = V{0.296296296296296}*cell[6];
896auto x45 = V{0.296296296296296}*cell[7];
897auto x46 = V{0.296296296296296}*cell[10];
898auto x47 = V{0.296296296296296}*cell[11];
899auto x48 = V{0.296296296296296}*cell[12];
900auto x49 = V{0.296296296296296}*cell[13];
901auto x50 = x42 + x43 + x44 + x45 + x46 + x47 + x48 + x49 + V{0.296296296296296}*cell[1];
902auto x51 = V{0.296296296296296}*cell[8];
903auto x52 = V{0.296296296296296}*cell[9];
904auto x53 = V{0.296296296296296}*cell[18];
905auto x54 = V{0.296296296296296}*cell[25];
906auto x55 = V{0.296296296296296}*cell[26];
907auto x56 = x51 + x52 + x53 + x54 + x55 + V{0.296296296296296}*cell[2];
908auto x57 = V{0.296296296296296}*cell[20];
909auto x58 = V{0.296296296296296}*cell[22];
910auto x59 = V{0.296296296296296}*cell[24];
911auto x60 = x57 + x58 + x59 + V{0.296296296296296}*cell[3];
912auto x61 = V{0.296296296296296}*cell[17];
913auto x62 = V{0.296296296296296}*cell[19];
914auto x63 = V{0.296296296296296}*cell[23];
915auto x64 = x61 + x62 + x63 + V{0.296296296296296}*cell[14];
916auto x65 = V{0.296296296296296}*cell[21];
917auto x66 = x65 + V{0.296296296296296}*cell[15];
918auto x67 = x30 + V{-1};
919auto x68 = -V{0.148148148148148}*cell[20];
920auto x69 = V{0.0740740740740741}*cell[0];
921auto x70 = -V{0.148148148148148}*cell[23];
922auto x71 = -V{0.148148148148148}*cell[24];
923auto x72 = -V{0.111111111111111}*x38;
924auto x73 = x69 + x70 + x71 + x72 - V{0.148148148148148}*cell[17];
925auto x74 = -V{0.148148148148148}*cell[25];
926auto x75 = -V{0.111111111111111}*x34;
927auto x76 = x74 + x75 - V{0.148148148148148}*cell[19];
928auto x77 = -V{0.148148148148148}*cell[26];
929auto x78 = x77 - V{0.148148148148148}*cell[18];
930auto x79 = V{0.0740740740740741}*cell[2];
931auto x80 = V{0.0740740740740741}*cell[3];
933auto x82 = V{0.0740740740740741}*cell[15];
934auto x83 = V{0.0740740740740741}*cell[16];
936auto x85 = V{0.0740740740740741}*cell[8];
937auto x86 = V{0.0740740740740741}*cell[9];
939auto x88 = V{0.0740740740740741}*cell[21];
940auto x89 = V{0.0740740740740741}*cell[22];
942auto x91 = V{0.222222222222222}*x41 + x81 + x84 + x87 + x90;
943auto x92 = -V{0.148148148148148}*cell[12];
944auto x93 = -V{0.148148148148148}*cell[13];
945auto x94 = x92 + x93 - V{0.148148148148148}*cell[5];
946auto x95 = -V{0.111111111111111}*x41;
947auto x96 = x46 + x95 - V{0.148148148148148}*cell[21];
948auto x97 = x47 - V{0.148148148148148}*cell[22];
949auto x98 = V{0.0740740740740741}*cell[1];
951auto x100 = V{0.0740740740740741}*cell[6];
952auto x101 = V{0.0740740740740741}*cell[20];
953auto x102 = x100 + x101;
954auto x103 = V{0.0740740740740741}*cell[14];
955auto x104 = x103 + x83;
956auto x105 = V{0.0740740740740741}*cell[7];
957auto x106 = V{0.0740740740740741}*cell[19];
958auto x107 = x105 + x106;
959auto x108 = x102 + x104 + x107 + V{0.222222222222222}*x34 + x99;
960auto x109 = -V{0.148148148148148}*cell[11];
961auto x110 = x109 + x55 + x69 - V{0.148148148148148}*cell[7];
962auto x111 = x48 - V{0.148148148148148}*cell[9];
963auto x112 = x79 + x98;
964auto x113 = V{0.0740740740740741}*cell[4];
965auto x114 = V{0.0740740740740741}*cell[5];
966auto x115 = x113 + x114;
967auto x116 = x103 + x82;
968auto x117 = V{0.0740740740740741}*cell[17];
969auto x118 = V{0.0740740740740741}*cell[18];
970auto x119 = x117 + x118;
971auto x120 = x112 + x115 + x116 + x119 + V{0.222222222222222}*x38;
972auto x121 = V{0.0185185185185185}*cell[0];
973auto x122 = V{0.0185185185185185}*cell[26];
974auto x123 = -V{0.037037037037037}*cell[22];
975auto x124 = -V{0.0277777777777778}*x34;
976auto x125 = -V{0.0277777777777778}*x38;
977auto x126 = -V{0.0277777777777778}*x41;
978auto x127 = x121 + x122 + x123 + x124 + x125 + x126;
979auto x128 = V{0.0185185185185185}*cell[25];
980auto x129 = -V{0.037037037037037}*cell[21];
981auto x130 = x128 + x129;
982auto x131 = V{0.12962962962963}*cell[10];
983auto x132 = -V{0.037037037037037}*cell[14];
984auto x133 = -V{0.0925925925925926}*cell[23];
985auto x134 = x131 + x132 + x133;
986auto x135 = -V{0.037037037037037}*cell[15];
987auto x136 = -V{0.037037037037037}*cell[19];
988auto x137 = x135 + x136;
989auto x138 = -V{0.037037037037037}*cell[20];
990auto x139 = V{0.12962962962963}*cell[11] - V{0.0925925925925926}*cell[24];
991auto x140 = x138 + x139;
992auto x141 = x100 + x105;
993auto x142 = V{1}*cell[6];
994auto x143 = V{1}*cell[7];
995auto x144 = V{1}*cell[19];
997auto x146 = V{1}*cell[20];
999auto x148 = V{1}*cell[1];
1000auto x149 = V{1}*cell[14];
1001auto x150 = x148 - x149;
1002auto x151 = x142 + x143 + x145 + x147 + x150;
1003auto x152 = V{1}*cell[8];
1004auto x153 = V{2}*cell[10];
1005auto x154 = V{1}*cell[21];
1006auto x155 = -V{2}*cell[23];
1007auto x156 = x152 + x153 - x154 + x155;
1008auto x157 = V{1}*cell[9];
1009auto x158 = V{2}*cell[11];
1010auto x159 = V{1}*cell[22];
1011auto x160 = -V{2}*cell[24];
1012auto x161 = x157 + x158 - x159 + x160;
1013auto x162 = V{1}*cell[2];
1014auto x163 = V{1}*cell[15];
1015auto x164 = x162 - x163;
1016auto x165 = x164 - V{2}*cell[17] + V{2}*cell[4];
1017auto x166 = V{4.5}*cell[6];
1018auto x167 = V{4.5}*cell[7];
1019auto x168 = V{4.5}*cell[19];
1021auto x170 = V{4.5}*cell[20];
1023auto x172 = V{4.5}*cell[1];
1024auto x173 = V{4.5}*cell[14];
1025auto x174 = x172 - x173;
1026auto x175 = x166 + x167 + x169 + x171 + x174;
1027auto x176 = V{4.5}*cell[8];
1028auto x177 = V{9}*cell[10];
1029auto x178 = V{4.5}*cell[21];
1030auto x179 = -V{9}*cell[23];
1031auto x180 = x176 + x177 - x178 + x179;
1032auto x181 = V{4.5}*cell[9];
1033auto x182 = V{9}*cell[11];
1034auto x183 = V{4.5}*cell[22];
1035auto x184 = -V{9}*cell[24];
1036auto x185 = x181 + x182 - x183 + x184;
1037auto x186 = V{4.5}*cell[2];
1038auto x187 = V{4.5}*cell[15];
1039auto x188 = x186 - x187;
1040auto x189 = x188 - V{9}*cell[17] + V{9}*cell[4];
1041auto x190 = V{0.0185185185185185}*cell[3];
1042auto x191 = V{0.0185185185185185}*cell[13];
1043auto x192 = x190 + x191;
1044auto x193 = V{0.0185185185185185}*cell[12];
1045auto x194 = V{0.0185185185185185}*cell[16];
1046auto x195 = x193 + x194;
1047auto x196 = x192 + x195 + V{0.0185185185185185}*(x151 + x156 + x161 + x165)*(x175 + x180 + x185 + x189) + V{0.0185185185185185}*cell[18] + V{0.0185185185185185}*cell[5];
1048auto x197 = V{0.0185185185185185}*cell[24];
1049auto x198 = -V{0.037037037037037}*cell[8];
1050auto x199 = x197 + x198;
1051auto x200 = -V{0.037037037037037}*cell[9];
1052auto x201 = V{0.0185185185185185}*cell[23];
1053auto x202 = x121 + x124 + x125 + x126;
1054auto x203 = x201 + x202;
1055auto x204 = x200 + x203;
1056auto x205 = -V{0.037037037037037}*cell[2];
1057auto x206 = x205 + x90;
1058auto x207 = V{0.12962962962963}*cell[13];
1059auto x208 = -V{0.0925925925925926}*cell[26];
1060auto x209 = x138 + x207 + x208;
1061auto x210 = x132 + x98;
1062auto x211 = V{0.12962962962963}*cell[12] - V{0.0925925925925926}*cell[25];
1063auto x212 = x136 + x211 + x82;
1064auto x213 = V{2}*cell[12];
1065auto x214 = V{2}*cell[25];
1066auto x215 = -x157 + x159 + x213 - x214;
1067auto x216 = V{2}*cell[13];
1068auto x217 = V{2}*cell[26];
1069auto x218 = -x152 + x154 + x216 - x217;
1070auto x219 = V{2}*cell[5];
1071auto x220 = V{2}*cell[18];
1072auto x221 = -x162 + x163 + x219 - x220;
1073auto x222 = V{9}*cell[12];
1074auto x223 = V{9}*cell[25];
1075auto x224 = -x181 + x183 + x222 - x223;
1076auto x225 = V{9}*cell[13];
1077auto x226 = V{9}*cell[26];
1078auto x227 = -x176 + x178 + x225 - x226;
1079auto x228 = V{9}*cell[5];
1080auto x229 = V{9}*cell[18];
1081auto x230 = -x186 + x187 + x228 - x229;
1082auto x231 = V{0.0185185185185185}*cell[11];
1083auto x232 = x190 + x231;
1084auto x233 = V{0.0185185185185185}*cell[10];
1085auto x234 = x194 + x233;
1086auto x235 = x232 + x234 + V{0.0185185185185185}*(x151 + x215 + x218 + x221)*(x175 + x224 + x227 + x230) + V{0.0185185185185185}*cell[17] + V{0.0185185185185185}*cell[4];
1087auto x236 = V{0.0185185185185185}*cell[15];
1088auto x237 = x197 + x236;
1089auto x238 = -V{0.037037037037037}*cell[17];
1090auto x239 = x191 + x238;
1091auto x240 = x200 + x202;
1092auto x241 = V{0.0185185185185185}*cell[2];
1093auto x242 = x122 + x241;
1094auto x243 = x231 + x242;
1095auto x244 = -V{0.037037037037037}*cell[16];
1096auto x245 = -V{0.037037037037037}*cell[18];
1097auto x246 = x244 + x245;
1098auto x247 = x85 + x89;
1099auto x248 = -V{1}*cell[17] + V{1}*cell[4];
1100auto x249 = V{1}*cell[3];
1101auto x250 = V{1}*cell[16];
1102auto x251 = x249 - x250;
1103auto x252 = x248 + x251;
1104auto x253 = V{1}*cell[5];
1105auto x254 = V{1}*cell[18];
1106auto x255 = x150 + x253 - x254;
1107auto x256 = -V{2}*cell[19] + V{2}*cell[6];
1108auto x257 = -V{4.5}*cell[17] + V{4.5}*cell[4];
1109auto x258 = V{4.5}*cell[3];
1110auto x259 = V{4.5}*cell[16];
1111auto x260 = x258 - x259;
1112auto x261 = x257 + x260;
1113auto x262 = V{4.5}*cell[5];
1114auto x263 = V{4.5}*cell[18];
1115auto x264 = x174 + x262 - x263;
1116auto x265 = -V{9}*cell[19] + V{9}*cell[6];
1117auto x266 = V{0.0185185185185185}*(x156 + x215 + x252 + x255 + x256)*(x180 + x224 + x261 + x264 + x265) + V{0.0185185185185185}*cell[20] + V{0.0185185185185185}*cell[7];
1118auto x267 = x123 + x203;
1119auto x268 = x128 + x241;
1120auto x269 = x233 + x268;
1121auto x270 = -V{0.037037037037037}*cell[3];
1122auto x271 = x270 + x83;
1123auto x272 = x86 + x88;
1125auto x274 = x248 + x250 + x273;
1126auto x275 = V{2}*cell[7];
1127auto x276 = V{2}*cell[20];
1128auto x277 = x275 - x276;
1130auto x279 = x257 + x259 + x278;
1131auto x280 = V{9}*cell[7];
1132auto x281 = V{9}*cell[20];
1133auto x282 = x280 - x281;
1134auto x283 = x193 + x236;
1135auto x284 = x283 + V{0.0185185185185185}*(x161 + x218 + x255 + x274 + x277)*(x185 + x227 + x264 + x279 + x282) + V{0.0185185185185185}*cell[19] + V{0.0185185185185185}*cell[6];
1136auto x285 = -V{0.037037037037037}*cell[7];
1137auto x286 = x128 + x285;
1138auto x287 = -V{0.037037037037037}*cell[5];
1139auto x288 = x231 + x287;
1140auto x289 = -V{0.0925925925925926}*cell[13] + V{0.12962962962963}*cell[26];
1141auto x290 = x244 + x289;
1142auto x291 = x113 + x118;
1143auto x292 = -V{2}*cell[21] + V{2}*cell[8];
1144auto x293 = x164 - x253 + x254;
1145auto x294 = -V{9}*cell[21] + V{9}*cell[8];
1146auto x295 = x188 - x262 + x263;
1147auto x296 = V{0.0185185185185185}*cell[1];
1148auto x297 = x193 + x296;
1149auto x298 = V{0.0185185185185185}*cell[14];
1150auto x299 = x197 + x298;
1151auto x300 = x202 + x297 + x299 + V{0.0185185185185185}*(x142 - x143 + x145 + x146 + x153 + x155 - x216 + x217 + x252 + x292 + x293)*(x166 - x167 + x169 + x170 + x177 + x179 - x225 + x226 + x261 + x294 + x295) + V{0.0185185185185185}*cell[22] + V{0.0185185185185185}*cell[9];
1152auto x301 = -V{0.037037037037037}*cell[6];
1153auto x302 = x122 + x301;
1154auto x303 = -V{0.0925925925925926}*cell[12] + V{0.12962962962963}*cell[25];
1155auto x304 = x135 + x303 + x79;
1156auto x305 = V{2}*cell[9];
1157auto x306 = V{2}*cell[22];
1158auto x307 = x305 - x306;
1159auto x308 = V{9}*cell[9];
1160auto x309 = V{9}*cell[22];
1161auto x310 = x308 - x309;
1162auto x311 = x233 + x296;
1163auto x312 = x203 + x298 + x311 + V{0.0185185185185185}*(-x142 + x143 + x144 + x147 + x158 + x160 - x213 + x214 + x274 + x293 + x307)*(-x166 + x167 + x168 + x171 + x182 + x184 - x222 + x223 + x279 + x295 + x310) + V{0.0185185185185185}*cell[21] + V{0.0185185185185185}*cell[8];
1164auto x313 = V{1}*cell[11];
1165auto x314 = V{1}*cell[12];
1166auto x315 = V{1}*cell[26];
1167auto x316 = V{1}*cell[13];
1168auto x317 = V{1}*cell[24];
1169auto x318 = V{1}*cell[25];
1170auto x319 = x150 + x165;
1171auto x320 = x251 + x292;
1172auto x321 = V{4.5}*cell[11];
1173auto x322 = V{4.5}*cell[12];
1174auto x323 = V{4.5}*cell[26];
1175auto x324 = V{4.5}*cell[13];
1176auto x325 = V{4.5}*cell[24];
1177auto x326 = V{4.5}*cell[25];
1178auto x327 = x174 + x189;
1179auto x328 = x260 + x294;
1180auto x329 = V{0.00462962962962963}*(x256 + x313 + x314 + x315 - x316 - x317 - x318 + x319 + x320 + V{3}*cell[10] - V{3}*cell[23])*(x265 + x321 + x322 + x323 - x324 - x325 - x326 + x327 + x328 + V{13.5}*cell[10] - V{13.5}*cell[23]);
1181auto x330 = V{0.00462962962962963}*cell[0];
1182auto x331 = V{0.00462962962962963}*cell[9];
1183auto x332 = V{0.00462962962962963}*cell[22];
1184auto x333 = -V{0.00925925925925926}*cell[14];
1185auto x334 = -V{0.00925925925925926}*cell[24];
1186auto x335 = -V{0.00925925925925926}*cell[25];
1187auto x336 = -V{0.00694444444444444}*x34;
1188auto x337 = -V{0.00694444444444444}*x38;
1189auto x338 = -V{0.00694444444444444}*x41;
1190auto x339 = x330 + x331 + x332 + x333 + x334 + x335 + x336 + x337 + x338;
1191auto x340 = V{0.00462962962962963}*cell[5];
1192auto x341 = V{0.00462962962962963}*cell[18];
1193auto x342 = -V{0.00925925925925926}*cell[13];
1194auto x343 = -V{0.00925925925925926}*cell[16];
1195auto x344 = x340 + x341 + x342 + x343;
1196auto x345 = V{0.00462962962962963}*cell[7];
1197auto x346 = V{0.00462962962962963}*cell[20];
1198auto x347 = -V{0.00925925925925926}*cell[15];
1199auto x348 = x345 + x346 + x347;
1200auto x349 = -V{0.0231481481481481}*cell[17] + V{0.0324074074074074}*cell[4];
1201auto x350 = -V{0.0231481481481481}*cell[19] + V{0.0324074074074074}*cell[6];
1202auto x351 = -V{0.0231481481481481}*cell[21] + V{0.0324074074074074}*cell[8];
1203auto x352 = V{1}*cell[10];
1204auto x353 = -V{1}*cell[23];
1205auto x354 = -x315 + x316 + x352 + x353;
1206auto x355 = -x314 + x318;
1207auto x356 = V{4.5}*cell[10];
1208auto x357 = -V{4.5}*cell[23];
1209auto x358 = -x323 + x324 + x356 + x357;
1210auto x359 = -x322 + x326;
1211auto x360 = V{0.00462962962962963}*(x250 + x273 + x277 + x307 + x319 + x354 + x355 + V{3}*cell[11] - V{3}*cell[24])*(x259 + x278 + x282 + x310 + x327 + x358 + x359 + V{13.5}*cell[11] - V{13.5}*cell[24]);
1212auto x361 = V{0.00462962962962963}*cell[6];
1213auto x362 = V{0.00462962962962963}*cell[19];
1214auto x363 = -V{0.00925925925925926}*cell[3];
1215auto x364 = x296 + x361 + x362 + x363 - V{0.0231481481481481}*cell[20] + V{0.0324074074074074}*cell[7];
1216auto x365 = V{0.00462962962962963}*cell[8];
1217auto x366 = V{0.00462962962962963}*cell[21];
1218auto x367 = -V{0.00925925925925926}*cell[23];
1219auto x368 = -V{0.00925925925925926}*cell[26];
1220auto x369 = x330 + x333 + x336 + x337 + x338 + x365 + x366 + x367 + x368;
1221auto x370 = -V{0.0231481481481481}*cell[22] + V{0.0324074074074074}*cell[9];
1222auto x371 = -V{0.00925925925925926}*cell[12];
1223auto x372 = x347 + x371;
1224auto x373 = x191 + x340 + x341;
1225auto x374 = -V{0.00925925925925926}*cell[2];
1226auto x375 = x374 + V{0.0324074074074074}*cell[22] - V{0.0231481481481481}*cell[9];
1227auto x376 = V{0.00462962962962963}*cell[4];
1228auto x377 = V{0.00462962962962963}*cell[17];
1229auto x378 = -x313 + x317;
1230auto x379 = -x321 + x325;
1231auto x380 = x376 + x377 + V{0.00462962962962963}*(x150 + x221 + x251 + x256 - x305 + x306 + x354 + x378 + V{3}*cell[12] - V{3}*cell[25])*(x174 + x230 + x260 + x265 - x308 + x309 + x358 + x379 + V{13.5}*cell[12] - V{13.5}*cell[25]);
1232auto x381 = -V{0.00925925925925926}*cell[11];
1233auto x382 = x343 + x381;
1234auto x383 = -V{0.0231481481481481}*cell[18] + V{0.0324074074074074}*cell[5];
1235auto x384 = x237 + x345 + x346;
1236auto x385 = x201 - V{0.00925925925925926}*cell[10];
1237auto x386 = x374 + V{0.0324074074074074}*cell[21] - V{0.0231481481481481}*cell[8];
1238auto x387 = x376 + x377 + V{0.00462962962962963}*(-x148 + x149 + x164 - x219 + x220 - x275 + x276 + x320 + x352 + x353 + x355 + x378 - V{3}*cell[13] + V{3}*cell[26])*(-x172 + x173 + x188 - x228 + x229 - x280 + x281 + x328 + x356 + x357 + x359 + x379 - V{13.5}*cell[13] + V{13.5}*cell[26]);
1239auto x388 = -V{0.148148148148148}*cell[10];
1240auto x389 = x388 + x59 + x72 - V{0.148148148148148}*cell[4];
1241auto x390 = x54 + x75 - V{0.148148148148148}*cell[6];
1242auto x391 = x49 + x63 + x69 + x95 - V{0.148148148148148}*cell[8];
1243auto x392 = -V{0.0925925925925926}*cell[10] + V{0.12962962962963}*cell[23];
1244auto x393 = -V{0.0925925925925926}*cell[11] + V{0.12962962962963}*cell[24];
1245auto x394 = -V{0.037037037037037}*cell[1];
1246auto x395 = x101 + x106 + x394;
1247auto x396 = -V{0.037037037037037}*cell[4];
1248auto x397 = x191 + x396;
1249auto x398 = x270 + x392;
1250auto x399 = x119 + x241 + x394;
1251auto x400 = x393 + x80;
1252auto x401 = x114 + x117 + x205;
1253auto x402 = -V{0.00925925925925926}*cell[1];
1254auto x403 = x330 + x331 + x332 + x336 + x337 + x338 + x402;
1255auto x404 = x298 + V{0.0324074074074074}*cell[17] - V{0.0231481481481481}*cell[4];
1256auto x405 = x194 + x363 + V{0.0324074074074074}*cell[19] - V{0.0231481481481481}*cell[6];
1257auto x406 = x190 + x361 + x362 + V{0.0324074074074074}*cell[20] - V{0.0231481481481481}*cell[7];
1258auto x407 = x330 + x336 + x337 + x338 + x365 + x366 + x385 + x402;
1259auto x408 = V{0.0324074074074074}*cell[18] - V{0.0231481481481481}*cell[5];
1260auto x409 = x32 + x36 + x39 + cell[0] + cell[11] + cell[12] + cell[14] + cell[15] + cell[16] + cell[17] + cell[19] + cell[21] + cell[23] + cell[26] + cell[4] + cell[6] + cell[8] + V{1};
1261auto x0 = x30*(x27 - V{0.444444444444444}*x34 - V{0.444444444444444}*x38 - V{0.444444444444444}*x41 + x50 + x56 + x60 + x64 + x66 + V{0.296296296296296}*cell[0]) - x67*cell[0];
1262auto x1 = x30*(x50 + x68 + x73 + x76 + x78 + x91 - V{0.148148148148148}*cell[14]) - x67*cell[1];
1263auto x2 = x30*(x108 + x42 + x56 + x73 + x94 + x96 + x97 - V{0.148148148148148}*cell[15]) - x67*cell[2];
1264auto x3 = x30*(x110 + x111 + x120 + x44 + x51 + x60 + x70 + x76 + x93 + x96 - V{0.148148148148148}*cell[16]) - x67*cell[3];
1265auto x4 = x30*(x112 + x127 + x130 + x134 + x137 + x140 + x141 + x196 + x87 - V{0.0925925925925926}*cell[17] + V{0.12962962962963}*cell[4]) - x67*cell[4];
1266auto x5 = x30*(x141 + x199 + x204 + x206 + x209 + x210 + x212 + x235 - V{0.0925925925925926}*cell[18] + V{0.12962962962963}*cell[5]) - x67*cell[5];
1267auto x6 = x30*(x115 + x129 + x134 + x211 + x237 + x239 + x240 + x243 + x246 + x247 + x266 + x99 - V{0.0925925925925926}*cell[19] + V{0.12962962962963}*cell[6]) - x67*cell[6];
1268auto x7 = x30*(x115 + x139 + x198 + x207 + x208 + x210 + x238 + x245 + x267 + x269 + x271 + x272 + x284 - V{0.0925925925925926}*cell[20] + V{0.12962962962963}*cell[7]) - x67*cell[7];
1269auto x8 = x30*(x102 + x131 + x133 + x137 + x238 + x286 + x288 + x290 + x291 + x300 + x81 - V{0.0925925925925926}*cell[21] + V{0.12962962962963}*cell[8]) - x67*cell[8];
1270auto x9 = x30*(x107 + x140 + x239 + x271 + x287 + x291 + x302 + x304 + x312 - V{0.0925925925925926}*cell[22] + V{0.12962962962963}*cell[9]) - x67*cell[9];
1271auto x10 = x30*(x232 + x242 + x297 + x329 + x339 + x344 + x348 + x349 + x350 + x351 + V{0.0462962962962963}*cell[10] - V{0.037037037037037}*cell[23]) - x67*cell[10];
1272auto x11 = x30*(x234 + x268 + x349 + x360 + x364 + x369 + x370 + x372 + x373 + V{0.0462962962962963}*cell[11] - V{0.037037037037037}*cell[24]) - x67*cell[11];
1273auto x12 = x30*(x192 + x311 + x350 + x369 + x375 + x380 + x382 + x383 + x384 + V{0.0462962962962963}*cell[12] - V{0.037037037037037}*cell[25]) - x67*cell[12];
1274auto x13 = x30*(x195 + x231 + x236 + x339 + x364 + x383 + x385 + x386 + x387 + V{0.0462962962962963}*cell[13] - V{0.037037037037037}*cell[26]) - x67*cell[13];
1275auto x14 = x30*(x110 + x389 + x390 + x53 + x57 + x64 + x91 + x94 - V{0.148148148148148}*cell[1]) - x67*cell[14];
1276auto x15 = x30*(x108 + x109 + x111 + x389 + x391 + x43 + x58 + x61 + x66 + x74 + x78 - V{0.148148148148148}*cell[2]) - x67*cell[15];
1277auto x16 = x30*(x120 + x27 + x388 + x390 + x391 + x45 + x52 + x62 + x65 + x68 + x71 + x77 + x92 + x97 - V{0.148148148148148}*cell[3]) - x67*cell[16];
1278auto x17 = x30*(x116 + x196 + x198 + x206 + x240 + x286 + x302 + x392 + x393 + x395 + V{0.12962962962963}*cell[17] - V{0.0925925925925926}*cell[4]) - x67*cell[17];
1279auto x18 = x30*(x103 + x129 + x197 + x235 + x267 + x285 + x289 + x301 + x304 + x395 + x87 + V{0.12962962962963}*cell[18] - V{0.0925925925925926}*cell[5]) - x67*cell[18];
1280auto x19 = x30*(x104 + x127 + x199 + x236 + x266 + x272 + x288 + x303 + x397 + x398 + x399 + V{0.12962962962963}*cell[19] - V{0.0925925925925926}*cell[6]) - x67*cell[19];
1281auto x20 = x30*(x103 + x130 + x204 + x233 + x247 + x284 + x287 + x290 + x396 + x399 + x400 + V{0.12962962962963}*cell[20] - V{0.0925925925925926}*cell[7]) - x67*cell[20];
1282auto x21 = x30*(x107 + x128 + x209 + x231 + x245 + x300 + x301 + x396 + x398 + x401 + x84 + V{0.12962962962963}*cell[21] - V{0.0925925925925926}*cell[8]) - x67*cell[21];
1283auto x22 = x30*(x102 + x122 + x212 + x246 + x285 + x312 + x397 + x400 + x401 + V{0.12962962962963}*cell[22] - V{0.0925925925925926}*cell[9]) - x67*cell[22];
1284auto x23 = x30*(x128 + x329 + x368 + x371 + x373 + x381 + x384 + x386 + x403 + x404 + x405 - V{0.037037037037037}*cell[10] + V{0.0462962962962963}*cell[23]) - x67*cell[23];
1285auto x24 = x30*(x122 + x283 + x335 + x344 + x360 + x375 + x404 + x406 + x407 - V{0.037037037037037}*cell[11] + V{0.0462962962962963}*cell[24]) - x67*cell[24];
1286auto x25 = x30*(x243 + x298 + x334 + x342 + x348 + x370 + x380 + x405 + x407 + x408 - V{0.037037037037037}*cell[12] + V{0.0462962962962963}*cell[25]) - x67*cell[25];
1287auto x26 = x30*(x269 + x299 + x351 + x367 + x372 + x382 + x387 + x403 + x406 + x408 - V{0.037037037037037}*cell[13] + V{0.0462962962962963}*cell[26]) - x67*cell[26];
1315return { x409, V{1}*(x34 + x38 + x41)/((x409)*(x409)) };
1321template <
typename... FIELDS>
1322struct ConstRhoBGK::type<descriptors::D2Q5<FIELDS...>,
momenta::BulkTuple,equilibria::SecondOrder> {
1324template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
1327auto x8 =
parameters.template get<olb::statistics::AVERAGE_RHO>();
1328auto x7 =
parameters.template get<olb::descriptors::OMEGA>();
1329auto x5 = x7 + V{-1};
1330auto x6 = cell[0] + cell[1] + cell[2] + cell[3] + cell[4];
1332auto x10 = V{1} / ((x9)*(x9));
1333auto x11 = V{1.5}*x10;
1334auto x12 = cell[2] - cell[4];
1337auto x15 = cell[1] - cell[3];
1339auto x17 = x11*(x16*x16) + V{-1};
1340auto x18 = x11*x14 + x17;
1341auto x19 = V{1} / (x9);
1342auto x20 = -x19*(x8 + V{-1}) + V{1};
1343auto x21 = x6 + V{1};
1345auto x23 = V{0.166666666666667}*cell[0] + V{0.166666666666667}*cell[1] + V{0.166666666666667}*cell[2] + V{0.166666666666667}*cell[3] + V{0.166666666666667}*cell[4] + V{0.166666666666667};
1346auto x24 = x19*(V{3}*cell[1] - V{3}*cell[3]);
1351auto x29 = x24 + x25*x26 - x28 + V{1};
1352auto x30 = V{3}*cell[2] - V{3}*cell[4];
1353auto x31 = -x14*x25 + x17 - x19*x30;
1354auto x32 = V{3}*x10*x26 - x24 - x28 + V{1};
1355auto x33 = V{3}*x10*x27 - x11*x26 - x19*x30 + V{1};
1356auto x0 = -V{0.333333333333333}*x18*x22 - x5*(x18*(V{0.333333333333333}*cell[0] + V{0.333333333333333}*cell[1] + V{0.333333333333333}*cell[2] + V{0.333333333333333}*cell[3] + V{0.333333333333333}*cell[4] + V{0.333333333333333}) + cell[0] + V{0.333333333333333}) + V{-0.333333333333333};
1357auto x1 = V{0.166666666666667}*x20*x21*x29 - x5*(-x23*x29 + cell[1] + V{0.166666666666667}) + V{-0.166666666666667};
1358auto x2 = -V{0.166666666666667}*x22*x31 - x5*(x23*x31 + cell[2] + V{0.166666666666667}) + V{-0.166666666666667};
1359auto x3 = V{0.166666666666667}*x20*x21*x32 - x5*(-x23*x32 + cell[3] + V{0.166666666666667}) + V{-0.166666666666667};
1360auto x4 = V{0.166666666666667}*x20*x21*x33 - x5*(-x23*x33 + cell[4] + V{0.166666666666667}) + V{-0.166666666666667};
1366return { x6 - x8 + V{2}, V{1}*x10*(x26 + x27) };
1371template <
typename... FIELDS>
1372struct ConstRhoBGK::type<descriptors::D2Q9<FIELDS...>,
momenta::BulkTuple,equilibria::SecondOrder> {
1374template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
1377auto x11 =
parameters.template get<olb::descriptors::OMEGA>();
1378auto x12 =
parameters.template get<olb::statistics::AVERAGE_RHO>();
1379auto x9 = x11 + V{-1};
1380auto x10 = cell[0] + cell[1] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + cell[7] + cell[8];
1381auto x13 = x10 + V{1};
1382auto x14 = V{1} / ((x13)*(x13));
1383auto x15 = V{1.5}*x14;
1384auto x16 = cell[1] - cell[5];
1385auto x17 = -cell[4] + cell[8];
1386auto x18 = x16 + x17 - cell[3] + cell[7];
1389auto x21 = cell[2] - cell[6];
1390auto x22 = x16 + x21 + cell[3] - cell[7];
1392auto x24 = x15*(x23*x23) + V{-1};
1393auto x25 = x20 + x24;
1394auto x26 = V{1} / (x13);
1395auto x27 = -x26*(x12 + V{-1}) + V{1};
1396auto x28 = x10 + V{1};
1398auto x30 = V{0.0277777777777778}*cell[0] + 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};
1399auto x31 = V{4.5}*x14;
1400auto x32 = x17 + x21 + V{2}*cell[1] - V{2}*cell[5];
1402auto x34 = V{3}*cell[3];
1403auto x35 = V{3}*cell[7];
1404auto x36 = V{3}*cell[1] - V{3}*cell[5];
1405auto x37 = x34 - x35 + x36 + V{3}*cell[2] - V{3}*cell[6];
1407auto x39 = -x20 + x38 + V{1};
1408auto x40 = x26*(-x34 + x35 + x36 - V{3}*cell[4] + V{3}*cell[8]);
1411auto x43 = x40 - x42;
1412auto x44 = x31*(x33*x33) + x39 + x43;
1413auto x45 = V{0.111111111111111}*cell[0] + V{0.111111111111111}*cell[1] + V{0.111111111111111}*cell[2] + V{0.111111111111111}*cell[3] + V{0.111111111111111}*cell[4] + V{0.111111111111111}*cell[5] + V{0.111111111111111}*cell[6] + V{0.111111111111111}*cell[7] + V{0.111111111111111}*cell[8] + V{0.111111111111111};
1415auto x47 = x39 + x41*x46;
1416auto x48 = -x21 - V{2}*cell[3] - cell[4] + V{2}*cell[7] + cell[8];
1417auto x49 = -x31*x48*x48;
1418auto x50 = x25 - x26*x37 + x40 + x49;
1420auto x52 = x24 + x40 - x51;
1421auto x53 = x20 + x38 + V{-1};
1422auto x54 = x42 + x53;
1423auto x55 = V{4.5}*x14*(x32*x32) - x40 - x54;
1424auto x56 = V{3}*x14*x41 - x53;
1425auto x57 = x40 - x49 - x54;
1426auto x58 = x43 + x51 + V{1};
1427auto x0 = -V{0.444444444444444}*x25*x29 - x9*(x25*(V{0.444444444444444}*cell[0] + V{0.444444444444444}*cell[1] + V{0.444444444444444}*cell[2] + V{0.444444444444444}*cell[3] + V{0.444444444444444}*cell[4] + V{0.444444444444444}*cell[5] + V{0.444444444444444}*cell[6] + V{0.444444444444444}*cell[7] + V{0.444444444444444}*cell[8] + V{0.444444444444444}) + cell[0] + V{0.444444444444444}) + V{-0.444444444444444};
1428auto x1 = V{0.0277777777777778}*x27*x28*x44 - x9*(-x30*x44 + cell[1] + V{0.0277777777777778}) + V{-0.0277777777777778};
1429auto x2 = V{0.111111111111111}*x27*x28*x47 - x9*(-x45*x47 + cell[2] + V{0.111111111111111}) + V{-0.111111111111111};
1430auto x3 = -V{0.0277777777777778}*x29*x50 - x9*(x30*x50 + cell[3] + V{0.0277777777777778}) + V{-0.0277777777777778};
1431auto x4 = -V{0.111111111111111}*x29*x52 - x9*(x45*x52 + cell[4] + V{0.111111111111111}) + V{-0.111111111111111};
1432auto x5 = V{0.0277777777777778}*x27*x28*x55 - x9*(-x30*x55 + cell[5] + V{0.0277777777777778}) + V{-0.0277777777777778};
1433auto x6 = V{0.111111111111111}*x27*x28*x56 - x9*(-x45*x56 + cell[6] + V{0.111111111111111}) + V{-0.111111111111111};
1434auto x7 = V{0.0277777777777778}*x27*x28*x57 - x9*(-x30*x57 + cell[7] + V{0.0277777777777778}) + V{-0.0277777777777778};
1435auto x8 = V{0.111111111111111}*x27*x28*x58 - x9*(-x45*x58 + cell[8] + V{0.111111111111111}) + V{-0.111111111111111};
1445return { x10 - x12 + V{2}, V{1}*x14*(x19 + x41) };
1450template <
typename... FIELDS>
1451struct ConstRhoBGK::type<descriptors::D3Q7<FIELDS...>,
momenta::BulkTuple,equilibria::SecondOrder> {
1453template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
1456auto x11 =
parameters.template get<olb::statistics::AVERAGE_RHO>();
1457auto x10 =
parameters.template get<olb::descriptors::OMEGA>();
1458auto x7 = x10 + V{-1};
1459auto x8 = cell[0] + cell[1] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6];
1461auto x12 = V{1} / ((x9)*(x9));
1463auto x14 = cell[1] - cell[4];
1467auto x18 = cell[2] - cell[5];
1471auto x22 = cell[3] - cell[6];
1475auto x26 = x21 + x25 + V{-1};
1476auto x27 = x17 + x26;
1477auto x28 = V{1} / (x9);
1478auto x29 = -x28*(x11 + V{-1}) + V{1};
1479auto x30 = x8 + V{1};
1481auto x32 = V{0.125}*cell[0] + V{0.125}*cell[1] + V{0.125}*cell[2] + V{0.125}*cell[3] + V{0.125}*cell[4] + V{0.125}*cell[5] + V{0.125}*cell[6] + V{0.125};
1482auto x33 = V{4}*cell[1] - V{4}*cell[4];
1484auto x35 = -x16*x34 + x26 - x28*x33;
1485auto x36 = V{0.125}*x31;
1486auto x37 = V{4}*cell[2] - V{4}*cell[5];
1487auto x38 = x17 + V{-1};
1488auto x39 = -x20*x34 + x25 - x28*x37 + x38;
1489auto x40 = V{4}*cell[3] - V{4}*cell[6];
1490auto x41 = x21 - x24*x34 - x28*x40 + x38;
1495auto x46 = x13*x45 + V{-1};
1496auto x47 = V{6}*x12*x44 - x28*x33 - x43 - x46;
1498auto x49 = V{6}*x12*x42 - x28*x37 - x46 - x48;
1499auto x50 = V{6}*x12*x45 - x28*x40 - x43 - x48 + V{1};
1500auto x0 = -V{0.25}*x27*x31 - x7*(x27*(V{0.25}*cell[0] + V{0.25}*cell[1] + V{0.25}*cell[2] + V{0.25}*cell[3] + V{0.25}*cell[4] + V{0.25}*cell[5] + V{0.25}*cell[6] + V{0.25}) + cell[0] + V{0.25}) + V{-0.25};
1501auto x1 = -x35*x36 - x7*(x32*x35 + cell[1] + V{0.125}) + V{-0.125};
1502auto x2 = -x36*x39 - x7*(x32*x39 + cell[2] + V{0.125}) + V{-0.125};
1503auto x3 = -x36*x41 - x7*(x32*x41 + cell[3] + V{0.125}) + V{-0.125};
1504auto x4 = V{0.125}*x29*x30*x47 - x7*(-x32*x47 + cell[4] + V{0.125}) + V{-0.125};
1505auto x5 = V{0.125}*x29*x30*x49 - x7*(-x32*x49 + cell[5] + V{0.125}) + V{-0.125};
1506auto x6 = V{0.125}*x29*x30*x50 - x7*(-x32*x50 + cell[6] + V{0.125}) + V{-0.125};
1514return { -x11 + x8 + V{2}, V{1}*x12*(x42 + x44 + x45) };
1519template <
typename... FIELDS>
1520struct ConstRhoBGK::type<descriptors::D3Q19<FIELDS...>,
momenta::BulkTuple,equilibria::SecondOrder> {
1522template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
1525auto x22 =
parameters.template get<olb::descriptors::OMEGA>();
1526auto x23 =
parameters.template get<olb::statistics::AVERAGE_RHO>();
1527auto x19 = x22 + V{-1};
1528auto x20 = cell[10] + cell[14];
1529auto x21 = cell[12] + cell[7];
1530auto x24 = x20 + x21 + cell[0] + cell[11] + cell[13] + cell[15] + cell[16] + cell[17] + cell[18] + cell[1] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + cell[8] + cell[9];
1531auto x25 = x24 + V{1};
1532auto x26 = V{1} / ((x25)*(x25));
1533auto x27 = V{1.5}*x26;
1534auto x28 = cell[13] - cell[4];
1535auto x29 = cell[15] - cell[6];
1536auto x30 = x28 + x29;
1538auto x32 = cell[16] - cell[7];
1539auto x33 = x31 + x32;
1540auto x34 = x20 - cell[5];
1541auto x35 = x30 + x33 + x34;
1544auto x38 = cell[17] - cell[8];
1545auto x39 = x28 + x38;
1546auto x40 = cell[18] - cell[9];
1548auto x42 = x41 + cell[11] - cell[14] + cell[5];
1549auto x43 = x39 + x40 + x42;
1552auto x46 = x29 + x38;
1554auto x48 = -cell[18] + cell[9];
1555auto x49 = x47 + x48;
1556auto x50 = x21 - cell[16];
1557auto x51 = x46 + x49 + x50;
1560auto x54 = x45 + x53 + V{-1};
1561auto x55 = x37 + x54;
1562auto x56 = V{1} / (x25);
1563auto x57 = -x56*(x23 + V{-1}) + V{1};
1564auto x58 = x24 + V{1};
1566auto x60 = 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};
1567auto x61 = V{3}*cell[14];
1568auto x62 = V{3}*cell[16];
1569auto x63 = V{3}*cell[5];
1570auto x64 = V{3}*cell[7];
1571auto x65 = V{3}*cell[13] - V{3}*cell[4];
1572auto x66 = V{3}*cell[15] - V{3}*cell[6];
1573auto x67 = x56*(x61 + x62 - x63 - x64 + x65 + x66 + V{3}*cell[10] - V{3}*cell[1]);
1576auto x70 = x54 + x67 - x69;
1577auto x71 = V{0.0555555555555556}*x59;
1578auto x72 = V{3}*cell[18];
1579auto x73 = V{3}*cell[9];
1580auto x74 = V{3}*cell[17] - V{3}*cell[8];
1581auto x75 = x56*(-x61 + x63 + x65 + x72 - x73 + x74 + V{3}*cell[11] - V{3}*cell[2]);
1583auto x77 = x37 + V{-1};
1584auto x78 = x53 + x75 - x76 + x77;
1585auto x79 = x56*(-x62 + x64 + x66 - x72 + x73 + x74 + V{3}*cell[12] - V{3}*cell[3]);
1587auto x81 = x45 + x77 + x79 - x80;
1588auto x82 = 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};
1589auto x83 = V{4.5}*x26;
1590auto x84 = x33 + cell[10];
1591auto x85 = x40 + x41 + x46 + x84 + cell[11] + V{2}*cell[13] - V{2}*cell[4];
1592auto x86 = x83*(x85*x85);
1593auto x87 = x55 + x67;
1594auto x88 = x75 - x86 + x87;
1595auto x89 = V{0.0277777777777778}*x59;
1597auto x91 = -cell[17] + cell[8];
1598auto x92 = x29 + x48 + x84 + x91 - cell[11] + V{2}*cell[14] + cell[2] - V{2}*cell[5];
1600auto x94 = -x83*x93*x93 + x87 + x90;
1601auto x95 = x31 + x34;
1602auto x96 = x39 + x49 + x95 + cell[12] + V{2}*cell[15] - V{2}*cell[6];
1603auto x97 = x83*(x96*x96);
1604auto x98 = x79 + x87 - x97;
1606auto x100 = x28 - cell[12] + cell[3];
1607auto x101 = x100 + x40 + x91 + x95 + V{2}*cell[16] - V{2}*cell[7];
1609auto x103 = -x83*x102*x102 + x87 + x99;
1610auto x104 = x30 + x42 + x47 + x50 + V{2}*cell[17] - V{2}*cell[8];
1611auto x105 = x83*(x104*x104);
1612auto x106 = x55 + x75;
1613auto x107 = -x105 + x106 + x79;
1614auto x108 = x100 + x32 + x42 - cell[15] + V{2}*cell[18] + cell[6] - V{2}*cell[9];
1616auto x110 = x106 - x83*x109*x109 + x99;
1618auto x112 = V{1} - x53;
1619auto x113 = x111 + x112;
1620auto x114 = x113 + x67;
1621auto x115 = x114 + x69;
1623auto x117 = x116 + x75;
1624auto x118 = x112 + x117 + x76;
1625auto x119 = x116 + x79;
1626auto x120 = x111 + x119 + x80 + V{1};
1627auto x121 = x114 + x117 + x86;
1629auto x123 = x106 + x122 - x83*x92*x92;
1630auto x124 = x114 + x119 + x97;
1631auto x125 = x55 + x79;
1632auto x126 = x122 + x125 - x83*x101*x101;
1633auto x127 = x105 + x113 + x117 + x79;
1634auto x128 = x125 - x83*x108*x108 + x90;
1635auto x0 = -x19*(x55*(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}) + cell[0] + V{0.333333333333333}) - V{0.333333333333333}*x55*x59 + V{-0.333333333333333};
1636auto x1 = -x19*(x60*x70 + cell[1] + V{0.0555555555555556}) - x70*x71 + V{-0.0555555555555556};
1637auto x2 = -x19*(x60*x78 + cell[2] + V{0.0555555555555556}) - x71*x78 + V{-0.0555555555555556};
1638auto x3 = -x19*(x60*x81 + cell[3] + V{0.0555555555555556}) - x71*x81 + V{-0.0555555555555556};
1639auto x4 = -x19*(x82*x88 + cell[4] + V{0.0277777777777778}) - x88*x89 + V{-0.0277777777777778};
1640auto x5 = -x19*(x82*x94 + cell[5] + V{0.0277777777777778}) - x89*x94 + V{-0.0277777777777778};
1641auto x6 = -x19*(x82*x98 + cell[6] + V{0.0277777777777778}) - x89*x98 + V{-0.0277777777777778};
1642auto x7 = -x103*x89 - x19*(x103*x82 + cell[7] + V{0.0277777777777778}) + V{-0.0277777777777778};
1643auto x8 = -x107*x89 - x19*(x107*x82 + cell[8] + V{0.0277777777777778}) + V{-0.0277777777777778};
1644auto x9 = -x110*x89 - x19*(x110*x82 + cell[9] + V{0.0277777777777778}) + V{-0.0277777777777778};
1645auto x10 = V{0.0555555555555556}*x115*x57*x58 - x19*(-x115*x60 + cell[10] + V{0.0555555555555556}) + V{-0.0555555555555556};
1646auto x11 = V{0.0555555555555556}*x118*x57*x58 - x19*(-x118*x60 + cell[11] + V{0.0555555555555556}) + V{-0.0555555555555556};
1647auto x12 = V{0.0555555555555556}*x120*x57*x58 - x19*(-x120*x60 + cell[12] + V{0.0555555555555556}) + V{-0.0555555555555556};
1648auto x13 = V{0.0277777777777778}*x121*x57*x58 - x19*(-x121*x82 + cell[13] + V{0.0277777777777778}) + V{-0.0277777777777778};
1649auto x14 = -x123*x89 - x19*(x123*x82 + cell[14] + V{0.0277777777777778}) + V{-0.0277777777777778};
1650auto x15 = V{0.0277777777777778}*x124*x57*x58 - x19*(-x124*x82 + cell[15] + V{0.0277777777777778}) + V{-0.0277777777777778};
1651auto x16 = -x126*x89 - x19*(x126*x82 + cell[16] + V{0.0277777777777778}) + V{-0.0277777777777778};
1652auto x17 = V{0.0277777777777778}*x127*x57*x58 - x19*(-x127*x82 + cell[17] + V{0.0277777777777778}) + V{-0.0277777777777778};
1653auto x18 = -x128*x89 - x19*(x128*x82 + cell[18] + V{0.0277777777777778}) + V{-0.0277777777777778};
1673return { -x23 + x24 + V{2}, V{1}*x26*(x36 + x44 + x52) };
1678template <
typename... FIELDS>
1679struct ConstRhoBGK::type<descriptors::D3Q27<FIELDS...>,
momenta::BulkTuple,equilibria::SecondOrder> {
1681template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
1684auto x31 =
parameters.template get<olb::statistics::AVERAGE_RHO>();
1685auto x30 =
parameters.template get<olb::descriptors::OMEGA>();
1686auto x27 = x30 + V{-1};
1687auto x28 = cell[8] + cell[9];
1688auto x29 = cell[15] + cell[21];
1689auto x32 = cell[11] + cell[26];
1690auto x33 = x28 + x29 + x32 + cell[0] + cell[10] + cell[12] + cell[13] + cell[14] + cell[16] + cell[17] + cell[18] + cell[19] + cell[1] + cell[20] + cell[22] + cell[23] + cell[24] + cell[25] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + cell[7];
1691auto x34 = x33 + V{1};
1692auto x35 = V{1} / ((x34)*(x34));
1693auto x36 = V{1.5}*x35;
1694auto x37 = -cell[17];
1695auto x38 = -cell[19];
1696auto x39 = x37 + x38 + cell[4] + cell[6];
1697auto x40 = -cell[24];
1698auto x41 = cell[10] - cell[23];
1699auto x42 = x40 + x41 + cell[11];
1700auto x43 = cell[12] - cell[25];
1701auto x44 = -cell[14];
1702auto x45 = -cell[20] + cell[7];
1703auto x46 = x44 + x45 + cell[1];
1704auto x47 = -cell[18] + cell[5];
1705auto x48 = cell[13] - cell[26];
1706auto x49 = x39 + x42 + x43 + x46 + x47 + x48;
1710auto x53 = -cell[13];
1711auto x54 = -cell[21];
1712auto x55 = x53 + x54 + cell[26] + cell[8];
1713auto x56 = -cell[22];
1714auto x57 = x37 + cell[4];
1715auto x58 = x56 + x57 + cell[9];
1716auto x59 = -cell[15];
1717auto x60 = x59 + cell[18] + cell[2] - cell[5];
1718auto x61 = -cell[12] + cell[25];
1719auto x62 = x42 + x55 + x58 + x60 + x61;
1723auto x66 = -cell[16];
1724auto x67 = x43 + x66 + cell[3];
1726auto x69 = x38 + cell[6];
1727auto x70 = x68 + x69 + cell[22];
1728auto x71 = cell[20] - cell[7];
1729auto x72 = x41 - cell[11] + cell[24];
1730auto x73 = x55 + x67 + x70 + x71 + x72;
1734auto x77 = x65 + x76 + V{-1};
1735auto x78 = x52 + x77;
1736auto x79 = V{1} / (x34);
1737auto x80 = -x79*(x31 + V{-1}) + V{1};
1738auto x81 = x33 + V{1};
1740auto x83 = V{0.0740740740740741}*cell[0] + V{0.0740740740740741}*cell[10] + V{0.0740740740740741}*cell[11] + V{0.0740740740740741}*cell[12] + V{0.0740740740740741}*cell[13] + V{0.0740740740740741}*cell[14] + V{0.0740740740740741}*cell[15] + V{0.0740740740740741}*cell[16] + V{0.0740740740740741}*cell[17] + V{0.0740740740740741}*cell[18] + V{0.0740740740740741}*cell[19] + V{0.0740740740740741}*cell[1] + V{0.0740740740740741}*cell[20] + V{0.0740740740740741}*cell[21] + V{0.0740740740740741}*cell[22] + V{0.0740740740740741}*cell[23] + V{0.0740740740740741}*cell[24] + V{0.0740740740740741}*cell[25] + V{0.0740740740740741}*cell[26] + V{0.0740740740740741}*cell[2] + V{0.0740740740740741}*cell[3] + V{0.0740740740740741}*cell[4] + V{0.0740740740740741}*cell[5] + V{0.0740740740740741}*cell[6] + V{0.0740740740740741}*cell[7] + V{0.0740740740740741}*cell[8] + V{0.0740740740740741}*cell[9] + V{0.0740740740740741};
1741auto x84 = V{3}*cell[5];
1742auto x85 = V{3}*cell[7];
1743auto x86 = V{3}*cell[13];
1744auto x87 = V{3}*cell[18];
1745auto x88 = V{3}*cell[20];
1746auto x89 = V{3}*cell[26];
1747auto x90 = V{3}*cell[10];
1748auto x91 = V{3}*cell[11];
1749auto x92 = -V{3}*cell[23];
1750auto x93 = V{3}*cell[24];
1751auto x94 = x90 + x91 + x92 - x93 - V{3}*cell[17] + V{3}*cell[4];
1752auto x95 = V{3}*cell[12];
1753auto x96 = V{3}*cell[25];
1754auto x97 = x95 - x96 - V{3}*cell[19] + V{3}*cell[6];
1755auto x98 = x84 + x85 + x86 - x87 - x88 - x89 + x94 + x97 - V{3}*cell[14] + V{3}*cell[1];
1757auto x100 = V{3}*x35;
1758auto x101 = -x100*x51 + x77 + x99;
1759auto x102 = V{0.0740740740740741}*x82;
1760auto x103 = V{3}*cell[9];
1761auto x104 = V{3}*cell[22];
1762auto x105 = -x86 + x89 - V{3}*cell[21] + V{3}*cell[8];
1763auto x106 = x103 - x104 + x105 - x84 + x87 + x94 - x95 + x96 - V{3}*cell[15] + V{3}*cell[2];
1764auto x107 = -x106*x79;
1765auto x108 = x52 + V{-1};
1766auto x109 = -x100*x64 + x107 + x108 + x76;
1767auto x110 = -x103 + x104 + x105 - x85 + x88 + x90 - x91 + x92 + x93 + x97 - V{3}*cell[16] + V{3}*cell[3];
1768auto x111 = -x110*x79;
1769auto x112 = -x100*x75 + x108 + x111 + x65;
1770auto x113 = V{0.0185185185185185}*cell[0] + V{0.0185185185185185}*cell[10] + V{0.0185185185185185}*cell[11] + V{0.0185185185185185}*cell[12] + V{0.0185185185185185}*cell[13] + V{0.0185185185185185}*cell[14] + V{0.0185185185185185}*cell[15] + V{0.0185185185185185}*cell[16] + V{0.0185185185185185}*cell[17] + V{0.0185185185185185}*cell[18] + V{0.0185185185185185}*cell[19] + V{0.0185185185185185}*cell[1] + V{0.0185185185185185}*cell[20] + V{0.0185185185185185}*cell[21] + V{0.0185185185185185}*cell[22] + V{0.0185185185185185}*cell[23] + V{0.0185185185185185}*cell[24] + V{0.0185185185185185}*cell[25] + V{0.0185185185185185}*cell[26] + V{0.0185185185185185}*cell[2] + V{0.0185185185185185}*cell[3] + V{0.0185185185185185}*cell[4] + V{0.0185185185185185}*cell[5] + V{0.0185185185185185}*cell[6] + V{0.0185185185185185}*cell[7] + V{0.0185185185185185}*cell[8] + V{0.0185185185185185}*cell[9] + V{0.0185185185185185};
1771auto x114 = V{4.5}*x35;
1772auto x115 = V{2}*cell[11] - V{2}*cell[24];
1773auto x116 = V{2}*cell[10] - V{2}*cell[23];
1774auto x117 = x116 + x54;
1775auto x118 = x59 + cell[2];
1776auto x119 = x118 - V{2}*cell[17] + V{2}*cell[4];
1777auto x120 = x115 + x117 + x119 + x28 + x46 + x56 + x69;
1779auto x122 = x78 + x99;
1780auto x123 = x107 + x122;
1781auto x124 = -x114*x121*x121 + x123;
1782auto x125 = V{0.0185185185185185}*x82;
1783auto x126 = V{2}*cell[25];
1784auto x127 = V{2}*cell[12];
1785auto x128 = -x126 + x127;
1786auto x129 = V{2}*cell[26];
1787auto x130 = V{2}*cell[13];
1788auto x131 = -x129 + x130 - cell[8];
1789auto x132 = V{2}*cell[18];
1790auto x133 = V{2}*cell[5];
1791auto x134 = -x132 + x133 - cell[2];
1792auto x135 = x128 + x131 + x134 + x29 + x46 + x70;
1794auto x137 = x122 + x136;
1795auto x138 = -x114*x135*x135 + x137;
1796auto x139 = x44 + cell[1];
1797auto x140 = x139 + x47;
1798auto x141 = x66 + cell[3];
1799auto x142 = -V{2}*cell[19] + V{2}*cell[6];
1800auto x143 = x141 + x142;
1801auto x144 = x117 + x128 + x140 + x143 + x57 + x68 + cell[22] + cell[8];
1803auto x146 = x111 - x114*x145*x145 + x122;
1805auto x148 = -cell[3];
1806auto x149 = x115 + x148 + cell[16];
1807auto x150 = V{2}*cell[20];
1808auto x151 = V{2}*cell[7];
1809auto x152 = -x150 + x151;
1810auto x153 = x131 + x140 + x149 + x152 + x58 + cell[21];
1811auto x154 = -x114*x153*x153 + x122 + x147;
1812auto x155 = -V{2}*cell[21] + V{2}*cell[8];
1813auto x156 = x141 + x155;
1814auto x157 = x116 + x129 - x130 + x156 + x39 + x60 + x71;
1816auto x159 = x107 + x78;
1817auto x160 = x111 + x159;
1818auto x161 = -x114*x158*x158 + x160;
1819auto x162 = V{2}*cell[22];
1820auto x163 = V{2}*cell[9];
1821auto x164 = -x162 + x163;
1822auto x165 = x126 - x127 + x149 + x164 + x45 + x57 + x60 + cell[19] - cell[6];
1823auto x166 = -x114*x165*x165 + x147 + x159;
1824auto x167 = V{0.00462962962962963}*cell[0] + V{0.00462962962962963}*cell[10] + V{0.00462962962962963}*cell[11] + V{0.00462962962962963}*cell[12] + V{0.00462962962962963}*cell[13] + V{0.00462962962962963}*cell[14] + V{0.00462962962962963}*cell[15] + V{0.00462962962962963}*cell[16] + V{0.00462962962962963}*cell[17] + V{0.00462962962962963}*cell[18] + V{0.00462962962962963}*cell[19] + V{0.00462962962962963}*cell[1] + V{0.00462962962962963}*cell[20] + V{0.00462962962962963}*cell[21] + V{0.00462962962962963}*cell[22] + V{0.00462962962962963}*cell[23] + V{0.00462962962962963}*cell[24] + V{0.00462962962962963}*cell[25] + V{0.00462962962962963}*cell[26] + V{0.00462962962962963}*cell[2] + V{0.00462962962962963}*cell[3] + V{0.00462962962962963}*cell[4] + V{0.00462962962962963}*cell[5] + V{0.00462962962962963}*cell[6] + V{0.00462962962962963}*cell[7] + V{0.00462962962962963}*cell[8] + V{0.00462962962962963}*cell[9] + V{0.00462962962962963};
1825auto x168 = x119 + x139;
1826auto x169 = x142 + x155 + x168 + x32 + x40 + x53 + x67 + V{3}*cell[10] - V{3}*cell[23];
1828auto x171 = x111 - x114*x170*x170 + x123;
1829auto x172 = V{0.00462962962962963}*x82;
1830auto x173 = x148 + x152 + x164 + x168 + x41 + x48 + x61 + V{3}*cell[11] + cell[16] - V{3}*cell[24];
1831auto x174 = -x114*x173*x173 + x123 + x147;
1832auto x175 = x134 + x139 + x143 + x162 - x163 + x48 + x72 + V{3}*cell[12] + cell[15] - V{3}*cell[25];
1833auto x176 = x111 - x114*x175*x175 + x137;
1835auto x178 = x118 + x132 - x133 + x150 - x151 + x156 + x61 + x72 - V{3}*cell[13] + cell[14] - cell[1] + V{3}*cell[26];
1837auto x180 = x110*x79;
1839auto x182 = x181*x36;
1841auto x184 = x183*x36 + V{-1};
1842auto x185 = x182 + x184;
1843auto x186 = x106*x79;
1845auto x188 = x187*x36;
1846auto x189 = x186 + x188;
1847auto x190 = x180 + x185 + x189;
1848auto x191 = x177 - x190 + V{4.5}*x35*(x179*x179);
1849auto x192 = x177 + x185;
1850auto x193 = V{3}*x187*x35 - x192;
1851auto x194 = V{3}*x181*x35 - x184 - x189;
1852auto x195 = x180 + x188;
1853auto x196 = -x182 + V{3}*x183*x35 - x195 + V{1};
1854auto x197 = x189 + x192;
1855auto x198 = -x197 + V{4.5}*x35*(x120*x120);
1858auto x201 = -x114*x200*x200 + x159 + x199;
1859auto x202 = x192 + x195;
1860auto x203 = -x202 + V{4.5}*x35*(x144*x144);
1862auto x205 = x111 + x78;
1863auto x206 = -x114*x204*x204 + x199 + x205;
1864auto x207 = -x190 + V{4.5}*x35*(x157*x157);
1866auto x209 = -x114*x208*x208 + x136 + x205;
1867auto x210 = -x180 - x197 + V{4.5}*x35*(x169*x169);
1869auto x212 = x180 - x197 + V{4.5}*x35*(x211*x211);
1871auto x214 = x186 - x202 + V{4.5}*x35*(x213*x213);
1872auto x215 = -x114*x178*x178 + x160 + x199;
1873auto x0 = -x27*(x78*(V{0.296296296296296}*cell[0] + V{0.296296296296296}*cell[10] + V{0.296296296296296}*cell[11] + V{0.296296296296296}*cell[12] + V{0.296296296296296}*cell[13] + V{0.296296296296296}*cell[14] + V{0.296296296296296}*cell[15] + V{0.296296296296296}*cell[16] + V{0.296296296296296}*cell[17] + V{0.296296296296296}*cell[18] + V{0.296296296296296}*cell[19] + V{0.296296296296296}*cell[1] + V{0.296296296296296}*cell[20] + V{0.296296296296296}*cell[21] + V{0.296296296296296}*cell[22] + V{0.296296296296296}*cell[23] + V{0.296296296296296}*cell[24] + V{0.296296296296296}*cell[25] + V{0.296296296296296}*cell[26] + V{0.296296296296296}*cell[2] + V{0.296296296296296}*cell[3] + V{0.296296296296296}*cell[4] + V{0.296296296296296}*cell[5] + V{0.296296296296296}*cell[6] + V{0.296296296296296}*cell[7] + V{0.296296296296296}*cell[8] + V{0.296296296296296}*cell[9] + V{0.296296296296296}) + cell[0] + V{0.296296296296296}) - V{0.296296296296296}*x78*x82 + V{-0.296296296296296};
1874auto x1 = -x101*x102 - x27*(x101*x83 + cell[1] + V{0.0740740740740741}) + V{-0.0740740740740741};
1875auto x2 = -x102*x109 - x27*(x109*x83 + cell[2] + V{0.0740740740740741}) + V{-0.0740740740740741};
1876auto x3 = -x102*x112 - x27*(x112*x83 + cell[3] + V{0.0740740740740741}) + V{-0.0740740740740741};
1877auto x4 = -x124*x125 - x27*(x113*x124 + cell[4] + V{0.0185185185185185}) + V{-0.0185185185185185};
1878auto x5 = -x125*x138 - x27*(x113*x138 + cell[5] + V{0.0185185185185185}) + V{-0.0185185185185185};
1879auto x6 = -x125*x146 - x27*(x113*x146 + cell[6] + V{0.0185185185185185}) + V{-0.0185185185185185};
1880auto x7 = -x125*x154 - x27*(x113*x154 + cell[7] + V{0.0185185185185185}) + V{-0.0185185185185185};
1881auto x8 = -x125*x161 - x27*(x113*x161 + cell[8] + V{0.0185185185185185}) + V{-0.0185185185185185};
1882auto x9 = -x125*x166 - x27*(x113*x166 + cell[9] + V{0.0185185185185185}) + V{-0.0185185185185185};
1883auto x10 = -x171*x172 - x27*(x167*x171 + cell[10] + V{0.00462962962962963}) + V{-0.00462962962962963};
1884auto x11 = -x172*x174 - x27*(x167*x174 + cell[11] + V{0.00462962962962963}) + V{-0.00462962962962963};
1885auto x12 = -x172*x176 - x27*(x167*x176 + cell[12] + V{0.00462962962962963}) + V{-0.00462962962962963};
1886auto x13 = V{0.00462962962962963}*x191*x80*x81 - x27*(-x167*x191 + cell[13] + V{0.00462962962962963}) + V{-0.00462962962962963};
1887auto x14 = V{0.0740740740740741}*x193*x80*x81 - x27*(-x193*x83 + cell[14] + V{0.0740740740740741}) + V{-0.0740740740740741};
1888auto x15 = V{0.0740740740740741}*x194*x80*x81 - x27*(-x194*x83 + cell[15] + V{0.0740740740740741}) + V{-0.0740740740740741};
1889auto x16 = V{0.0740740740740741}*x196*x80*x81 - x27*(-x196*x83 + cell[16] + V{0.0740740740740741}) + V{-0.0740740740740741};
1890auto x17 = V{0.0185185185185185}*x198*x80*x81 - x27*(-x113*x198 + cell[17] + V{0.0185185185185185}) + V{-0.0185185185185185};
1891auto x18 = -x125*x201 - x27*(x113*x201 + cell[18] + V{0.0185185185185185}) + V{-0.0185185185185185};
1892auto x19 = V{0.0185185185185185}*x203*x80*x81 - x27*(-x113*x203 + cell[19] + V{0.0185185185185185}) + V{-0.0185185185185185};
1893auto x20 = -x125*x206 - x27*(x113*x206 + cell[20] + V{0.0185185185185185}) + V{-0.0185185185185185};
1894auto x21 = V{0.0185185185185185}*x207*x80*x81 - x27*(-x113*x207 + cell[21] + V{0.0185185185185185}) + V{-0.0185185185185185};
1895auto x22 = -x125*x209 - x27*(x113*x209 + cell[22] + V{0.0185185185185185}) + V{-0.0185185185185185};
1896auto x23 = V{0.00462962962962963}*x210*x80*x81 - x27*(-x167*x210 + cell[23] + V{0.00462962962962963}) + V{-0.00462962962962963};
1897auto x24 = V{0.00462962962962963}*x212*x80*x81 - x27*(-x167*x212 + cell[24] + V{0.00462962962962963}) + V{-0.00462962962962963};
1898auto x25 = V{0.00462962962962963}*x214*x80*x81 - x27*(-x167*x214 + cell[25] + V{0.00462962962962963}) + V{-0.00462962962962963};
1899auto x26 = -x172*x215 - x27*(x167*x215 + cell[26] + V{0.00462962962962963}) + V{-0.00462962962962963};
1927return { -x31 + x33 + V{2}, V{1}*x35*(x181 + x183 + x187) };
1933template <
typename... FIELDS>
1934struct RLB::type<descriptors::D2Q5<FIELDS...>,
momenta::BulkTuple,equilibria::SecondOrder> {
1936template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
1939auto x7 =
parameters.template get<olb::descriptors::OMEGA>();
1940auto x5 = x7 + V{-1};
1941auto x6 = V{0.333333333333333}*cell[0];
1942auto x8 = cell[0] + cell[1] + cell[2] + cell[3] + cell[4] + V{1};
1943auto x9 = V{1} / (x8);
1944auto x10 = V{0.5}*x9;
1945auto x11 = cell[1] - cell[3];
1948auto x14 = cell[2] - cell[4];
1952auto x18 = V{1} / ((x8)*(x8));
1953auto x19 = V{1.5}*x18;
1954auto x20 = x13*x19 + V{-1};
1955auto x21 = V{0.166666666666667}*cell[0] + V{0.166666666666667}*cell[1] + V{0.166666666666667}*cell[2] + V{0.166666666666667}*cell[3] + V{0.166666666666667}*cell[4] + V{0.166666666666667};
1956auto x22 = x9*(V{3}*cell[1] - V{3}*cell[3]);
1961auto x27 = V{0.0833333333333333}*cell[0];
1962auto x28 = V{0.25}*x9;
1963auto x29 = x5*(x10*x24 - x25*x28 + x27 - V{0.416666666666667}*cell[1] + V{0.333333333333333}*cell[2] - V{0.416666666666667}*cell[3] + V{0.333333333333333}*cell[4]) + V{-0.166666666666667};
1964auto x30 = x27 + V{0.333333333333333}*cell[1] - V{0.416666666666667}*cell[2] + V{0.333333333333333}*cell[3] - V{0.416666666666667}*cell[4];
1965auto x31 = V{3}*cell[2] - V{3}*cell[4];
1966auto x0 = x5*(-x10*x13 - x17 - x6 + V{0.166666666666667}*cell[1] + V{0.166666666666667}*cell[2] + V{0.166666666666667}*cell[3] + V{0.166666666666667}*cell[4]) - (x16*x19 + x20)*(x6 + V{0.333333333333333}*cell[1] + V{0.333333333333333}*cell[2] + V{0.333333333333333}*cell[3] + V{0.333333333333333}*cell[4] + V{0.333333333333333}) + V{-0.333333333333333};
1967auto x1 = x21*(x22 + x23*x24 - x26 + V{1}) + x29;
1968auto x2 = -x21*(-x16*x23 + x20 - x31*x9) + x5*(-x13*x28 + x17 + x30) + V{-0.166666666666667};
1969auto x3 = x21*(V{3}*x18*x24 - x22 - x26 + V{1}) + x29;
1970auto x4 = -x21*(x19*x24 - x23*x25 + x31*x9 + V{-1}) + x5*(x10*x25 - x24*x28 + x30) + V{-0.166666666666667};
1976return { x8, V{1}*x18*(x24 + x25) };
1981template <
typename... FIELDS>
1982struct RLB::type<descriptors::D2Q9<FIELDS...>,
momenta::BulkTuple,equilibria::SecondOrder> {
1984template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
1987auto x11 =
parameters.template get<olb::descriptors::OMEGA>();
1988auto x9 = x11 + V{-1};
1989auto x10 = V{0.444444444444444}*cell[0];
1990auto x12 = cell[0] + cell[1] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + cell[7] + cell[8];
1991auto x13 = x12 + V{1};
1992auto x14 = V{1} / (x13);
1993auto x15 = V{0.666666666666667}*x14;
1994auto x16 = cell[1] - cell[5];
1995auto x17 = cell[2] - cell[6];
1996auto x18 = x16 + x17 + cell[3] - cell[7];
1999auto x21 = -cell[4] + cell[8];
2000auto x22 = x16 + x21 - cell[3] + cell[7];
2002auto x24 = V{1} / ((x13)*(x13));
2003auto x25 = V{1.5}*x24;
2005auto x27 = x20*x25 + V{-1};
2006auto x28 = x26 + x27;
2007auto x29 = x12 + V{1};
2008auto x30 = V{4.5}*x24;
2009auto x31 = x17 + x21 + V{2}*cell[1] - V{2}*cell[5];
2011auto x33 = V{3}*cell[3];
2012auto x34 = V{3}*cell[7];
2013auto x35 = V{3}*cell[1] - V{3}*cell[5];
2014auto x36 = x33 - x34 + x35 + V{3}*cell[2] - V{3}*cell[6];
2016auto x38 = -x26 + x37 + V{1};
2017auto x39 = x14*(-x33 + x34 + x35 - V{3}*cell[4] + V{3}*cell[8]);
2020auto x42 = x39 - x41;
2021auto x43 = V{0.0833333333333333}*x14;
2023auto x45 = V{0.25}*x14*x22;
2025auto x47 = V{0.0555555555555556}*cell[0];
2026auto x48 = V{0.0277777777777778}*cell[2];
2027auto x49 = V{0.0277777777777778}*cell[4];
2028auto x50 = V{0.0277777777777778}*cell[6];
2029auto x51 = V{0.0277777777777778}*cell[8];
2031auto x53 = x47 - x48 - x49 - x50 - x51 + x52;
2032auto x54 = x9*(-x44 - x46 - x53 + V{0.361111111111111}*cell[1] - V{0.138888888888889}*cell[3] + V{0.361111111111111}*cell[5] - V{0.138888888888889}*cell[7]) + V{0.0277777777777778};
2034auto x56 = V{0.166666666666667}*x14;
2035auto x57 = V{0.333333333333333}*x14;
2036auto x58 = -V{0.0555555555555556}*cell[0] + V{0.111111111111111}*cell[1] + V{0.111111111111111}*cell[3] + V{0.111111111111111}*cell[5] + V{0.111111111111111}*cell[7];
2037auto x59 = x9*(x23*x56 - x40*x57 + x58 + V{0.277777777777778}*cell[2] - V{0.222222222222222}*cell[4] + V{0.277777777777778}*cell[6] - V{0.222222222222222}*cell[8]) + V{0.111111111111111};
2038auto x60 = V{0.361111111111111}*cell[3];
2039auto x61 = V{0.361111111111111}*cell[7];
2040auto x62 = V{0.0277777777777778}*cell[0] + 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};
2041auto x63 = x17 + V{2}*cell[3] + cell[4] - V{2}*cell[7] - cell[8];
2044auto x66 = x9*(-x23*x57 + x40*x56 + x58 - V{0.222222222222222}*cell[2] + V{0.277777777777778}*cell[4] - V{0.222222222222222}*cell[6] + V{0.277777777777778}*cell[8]) + V{0.111111111111111};
2045auto x67 = x26 + x37 + V{-1};
2046auto x68 = x41 + x67;
2047auto x0 = -x28*(x10 + V{0.444444444444444}*cell[1] + V{0.444444444444444}*cell[2] + V{0.444444444444444}*cell[3] + V{0.444444444444444}*cell[4] + V{0.444444444444444}*cell[5] + V{0.444444444444444}*cell[6] + V{0.444444444444444}*cell[7] + V{0.444444444444444}*cell[8] + V{0.444444444444444}) + x9*(-x10 - x15*x20 - x15*x23 + V{0.888888888888889}*cell[1] + V{0.222222222222222}*cell[2] + V{0.888888888888889}*cell[3] + V{0.222222222222222}*cell[4] + V{0.888888888888889}*cell[5] + V{0.222222222222222}*cell[6] + V{0.888888888888889}*cell[7] + V{0.222222222222222}*cell[8]) + V{-0.444444444444444};
2048auto x1 = V{0.0277777777777778}*x29*(x30*(x32*x32) + x38 + x42) - x54;
2049auto x2 = V{0.111111111111111}*x29*(x38 + x40*x55) - x59;
2050auto x3 = -x62*(-x14*x36 + x28 - x30*x64*x64 + x39) + x9*(x19*x45 + x20*x43 + x53 - x60 - x61 + V{0.138888888888889}*cell[1] + V{0.138888888888889}*cell[5]) + V{-0.0277777777777778};
2051auto x4 = -x66 - (x27 + x39 - x65)*(V{0.111111111111111}*cell[0] + V{0.111111111111111}*cell[1] + V{0.111111111111111}*cell[2] + V{0.111111111111111}*cell[3] + V{0.111111111111111}*cell[4] + V{0.111111111111111}*cell[5] + V{0.111111111111111}*cell[6] + V{0.111111111111111}*cell[7] + V{0.111111111111111}*cell[8] + V{0.111111111111111});
2052auto x5 = -V{0.0277777777777778}*x29*(-V{4.5}*x24*x31*x31 + x39 + x68) - x54;
2053auto x6 = V{0.111111111111111}*x29*(V{3}*x24*x40 - x67) - x59;
2054auto x7 = -x62*(-V{4.5}*x24*x63*x63 - x39 + x68) + x9*(x44 - x46 + x47 - x48 - x49 - x50 - x51 + x52 - x60 - x61 + V{0.138888888888889}*cell[1] + V{0.138888888888889}*cell[5]) + V{-0.0277777777777778};
2055auto x8 = V{0.111111111111111}*x29*(x42 + x65 + V{1}) - x66;
2065return { x13, V{1}*x24*(x23 + x40) };
2070template <
typename... FIELDS>
2071struct RLB::type<descriptors::D3Q7<FIELDS...>,
momenta::BulkTuple,equilibria::SecondOrder> {
2073template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
2076auto x10 =
parameters.template get<olb::descriptors::OMEGA>();
2077auto x7 = x10 + V{-1};
2078auto x8 = V{0.125}*cell[1];
2079auto x9 = V{0.125}*cell[2];
2080auto x11 = V{0.125}*cell[3];
2081auto x12 = V{0.125}*cell[4];
2082auto x13 = V{0.125}*cell[5];
2083auto x14 = V{0.125}*cell[6];
2084auto x15 = cell[0] + cell[1] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + V{1};
2085auto x16 = V{1} / (x15);
2086auto x17 = V{0.5}*x16;
2087auto x18 = cell[1] - cell[4];
2090auto x21 = cell[2] - cell[5];
2093auto x24 = cell[3] - cell[6];
2096auto x27 = V{1} / ((x15)*(x15));
2101auto x32 = x30 + x31 + V{-1};
2102auto x33 = V{0.75}*x16;
2103auto x34 = V{0.25}*x16;
2104auto x35 = V{0.0625}*cell[0];
2105auto x36 = x35 + V{0.3125}*cell[3] + V{0.3125}*cell[6];
2106auto x37 = -x26*x34 + x36;
2107auto x38 = V{0.3125}*cell[2] + V{0.3125}*cell[5];
2108auto x39 = -x23*x34 + x38;
2109auto x40 = -V{0.6875}*cell[1] - V{0.6875}*cell[4];
2110auto x41 = x11 + x12 + x13 + x14 + x8 + x9 + V{0.125}*cell[0] + V{0.125};
2111auto x42 = V{4}*cell[1] - V{4}*cell[4];
2113auto x44 = V{0.3125}*cell[1] + V{0.3125}*cell[4];
2114auto x45 = -x20*x34 + x44;
2115auto x46 = -V{0.6875}*cell[2] - V{0.6875}*cell[5];
2116auto x47 = V{4}*cell[2] - V{4}*cell[5];
2117auto x48 = x29 + V{-1};
2118auto x49 = x35 - V{0.6875}*cell[3] - V{0.6875}*cell[6];
2119auto x50 = V{4}*cell[3] - V{4}*cell[6];
2122auto x53 = -x34*x52 + x36;
2124auto x55 = -x34*x54 + x38;
2126auto x57 = x28*x52 + V{-1};
2127auto x58 = -x34*x51 + x44;
2129auto x0 = x7*(x11 + x12 + x13 + x14 - x17*x20 - x17*x23 - x17*x26 + x8 + x9 - V{0.375}*cell[0]) - (x29 + x32)*(V{0.25}*cell[0] + V{0.25}*cell[1] + V{0.25}*cell[2] + V{0.25}*cell[3] + V{0.25}*cell[4] + V{0.25}*cell[5] + V{0.25}*cell[6] + V{0.25}) + V{-0.25};
2130auto x1 = -x41*(-x16*x42 - x20*x43 + x32) + x7*(x20*x33 + x37 + x39 + x40) + V{-0.125};
2131auto x2 = -x41*(-x16*x47 - x23*x43 + x31 + x48) + x7*(x23*x33 + x37 + x45 + x46) + V{-0.125};
2132auto x3 = -x41*(-x16*x50 - x26*x43 + x30 + x48) + x7*(x26*x33 + x39 + x45 + x49) + V{-0.125};
2133auto x4 = -x41*(x16*x42 - x43*x51 + x56 + x57) + x7*(x33*x51 + x40 + x53 + x55) + V{-0.125};
2134auto x5 = -x41*(x16*x47 - x43*x54 + x57 + x59) + x7*(x33*x54 + x46 + x53 + x58) + V{-0.125};
2135auto x6 = -x41*(x16*x50 - x43*x52 + x56 + x59 + V{-1}) + x7*(x33*x52 + x49 + x55 + x58) + V{-0.125};
2143return { x15, V{1}*x27*(x51 + x52 + x54) };
2148template <
typename... FIELDS>
2149struct RLB::type<descriptors::D3Q19<FIELDS...>,
momenta::BulkTuple,equilibria::SecondOrder> {
2151template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
2154auto x22 =
parameters.template get<olb::descriptors::OMEGA>();
2155auto x19 = x22 + V{-1};
2156auto x20 = cell[10] + cell[14];
2157auto x21 = cell[12] + cell[7];
2158auto x23 = x20 + x21 + cell[0] + cell[11] + cell[13] + cell[15] + cell[16] + cell[17] + cell[18] + cell[1] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + cell[8] + cell[9];
2159auto x24 = x23 + V{1};
2160auto x25 = V{1} / (x24);
2161auto x26 = V{0.5}*x25;
2162auto x27 = cell[13] - cell[4];
2163auto x28 = cell[15] - cell[6];
2164auto x29 = x27 + x28;
2166auto x31 = cell[16] - cell[7];
2167auto x32 = x30 + x31;
2168auto x33 = x20 - cell[5];
2169auto x34 = x29 + x32 + x33;
2171auto x36 = cell[17] - cell[8];
2172auto x37 = x27 + x36;
2173auto x38 = cell[18] - cell[9];
2175auto x40 = x39 + cell[11] - cell[14] + cell[5];
2176auto x41 = x37 + x38 + x40;
2178auto x43 = x28 + x36;
2180auto x45 = -cell[18] + cell[9];
2181auto x46 = x44 + x45;
2182auto x47 = x21 - cell[16];
2183auto x48 = x43 + x46 + x47;
2185auto x50 = V{1} / ((x24)*(x24));
2186auto x51 = V{1.5}*x50;
2190auto x55 = x53 + x54 + V{-1};
2191auto x56 = x52 + x55;
2192auto x57 = 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};
2193auto x58 = V{3}*cell[14];
2194auto x59 = V{3}*cell[16];
2195auto x60 = V{3}*cell[5];
2196auto x61 = V{3}*cell[7];
2197auto x62 = V{3}*cell[13] - V{3}*cell[4];
2198auto x63 = V{3}*cell[15] - V{3}*cell[6];
2199auto x64 = x25*(x58 + x59 - x60 - x61 + x62 + x63 + V{3}*cell[10] - V{3}*cell[1]);
2202auto x67 = V{0.166666666666667}*x25;
2203auto x68 = -V{6.93889390390723e-18}*cell[0];
2204auto x69 = V{0.0833333333333333}*x25;
2205auto x70 = -V{0.0833333333333333}*cell[12] - V{0.0833333333333333}*cell[3];
2206auto x71 = x49*x69 + x68 + x70 + V{0.0833333333333333}*cell[13] + V{0.0833333333333333}*cell[14] + V{0.0833333333333333}*cell[4] + V{0.0833333333333333}*cell[5];
2207auto x72 = -V{0.0833333333333333}*cell[11] - V{0.0833333333333333}*cell[2];
2208auto x73 = x42*x69 + x72 + V{0.0833333333333333}*cell[15] + V{0.0833333333333333}*cell[16] + V{0.0833333333333333}*cell[6] + V{0.0833333333333333}*cell[7];
2209auto x74 = x19*(-x35*x67 + x71 + x73 + V{0.166666666666667}*cell[10] - V{0.166666666666667}*cell[17] - V{0.166666666666667}*cell[18] + V{0.166666666666667}*cell[1] - V{0.166666666666667}*cell[8] - V{0.166666666666667}*cell[9]) + V{0.0555555555555556};
2210auto x75 = V{3}*cell[18];
2211auto x76 = V{3}*cell[9];
2212auto x77 = V{3}*cell[17] - V{3}*cell[8];
2213auto x78 = x25*(-x58 + x60 + x62 + x75 - x76 + x77 + V{3}*cell[11] - V{3}*cell[2]);
2215auto x80 = x52 + V{-1};
2216auto x81 = -V{0.0833333333333333}*cell[10] - V{0.0833333333333333}*cell[1];
2217auto x82 = x35*x69 + x81 + V{0.0833333333333333}*cell[17] + V{0.0833333333333333}*cell[18] + V{0.0833333333333333}*cell[8] + V{0.0833333333333333}*cell[9];
2218auto x83 = x19*(-x42*x67 + x71 + x82 + V{0.166666666666667}*cell[11] - V{0.166666666666667}*cell[15] - V{0.166666666666667}*cell[16] + V{0.166666666666667}*cell[2] - V{0.166666666666667}*cell[6] - V{0.166666666666667}*cell[7]) + V{0.0555555555555556};
2219auto x84 = x25*(-x59 + x61 + x63 - x75 + x76 + x77 + V{3}*cell[12] - V{3}*cell[3]);
2221auto x86 = x19*(-x49*x67 + x68 + x73 + x82 + V{0.166666666666667}*cell[12] - V{0.166666666666667}*cell[13] - V{0.166666666666667}*cell[14] + V{0.166666666666667}*cell[3] - V{0.166666666666667}*cell[4] - V{0.166666666666667}*cell[5]) + V{0.0555555555555556};
2222auto x87 = 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};
2223auto x88 = V{4.5}*x50;
2224auto x89 = x32 + cell[10];
2225auto x90 = x38 + x39 + x43 + x89 + cell[11] + V{2}*cell[13] - V{2}*cell[4];
2226auto x91 = x88*(x90*x90);
2227auto x92 = x56 + x64;
2228auto x93 = V{0.25}*x25*x34;
2230auto x95 = V{0.0416666666666667}*x25;
2231auto x96 = -V{0.0416666666666667}*cell[0];
2232auto x97 = V{0.0833333333333333}*x25;
2233auto x98 = -x35*x97 + x96 + 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];
2234auto x99 = -x42*x97 + 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];
2235auto x100 = x49*x95 + x70 + x98 + x99;
2236auto x101 = x19*(x100 - x94 + V{0.375}*cell[13] - V{0.125}*cell[14] + V{0.375}*cell[4] - V{0.125}*cell[5]) + V{0.0277777777777778};
2238auto x103 = -cell[17] + cell[8];
2239auto x104 = x103 + x28 + x45 + x89 - cell[11] + V{2}*cell[14] + cell[2] - V{2}*cell[5];
2241auto x106 = x19*(x100 + x94 - V{0.125}*cell[13] + V{0.375}*cell[14] - V{0.125}*cell[4] + V{0.375}*cell[5]) + V{0.0277777777777778};
2242auto x107 = x30 + x33;
2243auto x108 = x107 + x37 + x46 + cell[12] + V{2}*cell[15] - V{2}*cell[6];
2244auto x109 = x88*(x108*x108);
2246auto x111 = -x49*x97 + 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];
2247auto x112 = x111 + x42*x95 + x72 + x98;
2248auto x113 = x19*(-x110 + x112 + V{0.375}*cell[15] - V{0.125}*cell[16] + V{0.375}*cell[6] - V{0.125}*cell[7]) + V{0.0277777777777778};
2250auto x115 = x27 - cell[12] + cell[3];
2251auto x116 = x103 + x107 + x115 + x38 + V{2}*cell[16] - V{2}*cell[7];
2253auto x118 = x19*(x110 + x112 - V{0.125}*cell[15] + V{0.375}*cell[16] - V{0.125}*cell[6] + V{0.375}*cell[7]) + V{0.0277777777777778};
2254auto x119 = x29 + x40 + x44 + x47 + V{2}*cell[17] - V{2}*cell[8];
2255auto x120 = x88*(x119*x119);
2256auto x121 = x56 + x78;
2257auto x122 = V{0.25}*x25*x41*x48;
2258auto x123 = x111 + x35*x95 + x81 + x96 + x99;
2259auto x124 = x19*(-x122 + x123 + V{0.375}*cell[17] - V{0.125}*cell[18] + V{0.375}*cell[8] - V{0.125}*cell[9]) + V{0.0277777777777778};
2260auto x125 = x115 + x31 + x40 - cell[15] + V{2}*cell[18] + cell[6] - V{2}*cell[9];
2262auto x127 = x19*(x122 + x123 - V{0.125}*cell[17] + V{0.375}*cell[18] - V{0.125}*cell[8] + V{0.375}*cell[9]) + V{0.0277777777777778};
2263auto x128 = x23 + V{1};
2265auto x130 = V{1} - x54;
2266auto x131 = x129 + x130;
2267auto x132 = x131 + x64;
2269auto x134 = x133 + x78;
2270auto x135 = x133 + x84;
2272auto x137 = x56 + x84;
2273auto x0 = x19*(-x26*x35 - x26*x42 - x26*x49 - V{0.5}*cell[0] + V{4.16333634234434e-17}*cell[10] + V{4.16333634234434e-17}*cell[11] + V{4.16333634234434e-17}*cell[12] + V{0.5}*cell[13] + V{0.5}*cell[14] + V{0.5}*cell[15] + V{0.5}*cell[16] + V{0.5}*cell[17] + V{0.5}*cell[18] + V{4.16333634234434e-17}*cell[1] + V{4.16333634234434e-17}*cell[2] + V{4.16333634234434e-17}*cell[3] + V{0.5}*cell[4] + V{0.5}*cell[5] + V{0.5}*cell[6] + V{0.5}*cell[7] + V{0.5}*cell[8] + V{0.5}*cell[9]) - x56*(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};
2274auto x1 = -x57*(x55 + x64 - x66) - x74;
2275auto x2 = -x57*(x54 + x78 - x79 + x80) - x83;
2276auto x3 = -x57*(x53 + x80 + x84 - x85) - x86;
2277auto x4 = -x101 - x87*(x78 - x91 + x92);
2278auto x5 = -x106 - x87*(x102 - x88*x105*x105 + x92);
2279auto x6 = -x113 - x87*(-x109 + x84 + x92);
2280auto x7 = -x118 - x87*(x114 - x88*x117*x117 + x92);
2281auto x8 = -x124 - x87*(-x120 + x121 + x84);
2282auto x9 = -x127 - x87*(x114 + x121 - x88*x126*x126);
2283auto x10 = V{0.0555555555555556}*x128*(x132 + x66) - x74;
2284auto x11 = V{0.0555555555555556}*x128*(x130 + x134 + x79) - x83;
2285auto x12 = V{0.0555555555555556}*x128*(x129 + x135 + x85 + V{1}) - x86;
2286auto x13 = -x101 + V{0.0277777777777778}*x128*(x132 + x134 + x91);
2287auto x14 = -x106 - x87*(x121 + x136 - x88*x104*x104);
2288auto x15 = -x113 + V{0.0277777777777778}*x128*(x109 + x132 + x135);
2289auto x16 = -x118 - x87*(x136 + x137 - x88*x116*x116);
2290auto x17 = -x124 + V{0.0277777777777778}*x128*(x120 + x131 + x134 + x84);
2291auto x18 = -x127 - x87*(x102 + x137 - x88*x125*x125);
2311return { x24, V{1}*x50*(x35 + x42 + x49) };
2316template <
typename... FIELDS>
2317struct RLB::type<descriptors::D3Q27<FIELDS...>,
momenta::BulkTuple,equilibria::SecondOrder> {
2319template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
2322auto x30 =
parameters.template get<olb::descriptors::OMEGA>();
2323auto x27 = x30 + V{-1};
2324auto x28 = cell[8] + cell[9];
2325auto x29 = cell[15] + cell[21];
2326auto x31 = cell[11] + cell[26];
2327auto x32 = x28 + x29 + x31 + cell[0] + cell[10] + cell[12] + cell[13] + cell[14] + cell[16] + cell[17] + cell[18] + cell[19] + cell[1] + cell[20] + cell[22] + cell[23] + cell[24] + cell[25] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + cell[7];
2328auto x33 = x32 + V{1};
2329auto x34 = V{1} / (x33);
2330auto x35 = V{0.444444444444444}*x34;
2331auto x36 = -cell[17];
2332auto x37 = -cell[19];
2333auto x38 = x36 + x37 + cell[4] + cell[6];
2334auto x39 = -cell[24];
2335auto x40 = cell[10] - cell[23];
2336auto x41 = x39 + x40 + cell[11];
2337auto x42 = cell[12] - cell[25];
2338auto x43 = -cell[14];
2339auto x44 = -cell[20] + cell[7];
2340auto x45 = x43 + x44 + cell[1];
2341auto x46 = -cell[18] + cell[5];
2342auto x47 = cell[13] - cell[26];
2343auto x48 = x38 + x41 + x42 + x45 + x46 + x47;
2346auto x51 = -cell[13];
2347auto x52 = -cell[21];
2348auto x53 = x51 + x52 + cell[26] + cell[8];
2349auto x54 = -cell[22];
2350auto x55 = x36 + cell[4];
2351auto x56 = x54 + x55 + cell[9];
2352auto x57 = -cell[15];
2353auto x58 = x57 + cell[18] + cell[2] - cell[5];
2354auto x59 = -cell[12] + cell[25];
2355auto x60 = x41 + x53 + x56 + x58 + x59;
2358auto x63 = -cell[16];
2359auto x64 = x42 + x63 + cell[3];
2361auto x66 = x37 + cell[6];
2362auto x67 = x65 + x66 + cell[22];
2363auto x68 = cell[20] - cell[7];
2364auto x69 = x40 - cell[11] + cell[24];
2365auto x70 = x53 + x64 + x67 + x68 + x69;
2368auto x73 = V{1} / ((x33)*(x33));
2369auto x74 = V{1.5}*x73;
2373auto x78 = x76 + x77 + V{-1};
2374auto x79 = x75 + x78;
2375auto x80 = V{0.0740740740740741}*cell[0] + V{0.0740740740740741}*cell[10] + V{0.0740740740740741}*cell[11] + V{0.0740740740740741}*cell[12] + V{0.0740740740740741}*cell[13] + V{0.0740740740740741}*cell[14] + V{0.0740740740740741}*cell[15] + V{0.0740740740740741}*cell[16] + V{0.0740740740740741}*cell[17] + V{0.0740740740740741}*cell[18] + V{0.0740740740740741}*cell[19] + V{0.0740740740740741}*cell[1] + V{0.0740740740740741}*cell[20] + V{0.0740740740740741}*cell[21] + V{0.0740740740740741}*cell[22] + V{0.0740740740740741}*cell[23] + V{0.0740740740740741}*cell[24] + V{0.0740740740740741}*cell[25] + V{0.0740740740740741}*cell[26] + V{0.0740740740740741}*cell[2] + V{0.0740740740740741}*cell[3] + V{0.0740740740740741}*cell[4] + V{0.0740740740740741}*cell[5] + V{0.0740740740740741}*cell[6] + V{0.0740740740740741}*cell[7] + V{0.0740740740740741}*cell[8] + V{0.0740740740740741}*cell[9] + V{0.0740740740740741};
2376auto x81 = V{3}*cell[5];
2377auto x82 = V{3}*cell[7];
2378auto x83 = V{3}*cell[13];
2379auto x84 = V{3}*cell[18];
2380auto x85 = V{3}*cell[20];
2381auto x86 = V{3}*cell[26];
2382auto x87 = V{3}*cell[10];
2383auto x88 = V{3}*cell[11];
2384auto x89 = -V{3}*cell[23];
2385auto x90 = V{3}*cell[24];
2386auto x91 = x87 + x88 + x89 - x90 - V{3}*cell[17] + V{3}*cell[4];
2387auto x92 = V{3}*cell[12];
2388auto x93 = V{3}*cell[25];
2389auto x94 = x92 - x93 - V{3}*cell[19] + V{3}*cell[6];
2390auto x95 = x81 + x82 + x83 - x84 - x85 - x86 + x91 + x94 - V{3}*cell[14] + V{3}*cell[1];
2393auto x98 = V{0.222222222222222}*x34;
2395auto x100 = V{1.85037170770859e-17}*cell[10];
2396auto x101 = V{1.85037170770859e-17}*cell[11];
2397auto x102 = V{1.85037170770859e-17}*cell[12];
2398auto x103 = V{1.85037170770859e-17}*cell[13];
2399auto x104 = V{1.85037170770859e-17}*cell[23];
2400auto x105 = V{1.85037170770859e-17}*cell[24];
2401auto x106 = V{1.85037170770859e-17}*cell[25];
2402auto x107 = V{1.85037170770859e-17}*cell[26];
2403auto x108 = -V{9.25185853854297e-18}*cell[0];
2404auto x109 = V{0.111111111111111}*x34;
2406auto x111 = x100 + x101 + x102 + x103 + x104 + x105 + x106 + x107 + x108 + x109*x110 - V{0.111111111111111}*cell[16] + V{0.111111111111111}*cell[17] + V{0.111111111111111}*cell[18] - V{0.111111111111111}*cell[3] + V{0.111111111111111}*cell[4] + V{0.111111111111111}*cell[5];
2408auto x113 = x109*x112 - V{0.111111111111111}*cell[15] + V{0.111111111111111}*cell[19] + V{0.111111111111111}*cell[20] - V{0.111111111111111}*cell[2] + V{0.111111111111111}*cell[6] + V{0.111111111111111}*cell[7];
2409auto x114 = x27*(x111 + x113 - x98*x99 + V{0.222222222222222}*cell[14] + V{0.222222222222222}*cell[1] - V{0.222222222222222}*cell[21] - V{0.222222222222222}*cell[22] - V{0.222222222222222}*cell[8] - V{0.222222222222222}*cell[9]) + V{0.0740740740740741};
2410auto x115 = V{3}*cell[9];
2411auto x116 = V{3}*cell[22];
2412auto x117 = -x83 + x86 - V{3}*cell[21] + V{3}*cell[8];
2413auto x118 = x115 - x116 + x117 - x81 + x84 + x91 - x92 + x93 - V{3}*cell[15] + V{3}*cell[2];
2414auto x119 = -x118*x34;
2415auto x120 = x75 + V{-1};
2416auto x121 = x109*x99 - V{0.111111111111111}*cell[14] - V{0.111111111111111}*cell[1] + V{0.111111111111111}*cell[21] + V{0.111111111111111}*cell[22] + V{0.111111111111111}*cell[8] + V{0.111111111111111}*cell[9];
2417auto x122 = x27*(x111 - x112*x98 + x121 + V{0.222222222222222}*cell[15] - V{0.222222222222222}*cell[19] - V{0.222222222222222}*cell[20] + V{0.222222222222222}*cell[2] - V{0.222222222222222}*cell[6] - V{0.222222222222222}*cell[7]) + V{0.0740740740740741};
2418auto x123 = -x115 + x116 + x117 - x82 + x85 + x87 - x88 + x89 + x90 + x94 - V{3}*cell[16] + V{3}*cell[3];
2419auto x124 = -x123*x34;
2420auto x125 = x27*(x100 + x101 + x102 + x103 + x104 + x105 + x106 + x107 + x108 - x110*x98 + x113 + x121 + V{0.222222222222222}*cell[16] - V{0.222222222222222}*cell[17] - V{0.222222222222222}*cell[18] + V{0.222222222222222}*cell[3] - V{0.222222222222222}*cell[4] - V{0.222222222222222}*cell[5]) + V{0.0740740740740741};
2421auto x126 = V{0.0185185185185185}*cell[0] + V{0.0185185185185185}*cell[10] + V{0.0185185185185185}*cell[11] + V{0.0185185185185185}*cell[12] + V{0.0185185185185185}*cell[13] + V{0.0185185185185185}*cell[14] + V{0.0185185185185185}*cell[15] + V{0.0185185185185185}*cell[16] + V{0.0185185185185185}*cell[17] + V{0.0185185185185185}*cell[18] + V{0.0185185185185185}*cell[19] + V{0.0185185185185185}*cell[1] + V{0.0185185185185185}*cell[20] + V{0.0185185185185185}*cell[21] + V{0.0185185185185185}*cell[22] + V{0.0185185185185185}*cell[23] + V{0.0185185185185185}*cell[24] + V{0.0185185185185185}*cell[25] + V{0.0185185185185185}*cell[26] + V{0.0185185185185185}*cell[2] + V{0.0185185185185185}*cell[3] + V{0.0185185185185185}*cell[4] + V{0.0185185185185185}*cell[5] + V{0.0185185185185185}*cell[6] + V{0.0185185185185185}*cell[7] + V{0.0185185185185185}*cell[8] + V{0.0185185185185185}*cell[9] + V{0.0185185185185185};
2422auto x127 = V{4.5}*x73;
2423auto x128 = V{2}*cell[11] - V{2}*cell[24];
2424auto x129 = V{2}*cell[10] - V{2}*cell[23];
2425auto x130 = x129 + x52;
2426auto x131 = x57 + cell[2];
2427auto x132 = x131 - V{2}*cell[17] + V{2}*cell[4];
2428auto x133 = x128 + x130 + x132 + x28 + x45 + x54 + x66;
2430auto x135 = x79 + x96;
2431auto x136 = x119 + x135;
2433auto x138 = V{0.166666666666667}*x48;
2434auto x139 = x137*x138;
2435auto x140 = V{4.62592926927149e-18}*cell[8];
2436auto x141 = V{4.62592926927149e-18}*cell[9];
2437auto x142 = V{4.62592926927149e-18}*cell[21];
2438auto x143 = V{4.62592926927149e-18}*cell[22];
2439auto x144 = V{0.0277777777777778}*cell[1];
2440auto x145 = V{0.0277777777777778}*cell[14];
2441auto x146 = V{0.222222222222222}*cell[10];
2442auto x147 = V{0.222222222222222}*cell[23];
2443auto x148 = -V{0.111111111111111}*cell[13];
2444auto x149 = -V{0.111111111111111}*cell[26];
2445auto x150 = -V{0.0277777777777778}*cell[0];
2446auto x151 = V{0.0555555555555556}*x34;
2447auto x152 = -x151*x99;
2448auto x153 = x140 + x141 + x142 + x143 + x144 + x145 + x146 + x147 + x148 + x149 + x150 + x152;
2449auto x154 = V{0.222222222222222}*cell[11];
2450auto x155 = V{0.222222222222222}*cell[24];
2451auto x156 = -V{0.111111111111111}*cell[12];
2452auto x157 = -V{0.111111111111111}*cell[25];
2453auto x158 = x154 + x155 + x156 + x157;
2454auto x159 = V{0.0277777777777778}*x34;
2455auto x160 = -x112*x151 + V{0.0277777777777778}*cell[15] + V{4.62592926927149e-18}*cell[19] + V{4.62592926927149e-18}*cell[20] + V{0.0277777777777778}*cell[2] + V{4.62592926927149e-18}*cell[6] + V{4.62592926927149e-18}*cell[7];
2456auto x161 = x110*x159 + x160 - V{0.0555555555555556}*cell[16] - V{0.0555555555555556}*cell[3];
2457auto x162 = x27*(-x139 + x153 + x158 + x161 + V{0.25}*cell[17] - V{0.0833333333333333}*cell[18] + V{0.25}*cell[4] - V{0.0833333333333333}*cell[5]) + V{0.0185185185185185};
2458auto x163 = V{2}*cell[25];
2459auto x164 = V{2}*cell[12];
2460auto x165 = -x163 + x164;
2461auto x166 = V{2}*cell[26];
2462auto x167 = V{2}*cell[13];
2463auto x168 = -x166 + x167 - cell[8];
2464auto x169 = V{2}*cell[18];
2465auto x170 = V{2}*cell[5];
2466auto x171 = -x169 + x170 - cell[2];
2467auto x172 = x165 + x168 + x171 + x29 + x45 + x67;
2469auto x174 = x135 + x173;
2470auto x175 = V{0.222222222222222}*cell[12];
2471auto x176 = V{0.222222222222222}*cell[25];
2472auto x177 = -V{0.111111111111111}*cell[11];
2473auto x178 = -V{0.111111111111111}*cell[24];
2474auto x179 = x175 + x176 + x177 + x178;
2475auto x180 = x150 + V{0.222222222222222}*cell[13] + V{0.222222222222222}*cell[26];
2476auto x181 = -V{0.111111111111111}*cell[10] - V{0.111111111111111}*cell[23];
2477auto x182 = x140 + x141 + x142 + x143 + x144 + x145 + x152 + x180 + x181;
2478auto x183 = x27*(x139 + x161 + x179 + x182 - V{0.0833333333333333}*cell[17] + V{0.25}*cell[18] - V{0.0833333333333333}*cell[4] + V{0.25}*cell[5]) + V{0.0185185185185185};
2479auto x184 = x43 + cell[1];
2480auto x185 = x184 + x46;
2481auto x186 = x63 + cell[3];
2482auto x187 = -V{2}*cell[19] + V{2}*cell[6];
2483auto x188 = x186 + x187;
2484auto x189 = x130 + x165 + x185 + x188 + x55 + x65 + cell[22] + cell[8];
2487auto x192 = x138*x191;
2488auto x193 = -x110*x151 + V{0.0277777777777778}*cell[16] + V{4.62592926927149e-18}*cell[17] + V{4.62592926927149e-18}*cell[18] + V{0.0277777777777778}*cell[3] + V{4.62592926927149e-18}*cell[4] + V{4.62592926927149e-18}*cell[5];
2489auto x194 = x112*x159 + x193 - V{0.0555555555555556}*cell[15] - V{0.0555555555555556}*cell[2];
2490auto x195 = x27*(x153 + x179 - x192 + x194 + V{0.25}*cell[19] - V{0.0833333333333333}*cell[20] + V{0.25}*cell[6] - V{0.0833333333333333}*cell[7]) + V{0.0185185185185185};
2492auto x197 = -cell[3];
2493auto x198 = x128 + x197 + cell[16];
2494auto x199 = V{2}*cell[20];
2495auto x200 = V{2}*cell[7];
2496auto x201 = -x199 + x200;
2497auto x202 = x168 + x185 + x198 + x201 + x56 + cell[21];
2498auto x203 = x27*(x158 + x182 + x192 + x194 - V{0.0833333333333333}*cell[19] + V{0.25}*cell[20] - V{0.0833333333333333}*cell[6] + V{0.25}*cell[7]) + V{0.0185185185185185};
2499auto x204 = -V{2}*cell[21] + V{2}*cell[8];
2500auto x205 = x186 + x204;
2501auto x206 = x129 + x166 - x167 + x205 + x38 + x58 + x68;
2503auto x208 = x119 + x79;
2504auto x209 = x124 + x208;
2505auto x210 = x137*x70;
2506auto x211 = V{0.166666666666667}*x210;
2507auto x212 = x159*x99 + x160 + x193 - V{0.0555555555555556}*cell[14] - V{0.0555555555555556}*cell[1];
2508auto x213 = x27*(x146 + x147 + x156 + x157 + x177 + x178 + x180 - x211 + x212 + V{0.25}*cell[21] - V{0.0833333333333333}*cell[22] + V{0.25}*cell[8] - V{0.0833333333333333}*cell[9]) + V{0.0185185185185185};
2509auto x214 = V{2}*cell[22];
2510auto x215 = V{2}*cell[9];
2511auto x216 = -x214 + x215;
2512auto x217 = x163 - x164 + x198 + x216 + x44 + x55 + x58 + cell[19] - cell[6];
2513auto x218 = x27*(x148 + x149 + x150 + x154 + x155 + x175 + x176 + x181 + x211 + x212 - V{0.0833333333333333}*cell[21] + V{0.25}*cell[22] - V{0.0833333333333333}*cell[8] + V{0.25}*cell[9]) + V{0.0185185185185185};
2514auto x219 = V{0.0138888888888889}*x34;
2515auto x220 = x219*x50;
2516auto x221 = x219*x62;
2517auto x222 = x219*x72;
2518auto x223 = V{0.0416666666666667}*x34*x49;
2519auto x224 = x223*x61;
2520auto x225 = V{0.0138888888888889}*cell[13];
2521auto x226 = V{0.0138888888888889}*cell[26];
2522auto x227 = x225 + x226 - V{0.0555555555555556}*cell[17] + V{0.0277777777777778}*cell[18] - V{0.0555555555555556}*cell[4] + V{0.0277777777777778}*cell[5];
2523auto x228 = x220 + x221 + x222 + x224 + x227;
2524auto x229 = x223*x71;
2525auto x230 = -V{0.0555555555555556}*cell[19] + V{0.0277777777777778}*cell[20] - V{0.0555555555555556}*cell[6] + V{0.0277777777777778}*cell[7];
2526auto x231 = x229 + x230;
2527auto x232 = V{0.0416666666666667}*x34*x61*x71;
2528auto x233 = V{0.0138888888888889}*cell[11];
2529auto x234 = V{0.0138888888888889}*cell[12];
2530auto x235 = V{0.0138888888888889}*cell[24];
2531auto x236 = V{0.0138888888888889}*cell[25];
2532auto x237 = V{0.0138888888888889}*cell[0];
2533auto x238 = -V{1.15648231731787e-18}*cell[1];
2534auto x239 = -V{1.15648231731787e-18}*cell[2];
2535auto x240 = -V{1.15648231731787e-18}*cell[3];
2536auto x241 = -V{1.15648231731787e-18}*cell[14];
2537auto x242 = -V{1.15648231731787e-18}*cell[15];
2538auto x243 = -V{1.15648231731787e-18}*cell[16];
2539auto x244 = x233 + x234 + x235 + x236 + x237 + x238 + x239 + x240 + x241 + x242 + x243 - V{0.0555555555555556}*cell[21] + V{0.0277777777777778}*cell[22] - V{0.0555555555555556}*cell[8] + V{0.0277777777777778}*cell[9];
2540auto x245 = x232 + x244;
2541auto x246 = -V{0.152777777777778}*cell[10] - V{0.152777777777778}*cell[23];
2542auto x247 = V{0.00462962962962963}*cell[0] + V{0.00462962962962963}*cell[10] + V{0.00462962962962963}*cell[11] + V{0.00462962962962963}*cell[12] + V{0.00462962962962963}*cell[13] + V{0.00462962962962963}*cell[14] + V{0.00462962962962963}*cell[15] + V{0.00462962962962963}*cell[16] + V{0.00462962962962963}*cell[17] + V{0.00462962962962963}*cell[18] + V{0.00462962962962963}*cell[19] + V{0.00462962962962963}*cell[1] + V{0.00462962962962963}*cell[20] + V{0.00462962962962963}*cell[21] + V{0.00462962962962963}*cell[22] + V{0.00462962962962963}*cell[23] + V{0.00462962962962963}*cell[24] + V{0.00462962962962963}*cell[25] + V{0.00462962962962963}*cell[26] + V{0.00462962962962963}*cell[2] + V{0.00462962962962963}*cell[3] + V{0.00462962962962963}*cell[4] + V{0.00462962962962963}*cell[5] + V{0.00462962962962963}*cell[6] + V{0.00462962962962963}*cell[7] + V{0.00462962962962963}*cell[8] + V{0.00462962962962963}*cell[9] + V{0.00462962962962963};
2543auto x248 = x132 + x184;
2544auto x249 = x187 + x204 + x248 + x31 + x39 + x51 + x64 + V{3}*cell[10] - V{3}*cell[23];
2546auto x251 = V{0.0138888888888889}*cell[10];
2547auto x252 = V{0.0138888888888889}*cell[23];
2548auto x253 = x251 + x252 + V{0.0277777777777778}*cell[19] - V{0.0555555555555556}*cell[20] + V{0.0277777777777778}*cell[6] - V{0.0555555555555556}*cell[7];
2549auto x254 = -x229 + x253;
2550auto x255 = x237 + x238 + x239 + x240 + x241 + x242 + x243 + V{0.0277777777777778}*cell[21] - V{0.0555555555555556}*cell[22] + V{0.0277777777777778}*cell[8] - V{0.0555555555555556}*cell[9];
2551auto x256 = -x232 + x255;
2552auto x257 = x234 + x236 - V{0.152777777777778}*cell[11] - V{0.152777777777778}*cell[24];
2553auto x258 = x197 + x201 + x216 + x248 + x40 + x47 + x59 + V{3}*cell[11] + cell[16] - V{3}*cell[24];
2554auto x259 = V{0.0277777777777778}*cell[17] - V{0.0555555555555556}*cell[18] + V{0.0277777777777778}*cell[4] - V{0.0555555555555556}*cell[5];
2555auto x260 = x220 + x221 + x222 - x224 + x259;
2556auto x261 = x225 + x226 + x233 + x235 + x251 + x252 - V{0.152777777777778}*cell[12] - V{0.152777777777778}*cell[25];
2557auto x262 = x171 + x184 + x188 + x214 - x215 + x47 + x69 + V{3}*cell[12] + cell[15] - V{3}*cell[25];
2558auto x263 = -V{0.152777777777778}*cell[13] - V{0.152777777777778}*cell[26];
2559auto x264 = x112*x219;
2560auto x265 = x110*x219;
2561auto x266 = x219*x99;
2562auto x267 = V{0.0416666666666667}*x210;
2563auto x268 = x244 + x264 + x265 + x266 + x267;
2564auto x269 = V{0.0416666666666667}*x48;
2565auto x270 = x191*x269;
2566auto x271 = x253 - x270;
2567auto x272 = x137*x269;
2568auto x273 = x259 - x272;
2570auto x275 = x131 + x169 - x170 + x199 - x200 + x205 + x59 + x69 - V{3}*cell[13] + cell[14] - cell[1] + V{3}*cell[26];
2572auto x277 = x123*x34;
2573auto x278 = x112*x74;
2574auto x279 = x110*x74 + V{-1};
2575auto x280 = x278 + x279;
2576auto x281 = x118*x34;
2578auto x283 = x281 + x282;
2579auto x284 = x277 + x280 + x283;
2580auto x285 = x32 + V{1};
2581auto x286 = x274 + x280;
2582auto x287 = x277 + x282;
2583auto x288 = x283 + x286;
2586auto x291 = x286 + x287;
2588auto x293 = x124 + x79;
2590auto x295 = x227 + x272;
2591auto x296 = x230 + x270;
2592auto x297 = x255 + x264 + x265 + x266 - x267;
2595auto x0 = x27*(-x35*x50 - x35*x62 - x35*x72 - V{0.444444444444444}*cell[0] + V{0.888888888888889}*cell[10] + V{0.888888888888889}*cell[11] + V{0.888888888888889}*cell[12] + V{0.888888888888889}*cell[13] + V{3.70074341541719e-17}*cell[14] + V{3.70074341541719e-17}*cell[15] + V{3.70074341541719e-17}*cell[16] + V{0.444444444444444}*cell[17] + V{0.444444444444444}*cell[18] + V{0.444444444444444}*cell[19] + V{3.70074341541719e-17}*cell[1] + V{0.444444444444444}*cell[20] + V{0.444444444444444}*cell[21] + V{0.444444444444444}*cell[22] + V{0.888888888888889}*cell[23] + V{0.888888888888889}*cell[24] + V{0.888888888888889}*cell[25] + V{0.888888888888889}*cell[26] + V{3.70074341541719e-17}*cell[2] + V{3.70074341541719e-17}*cell[3] + V{0.444444444444444}*cell[4] + V{0.444444444444444}*cell[5] + V{0.444444444444444}*cell[6] + V{0.444444444444444}*cell[7] + V{0.444444444444444}*cell[8] + V{0.444444444444444}*cell[9]) - x79*(V{0.296296296296296}*cell[0] + V{0.296296296296296}*cell[10] + V{0.296296296296296}*cell[11] + V{0.296296296296296}*cell[12] + V{0.296296296296296}*cell[13] + V{0.296296296296296}*cell[14] + V{0.296296296296296}*cell[15] + V{0.296296296296296}*cell[16] + V{0.296296296296296}*cell[17] + V{0.296296296296296}*cell[18] + V{0.296296296296296}*cell[19] + V{0.296296296296296}*cell[1] + V{0.296296296296296}*cell[20] + V{0.296296296296296}*cell[21] + V{0.296296296296296}*cell[22] + V{0.296296296296296}*cell[23] + V{0.296296296296296}*cell[24] + V{0.296296296296296}*cell[25] + V{0.296296296296296}*cell[26] + V{0.296296296296296}*cell[2] + V{0.296296296296296}*cell[3] + V{0.296296296296296}*cell[4] + V{0.296296296296296}*cell[5] + V{0.296296296296296}*cell[6] + V{0.296296296296296}*cell[7] + V{0.296296296296296}*cell[8] + V{0.296296296296296}*cell[9] + V{0.296296296296296}) + V{-0.296296296296296};
2596auto x1 = -x114 - x80*(-x50*x97 + x78 + x96);
2597auto x2 = -x122 - x80*(x119 + x120 - x62*x97 + x77);
2598auto x3 = -x125 - x80*(x120 + x124 - x72*x97 + x76);
2599auto x4 = -x126*(-x127*x134*x134 + x136) - x162;
2600auto x5 = -x126*(-x127*x172*x172 + x174) - x183;
2601auto x6 = -x126*(x124 - x127*x190*x190 + x135) - x195;
2602auto x7 = -x126*(-x127*x202*x202 + x135 + x196) - x203;
2603auto x8 = -x126*(-x127*x207*x207 + x209) - x213;
2604auto x9 = -x126*(-x127*x217*x217 + x196 + x208) - x218;
2605auto x10 = -x247*(x124 - x127*x250*x250 + x136) + x27*(x228 + x231 + x245 + x246) + V{-0.00462962962962963};
2606auto x11 = -x247*(-x127*x258*x258 + x136 + x196) + x27*(x228 + x254 + x256 + x257) + V{-0.00462962962962963};
2607auto x12 = -x247*(x124 - x127*x262*x262 + x174) + x27*(x231 + x256 + x260 + x261) + V{-0.00462962962962963};
2608auto x13 = -x247*(-x127*x276*x276 - x274 + x284) + x27*(x263 + x268 + x271 + x273) + V{-0.00462962962962963};
2609auto x14 = -x114 + V{0.0740740740740741}*x285*(-x286 + V{3}*x73*x99);
2610auto x15 = -x122 + V{0.0740740740740741}*x285*(V{3}*x112*x73 - x279 - x283);
2611auto x16 = -x125 + V{0.0740740740740741}*x285*(V{3}*x110*x73 - x278 - x287 + V{1});
2612auto x17 = -x162 - V{0.0185185185185185}*x285*(x288 - V{4.5}*x73*x133*x133);
2613auto x18 = -x126*(-x127*x290*x290 + x208 + x289) - x183;
2614auto x19 = -x195 - V{0.0185185185185185}*x285*(x291 - V{4.5}*x73*x189*x189);
2615auto x20 = -x126*(-x127*x292*x292 + x289 + x293) - x203;
2616auto x21 = -x213 - V{0.0185185185185185}*x285*(x284 - V{4.5}*x73*x206*x206);
2617auto x22 = -x126*(-x127*x294*x294 + x173 + x293) - x218;
2618auto x23 = -x247*(-x127*x249*x249 + x277 + x288) + x27*(x246 + x268 + x295 + x296) + V{-0.00462962962962963};
2619auto x24 = -x247*(-x127*x298*x298 - x277 + x288) + x27*(x257 + x271 + x295 + x297) + V{-0.00462962962962963};
2620auto x25 = -x247*(-x127*x299*x299 - x281 + x291) + x27*(x261 + x273 + x296 + x297) + V{-0.00462962962962963};
2621auto x26 = -x247*(-x127*x275*x275 + x209 + x289) + x27*(x245 + x254 + x260 + x263) + V{-0.00462962962962963};
2649return { x33, V{1}*x73*(x110 + x112 + x99) };
2655template <
typename... FIELDS>
2656struct PerPopulationBGK::type<descriptors::D2Q5<FIELDS...>,
momenta::BulkTuple,equilibria::SecondOrder> {
2658template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
2661auto x11 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[4];
2662auto x10 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[3];
2663auto x8 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[1];
2664auto x9 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[2];
2665auto x7 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[0];
2666auto x5 = cell[0] + cell[1] + cell[2] + cell[3] + cell[4];
2668auto x12 = x5 + V{1};
2669auto x13 = V{1} / ((x12)*(x12));
2670auto x14 = V{1.5}*x13;
2671auto x15 = cell[2] - cell[4];
2674auto x18 = cell[1] - cell[3];
2676auto x20 = x14*(x19*x19) + V{-1};
2677auto x21 = V{1} / (x12);
2678auto x22 = x21*(V{3}*cell[1] - V{3}*cell[3]);
2683auto x27 = V{3}*cell[2] - V{3}*cell[4];
2684cell[0] = -V{0.333333333333333}*x7*(x6*(x14*x17 + x20) + V{1}) - (x7 + V{-1})*cell[0];
2685cell[1] = V{0.166666666666667}*x8*(x6*(x22 + x23*x24 - x26 + V{1}) + V{-1}) - (x8 + V{-1})*cell[1];
2686cell[2] = -V{0.166666666666667}*x9*(x6*(-x17*x23 + x20 - x21*x27) + V{1}) - (x9 + V{-1})*cell[2];
2687cell[3] = V{0.166666666666667}*x10*(x6*(V{3}*x13*x24 - x22 - x26 + V{1}) + V{-1}) - (x10 + V{-1})*cell[3];
2688cell[4] = -V{0.166666666666667}*x11*(x6*(x14*x24 + x21*x27 - x23*x25 + V{-1}) + V{1}) - (x11 + V{-1})*cell[4];
2689return { x12, V{1}*x13*(x24 + x25) };
2694template <
typename... FIELDS>
2695struct PerPopulationBGK::type<descriptors::D2Q9<FIELDS...>,
momenta::BulkTuple,equilibria::SecondOrder> {
2697template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
2700auto x15 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[4];
2701auto x11 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[0];
2702auto x17 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[6];
2703auto x14 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[3];
2704auto x18 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[7];
2705auto x13 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[2];
2706auto x12 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[1];
2707auto x19 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[8];
2708auto x16 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[5];
2709auto x9 = cell[0] + cell[1] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + cell[7] + cell[8];
2710auto x10 = x9 + V{1};
2711auto x20 = x9 + V{1};
2712auto x21 = V{1} / ((x20)*(x20));
2713auto x22 = V{1.5}*x21;
2714auto x23 = cell[1] - cell[5];
2715auto x24 = -cell[4] + cell[8];
2716auto x25 = x23 + x24 - cell[3] + cell[7];
2719auto x28 = cell[2] - cell[6];
2720auto x29 = x23 + x28 + cell[3] - cell[7];
2722auto x31 = x22*(x30*x30) + V{-1};
2723auto x32 = x27 + x31;
2724auto x33 = V{4.5}*x21;
2725auto x34 = x24 + x28 + V{2}*cell[1] - V{2}*cell[5];
2726auto x35 = x33*(x34*x34);
2727auto x36 = V{1} / (x20);
2728auto x37 = V{3}*cell[3];
2729auto x38 = V{3}*cell[7];
2730auto x39 = V{3}*cell[1] - V{3}*cell[5];
2731auto x40 = x37 - x38 + x39 + V{3}*cell[2] - V{3}*cell[6];
2733auto x42 = -x27 + x41 + V{1};
2734auto x43 = -x37 + x38 + x39 - V{3}*cell[4] + V{3}*cell[8];
2738auto x47 = x44 - x46;
2740auto x49 = x28 + V{2}*cell[3] + cell[4] - V{2}*cell[7] - cell[8];
2743auto x52 = x27 + x41 + V{-1};
2744auto x53 = x46 + x52;
2745cell[0] = -V{0.444444444444444}*x11*(x10*x32 + V{1}) - (x11 + V{-1})*cell[0];
2746cell[1] = V{0.0277777777777778}*x12*(x10*(x35 + x42 + x47) + V{-1}) - (x12 + V{-1})*cell[1];
2747cell[2] = V{0.111111111111111}*x13*(x10*(x42 + x45*x48) + V{-1}) - (x13 + V{-1})*cell[2];
2748cell[3] = -V{0.0277777777777778}*x14*(x10*(x32 - x33*x50*x50 - x36*x40 + x44) + V{1}) - (x14 + V{-1})*cell[3];
2749cell[4] = -V{0.111111111111111}*x15*(x10*(x31 + x44 - x51) + V{1}) - (x15 + V{-1})*cell[4];
2750cell[5] = -V{0.0277777777777778}*x16*(x10*(-x35 + x44 + x53) + V{1}) - (x16 + V{-1})*cell[5];
2751cell[6] = V{0.111111111111111}*x17*(x10*(V{3}*x21*x45 - x52) + V{-1}) - (x17 + V{-1})*cell[6];
2752cell[7] = V{0.0277777777777778}*x18*(-x10*(-V{4.5}*x21*x49*x49 - x36*x43 + x53) + V{-1}) - (x18 + V{-1})*cell[7];
2753cell[8] = V{0.111111111111111}*x19*(x10*(x47 + x51 + V{1}) + V{-1}) - (x19 + V{-1})*cell[8];
2754return { x20, V{1}*x21*(x26 + x45) };
2759template <
typename... FIELDS>
2760struct PerPopulationBGK::type<descriptors::D3Q7<FIELDS...>,
momenta::BulkTuple,equilibria::SecondOrder> {
2762template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
2765auto x15 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[5];
2766auto x11 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[1];
2767auto x10 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[0];
2768auto x14 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[4];
2769auto x13 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[3];
2770auto x12 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[2];
2771auto x16 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[6];
2772auto x7 = cell[0] + cell[1] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6];
2775auto x17 = V{1} / ((x9)*(x9));
2777auto x19 = cell[1] - cell[4];
2781auto x23 = cell[2] - cell[5];
2785auto x27 = cell[3] - cell[6];
2789auto x31 = x26 + x30 + V{-1};
2790auto x32 = V{1} / (x9);
2791auto x33 = V{4}*cell[1] - V{4}*cell[4];
2793auto x35 = V{4}*cell[2] - V{4}*cell[5];
2794auto x36 = x22 + V{-1};
2795auto x37 = V{4}*cell[3] - V{4}*cell[6];
2800auto x42 = x18*x41 + V{-1};
2802cell[0] = -V{0.25}*x10*(x8*(x22 + x31) + V{1}) - (x10 + V{-1})*cell[0];
2803cell[1] = -V{0.125}*x11*(x8*(-x21*x34 + x31 - x32*x33) + V{1}) - (x11 + V{-1})*cell[1];
2804cell[2] = -V{0.125}*x12*(x8*(-x25*x34 + x30 - x32*x35 + x36) + V{1}) - (x12 + V{-1})*cell[2];
2805cell[3] = -V{0.125}*x13*(x8*(x26 - x29*x34 - x32*x37 + x36) + V{1}) - (x13 + V{-1})*cell[3];
2806cell[4] = -V{0.125}*x14*(x8*(x32*x33 - x34*x40 + x39 + x42) + V{1}) - (x14 + V{-1})*cell[4];
2807cell[5] = -V{0.125}*x15*(x8*(x32*x35 - x34*x38 + x42 + x43) + V{1}) - (x15 + V{-1})*cell[5];
2808cell[6] = -V{0.125}*x16*(x8*(x32*x37 - x34*x41 + x39 + x43 + V{-1}) + V{1}) - (x16 + V{-1})*cell[6];
2809return { x9, V{1}*x17*(x38 + x40 + x41) };
2814template <
typename... FIELDS>
2815struct PerPopulationBGK::type<descriptors::D3Q19<FIELDS...>,
momenta::BulkTuple,equilibria::SecondOrder> {
2817template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
2820auto x27 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[5];
2821auto x33 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[11];
2822auto x32 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[10];
2823auto x40 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[18];
2824auto x35 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[13];
2825auto x31 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[9];
2826auto x37 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[15];
2827auto x30 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[8];
2828auto x29 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[7];
2829auto x34 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[12];
2830auto x25 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[3];
2831auto x38 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[16];
2832auto x24 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[2];
2833auto x36 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[14];
2834auto x28 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[6];
2835auto x22 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[0];
2836auto x26 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[4];
2837auto x23 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[1];
2838auto x39 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[17];
2839auto x19 = cell[10] + cell[14];
2840auto x20 = cell[12] + cell[7];
2841auto x21 = x19 + x20 + cell[0] + cell[11] + cell[13] + cell[15] + cell[16] + cell[17] + cell[18] + cell[1] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + cell[8] + cell[9];
2842auto x41 = x21 + V{1};
2843auto x42 = x21 + V{1};
2844auto x43 = V{1} / ((x42)*(x42));
2845auto x44 = V{1.5}*x43;
2846auto x45 = cell[13] - cell[4];
2847auto x46 = cell[15] - cell[6];
2848auto x47 = x45 + x46;
2850auto x49 = cell[16] - cell[7];
2851auto x50 = x48 + x49;
2852auto x51 = x19 - cell[5];
2853auto x52 = x47 + x50 + x51;
2856auto x55 = cell[17] - cell[8];
2857auto x56 = x45 + x55;
2858auto x57 = cell[18] - cell[9];
2860auto x59 = x58 + cell[11] - cell[14] + cell[5];
2861auto x60 = x56 + x57 + x59;
2864auto x63 = x46 + x55;
2866auto x65 = -cell[18] + cell[9];
2867auto x66 = x64 + x65;
2868auto x67 = x20 - cell[16];
2869auto x68 = x63 + x66 + x67;
2872auto x71 = x62 + x70 + V{-1};
2873auto x72 = x54 + x71;
2874auto x73 = V{1} / (x42);
2875auto x74 = V{3}*cell[14];
2876auto x75 = V{3}*cell[16];
2877auto x76 = V{3}*cell[5];
2878auto x77 = V{3}*cell[7];
2879auto x78 = V{3}*cell[13] - V{3}*cell[4];
2880auto x79 = V{3}*cell[15] - V{3}*cell[6];
2881auto x80 = x73*(x74 + x75 - x76 - x77 + x78 + x79 + V{3}*cell[10] - V{3}*cell[1]);
2884auto x83 = V{3}*cell[18];
2885auto x84 = V{3}*cell[9];
2886auto x85 = V{3}*cell[17] - V{3}*cell[8];
2887auto x86 = x73*(-x74 + x76 + x78 + x83 - x84 + x85 + V{3}*cell[11] - V{3}*cell[2]);
2889auto x88 = x54 + V{-1};
2890auto x89 = x73*(-x75 + x77 + x79 - x83 + x84 + x85 + V{3}*cell[12] - V{3}*cell[3]);
2892auto x91 = V{4.5}*x43;
2893auto x92 = x50 + cell[10];
2894auto x93 = x57 + x58 + x63 + x92 + cell[11] + V{2}*cell[13] - V{2}*cell[4];
2895auto x94 = x91*(x93*x93);
2896auto x95 = x72 + x80;
2898auto x97 = -cell[17] + cell[8];
2899auto x98 = x46 + x65 + x92 + x97 - cell[11] + V{2}*cell[14] + cell[2] - V{2}*cell[5];
2901auto x100 = x48 + x51;
2902auto x101 = x100 + x56 + x66 + cell[12] + V{2}*cell[15] - V{2}*cell[6];
2903auto x102 = x91*(x101*x101);
2905auto x104 = x45 - cell[12] + cell[3];
2906auto x105 = x100 + x104 + x57 + x97 + V{2}*cell[16] - V{2}*cell[7];
2908auto x107 = x47 + x59 + x64 + x67 + V{2}*cell[17] - V{2}*cell[8];
2909auto x108 = x91*(x107*x107);
2910auto x109 = x72 + x86;
2911auto x110 = x104 + x49 + x59 - cell[15] + V{2}*cell[18] + cell[6] - V{2}*cell[9];
2914auto x113 = V{1} - x70;
2915auto x114 = x112 + x113;
2916auto x115 = x114 + x80;
2918auto x117 = x116 + x86;
2919auto x118 = x116 + x89;
2921auto x120 = x72 + x89;
2922cell[0] = -V{0.333333333333333}*x22*(x41*x72 + V{1}) - (x22 + V{-1})*cell[0];
2923cell[1] = -V{0.0555555555555556}*x23*(x41*(x71 + x80 - x82) + V{1}) - (x23 + V{-1})*cell[1];
2924cell[2] = -V{0.0555555555555556}*x24*(x41*(x70 + x86 - x87 + x88) + V{1}) - (x24 + V{-1})*cell[2];
2925cell[3] = -V{0.0555555555555556}*x25*(x41*(x62 + x88 + x89 - x90) + V{1}) - (x25 + V{-1})*cell[3];
2926cell[4] = -V{0.0277777777777778}*x26*(x41*(x86 - x94 + x95) + V{1}) - (x26 + V{-1})*cell[4];
2927cell[5] = -V{0.0277777777777778}*x27*(x41*(-x91*x99*x99 + x95 + x96) + V{1}) - (x27 + V{-1})*cell[5];
2928cell[6] = -V{0.0277777777777778}*x28*(x41*(-x102 + x89 + x95) + V{1}) - (x28 + V{-1})*cell[6];
2929cell[7] = -V{0.0277777777777778}*x29*(x41*(x103 - x91*x106*x106 + x95) + V{1}) - (x29 + V{-1})*cell[7];
2930cell[8] = -V{0.0277777777777778}*x30*(x41*(-x108 + x109 + x89) + V{1}) - (x30 + V{-1})*cell[8];
2931cell[9] = -V{0.0277777777777778}*x31*(x41*(x103 + x109 - x91*x111*x111) + V{1}) - (x31 + V{-1})*cell[9];
2932cell[10] = V{0.0555555555555556}*x32*(x41*(x115 + x82) + V{-1}) - (x32 + V{-1})*cell[10];
2933cell[11] = V{0.0555555555555556}*x33*(x41*(x113 + x117 + x87) + V{-1}) - (x33 + V{-1})*cell[11];
2934cell[12] = V{0.0555555555555556}*x34*(x41*(x112 + x118 + x90 + V{1}) + V{-1}) - (x34 + V{-1})*cell[12];
2935cell[13] = V{0.0277777777777778}*x35*(x41*(x115 + x117 + x94) + V{-1}) - (x35 + V{-1})*cell[13];
2936cell[14] = -V{0.0277777777777778}*x36*(x41*(x109 + x119 - x91*x98*x98) + V{1}) - (x36 + V{-1})*cell[14];
2937cell[15] = V{0.0277777777777778}*x37*(x41*(x102 + x115 + x118) + V{-1}) - (x37 + V{-1})*cell[15];
2938cell[16] = -V{0.0277777777777778}*x38*(x41*(x119 + x120 - x91*x105*x105) + V{1}) - (x38 + V{-1})*cell[16];
2939cell[17] = V{0.0277777777777778}*x39*(x41*(x108 + x114 + x117 + x89) + V{-1}) - (x39 + V{-1})*cell[17];
2940cell[18] = -V{0.0277777777777778}*x40*(x41*(x120 - x91*x110*x110 + x96) + V{1}) - (x40 + V{-1})*cell[18];
2941return { x42, V{1}*x43*(x53 + x61 + x69) };
2946template <
typename... FIELDS>
2947struct PerPopulationBGK::type<descriptors::D3Q27<FIELDS...>,
momenta::BulkTuple,equilibria::SecondOrder> {
2949template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
2952auto x56 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[26];
2953auto x49 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[19];
2954auto x48 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[18];
2955auto x54 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[24];
2956auto x33 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[3];
2957auto x32 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[2];
2958auto x45 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[15];
2959auto x40 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[10];
2960auto x35 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[5];
2961auto x31 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[1];
2962auto x37 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[7];
2963auto x50 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[20];
2964auto x30 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[0];
2965auto x53 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[23];
2966auto x55 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[25];
2967auto x51 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[21];
2968auto x43 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[13];
2969auto x46 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[16];
2970auto x34 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[4];
2971auto x38 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[8];
2972auto x44 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[14];
2973auto x36 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[6];
2974auto x52 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[22];
2975auto x42 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[12];
2976auto x41 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[11];
2977auto x39 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[9];
2978auto x47 =
parameters.template get<olb::collision::PerPopulationBGK::OMEGA>()[17];
2979auto x27 = cell[8] + cell[9];
2980auto x28 = cell[15] + cell[21];
2981auto x29 = cell[11] + cell[26];
2982auto x57 = x27 + x28 + x29 + cell[0] + cell[10] + cell[12] + cell[13] + cell[14] + cell[16] + cell[17] + cell[18] + cell[19] + cell[1] + cell[20] + cell[22] + cell[23] + cell[24] + cell[25] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + cell[7];
2983auto x58 = x57 + V{1};
2984auto x59 = x57 + V{1};
2985auto x60 = V{1} / ((x59)*(x59));
2986auto x61 = V{1.5}*x60;
2987auto x62 = -cell[17];
2988auto x63 = -cell[19];
2989auto x64 = x62 + x63 + cell[4] + cell[6];
2990auto x65 = -cell[24];
2991auto x66 = cell[10] - cell[23];
2992auto x67 = x65 + x66 + cell[11];
2993auto x68 = cell[12] - cell[25];
2994auto x69 = -cell[14];
2995auto x70 = -cell[20] + cell[7];
2996auto x71 = x69 + x70 + cell[1];
2997auto x72 = -cell[18] + cell[5];
2998auto x73 = cell[13] - cell[26];
2999auto x74 = x64 + x67 + x68 + x71 + x72 + x73;
3003auto x78 = -cell[13];
3004auto x79 = -cell[21];
3005auto x80 = x78 + x79 + cell[26] + cell[8];
3006auto x81 = -cell[22];
3007auto x82 = x62 + cell[4];
3008auto x83 = x81 + x82 + cell[9];
3009auto x84 = -cell[15];
3010auto x85 = x84 + cell[18] + cell[2] - cell[5];
3011auto x86 = -cell[12] + cell[25];
3012auto x87 = x67 + x80 + x83 + x85 + x86;
3016auto x91 = -cell[16];
3017auto x92 = x68 + x91 + cell[3];
3019auto x94 = x63 + cell[6];
3020auto x95 = x93 + x94 + cell[22];
3021auto x96 = cell[20] - cell[7];
3022auto x97 = x66 - cell[11] + cell[24];
3023auto x98 = x80 + x92 + x95 + x96 + x97;
3026auto x101 = x100*x61;
3027auto x102 = x101 + x90 + V{-1};
3028auto x103 = x102 + x77;
3029auto x104 = V{1} / (x59);
3030auto x105 = V{3}*cell[5];
3031auto x106 = V{3}*cell[7];
3032auto x107 = V{3}*cell[13];
3033auto x108 = V{3}*cell[18];
3034auto x109 = V{3}*cell[20];
3035auto x110 = V{3}*cell[26];
3036auto x111 = V{3}*cell[10];
3037auto x112 = V{3}*cell[11];
3038auto x113 = -V{3}*cell[23];
3039auto x114 = V{3}*cell[24];
3040auto x115 = x111 + x112 + x113 - x114 - V{3}*cell[17] + V{3}*cell[4];
3041auto x116 = V{3}*cell[12];
3042auto x117 = V{3}*cell[25];
3043auto x118 = x116 - x117 - V{3}*cell[19] + V{3}*cell[6];
3044auto x119 = x105 + x106 + x107 - x108 - x109 - x110 + x115 + x118 - V{3}*cell[14] + V{3}*cell[1];
3045auto x120 = -x104*x119;
3046auto x121 = V{3}*x60;
3047auto x122 = V{3}*cell[9];
3048auto x123 = V{3}*cell[22];
3049auto x124 = -x107 + x110 - V{3}*cell[21] + V{3}*cell[8];
3050auto x125 = -x105 + x108 + x115 - x116 + x117 + x122 - x123 + x124 - V{3}*cell[15] + V{3}*cell[2];
3051auto x126 = -x104*x125;
3052auto x127 = x77 + V{-1};
3053auto x128 = -x106 + x109 + x111 - x112 + x113 + x114 + x118 - x122 + x123 + x124 - V{3}*cell[16] + V{3}*cell[3];
3054auto x129 = -x104*x128;
3055auto x130 = V{4.5}*x60;
3056auto x131 = V{2}*cell[11] - V{2}*cell[24];
3057auto x132 = V{2}*cell[10] - V{2}*cell[23];
3058auto x133 = x132 + x79;
3059auto x134 = x84 + cell[2];
3060auto x135 = x134 - V{2}*cell[17] + V{2}*cell[4];
3061auto x136 = x131 + x133 + x135 + x27 + x71 + x81 + x94;
3063auto x138 = x103 + x120;
3064auto x139 = x126 + x138;
3065auto x140 = V{2}*cell[25];
3066auto x141 = V{2}*cell[12];
3067auto x142 = -x140 + x141;
3068auto x143 = V{2}*cell[26];
3069auto x144 = V{2}*cell[13];
3070auto x145 = -x143 + x144 - cell[8];
3071auto x146 = V{2}*cell[18];
3072auto x147 = V{2}*cell[5];
3073auto x148 = -x146 + x147 - cell[2];
3074auto x149 = x142 + x145 + x148 + x28 + x71 + x95;
3076auto x151 = x138 + x150;
3077auto x152 = x69 + cell[1];
3078auto x153 = x152 + x72;
3079auto x154 = x91 + cell[3];
3080auto x155 = -V{2}*cell[19] + V{2}*cell[6];
3081auto x156 = x154 + x155;
3082auto x157 = x133 + x142 + x153 + x156 + x82 + x93 + cell[22] + cell[8];
3085auto x160 = -cell[3];
3086auto x161 = x131 + x160 + cell[16];
3087auto x162 = V{2}*cell[20];
3088auto x163 = V{2}*cell[7];
3089auto x164 = -x162 + x163;
3090auto x165 = x145 + x153 + x161 + x164 + x83 + cell[21];
3091auto x166 = -V{2}*cell[21] + V{2}*cell[8];
3092auto x167 = x154 + x166;
3093auto x168 = x132 + x143 - x144 + x167 + x64 + x85 + x96;
3095auto x170 = x103 + x126;
3096auto x171 = x129 + x170;
3097auto x172 = V{2}*cell[22];
3098auto x173 = V{2}*cell[9];
3099auto x174 = -x172 + x173;
3100auto x175 = x140 - x141 + x161 + x174 + x70 + x82 + x85 + cell[19] - cell[6];
3101auto x176 = x135 + x152;
3102auto x177 = x155 + x166 + x176 + x29 + x65 + x78 + x92 + V{3}*cell[10] - V{3}*cell[23];
3104auto x179 = x160 + x164 + x174 + x176 + x66 + x73 + x86 + V{3}*cell[11] + cell[16] - V{3}*cell[24];
3105auto x180 = x148 + x152 + x156 + x172 - x173 + x73 + x97 + V{3}*cell[12] + cell[15] - V{3}*cell[25];
3106auto x181 = x104*x119;
3107auto x182 = x134 + x146 - x147 + x162 - x163 + x167 + x86 + x97 - V{3}*cell[13] + cell[14] - cell[1] + V{3}*cell[26];
3109auto x184 = x104*x128;
3111auto x186 = x185*x61;
3113auto x188 = x187*x61 + V{-1};
3114auto x189 = x186 + x188;
3115auto x190 = x104*x125;
3117auto x192 = x191*x61;
3118auto x193 = x190 + x192;
3119auto x194 = x184 + x189 + x193;
3120auto x195 = x181 + x189;
3121auto x196 = x184 + x192;
3122auto x197 = x193 + x195;
3125auto x200 = x195 + x196;
3127auto x202 = x103 + x129;
3131cell[0] = -V{0.296296296296296}*x30*(x103*x58 + V{1}) - (x30 + V{-1})*cell[0];
3132cell[1] = -V{0.0740740740740741}*x31*(x58*(x102 + x120 - x121*x76) + V{1}) - (x31 + V{-1})*cell[1];
3133cell[2] = -V{0.0740740740740741}*x32*(x58*(x101 - x121*x89 + x126 + x127) + V{1}) - (x32 + V{-1})*cell[2];
3134cell[3] = -V{0.0740740740740741}*x33*(x58*(-x100*x121 + x127 + x129 + x90) + V{1}) - (x33 + V{-1})*cell[3];
3135cell[4] = -V{0.0185185185185185}*x34*(x58*(-x130*x137*x137 + x139) + V{1}) - (x34 + V{-1})*cell[4];
3136cell[5] = -V{0.0185185185185185}*x35*(x58*(-x130*x149*x149 + x151) + V{1}) - (x35 + V{-1})*cell[5];
3137cell[6] = -V{0.0185185185185185}*x36*(x58*(x129 - x130*x158*x158 + x138) + V{1}) - (x36 + V{-1})*cell[6];
3138cell[7] = -V{0.0185185185185185}*x37*(x58*(-x130*x165*x165 + x138 + x159) + V{1}) - (x37 + V{-1})*cell[7];
3139cell[8] = -V{0.0185185185185185}*x38*(x58*(-x130*x169*x169 + x171) + V{1}) - (x38 + V{-1})*cell[8];
3140cell[9] = -V{0.0185185185185185}*x39*(x58*(-x130*x175*x175 + x159 + x170) + V{1}) - (x39 + V{-1})*cell[9];
3141cell[10] = -V{0.00462962962962963}*x40*(x58*(x129 - x130*x178*x178 + x139) + V{1}) - (x40 + V{-1})*cell[10];
3142cell[11] = -V{0.00462962962962963}*x41*(x58*(-x130*x179*x179 + x139 + x159) + V{1}) - (x41 + V{-1})*cell[11];
3143cell[12] = -V{0.00462962962962963}*x42*(x58*(x129 - x130*x180*x180 + x151) + V{1}) - (x42 + V{-1})*cell[12];
3144cell[13] = -V{0.00462962962962963}*x43*(x58*(-x130*x183*x183 - x181 + x194) + V{1}) - (x43 + V{-1})*cell[13];
3145cell[14] = -V{0.0740740740740741}*x44*(x58*(-x121*x191 + x195) + V{1}) - (x44 + V{-1})*cell[14];
3146cell[15] = -V{0.0740740740740741}*x45*(x58*(-x121*x185 + x188 + x193) + V{1}) - (x45 + V{-1})*cell[15];
3147cell[16] = -V{0.0740740740740741}*x46*(x58*(-x121*x187 + x186 + x196 + V{-1}) + V{1}) - (x46 + V{-1})*cell[16];
3148cell[17] = -V{0.0185185185185185}*x47*(x58*(-x130*x136*x136 + x197) + V{1}) - (x47 + V{-1})*cell[17];
3149cell[18] = -V{0.0185185185185185}*x48*(x58*(-x130*x199*x199 + x170 + x198) + V{1}) - (x48 + V{-1})*cell[18];
3150cell[19] = -V{0.0185185185185185}*x49*(x58*(-x130*x157*x157 + x200) + V{1}) - (x49 + V{-1})*cell[19];
3151cell[20] = -V{0.0185185185185185}*x50*(x58*(-x130*x201*x201 + x198 + x202) + V{1}) - (x50 + V{-1})*cell[20];
3152cell[21] = -V{0.0185185185185185}*x51*(x58*(-x130*x168*x168 + x194) + V{1}) - (x51 + V{-1})*cell[21];
3153cell[22] = -V{0.0185185185185185}*x52*(x58*(-x130*x203*x203 + x150 + x202) + V{1}) - (x52 + V{-1})*cell[22];
3154cell[23] = -V{0.00462962962962963}*x53*(x58*(-x130*x177*x177 + x184 + x197) + V{1}) - (x53 + V{-1})*cell[23];
3155cell[24] = -V{0.00462962962962963}*x54*(x58*(-x130*x204*x204 - x184 + x197) + V{1}) - (x54 + V{-1})*cell[24];
3156cell[25] = -V{0.00462962962962963}*x55*(x58*(-x130*x205*x205 - x190 + x200) + V{1}) - (x55 + V{-1})*cell[25];
3157cell[26] = -V{0.00462962962962963}*x56*(x58*(-x130*x182*x182 + x171 + x198) + V{1}) - (x56 + V{-1})*cell[26];
3158return { x59, V{1}*x60*(x185 + x187 + x191) };
3164template <
typename... FIELDS>
3165struct TRT::type<descriptors::D2Q5<FIELDS...>,
momenta::BulkTuple,equilibria::SecondOrder> {
3167template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
3170auto x8 =
parameters.template get<olb::collision::TRT::MAGIC>();
3171auto x7 =
parameters.template get<olb::descriptors::OMEGA>();
3172auto x5 = cell[0] + cell[1] + cell[2] + cell[3] + cell[4] + V{1};
3173auto x6 = V{1} / ((x5)*(x5));
3176auto x11 = x10 + cell[1];
3181auto x16 = x15 + cell[2];
3185auto x20 = x19 + V{-1};
3186auto x21 = V{1} / (-x8/(V{0.5} - V{1}/x7) + V{0.5});
3187auto x22 = V{0.5}*cell[3];
3188auto x23 = V{0.5}*cell[1];
3189auto x24 = V{0.0833333333333333}*cell[0] + V{0.0833333333333333}*cell[1] + V{0.0833333333333333}*cell[2] + V{0.0833333333333333}*cell[3] + V{0.0833333333333333}*cell[4] + V{0.0833333333333333};
3190auto x25 = V{1} / (x5);
3191auto x26 = V{3}*cell[1] - V{3}*cell[3];
3198auto x33 = x24*(-x29 - x31 + V{3}*x32*x6 + V{1});
3199auto x34 = x23 - x24*(x28*x32 + x29 - x31 + V{1});
3200auto x35 = x7*(x22 - x33 + x34 + V{0.166666666666667});
3201auto x36 = V{0.5}*cell[4];
3202auto x37 = V{0.5}*cell[2];
3203auto x38 = V{3}*cell[2] - V{3}*cell[4];
3205auto x40 = x14 - V{3}*x18*x6 + x39 + V{-1};
3206auto x41 = x24*(-x25*x38 + V{3}*x30*x6 - x32*x9 + V{1});
3207auto x42 = x24*x40 + x37;
3208auto x43 = x7*(x36 - x41 + x42 + V{0.166666666666667});
3209auto x0 = -x7*((x14 + x20)*(V{0.333333333333333}*cell[0] + V{0.333333333333333}*cell[1] + V{0.333333333333333}*cell[2] + V{0.333333333333333}*cell[3] + V{0.333333333333333}*cell[4] + V{0.333333333333333}) + V{1}*cell[0] + V{0.333333333333333}) + cell[0];
3210auto x1 = x21*(x22 - x23 + x24*(V{3}*x13*x6 - x20 - x27) - x24*(x13*x28 - x19 + x27 + V{1})) - x35 + cell[1];
3211auto x2 = x21*(-x24*x40 - x24*(-x14 + x18*x28 + x39 + V{1}) + x36 - x37) - x43 + cell[2];
3212auto x3 = -x10 - x21*(-x33 - x34 + V{0.5}*cell[3]) - x35;
3213auto x4 = -x15 - x21*(-x41 - x42 + V{0.5}*cell[4]) - x43;
3219return { x5, V{1}*x6*(x30 + x32) };
3224template <
typename... FIELDS>
3225struct TRT::type<descriptors::D2Q9<FIELDS...>,
momenta::BulkTuple,equilibria::SecondOrder> {
3227template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
3230auto x11 =
parameters.template get<olb::descriptors::OMEGA>();
3231auto x12 =
parameters.template get<olb::collision::TRT::MAGIC>();
3232auto x9 = cell[0] + cell[1] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + cell[7] + cell[8] + V{1};
3233auto x10 = V{1} / ((x9)*(x9));
3234auto x13 = V{1.5}*x10;
3237auto x16 = x15 + cell[1];
3239auto x18 = x17 + cell[2];
3240auto x19 = x14 + x16 + x18 + cell[3];
3244auto x23 = -cell[4] + cell[8];
3245auto x24 = x16 + x23 - cell[3] + cell[7];
3248auto x27 = x26 + V{-1};
3249auto x28 = x22 + x27;
3250auto x29 = V{1} / (-x12/(V{0.5} - V{1}/x11) + V{0.5});
3251auto x30 = V{0.5}*cell[5];
3252auto x31 = V{0.5}*cell[1];
3253auto x32 = V{0.0138888888888889}*cell[0] + V{0.0138888888888889}*cell[1] + V{0.0138888888888889}*cell[2] + V{0.0138888888888889}*cell[3] + V{0.0138888888888889}*cell[4] + V{0.0138888888888889}*cell[5] + V{0.0138888888888889}*cell[6] + V{0.0138888888888889}*cell[7] + V{0.0138888888888889}*cell[8] + V{0.0138888888888889};
3254auto x33 = V{1} / (x9);
3255auto x34 = V{3}*cell[3];
3256auto x35 = V{3}*cell[1] - V{3}*cell[5];
3257auto x36 = x33*(-x34 + x35 - V{3}*cell[4] + V{3}*cell[7] + V{3}*cell[8]);
3259auto x38 = x18 + x23 + V{2}*cell[1] - V{2}*cell[5];
3260auto x39 = -V{4.5}*x10*x38*x38;
3261auto x40 = x34 + x35 + V{3}*cell[2] - V{3}*cell[6] - V{3}*cell[7];
3263auto x42 = x28 + x41;
3265auto x44 = V{4.5}*x10;
3267auto x46 = x44*(x45*x45);
3268auto x47 = V{1} - x26;
3269auto x48 = x41 + x47;
3273auto x52 = x27 + x51;
3274auto x53 = x50 + x52;
3275auto x54 = x32*(-x36 - x39 - x53);
3276auto x55 = x47 + x51;
3277auto x56 = x36 - x50;
3278auto x57 = x31 - x32*(x46 + x55 + x56);
3279auto x58 = x11*(x30 - x54 + x57 + V{0.0277777777777778});
3280auto x59 = V{0.5}*cell[6];
3281auto x60 = V{0.5}*cell[2];
3282auto x61 = V{0.0555555555555556}*cell[0] + 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};
3284auto x63 = x61*(V{3}*x10*x49 - x52);
3285auto x64 = x60 - x61*(x49*x62 + x55);
3286auto x65 = x11*(x59 - x63 + x64 + V{0.111111111111111});
3287auto x66 = V{0.5}*cell[7];
3288auto x67 = V{0.5}*cell[3];
3290auto x69 = -x18 - x68 - V{2}*cell[3] - cell[4] + V{2}*cell[7];
3292auto x71 = -V{4.5}*x10*x70;
3293auto x72 = x36 + x42 + x71;
3294auto x73 = x36 + x43;
3295auto x74 = x32*(-x37 - x53 - x71);
3296auto x75 = x32*x72 + x67;
3297auto x76 = x11*(x66 - x74 + x75 + V{0.0277777777777778});
3298auto x77 = V{0.5}*cell[8];
3299auto x78 = V{0.5}*cell[4];
3300auto x79 = -V{3}*x10*x25 + x22 + x36 + V{-1};
3301auto x80 = x25*x62 + V{1};
3302auto x81 = x61*(x56 + x80);
3303auto x82 = x61*x79 + x78;
3304auto x83 = x11*(x77 - x81 + x82 + V{0.111111111111111});
3305auto x0 = -x11*(x28*(V{0.444444444444444}*cell[0] + V{0.444444444444444}*cell[1] + V{0.444444444444444}*cell[2] + V{0.444444444444444}*cell[3] + V{0.444444444444444}*cell[4] + V{0.444444444444444}*cell[5] + V{0.444444444444444}*cell[6] + V{0.444444444444444}*cell[7] + V{0.444444444444444}*cell[8] + V{0.444444444444444}) + V{1}*cell[0] + V{0.444444444444444}) + cell[0];
3306auto x1 = x29*(x30 - x31 + x32*(-x37 - x39 - x42) - x32*(x37 + x43 + x46 + x48)) - x58 + cell[1];
3307auto x2 = x29*(x59 - x60 - x61*(x21*x62 + x48) + x61*(V{3}*x10*x21 - x27 - x41)) - x65 + cell[2];
3308auto x3 = x29*(-x32*x72 - x32*(x44*x70 + x48 + x73) + x66 - x67) - x76 + cell[3];
3309auto x4 = x29*(-x61*x79 - x61*(x73 + x80) + x77 - x78) - x83 + cell[4];
3310auto x5 = -x15 - x29*(-x54 - x57 + V{0.5}*cell[5]) - x58;
3311auto x6 = -x17 - x29*(-x63 - x64 + V{0.5}*cell[6]) - x65;
3312auto x7 = -x14 - x29*(-x74 - x75 + V{0.5}*cell[7]) - x76;
3313auto x8 = -x29*(-x81 - x82 + V{0.5}*cell[8]) - x68 - x83;
3323return { x9, V{1}*x10*(x25 + x49) };
3328template <
typename... FIELDS>
3329struct TRT::type<descriptors::D3Q7<FIELDS...>,
momenta::BulkTuple,equilibria::SecondOrder> {
3331template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
3334auto x11 =
parameters.template get<olb::collision::TRT::MAGIC>();
3335auto x10 =
parameters.template get<olb::descriptors::OMEGA>();
3336auto x7 = cell[0] + cell[1] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + V{1};
3337auto x8 = V{1} / ((x7)*(x7));
3340auto x13 = x12 + cell[1];
3345auto x18 = x17 + cell[2];
3350auto x23 = x22 + cell[3];
3354auto x27 = x21 + x26 + V{-1};
3355auto x28 = V{1} / (-x11/(V{0.5} - V{1}/x10) + V{0.5});
3356auto x29 = V{0.5}*cell[4];
3357auto x30 = V{0.5}*cell[1];
3358auto x31 = V{0.0625}*cell[0] + V{0.0625}*cell[1] + V{0.0625}*cell[2] + V{0.0625}*cell[3] + V{0.0625}*cell[4] + V{0.0625}*cell[5] + V{0.0625}*cell[6] + V{0.0625};
3359auto x32 = V{1} / (x7);
3360auto x33 = V{4}*cell[1] - V{4}*cell[4];
3362auto x35 = -V{6}*x15*x8 + x27 + x34;
3365auto x38 = V{1} - x26;
3370auto x43 = x42*x9 + V{-1};
3371auto x44 = x31*(-x32*x33 - x40 + V{6}*x41*x8 - x43);
3372auto x45 = x30 + x31*x35;
3373auto x46 = x10*(x29 - x44 + x45 + V{0.125});
3374auto x47 = V{0.5}*cell[5];
3375auto x48 = V{0.5}*cell[2];
3376auto x49 = V{4}*cell[2] - V{4}*cell[5];
3378auto x51 = x16 + V{-1};
3379auto x52 = -V{6}*x20*x8 + x26 + x50 + x51;
3382auto x55 = x31*(-x32*x49 + V{6}*x39*x8 - x43 - x54);
3383auto x56 = x31*x52 + x48;
3384auto x57 = x10*(x47 - x55 + x56 + V{0.125});
3385auto x58 = V{0.5}*cell[6];
3386auto x59 = V{0.5}*cell[3];
3387auto x60 = V{4}*cell[3] - V{4}*cell[6];
3389auto x62 = x21 - V{6}*x25*x8 + x51 + x61;
3390auto x63 = x31*(-x32*x60 - x40 + V{6}*x42*x8 - x54 + V{1});
3391auto x64 = x31*x62 + x59;
3392auto x65 = x10*(x58 - x63 + x64 + V{0.125});
3393auto x0 = -x10*((x16 + x27)*(V{0.25}*cell[0] + V{0.25}*cell[1] + V{0.25}*cell[2] + V{0.25}*cell[3] + V{0.25}*cell[4] + V{0.25}*cell[5] + V{0.25}*cell[6] + V{0.25}) + V{1}*cell[0] + V{0.25}) + cell[0];
3394auto x1 = x28*(x29 - x30 - x31*x35 - x31*(x15*x36 + x34 + x37 + x38)) - x46 + cell[1];
3395auto x2 = x28*(-x31*x52 - x31*(x20*x36 + x38 + x50 + x53) + x47 - x48) - x57 + cell[2];
3396auto x3 = x28*(-x31*x62 - x31*(x25*x36 + x37 + x53 + x61 + V{1}) + x58 - x59) - x65 + cell[3];
3397auto x4 = -x12 - x28*(-x44 - x45 + V{0.5}*cell[4]) - x46;
3398auto x5 = -x17 - x28*(-x55 - x56 + V{0.5}*cell[5]) - x57;
3399auto x6 = -x22 - x28*(-x63 - x64 + V{0.5}*cell[6]) - x65;
3407return { x7, V{1}*x8*(x39 + x41 + x42) };
3412template <
typename... FIELDS>
3413struct TRT::type<descriptors::D3Q19<FIELDS...>,
momenta::BulkTuple,equilibria::SecondOrder> {
3415template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
3418auto x22 =
parameters.template get<olb::descriptors::OMEGA>();
3419auto x23 =
parameters.template get<olb::collision::TRT::MAGIC>();
3420auto x19 = cell[10] + cell[14];
3421auto x20 = cell[12] + cell[7];
3422auto x21 = x19 + x20 + cell[0] + cell[11] + cell[13] + cell[15] + cell[16] + cell[17] + cell[18] + cell[1] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + cell[8] + cell[9] + V{1};
3423auto x24 = V{1} / ((x21)*(x21));
3424auto x25 = V{1.5}*x24;
3425auto x26 = cell[13] - cell[4];
3426auto x27 = cell[15] - cell[6];
3427auto x28 = x26 + x27;
3429auto x30 = cell[16] - cell[7];
3430auto x31 = x29 + x30;
3431auto x32 = x19 - cell[5];
3432auto x33 = x28 + x31 + x32;
3435auto x36 = cell[17] - cell[8];
3436auto x37 = x26 + x36;
3437auto x38 = cell[18] - cell[9];
3438auto x39 = -cell[14];
3440auto x41 = x39 + x40 + cell[11] + cell[5];
3441auto x42 = x37 + x38 + x41;
3444auto x45 = x27 + x36;
3446auto x47 = -cell[18];
3447auto x48 = x47 + cell[9];
3448auto x49 = x46 + x48;
3449auto x50 = -cell[16];
3450auto x51 = x20 + x50;
3451auto x52 = x45 + x49 + x51;
3454auto x55 = x44 + x54 + V{-1};
3455auto x56 = x35 + x55;
3456auto x57 = V{1} / (-x23/(V{0.5} - V{1}/x22) + V{0.5});
3457auto x58 = V{0.5}*cell[1];
3458auto x59 = 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};
3459auto x60 = V{1} / (x21);
3460auto x61 = V{3}*cell[14];
3461auto x62 = V{3}*cell[16];
3462auto x63 = V{3}*cell[5];
3463auto x64 = V{3}*cell[7];
3464auto x65 = V{3}*cell[13] - V{3}*cell[4];
3465auto x66 = V{3}*cell[15] - V{3}*cell[6];
3466auto x67 = x60*(x61 + x62 - x63 - x64 + x65 + x66 + V{3}*cell[10] - V{3}*cell[1]);
3467auto x68 = -V{3}*x24*x34 + x55 + x67;
3470auto x71 = V{1} - x54;
3471auto x72 = x70 + x71;
3472auto x73 = x67 + x72;
3473auto x74 = x59*(x34*x69 + x73);
3474auto x75 = -x74 + V{0.5}*cell[10];
3475auto x76 = x58 + x59*x68;
3476auto x77 = x22*(x75 + x76 + V{0.0555555555555556});
3477auto x78 = V{0.5}*cell[2];
3478auto x79 = V{3}*cell[18];
3479auto x80 = V{3}*cell[9];
3480auto x81 = V{3}*cell[17] - V{3}*cell[8];
3481auto x82 = x60*(-x61 + x63 + x65 + x79 - x80 + x81 + V{3}*cell[11] - V{3}*cell[2]);
3482auto x83 = x35 + V{-1};
3483auto x84 = -V{3}*x24*x43 + x54 + x82 + x83;
3485auto x86 = x82 + x85;
3486auto x87 = x59*(x43*x69 + x71 + x86);
3487auto x88 = -x87 + V{0.5}*cell[11];
3488auto x89 = x59*x84 + x78;
3489auto x90 = x22*(x88 + x89 + V{0.0555555555555556});
3490auto x91 = V{0.5}*cell[3];
3491auto x92 = x60*(-x62 + x64 + x66 - x79 + x80 + x81 + V{3}*cell[12] - V{3}*cell[3]);
3492auto x93 = -V{3}*x24*x53 + x44 + x83 + x92;
3493auto x94 = x85 + x92;
3494auto x95 = x59*(x53*x69 + x70 + x94 + V{1});
3495auto x96 = -x95 + V{0.5}*cell[12];
3496auto x97 = x59*x93 + x91;
3497auto x98 = x22*(x96 + x97 + V{0.0555555555555556});
3498auto x99 = V{0.5}*cell[4];
3499auto x100 = V{0.0138888888888889}*cell[0] + V{0.0138888888888889}*cell[10] + V{0.0138888888888889}*cell[11] + V{0.0138888888888889}*cell[12] + V{0.0138888888888889}*cell[13] + V{0.0138888888888889}*cell[14] + V{0.0138888888888889}*cell[15] + V{0.0138888888888889}*cell[16] + V{0.0138888888888889}*cell[17] + V{0.0138888888888889}*cell[18] + V{0.0138888888888889}*cell[1] + V{0.0138888888888889}*cell[2] + V{0.0138888888888889}*cell[3] + V{0.0138888888888889}*cell[4] + V{0.0138888888888889}*cell[5] + V{0.0138888888888889}*cell[6] + V{0.0138888888888889}*cell[7] + V{0.0138888888888889}*cell[8] + V{0.0138888888888889}*cell[9] + V{0.0138888888888889};
3500auto x101 = x31 + cell[10];
3501auto x102 = x101 + x38 + x40 + x45 + cell[11] + V{2}*cell[13] - V{2}*cell[4];
3502auto x103 = x102*x102;
3503auto x104 = x56 + x67;
3504auto x105 = -V{4.5}*x103*x24 + x104 + x82;
3505auto x106 = V{4.5}*x24;
3506auto x107 = x100*(x103*x106 + x73 + x86);
3507auto x108 = -x107 + V{0.5}*cell[13];
3508auto x109 = x100*x105 + x99;
3509auto x110 = x22*(x108 + x109 + V{0.0277777777777778});
3511auto x112 = -cell[11];
3512auto x113 = -cell[17];
3513auto x114 = x113 + cell[8];
3514auto x115 = x101 + x112 + x114 + x27 + x48 + V{2}*cell[14] + cell[2] - V{2}*cell[5];
3516auto x117 = x104 + x111 - V{4.5}*x24*x116*x116;
3517auto x118 = x56 - x67;
3518auto x119 = x118 - V{4.5}*x24*x115*x115 + x82;
3519auto x120 = V{0.5}*cell[14];
3520auto x121 = V{0.5}*cell[5];
3521auto x122 = x120 - x121;
3522auto x123 = x100*x119;
3523auto x124 = x100*x117;
3524auto x125 = x22*(x120 + x121 + x123 + x124 + V{0.0277777777777778});
3525auto x126 = V{0.5}*cell[6];
3526auto x127 = x29 + x32;
3527auto x128 = x127 + x37 + x49 + cell[12] + V{2}*cell[15] - V{2}*cell[6];
3528auto x129 = x128*x128;
3529auto x130 = x104 - V{4.5}*x129*x24 + x92;
3530auto x131 = x100*(x106*x129 + x73 + x94);
3531auto x132 = -x131 + V{0.5}*cell[15];
3532auto x133 = x100*x130 + x126;
3533auto x134 = x22*(x132 + x133 + V{0.0277777777777778});
3535auto x136 = -cell[12];
3536auto x137 = x136 + x26 + cell[3];
3537auto x138 = x114 + x127 + x137 + x38 + V{2}*cell[16] - V{2}*cell[7];
3539auto x140 = x104 + x135 - V{4.5}*x24*x139*x139;
3540auto x141 = x118 - V{4.5}*x24*x138*x138 + x92;
3541auto x142 = V{0.5}*cell[16];
3542auto x143 = V{0.5}*cell[7];
3543auto x144 = x142 - x143;
3544auto x145 = x100*x141;
3545auto x146 = x100*x140;
3546auto x147 = x22*(x142 + x143 + x145 + x146 + V{0.0277777777777778});
3547auto x148 = V{0.5}*cell[8];
3548auto x149 = x28 + x41 + x46 + x51 + V{2}*cell[17] - V{2}*cell[8];
3549auto x150 = x149*x149;
3550auto x151 = x56 + x82;
3551auto x152 = -V{4.5}*x150*x24 + x151 + x92;
3552auto x153 = x100*(x106*x150 + x72 + x86 + x92);
3553auto x154 = -x153 + V{0.5}*cell[17];
3554auto x155 = x100*x152 + x148;
3555auto x156 = x22*(x154 + x155 + V{0.0277777777777778});
3556auto x157 = -cell[15];
3557auto x158 = x137 + x157 + x30 + x41 + V{2}*cell[18] + cell[6] - V{2}*cell[9];
3559auto x160 = x135 + x151 - V{4.5}*x24*x159*x159;
3560auto x161 = x111 - V{4.5}*x24*x158*x158 + x56 + x92;
3561auto x162 = V{0.5}*cell[18];
3562auto x163 = V{0.5}*cell[9];
3563auto x164 = x162 - x163;
3564auto x165 = x100*x160;
3565auto x166 = x100*x161;
3566auto x167 = x22*(x162 + x163 + x165 + x166 + V{0.0277777777777778});
3567auto x0 = -x22*(x56*(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{1}*cell[0] + V{0.333333333333333}) + cell[0];
3568auto x1 = x57*(-x58 - x59*x68 + x75) - x77 + cell[1];
3569auto x2 = x57*(-x59*x84 - x78 + x88) - x90 + cell[2];
3570auto x3 = x57*(-x59*x93 - x91 + x96) - x98 + cell[3];
3571auto x4 = -x110 + x57*(-x100*x105 + x108 - x99) + cell[4];
3572auto x5 = -x125 + x57*(-x100*x117 + x100*x119 + x122) + cell[5];
3573auto x6 = -x134 + x57*(-x100*x130 - x126 + x132) + cell[6];
3574auto x7 = -x147 + x57*(-x100*x140 + x100*x141 + x144) + cell[7];
3575auto x8 = -x156 + x57*(-x100*x152 - x148 + x154) + cell[8];
3576auto x9 = -x167 + x57*(-x100*x160 + x100*x161 + x164) + cell[9];
3577auto x10 = -x57*(-x74 - x76 + V{0.5}*cell[10]) - x77 + cell[10];
3578auto x11 = -x112 - x57*(-x87 - x89 + V{0.5}*cell[11]) - x90;
3579auto x12 = -x136 - x57*(-x95 - x97 + V{0.5}*cell[12]) - x98;
3580auto x13 = -x110 - x57*(-x107 - x109 + V{0.5}*cell[13]) + cell[13];
3581auto x14 = -x125 - x39 - x57*(x122 + x123 - x124);
3582auto x15 = -x134 - x157 - x57*(-x131 - x133 + V{0.5}*cell[15]);
3583auto x16 = -x147 - x50 - x57*(x144 + x145 - x146);
3584auto x17 = -x113 - x156 - x57*(-x153 - x155 + V{0.5}*cell[17]);
3585auto x18 = -x167 - x47 - x57*(x164 - x165 + x166);
3605return { x21, V{1}*x24*(x34 + x43 + x53) };
3610template <
typename... FIELDS>
3611struct TRT::type<descriptors::D3Q27<FIELDS...>,
momenta::BulkTuple,equilibria::SecondOrder> {
3613template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
3616auto x31 =
parameters.template get<olb::collision::TRT::MAGIC>();
3617auto x30 =
parameters.template get<olb::descriptors::OMEGA>();
3618auto x27 = cell[8] + cell[9];
3619auto x28 = cell[15] + cell[21];
3620auto x29 = cell[11] + cell[26];
3621auto x32 = x27 + x28 + x29 + cell[0] + cell[10] + cell[12] + cell[13] + cell[14] + cell[16] + cell[17] + cell[18] + cell[19] + cell[1] + cell[20] + cell[22] + cell[23] + cell[24] + cell[25] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + cell[7] + V{1};
3622auto x33 = V{1} / ((x32)*(x32));
3623auto x34 = V{1.5}*x33;
3624auto x35 = -cell[17];
3625auto x36 = -cell[19];
3626auto x37 = x35 + x36 + cell[4] + cell[6];
3627auto x38 = -cell[24];
3628auto x39 = -cell[23];
3629auto x40 = x39 + cell[10];
3630auto x41 = x38 + x40 + cell[11];
3631auto x42 = -cell[25];
3632auto x43 = x42 + cell[12];
3633auto x44 = -cell[14];
3634auto x45 = -cell[20];
3635auto x46 = x45 + cell[7];
3636auto x47 = x44 + x46 + cell[1];
3637auto x48 = -cell[18];
3638auto x49 = x48 + cell[5];
3639auto x50 = -cell[26];
3640auto x51 = x50 + cell[13];
3641auto x52 = x37 + x41 + x43 + x47 + x49 + x51;
3645auto x56 = -cell[21];
3646auto x57 = -cell[13];
3647auto x58 = x56 + x57 + cell[26] + cell[8];
3648auto x59 = -cell[22];
3649auto x60 = x35 + cell[4];
3650auto x61 = x59 + x60 + cell[9];
3651auto x62 = -cell[15];
3652auto x63 = x62 + cell[18] + cell[2] - cell[5];
3653auto x64 = -cell[12] + cell[25];
3654auto x65 = x41 + x58 + x61 + x63 + x64;
3658auto x69 = -cell[16];
3659auto x70 = x43 + x69 + cell[3];
3661auto x72 = x36 + cell[6];
3662auto x73 = x71 + x72 + cell[22];
3663auto x74 = cell[20] - cell[7];
3664auto x75 = x40 - cell[11] + cell[24];
3665auto x76 = x58 + x70 + x73 + x74 + x75;
3669auto x80 = x68 + x79 + V{-1};
3670auto x81 = x55 + x80;
3671auto x82 = V{1} / (-x31/(V{0.5} - V{1}/x30) + V{0.5});
3672auto x83 = V{0.5}*cell[14];
3673auto x84 = V{0.5}*cell[1];
3674auto x85 = V{0.037037037037037}*cell[0] + V{0.037037037037037}*cell[10] + V{0.037037037037037}*cell[11] + V{0.037037037037037}*cell[12] + V{0.037037037037037}*cell[13] + V{0.037037037037037}*cell[14] + V{0.037037037037037}*cell[15] + V{0.037037037037037}*cell[16] + V{0.037037037037037}*cell[17] + V{0.037037037037037}*cell[18] + V{0.037037037037037}*cell[19] + V{0.037037037037037}*cell[1] + V{0.037037037037037}*cell[20] + V{0.037037037037037}*cell[21] + V{0.037037037037037}*cell[22] + V{0.037037037037037}*cell[23] + V{0.037037037037037}*cell[24] + V{0.037037037037037}*cell[25] + V{0.037037037037037}*cell[26] + V{0.037037037037037}*cell[2] + V{0.037037037037037}*cell[3] + V{0.037037037037037}*cell[4] + V{0.037037037037037}*cell[5] + V{0.037037037037037}*cell[6] + V{0.037037037037037}*cell[7] + V{0.037037037037037}*cell[8] + V{0.037037037037037}*cell[9] + V{0.037037037037037};
3675auto x86 = V{1} / (x32);
3676auto x87 = V{3}*cell[5];
3677auto x88 = V{3}*cell[7];
3678auto x89 = V{3}*cell[13];
3679auto x90 = V{3}*cell[18];
3680auto x91 = V{3}*cell[20];
3681auto x92 = V{3}*cell[26];
3682auto x93 = V{3}*cell[10];
3683auto x94 = V{3}*cell[11];
3684auto x95 = -V{3}*cell[23];
3685auto x96 = V{3}*cell[24];
3686auto x97 = x93 + x94 + x95 - x96 - V{3}*cell[17] + V{3}*cell[4];
3687auto x98 = V{3}*cell[12];
3688auto x99 = V{3}*cell[25];
3689auto x100 = x98 - x99 - V{3}*cell[19] + V{3}*cell[6];
3690auto x101 = x100 + x87 + x88 + x89 - x90 - x91 - x92 + x97 - V{3}*cell[14] + V{3}*cell[1];
3691auto x102 = -x101*x86;
3692auto x103 = x102 - V{3}*x33*x54 + x80;
3693auto x104 = V{3}*x33;
3695auto x106 = V{1} - x79;
3696auto x107 = x105 + x106;
3697auto x108 = x102 + x107;
3699auto x110 = x101*x86;
3701auto x112 = x111*x34;
3703auto x114 = x113*x34 + V{-1};
3704auto x115 = x112 + x114;
3705auto x116 = x110 + x115;
3706auto x117 = x85*(V{3}*x109*x33 - x116);
3707auto x118 = x103*x85 + x84;
3708auto x119 = x30*(-x117 + x118 + x83 + V{0.0740740740740741});
3709auto x120 = V{0.5}*cell[15];
3710auto x121 = V{0.5}*cell[2];
3711auto x122 = V{3}*cell[9];
3712auto x123 = V{3}*cell[22];
3713auto x124 = -x89 + x92 - V{3}*cell[21] + V{3}*cell[8];
3714auto x125 = x122 - x123 + x124 - x87 + x90 + x97 - x98 + x99 - V{3}*cell[15] + V{3}*cell[2];
3715auto x126 = -x125*x86;
3716auto x127 = x55 + V{-1};
3717auto x128 = x126 + x127 - V{3}*x33*x67 + x79;
3719auto x130 = x126 + x129;
3720auto x131 = x125*x86;
3721auto x132 = x109*x34;
3722auto x133 = x131 + x132;
3723auto x134 = x85*(V{3}*x111*x33 - x114 - x133);
3724auto x135 = x121 + x128*x85;
3725auto x136 = x30*(x120 - x134 + x135 + V{0.0740740740740741});
3726auto x137 = V{0.5}*cell[16];
3727auto x138 = V{0.5}*cell[3];
3728auto x139 = x100 - x122 + x123 + x124 - x88 + x91 + x93 - x94 + x95 + x96 - V{3}*cell[16] + V{3}*cell[3];
3729auto x140 = -x139*x86;
3730auto x141 = x127 + x140 - V{3}*x33*x78 + x68;
3731auto x142 = x129 + x140;
3732auto x143 = x139*x86;
3733auto x144 = x132 + x143;
3734auto x145 = x85*(-x112 + V{3}*x113*x33 - x144 + V{1});
3735auto x146 = x138 + x141*x85;
3736auto x147 = x30*(x137 - x145 + x146 + V{0.0740740740740741});
3737auto x148 = V{0.5}*cell[17];
3738auto x149 = V{0.5}*cell[4];
3739auto x150 = V{0.00925925925925926}*cell[0] + V{0.00925925925925926}*cell[10] + V{0.00925925925925926}*cell[11] + V{0.00925925925925926}*cell[12] + V{0.00925925925925926}*cell[13] + V{0.00925925925925926}*cell[14] + V{0.00925925925925926}*cell[15] + V{0.00925925925925926}*cell[16] + V{0.00925925925925926}*cell[17] + V{0.00925925925925926}*cell[18] + V{0.00925925925925926}*cell[19] + V{0.00925925925925926}*cell[1] + V{0.00925925925925926}*cell[20] + V{0.00925925925925926}*cell[21] + V{0.00925925925925926}*cell[22] + V{0.00925925925925926}*cell[23] + V{0.00925925925925926}*cell[24] + V{0.00925925925925926}*cell[25] + V{0.00925925925925926}*cell[26] + V{0.00925925925925926}*cell[2] + V{0.00925925925925926}*cell[3] + V{0.00925925925925926}*cell[4] + V{0.00925925925925926}*cell[5] + V{0.00925925925925926}*cell[6] + V{0.00925925925925926}*cell[7] + V{0.00925925925925926}*cell[8] + V{0.00925925925925926}*cell[9] + V{0.00925925925925926};
3740auto x151 = V{2}*cell[11] - V{2}*cell[24];
3741auto x152 = V{2}*cell[10] - V{2}*cell[23];
3742auto x153 = x152 + x56;
3743auto x154 = x62 + cell[2];
3744auto x155 = x154 - V{2}*cell[17] + V{2}*cell[4];
3745auto x156 = x151 + x153 + x155 + x27 + x47 + x59 + x72;
3747auto x158 = x157*x157;
3748auto x159 = x102 + x81;
3749auto x160 = x126 + x159;
3750auto x161 = -V{4.5}*x158*x33 + x160;
3751auto x162 = V{4.5}*x33;
3752auto x163 = x108 + x130;
3753auto x164 = x116 + x133;
3754auto x165 = -x150*(x164 - V{4.5}*x33*x156*x156);
3755auto x166 = x149 + x150*x161;
3756auto x167 = x30*(x148 - x165 + x166 + V{0.0185185185185185});
3757auto x168 = V{2}*cell[25];
3758auto x169 = V{2}*cell[12];
3759auto x170 = -x168 + x169;
3760auto x171 = V{2}*cell[26];
3761auto x172 = V{2}*cell[13];
3762auto x173 = -x171 + x172 - cell[8];
3763auto x174 = V{2}*cell[18];
3764auto x175 = V{2}*cell[5];
3765auto x176 = -x174 + x175 - cell[2];
3766auto x177 = x170 + x173 + x176 + x28 + x47 + x73;
3768auto x179 = x159 + x178;
3769auto x180 = x179 - V{4.5}*x33*x177*x177;
3771auto x182 = -x102 + x81;
3772auto x183 = x126 + x182;
3773auto x184 = x183 - V{4.5}*x33*x181*x181;
3774auto x185 = V{0.5}*cell[18];
3775auto x186 = V{0.5}*cell[5];
3776auto x187 = x185 - x186;
3777auto x188 = x150*x184;
3778auto x189 = x150*x180;
3779auto x190 = x30*(x185 + x186 + x188 + x189 + V{0.0185185185185185});
3780auto x191 = V{0.5}*cell[19];
3781auto x192 = V{0.5}*cell[6];
3782auto x193 = x44 + cell[1];
3783auto x194 = x193 + x49;
3784auto x195 = x69 + cell[3];
3785auto x196 = -V{2}*cell[19] + V{2}*cell[6];
3786auto x197 = x195 + x196;
3787auto x198 = x153 + x170 + x194 + x197 + x60 + x71 + cell[22] + cell[8];
3789auto x200 = x199*x199;
3790auto x201 = x140 + x159 - V{4.5}*x200*x33;
3791auto x202 = x108 + x142;
3792auto x203 = x116 + x144;
3793auto x204 = -x150*(x203 - V{4.5}*x33*x198*x198);
3794auto x205 = x150*x201 + x192;
3795auto x206 = x30*(x191 - x204 + x205 + V{0.0185185185185185});
3797auto x208 = -cell[3];
3798auto x209 = x151 + x208 + cell[16];
3799auto x210 = V{2}*cell[20];
3800auto x211 = V{2}*cell[7];
3801auto x212 = -x210 + x211;
3802auto x213 = x173 + x194 + x209 + x212 + x61 + cell[21];
3803auto x214 = x159 + x207 - V{4.5}*x33*x213*x213;
3805auto x216 = x140 + x182 - V{4.5}*x33*x215*x215;
3806auto x217 = V{0.5}*cell[20];
3807auto x218 = V{0.5}*cell[7];
3808auto x219 = x217 - x218;
3809auto x220 = x150*x216;
3810auto x221 = x150*x214;
3811auto x222 = x30*(x217 + x218 + x220 + x221 + V{0.0185185185185185});
3812auto x223 = V{0.5}*cell[21];
3813auto x224 = V{0.5}*cell[8];
3814auto x225 = -V{2}*cell[21] + V{2}*cell[8];
3815auto x226 = x195 + x225;
3816auto x227 = x152 + x171 - x172 + x226 + x37 + x63 + x74;
3818auto x229 = x228*x228;
3819auto x230 = x126 + x81;
3820auto x231 = x140 - V{4.5}*x229*x33 + x230;
3821auto x232 = x115 + x133 + x143;
3822auto x233 = -x150*(x232 - V{4.5}*x33*x227*x227);
3823auto x234 = x150*x231 + x224;
3824auto x235 = x30*(x223 - x233 + x234 + V{0.0185185185185185});
3825auto x236 = V{2}*cell[22];
3826auto x237 = V{2}*cell[9];
3827auto x238 = -x236 + x237;
3828auto x239 = x168 - x169 + x209 + x238 + x46 + x60 + x63 + cell[19] - cell[6];
3829auto x240 = x207 + x230 - V{4.5}*x33*x239*x239;
3831auto x242 = x140 + x178 - V{4.5}*x33*x241*x241 + x81;
3832auto x243 = V{0.5}*cell[22];
3833auto x244 = V{0.5}*cell[9];
3834auto x245 = x243 - x244;
3835auto x246 = x150*x240;
3836auto x247 = x150*x242;
3837auto x248 = x30*(x243 + x244 + x246 + x247 + V{0.0185185185185185});
3838auto x249 = V{0.5}*cell[23];
3839auto x250 = V{0.5}*cell[10];
3840auto x251 = V{0.00231481481481481}*cell[0] + V{0.00231481481481481}*cell[10] + V{0.00231481481481481}*cell[11] + V{0.00231481481481481}*cell[12] + V{0.00231481481481481}*cell[13] + V{0.00231481481481481}*cell[14] + V{0.00231481481481481}*cell[15] + V{0.00231481481481481}*cell[16] + V{0.00231481481481481}*cell[17] + V{0.00231481481481481}*cell[18] + V{0.00231481481481481}*cell[19] + V{0.00231481481481481}*cell[1] + V{0.00231481481481481}*cell[20] + V{0.00231481481481481}*cell[21] + V{0.00231481481481481}*cell[22] + V{0.00231481481481481}*cell[23] + V{0.00231481481481481}*cell[24] + V{0.00231481481481481}*cell[25] + V{0.00231481481481481}*cell[26] + V{0.00231481481481481}*cell[2] + V{0.00231481481481481}*cell[3] + V{0.00231481481481481}*cell[4] + V{0.00231481481481481}*cell[5] + V{0.00231481481481481}*cell[6] + V{0.00231481481481481}*cell[7] + V{0.00231481481481481}*cell[8] + V{0.00231481481481481}*cell[9] + V{0.00231481481481481};
3841auto x252 = x155 + x193;
3842auto x253 = x196 + x225 + x252 + x29 + x38 + x57 + x70 + V{3}*cell[10] - V{3}*cell[23];
3844auto x255 = x254*x254;
3845auto x256 = x140 + x160 - V{4.5}*x255*x33;
3846auto x257 = -x251*(x143 + x164 - V{4.5}*x33*x253*x253);
3847auto x258 = x250 + x251*x256;
3848auto x259 = x30*(x249 - x257 + x258 + V{0.00462962962962963});
3849auto x260 = V{0.5}*cell[24];
3850auto x261 = V{0.5}*cell[11];
3851auto x262 = x208 + x212 + x238 + x252 + x40 + x51 + x64 + V{3}*cell[11] + cell[16] - V{3}*cell[24];
3852auto x263 = x160 + x207 - V{4.5}*x33*x262*x262;
3854auto x265 = x264*x264;
3855auto x266 = x251*(x143 - x164 + V{4.5}*x265*x33);
3856auto x267 = x251*x263 + x261;
3857auto x268 = x30*(x260 - x266 + x267 + V{0.00462962962962963});
3858auto x269 = V{0.5}*cell[25];
3859auto x270 = V{0.5}*cell[12];
3860auto x271 = x176 + x193 + x197 + x236 - x237 + x51 + x75 + V{3}*cell[12] + cell[15] - V{3}*cell[25];
3861auto x272 = x140 + x179 - V{4.5}*x33*x271*x271;
3863auto x274 = x273*x273;
3864auto x275 = x251*(x131 - x203 + V{4.5}*x274*x33);
3865auto x276 = x251*x272 + x270;
3866auto x277 = x30*(x269 - x275 + x276 + V{0.00462962962962963});
3867auto x278 = x154 + x174 - x175 + x210 - x211 + x226 + x64 + x75 - V{3}*cell[13] + cell[14] - cell[1] + V{3}*cell[26];
3869auto x280 = -V{4.5}*x33*x279*x279;
3870auto x281 = x140 + x183 - V{4.5}*x33*x278*x278;
3871auto x282 = V{0.5}*cell[26];
3872auto x283 = V{0.5}*cell[13];
3873auto x284 = x282 - x283;
3874auto x285 = x251*x281;
3875auto x286 = x251*(x110 - x232 - x280);
3876auto x287 = x30*(x282 + x283 + x285 - x286 + V{0.00462962962962963});
3877auto x0 = -x30*(x81*(V{0.296296296296296}*cell[0] + V{0.296296296296296}*cell[10] + V{0.296296296296296}*cell[11] + V{0.296296296296296}*cell[12] + V{0.296296296296296}*cell[13] + V{0.296296296296296}*cell[14] + V{0.296296296296296}*cell[15] + V{0.296296296296296}*cell[16] + V{0.296296296296296}*cell[17] + V{0.296296296296296}*cell[18] + V{0.296296296296296}*cell[19] + V{0.296296296296296}*cell[1] + V{0.296296296296296}*cell[20] + V{0.296296296296296}*cell[21] + V{0.296296296296296}*cell[22] + V{0.296296296296296}*cell[23] + V{0.296296296296296}*cell[24] + V{0.296296296296296}*cell[25] + V{0.296296296296296}*cell[26] + V{0.296296296296296}*cell[2] + V{0.296296296296296}*cell[3] + V{0.296296296296296}*cell[4] + V{0.296296296296296}*cell[5] + V{0.296296296296296}*cell[6] + V{0.296296296296296}*cell[7] + V{0.296296296296296}*cell[8] + V{0.296296296296296}*cell[9] + V{0.296296296296296}) + V{1}*cell[0] + V{0.296296296296296}) + cell[0];
3878auto x1 = -x119 + x82*(-x103*x85 + x83 - x84 - x85*(x104*x54 + x108)) + cell[1];
3879auto x2 = -x136 + x82*(x120 - x121 - x128*x85 - x85*(x104*x67 + x106 + x130)) + cell[2];
3880auto x3 = -x147 + x82*(x137 - x138 - x141*x85 - x85*(x104*x78 + x105 + x142 + V{1})) + cell[3];
3881auto x4 = -x167 + x82*(x148 - x149 - x150*x161 - x150*(x158*x162 + x163)) + cell[4];
3882auto x5 = -x190 + x82*(-x150*x180 + x150*x184 + x187) + cell[5];
3883auto x6 = -x206 + x82*(-x150*x201 - x150*(x162*x200 + x202) + x191 - x192) + cell[6];
3884auto x7 = -x222 + x82*(-x150*x214 + x150*x216 + x219) + cell[7];
3885auto x8 = -x235 + x82*(-x150*x231 - x150*(x107 + x130 + x140 + x162*x229) + x223 - x224) + cell[8];
3886auto x9 = -x248 + x82*(-x150*x240 + x150*x242 + x245) + cell[9];
3887auto x10 = -x259 + x82*(x249 - x250 - x251*x256 - x251*(x140 + x162*x255 + x163)) + cell[10];
3888auto x11 = -x268 + x82*(-x251*x263 - x251*(x162*x265 + x163 + x207) + x260 - x261) + cell[11];
3889auto x12 = -x277 + x82*(-x251*x272 - x251*(x162*x274 + x178 + x202) + x269 - x270) + cell[12];
3890auto x13 = -x287 + x82*(x251*x281 + x251*(-x179 - x207 - x280) + x284) + cell[13];
3891auto x14 = -x119 - x44 - x82*(-x117 - x118 + V{0.5}*cell[14]);
3892auto x15 = -x136 - x62 - x82*(-x134 - x135 + V{0.5}*cell[15]);
3893auto x16 = -x147 - x69 - x82*(-x145 - x146 + V{0.5}*cell[16]);
3894auto x17 = -x167 - x35 - x82*(-x165 - x166 + V{0.5}*cell[17]);
3895auto x18 = -x190 - x48 - x82*(x187 + x188 - x189);
3896auto x19 = -x206 - x36 - x82*(-x204 - x205 + V{0.5}*cell[19]);
3897auto x20 = -x222 - x45 - x82*(x219 + x220 - x221);
3898auto x21 = -x235 - x56 - x82*(-x233 - x234 + V{0.5}*cell[21]);
3899auto x22 = -x248 - x59 - x82*(x245 - x246 + x247);
3900auto x23 = -x259 - x39 - x82*(-x257 - x258 + V{0.5}*cell[23]);
3901auto x24 = -x268 - x38 - x82*(-x266 - x267 + V{0.5}*cell[24]);
3902auto x25 = -x277 - x42 - x82*(-x275 - x276 + V{0.5}*cell[25]);
3903auto x26 = -x287 - x50 - x82*(x284 + x285 + x286);
3931return { x32, V{1}*x33*(x109 + x111 + x113) };
3937template <
typename... FIELDS>
3940template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
3943auto x8 =
parameters.template get<olb::collision::Poisson::SINK>();
3944auto x7 =
parameters.template get<olb::descriptors::OMEGA>();
3945auto x5 = V{0.166666666666667}*cell[2];
3946auto x6 = V{0.166666666666667}*cell[0];
3947auto x9 = V{0.166666666666667}*cell[3];
3948auto x10 = V{0.166666666666667}*cell[4];
3949auto x11 = x10 + x6 + x9;
3950auto x12 = V{0.166666666666667}*cell[1];
3951auto x13 = x12 + x5 + x6;
3952auto x0 = x7*(-V{0.666666666666667}*cell[0] + V{0.333333333333333}*cell[1] + V{0.333333333333333}*cell[2] + V{0.333333333333333}*cell[3] + V{0.333333333333333}*cell[4]) - x8*(cell[0] + V{0.333333333333333}) + cell[0];
3953auto x1 = x7*(x11 + x5 - V{0.833333333333333}*cell[1]) - x8*(cell[1] + V{0.166666666666667}) + cell[1];
3954auto x2 = x7*(x11 + x12 - V{0.833333333333333}*cell[2]) - x8*(cell[2] + V{0.166666666666667}) + cell[2];
3955auto x3 = x7*(x10 + x13 - V{0.833333333333333}*cell[3]) - x8*(cell[3] + V{0.166666666666667}) + cell[3];
3956auto x4 = x7*(x13 + x9 - V{0.833333333333333}*cell[4]) - x8*(cell[4] + V{0.166666666666667}) + cell[4];
3962return { cell[0] + cell[1] + cell[2] + cell[3] + cell[4] + V{1}, V{0} };
3967template <
typename... FIELDS>
3970template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
3973auto x11 =
parameters.template get<olb::descriptors::OMEGA>();
3974auto x12 =
parameters.template get<olb::collision::Poisson::SINK>();
3975auto x9 = V{0.0277777777777778}*cell[3];
3976auto x10 = V{0.0277777777777778}*cell[0];
3977auto x13 = V{0.0277777777777778}*cell[2];
3978auto x14 = V{0.0277777777777778}*cell[4];
3979auto x15 = V{0.0277777777777778}*cell[5];
3980auto x16 = V{0.0277777777777778}*cell[6];
3981auto x17 = V{0.0277777777777778}*cell[7];
3982auto x18 = V{0.0277777777777778}*cell[8];
3983auto x19 = x10 + x13 + x14 + x15 + x16 + x17 + x18;
3984auto x20 = V{0.111111111111111}*cell[4];
3985auto x21 = V{0.111111111111111}*cell[0];
3986auto x22 = V{0.111111111111111}*cell[1];
3987auto x23 = V{0.111111111111111}*cell[3];
3988auto x24 = V{0.111111111111111}*cell[5];
3989auto x25 = V{0.111111111111111}*cell[6];
3990auto x26 = V{0.111111111111111}*cell[7];
3991auto x27 = V{0.111111111111111}*cell[8];
3992auto x28 = x21 + x22 + x23 + x24 + x25 + x26 + x27;
3993auto x29 = V{0.0277777777777778}*cell[1];
3994auto x30 = V{0.111111111111111}*cell[2];
3995auto x31 = x10 + x13 + x14 + x16 + x18 + x29 + x9;
3996auto x32 = x20 + x21 + x22 + x23 + x24 + x26 + x30;
3997auto x0 = x11*(-V{0.555555555555556}*cell[0] + V{0.444444444444444}*cell[1] + V{0.444444444444444}*cell[2] + V{0.444444444444444}*cell[3] + V{0.444444444444444}*cell[4] + V{0.444444444444444}*cell[5] + V{0.444444444444444}*cell[6] + V{0.444444444444444}*cell[7] + V{0.444444444444444}*cell[8]) - x12*(cell[0] + V{0.444444444444444}) + cell[0];
3998auto x1 = x11*(x19 + x9 - V{0.972222222222222}*cell[1]) - x12*(cell[1] + V{0.0277777777777778}) + cell[1];
3999auto x2 = x11*(x20 + x28 - V{0.888888888888889}*cell[2]) - x12*(cell[2] + V{0.111111111111111}) + cell[2];
4000auto x3 = x11*(x19 + x29 - V{0.972222222222222}*cell[3]) - x12*(cell[3] + V{0.0277777777777778}) + cell[3];
4001auto x4 = x11*(x28 + x30 - V{0.888888888888889}*cell[4]) - x12*(cell[4] + V{0.111111111111111}) + cell[4];
4002auto x5 = x11*(x17 + x31 - V{0.972222222222222}*cell[5]) - x12*(cell[5] + V{0.0277777777777778}) + cell[5];
4003auto x6 = x11*(x27 + x32 - V{0.888888888888889}*cell[6]) - x12*(cell[6] + V{0.111111111111111}) + cell[6];
4004auto x7 = x11*(x15 + x31 - V{0.972222222222222}*cell[7]) - x12*(cell[7] + V{0.0277777777777778}) + cell[7];
4005auto x8 = x11*(x25 + x32 - V{0.888888888888889}*cell[8]) - x12*(cell[8] + V{0.111111111111111}) + cell[8];
4015return { cell[0] + cell[1] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + cell[7] + cell[8] + V{1}, V{0} };
4020template <
typename... FIELDS>
4023template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
4026auto x11 =
parameters.template get<olb::collision::Poisson::SINK>();
4027auto x10 =
parameters.template get<olb::descriptors::OMEGA>();
4028auto x7 = V{0.125}*cell[2];
4029auto x8 = V{0.125}*cell[0];
4030auto x9 = V{0.125}*cell[3];
4031auto x12 = V{0.125}*cell[4];
4032auto x13 = V{0.125}*cell[5];
4033auto x14 = V{0.125}*cell[6];
4034auto x15 = x12 + x13 + x14 + x8 + x9;
4035auto x16 = V{0.125}*cell[1];
4036auto x17 = x13 + x14 + x16 + x7 + x8;
4037auto x18 = x12 + x16 + x7 + x8 + x9;
4038auto x0 = x10*(-V{0.75}*cell[0] + V{0.25}*cell[1] + V{0.25}*cell[2] + V{0.25}*cell[3] + V{0.25}*cell[4] + V{0.25}*cell[5] + V{0.25}*cell[6]) - x11*(cell[0] + V{0.25}) + cell[0];
4039auto x1 = x10*(x15 + x7 - V{0.875}*cell[1]) - x11*(cell[1] + V{0.125}) + cell[1];
4040auto x2 = x10*(x15 + x16 - V{0.875}*cell[2]) - x11*(cell[2] + V{0.125}) + cell[2];
4041auto x3 = x10*(x12 + x17 - V{0.875}*cell[3]) - x11*(cell[3] + V{0.125}) + cell[3];
4042auto x4 = x10*(x17 + x9 - V{0.875}*cell[4]) - x11*(cell[4] + V{0.125}) + cell[4];
4043auto x5 = x10*(x14 + x18 - V{0.875}*cell[5]) - x11*(cell[5] + V{0.125}) + cell[5];
4044auto x6 = x10*(x13 + x18 - V{0.875}*cell[6]) - x11*(cell[6] + V{0.125}) + cell[6];
4052return { cell[0] + cell[1] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + V{1}, V{0} };
4057template <
typename... FIELDS>
4060template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
4063auto x22 =
parameters.template get<olb::descriptors::OMEGA>();
4064auto x23 =
parameters.template get<olb::collision::Poisson::SINK>();
4065auto x19 = V{0.0555555555555556}*cell[2];
4066auto x20 = V{0.0555555555555556}*cell[0];
4067auto x21 = V{0.0555555555555556}*cell[3];
4068auto x24 = V{0.0555555555555556}*cell[4];
4069auto x25 = V{0.0555555555555556}*cell[5];
4070auto x26 = V{0.0555555555555556}*cell[6];
4071auto x27 = V{0.0555555555555556}*cell[7];
4072auto x28 = V{0.0555555555555556}*cell[8];
4073auto x29 = V{0.0555555555555556}*cell[9];
4074auto x30 = V{0.0555555555555556}*cell[10];
4075auto x31 = V{0.0555555555555556}*cell[11];
4076auto x32 = V{0.0555555555555556}*cell[12];
4077auto x33 = V{0.0555555555555556}*cell[13];
4078auto x34 = V{0.0555555555555556}*cell[14];
4079auto x35 = V{0.0555555555555556}*cell[15];
4080auto x36 = V{0.0555555555555556}*cell[16];
4081auto x37 = V{0.0555555555555556}*cell[17];
4082auto x38 = V{0.0555555555555556}*cell[18];
4083auto x39 = x20 + x21 + x24 + x25 + x26 + x27 + x28 + x29 + x30 + x31 + x32 + x33 + x34 + x35 + x36 + x37 + x38;
4084auto x40 = V{0.0555555555555556}*cell[1];
4085auto x41 = x19 + x20 + x24 + x25 + x26 + x27 + x28 + x29 + x31 + x32 + x33 + x34 + x35 + x36 + x37 + x38 + x40;
4086auto x42 = V{0.0277777777777778}*cell[5];
4087auto x43 = V{0.0277777777777778}*cell[0];
4088auto x44 = V{0.0277777777777778}*cell[1];
4089auto x45 = V{0.0277777777777778}*cell[2];
4090auto x46 = V{0.0277777777777778}*cell[3];
4091auto x47 = V{0.0277777777777778}*cell[6];
4092auto x48 = V{0.0277777777777778}*cell[7];
4093auto x49 = V{0.0277777777777778}*cell[8];
4094auto x50 = V{0.0277777777777778}*cell[9];
4095auto x51 = V{0.0277777777777778}*cell[10];
4096auto x52 = V{0.0277777777777778}*cell[11];
4097auto x53 = V{0.0277777777777778}*cell[12];
4098auto x54 = V{0.0277777777777778}*cell[13];
4099auto x55 = V{0.0277777777777778}*cell[14];
4100auto x56 = V{0.0277777777777778}*cell[15];
4101auto x57 = V{0.0277777777777778}*cell[16];
4102auto x58 = V{0.0277777777777778}*cell[17];
4103auto x59 = V{0.0277777777777778}*cell[18];
4104auto x60 = x43 + x44 + x45 + x46 + x47 + x48 + x49 + x50 + x51 + x52 + x53 + x54 + x55 + x56 + x57 + x58 + x59;
4105auto x61 = V{0.0277777777777778}*cell[4];
4106auto x62 = x42 + x43 + x44 + x45 + x46 + x49 + x50 + x51 + x52 + x53 + x54 + x55 + x56 + x57 + x58 + x59 + x61;
4107auto x63 = x42 + x43 + x44 + x45 + x46 + x47 + x48 + x51 + x52 + x53 + x54 + x55 + x56 + x57 + x58 + x59 + x61;
4108auto x64 = x19 + x20 + x21 + x24 + x25 + x26 + x27 + x28 + x29 + x30 + x33 + x34 + x35 + x36 + x37 + x38 + x40;
4109auto x65 = x42 + x43 + x44 + x45 + x46 + x47 + x48 + x49 + x50 + x51 + x52 + x53 + x56 + x57 + x58 + x59 + x61;
4110auto x66 = x42 + x43 + x44 + x45 + x46 + x47 + x48 + x49 + x50 + x51 + x52 + x53 + x54 + x55 + x58 + x59 + x61;
4111auto x67 = x42 + x43 + x44 + x45 + x46 + x47 + x48 + x49 + x50 + x51 + x52 + x53 + x54 + x55 + x56 + x57 + x61;
4112auto x0 = x22*(-V{0.666666666666667}*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]) - x23*(cell[0] + V{0.333333333333333}) + cell[0];
4113auto x1 = x22*(x19 + x39 - V{0.944444444444444}*cell[1]) - x23*(cell[1] + V{0.0555555555555556}) + cell[1];
4114auto x2 = x22*(x39 + x40 - V{0.944444444444444}*cell[2]) - x23*(cell[2] + V{0.0555555555555556}) + cell[2];
4115auto x3 = x22*(x30 + x41 - V{0.944444444444444}*cell[3]) - x23*(cell[3] + V{0.0555555555555556}) + cell[3];
4116auto x4 = x22*(x42 + x60 - V{0.972222222222222}*cell[4]) - x23*(cell[4] + V{0.0277777777777778}) + cell[4];
4117auto x5 = x22*(x60 + x61 - V{0.972222222222222}*cell[5]) - x23*(cell[5] + V{0.0277777777777778}) + cell[5];
4118auto x6 = x22*(x48 + x62 - V{0.972222222222222}*cell[6]) - x23*(cell[6] + V{0.0277777777777778}) + cell[6];
4119auto x7 = x22*(x47 + x62 - V{0.972222222222222}*cell[7]) - x23*(cell[7] + V{0.0277777777777778}) + cell[7];
4120auto x8 = x22*(x50 + x63 - V{0.972222222222222}*cell[8]) - x23*(cell[8] + V{0.0277777777777778}) + cell[8];
4121auto x9 = x22*(x49 + x63 - V{0.972222222222222}*cell[9]) - x23*(cell[9] + V{0.0277777777777778}) + cell[9];
4122auto x10 = x22*(x21 + x41 - V{0.944444444444444}*cell[10]) - x23*(cell[10] + V{0.0555555555555556}) + cell[10];
4123auto x11 = x22*(x32 + x64 - V{0.944444444444444}*cell[11]) - x23*(cell[11] + V{0.0555555555555556}) + cell[11];
4124auto x12 = x22*(x31 + x64 - V{0.944444444444444}*cell[12]) - x23*(cell[12] + V{0.0555555555555556}) + cell[12];
4125auto x13 = x22*(x55 + x65 - V{0.972222222222222}*cell[13]) - x23*(cell[13] + V{0.0277777777777778}) + cell[13];
4126auto x14 = x22*(x54 + x65 - V{0.972222222222222}*cell[14]) - x23*(cell[14] + V{0.0277777777777778}) + cell[14];
4127auto x15 = x22*(x57 + x66 - V{0.972222222222222}*cell[15]) - x23*(cell[15] + V{0.0277777777777778}) + cell[15];
4128auto x16 = x22*(x56 + x66 - V{0.972222222222222}*cell[16]) - x23*(cell[16] + V{0.0277777777777778}) + cell[16];
4129auto x17 = x22*(x59 + x67 - V{0.972222222222222}*cell[17]) - x23*(cell[17] + V{0.0277777777777778}) + cell[17];
4130auto x18 = x22*(x58 + x67 - V{0.972222222222222}*cell[18]) - x23*(cell[18] + V{0.0277777777777778}) + cell[18];
4150return { 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] + V{1}, V{0} };
4155template <
typename... FIELDS>
4158template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
4161auto x31 =
parameters.template get<olb::collision::Poisson::SINK>();
4162auto x30 =
parameters.template get<olb::descriptors::OMEGA>();
4163auto x27 = V{0.0740740740740741}*cell[2];
4164auto x28 = V{0.0740740740740741}*cell[0];
4165auto x29 = V{0.0740740740740741}*cell[3];
4166auto x32 = V{0.0740740740740741}*cell[4];
4167auto x33 = V{0.0740740740740741}*cell[5];
4168auto x34 = V{0.0740740740740741}*cell[6];
4169auto x35 = V{0.0740740740740741}*cell[7];
4170auto x36 = V{0.0740740740740741}*cell[8];
4171auto x37 = V{0.0740740740740741}*cell[9];
4172auto x38 = V{0.0740740740740741}*cell[10];
4173auto x39 = V{0.0740740740740741}*cell[11];
4174auto x40 = V{0.0740740740740741}*cell[12];
4175auto x41 = V{0.0740740740740741}*cell[13];
4176auto x42 = V{0.0740740740740741}*cell[14];
4177auto x43 = V{0.0740740740740741}*cell[15];
4178auto x44 = V{0.0740740740740741}*cell[16];
4179auto x45 = V{0.0740740740740741}*cell[17];
4180auto x46 = V{0.0740740740740741}*cell[18];
4181auto x47 = V{0.0740740740740741}*cell[19];
4182auto x48 = V{0.0740740740740741}*cell[20];
4183auto x49 = V{0.0740740740740741}*cell[21];
4184auto x50 = V{0.0740740740740741}*cell[22];
4185auto x51 = V{0.0740740740740741}*cell[23];
4186auto x52 = V{0.0740740740740741}*cell[24];
4187auto x53 = V{0.0740740740740741}*cell[25];
4188auto x54 = V{0.0740740740740741}*cell[26];
4189auto x55 = x28 + x29 + x32 + x33 + x34 + x35 + x36 + x37 + x38 + x39 + x40 + x41 + x42 + x43 + x44 + x45 + x46 + x47 + x48 + x49 + x50 + x51 + x52 + x53 + x54;
4190auto x56 = V{0.0740740740740741}*cell[1];
4191auto x57 = x27 + x28 + x32 + x33 + x34 + x35 + x36 + x37 + x38 + x39 + x40 + x41 + x43 + x44 + x45 + x46 + x47 + x48 + x49 + x50 + x51 + x52 + x53 + x54 + x56;
4192auto x58 = V{0.0185185185185185}*cell[5];
4193auto x59 = V{0.0185185185185185}*cell[0];
4194auto x60 = V{0.0185185185185185}*cell[1];
4195auto x61 = V{0.0185185185185185}*cell[2];
4196auto x62 = V{0.0185185185185185}*cell[3];
4197auto x63 = V{0.0185185185185185}*cell[6];
4198auto x64 = V{0.0185185185185185}*cell[7];
4199auto x65 = V{0.0185185185185185}*cell[8];
4200auto x66 = V{0.0185185185185185}*cell[9];
4201auto x67 = V{0.0185185185185185}*cell[10];
4202auto x68 = V{0.0185185185185185}*cell[11];
4203auto x69 = V{0.0185185185185185}*cell[12];
4204auto x70 = V{0.0185185185185185}*cell[13];
4205auto x71 = V{0.0185185185185185}*cell[14];
4206auto x72 = V{0.0185185185185185}*cell[15];
4207auto x73 = V{0.0185185185185185}*cell[16];
4208auto x74 = V{0.0185185185185185}*cell[17];
4209auto x75 = V{0.0185185185185185}*cell[18];
4210auto x76 = V{0.0185185185185185}*cell[19];
4211auto x77 = V{0.0185185185185185}*cell[20];
4212auto x78 = V{0.0185185185185185}*cell[21];
4213auto x79 = V{0.0185185185185185}*cell[22];
4214auto x80 = V{0.0185185185185185}*cell[23];
4215auto x81 = V{0.0185185185185185}*cell[24];
4216auto x82 = V{0.0185185185185185}*cell[25];
4217auto x83 = V{0.0185185185185185}*cell[26];
4218auto x84 = x59 + x60 + x61 + x62 + x63 + x64 + x65 + x66 + x67 + x68 + x69 + x70 + x71 + x72 + x73 + x74 + x75 + x76 + x77 + x78 + x79 + x80 + x81 + x82 + x83;
4219auto x85 = V{0.0185185185185185}*cell[4];
4220auto x86 = x58 + x59 + x60 + x61 + x62 + x65 + x66 + x67 + x68 + x69 + x70 + x71 + x72 + x73 + x74 + x75 + x76 + x77 + x78 + x79 + x80 + x81 + x82 + x83 + x85;
4221auto x87 = x58 + x59 + x60 + x61 + x62 + x63 + x64 + x67 + x68 + x69 + x70 + x71 + x72 + x73 + x74 + x75 + x76 + x77 + x78 + x79 + x80 + x81 + x82 + x83 + x85;
4222auto x88 = V{0.00462962962962963}*cell[11];
4223auto x89 = V{0.00462962962962963}*cell[0];
4224auto x90 = V{0.00462962962962963}*cell[1];
4225auto x91 = V{0.00462962962962963}*cell[2];
4226auto x92 = V{0.00462962962962963}*cell[3];
4227auto x93 = V{0.00462962962962963}*cell[4];
4228auto x94 = V{0.00462962962962963}*cell[5];
4229auto x95 = V{0.00462962962962963}*cell[6];
4230auto x96 = V{0.00462962962962963}*cell[7];
4231auto x97 = V{0.00462962962962963}*cell[8];
4232auto x98 = V{0.00462962962962963}*cell[9];
4233auto x99 = V{0.00462962962962963}*cell[12];
4234auto x100 = V{0.00462962962962963}*cell[13];
4235auto x101 = V{0.00462962962962963}*cell[14];
4236auto x102 = V{0.00462962962962963}*cell[15];
4237auto x103 = V{0.00462962962962963}*cell[16];
4238auto x104 = V{0.00462962962962963}*cell[17];
4239auto x105 = V{0.00462962962962963}*cell[18];
4240auto x106 = V{0.00462962962962963}*cell[19];
4241auto x107 = V{0.00462962962962963}*cell[20];
4242auto x108 = V{0.00462962962962963}*cell[21];
4243auto x109 = V{0.00462962962962963}*cell[22];
4244auto x110 = V{0.00462962962962963}*cell[23];
4245auto x111 = V{0.00462962962962963}*cell[24];
4246auto x112 = V{0.00462962962962963}*cell[25];
4247auto x113 = V{0.00462962962962963}*cell[26];
4248auto x114 = x100 + x101 + x102 + x103 + x104 + x105 + x106 + x107 + x108 + x109 + x110 + x111 + x112 + x113 + x89 + x90 + x91 + x92 + x93 + x94 + x95 + x96 + x97 + x98 + x99;
4249auto x115 = V{0.00462962962962963}*cell[10];
4250auto x116 = x101 + x102 + x103 + x104 + x105 + x106 + x107 + x108 + x109 + x110 + x111 + x112 + x113 + x115 + x88 + x89 + x90 + x91 + x92 + x93 + x94 + x95 + x96 + x97 + x98;
4251auto x117 = x27 + x28 + x29 + x32 + x33 + x34 + x35 + x36 + x37 + x38 + x39 + x40 + x41 + x42 + x45 + x46 + x47 + x48 + x49 + x50 + x51 + x52 + x53 + x54 + x56;
4252auto x118 = x58 + x59 + x60 + x61 + x62 + x63 + x64 + x65 + x66 + x67 + x68 + x69 + x70 + x71 + x72 + x73 + x76 + x77 + x78 + x79 + x80 + x81 + x82 + x83 + x85;
4253auto x119 = x58 + x59 + x60 + x61 + x62 + x63 + x64 + x65 + x66 + x67 + x68 + x69 + x70 + x71 + x72 + x73 + x74 + x75 + x78 + x79 + x80 + x81 + x82 + x83 + x85;
4254auto x120 = x58 + x59 + x60 + x61 + x62 + x63 + x64 + x65 + x66 + x67 + x68 + x69 + x70 + x71 + x72 + x73 + x74 + x75 + x76 + x77 + x80 + x81 + x82 + x83 + x85;
4255auto x121 = x100 + x101 + x102 + x103 + x104 + x105 + x106 + x107 + x108 + x109 + x112 + x113 + x115 + x88 + x89 + x90 + x91 + x92 + x93 + x94 + x95 + x96 + x97 + x98 + x99;
4256auto x122 = x100 + x101 + x102 + x103 + x104 + x105 + x106 + x107 + x108 + x109 + x110 + x111 + x115 + x88 + x89 + x90 + x91 + x92 + x93 + x94 + x95 + x96 + x97 + x98 + x99;
4257auto x0 = x30*(-V{0.703703703703704}*cell[0] + V{0.296296296296296}*cell[10] + V{0.296296296296296}*cell[11] + V{0.296296296296296}*cell[12] + V{0.296296296296296}*cell[13] + V{0.296296296296296}*cell[14] + V{0.296296296296296}*cell[15] + V{0.296296296296296}*cell[16] + V{0.296296296296296}*cell[17] + V{0.296296296296296}*cell[18] + V{0.296296296296296}*cell[19] + V{0.296296296296296}*cell[1] + V{0.296296296296296}*cell[20] + V{0.296296296296296}*cell[21] + V{0.296296296296296}*cell[22] + V{0.296296296296296}*cell[23] + V{0.296296296296296}*cell[24] + V{0.296296296296296}*cell[25] + V{0.296296296296296}*cell[26] + V{0.296296296296296}*cell[2] + V{0.296296296296296}*cell[3] + V{0.296296296296296}*cell[4] + V{0.296296296296296}*cell[5] + V{0.296296296296296}*cell[6] + V{0.296296296296296}*cell[7] + V{0.296296296296296}*cell[8] + V{0.296296296296296}*cell[9]) - x31*(cell[0] + V{0.296296296296296}) + cell[0];
4258auto x1 = x30*(x27 + x55 - V{0.925925925925926}*cell[1]) - x31*(cell[1] + V{0.0740740740740741}) + cell[1];
4259auto x2 = x30*(x55 + x56 - V{0.925925925925926}*cell[2]) - x31*(cell[2] + V{0.0740740740740741}) + cell[2];
4260auto x3 = x30*(x42 + x57 - V{0.925925925925926}*cell[3]) - x31*(cell[3] + V{0.0740740740740741}) + cell[3];
4261auto x4 = x30*(x58 + x84 - V{0.981481481481482}*cell[4]) - x31*(cell[4] + V{0.0185185185185185}) + cell[4];
4262auto x5 = x30*(x84 + x85 - V{0.981481481481482}*cell[5]) - x31*(cell[5] + V{0.0185185185185185}) + cell[5];
4263auto x6 = x30*(x64 + x86 - V{0.981481481481482}*cell[6]) - x31*(cell[6] + V{0.0185185185185185}) + cell[6];
4264auto x7 = x30*(x63 + x86 - V{0.981481481481482}*cell[7]) - x31*(cell[7] + V{0.0185185185185185}) + cell[7];
4265auto x8 = x30*(x66 + x87 - V{0.981481481481482}*cell[8]) - x31*(cell[8] + V{0.0185185185185185}) + cell[8];
4266auto x9 = x30*(x65 + x87 - V{0.981481481481482}*cell[9]) - x31*(cell[9] + V{0.0185185185185185}) + cell[9];
4267auto x10 = x30*(x114 + x88 - V{0.99537037037037}*cell[10]) - x31*(cell[10] + V{0.00462962962962963}) + cell[10];
4268auto x11 = x30*(x114 + x115 - V{0.99537037037037}*cell[11]) - x31*(cell[11] + V{0.00462962962962963}) + cell[11];
4269auto x12 = x30*(x100 + x116 - V{0.99537037037037}*cell[12]) - x31*(cell[12] + V{0.00462962962962963}) + cell[12];
4270auto x13 = x30*(x116 + x99 - V{0.99537037037037}*cell[13]) - x31*(cell[13] + V{0.00462962962962963}) + cell[13];
4271auto x14 = x30*(x29 + x57 - V{0.925925925925926}*cell[14]) - x31*(cell[14] + V{0.0740740740740741}) + cell[14];
4272auto x15 = x30*(x117 + x44 - V{0.925925925925926}*cell[15]) - x31*(cell[15] + V{0.0740740740740741}) + cell[15];
4273auto x16 = x30*(x117 + x43 - V{0.925925925925926}*cell[16]) - x31*(cell[16] + V{0.0740740740740741}) + cell[16];
4274auto x17 = x30*(x118 + x75 - V{0.981481481481482}*cell[17]) - x31*(cell[17] + V{0.0185185185185185}) + cell[17];
4275auto x18 = x30*(x118 + x74 - V{0.981481481481482}*cell[18]) - x31*(cell[18] + V{0.0185185185185185}) + cell[18];
4276auto x19 = x30*(x119 + x77 - V{0.981481481481482}*cell[19]) - x31*(cell[19] + V{0.0185185185185185}) + cell[19];
4277auto x20 = x30*(x119 + x76 - V{0.981481481481482}*cell[20]) - x31*(cell[20] + V{0.0185185185185185}) + cell[20];
4278auto x21 = x30*(x120 + x79 - V{0.981481481481482}*cell[21]) - x31*(cell[21] + V{0.0185185185185185}) + cell[21];
4279auto x22 = x30*(x120 + x78 - V{0.981481481481482}*cell[22]) - x31*(cell[22] + V{0.0185185185185185}) + cell[22];
4280auto x23 = x30*(x111 + x121 - V{0.99537037037037}*cell[23]) - x31*(cell[23] + V{0.00462962962962963}) + cell[23];
4281auto x24 = x30*(x110 + x121 - V{0.99537037037037}*cell[24]) - x31*(cell[24] + V{0.00462962962962963}) + cell[24];
4282auto x25 = x30*(x113 + x122 - V{0.99537037037037}*cell[25]) - x31*(cell[25] + V{0.00462962962962963}) + cell[25];
4283auto x26 = x30*(x112 + x122 - V{0.99537037037037}*cell[26]) - x31*(cell[26] + V{0.00462962962962963}) + cell[26];
4311return { cell[0] + cell[10] + cell[11] + cell[12] + cell[13] + cell[14] + cell[15] + cell[16] + cell[17] + cell[18] + cell[19] + cell[1] + cell[20] + cell[21] + cell[22] + cell[23] + cell[24] + cell[25] + cell[26] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + cell[7] + cell[8] + cell[9] + V{1}, V{0} };
4317template <
typename... FIELDS>
4318struct P1::type<descriptors::D3Q7<FIELDS...>,
momenta::P1Tuple,equilibria::P1> {
4320template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
4323auto x7 =
parameters.template get<olb::collision::P1::SCATTERING>();
4324auto x8 =
parameters.template get<olb::collision::P1::ABSORPTION>();
4325auto x9 = V{0.166666666666667}*cell[0];
4326auto x10 = x9 + V{0.166666666666667}*cell[3] + V{0.166666666666667}*cell[6];
4327auto x11 = V{0.166666666666667}*cell[2] + V{0.166666666666667}*cell[5];
4328auto x12 = x10 + x11;
4331auto x15 = V{0.166666666666667}*cell[1] + V{0.166666666666667}*cell[4];
4332auto x16 = x10 + x15;
4333auto x17 = x11 + x15 + x9;
4335cell[1] = x13*(x12 - V{0.666666666666667}*cell[1]) - x14*(cell[1] + V{0.166666666666667}) + cell[1];
4336cell[2] = x13*(x16 - V{0.666666666666667}*cell[2]) - x14*(cell[2] + V{0.166666666666667}) + cell[2];
4337cell[3] = x13*(x17 - V{0.666666666666667}*cell[3]) - x14*(cell[3] + V{0.166666666666667}) + cell[3];
4338cell[4] = x13*(x12 - V{0.666666666666667}*cell[4]) - x14*(cell[4] + V{0.166666666666667}) + cell[4];
4339cell[5] = x13*(x16 - V{0.666666666666667}*cell[5]) - x14*(cell[5] + V{0.166666666666667}) + cell[5];
4340cell[6] = x13*(x17 - V{0.666666666666667}*cell[6]) - x14*(cell[6] + V{0.166666666666667}) + cell[6];
4341return { cell[0] + cell[1] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + V{1}, V{0} };
4346template <
typename... FIELDS>
4347struct P1::type<descriptors::D3Q15<FIELDS...>,
momenta::P1Tuple,equilibria::P1> {
4349template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
4352auto x15 =
parameters.template get<olb::collision::P1::SCATTERING>();
4353auto x16 =
parameters.template get<olb::collision::P1::ABSORPTION>();
4354auto x17 = V{0.133333333333333}*cell[7];
4355auto x18 = V{0.0666666666666667}*cell[0];
4356auto x19 = V{0.0666666666666667}*cell[3];
4357auto x20 = V{0.0666666666666667}*cell[10];
4358auto x21 = V{0.133333333333333}*cell[4];
4359auto x22 = V{0.133333333333333}*cell[5];
4360auto x23 = x18 + x19 + x20 + x21 + x22;
4361auto x24 = V{0.0666666666666667}*cell[2];
4362auto x25 = V{0.0666666666666667}*cell[9];
4363auto x26 = V{0.133333333333333}*cell[6];
4364auto x27 = x24 + x25 + x26;
4367auto x30 = V{0.133333333333333}*cell[13];
4368auto x31 = V{0.133333333333333}*cell[14];
4369auto x32 = x30 + x31;
4370auto x33 = V{0.0666666666666667}*cell[1] + V{0.0666666666666667}*cell[8];
4371auto x34 = x18 + V{0.133333333333333}*cell[12];
4372auto x35 = x33 + x34;
4373auto x36 = V{0.15}*cell[11];
4374auto x37 = V{0.075}*cell[0];
4375auto x38 = V{0.15}*cell[1];
4376auto x39 = V{0.15}*cell[2];
4377auto x40 = x37 + x38 + x39;
4378auto x41 = V{0.15}*cell[5];
4379auto x42 = V{0.15}*cell[6];
4380auto x43 = x41 + x42;
4381auto x44 = V{0.15}*cell[3];
4382auto x45 = V{0.15}*cell[14];
4383auto x46 = x44 + x45;
4384auto x47 = V{1.732051}*x15;
4385auto x48 = V{1.732051}*x16;
4386auto x49 = V{0.15}*cell[12];
4387auto x50 = V{0.15}*cell[4];
4388auto x51 = V{0.15}*cell[7];
4389auto x52 = x50 + x51;
4390auto x53 = V{0.15}*cell[10];
4391auto x54 = V{0.15}*cell[13];
4392auto x55 = x53 + x54;
4393auto x56 = x37 + V{0.15}*cell[9];
4394auto x57 = x38 + x56;
4395auto x58 = x44 + x49;
4396auto x59 = x36 + x53;
4397auto x60 = V{0.133333333333333}*cell[11];
4398auto x61 = x19 + x20 + x60;
4399auto x62 = x24 + x25;
4400auto x63 = V{0.15}*cell[8];
4401auto x64 = x56 + x63;
4402auto x65 = x37 + x39 + x63;
4404cell[1] = x28*(x17 + x23 + x27 - V{0.866666666666667}*cell[1]) - x29*(cell[1] + V{0.0666666666666667}) + cell[1];
4405cell[2] = x28*(x23 + x32 + x33 - V{0.866666666666667}*cell[2]) - x29*(cell[2] + V{0.0666666666666667}) + cell[2];
4406cell[3] = x28*(x21 + x27 + x31 + x35 - V{0.866666666666667}*cell[3]) - x29*(cell[3] + V{0.0666666666666667}) + cell[3];
4407cell[4] = x47*(-x36 + x40 + x43 + x46 - V{0.7}*cell[4]) - x48*(cell[4] + V{0.075}) + cell[4];
4408cell[5] = x47*(x40 - x49 + x52 + x55 - V{0.7}*cell[5]) - x48*(cell[5] + V{0.075}) + cell[5];
4409cell[6] = x47*(x52 - x54 + x57 + x58 - V{0.7}*cell[6]) - x48*(cell[6] + V{0.075}) + cell[6];
4410cell[7] = x47*(x43 - x45 + x57 + x59 - V{0.7}*cell[7]) - x48*(cell[7] + V{0.075}) + cell[7];
4411cell[8] = x28*(x32 + x34 + x61 + x62 - V{0.866666666666667}*cell[8]) - x29*(cell[8] + V{0.0666666666666667}) + cell[8];
4412cell[9] = x28*(x17 + x26 + x35 + x61 - V{0.866666666666667}*cell[9]) - x29*(cell[9] + V{0.0666666666666667}) + cell[9];
4413cell[10] = x28*(x17 + x18 + x22 + x30 + x33 + x60 + x62 - V{0.866666666666667}*cell[10]) - x29*(cell[10] + V{0.0666666666666667}) + cell[10];
4414cell[11] = x47*(x49 - x50 + x51 + x55 + x64 - V{0.7}*cell[11]) - x48*(cell[11] + V{0.075}) + cell[11];
4415cell[12] = x47*(x36 - x41 + x42 + x46 + x64 - V{0.7}*cell[12]) - x48*(cell[12] + V{0.075}) + cell[12];
4416cell[13] = x47*(x41 - x42 + x45 + x59 + x65 - V{0.7}*cell[13]) - x48*(cell[13] + V{0.075}) + cell[13];
4417cell[14] = x47*(x50 - x51 + x54 + x58 + x65 - V{0.7}*cell[14]) - x48*(cell[14] + V{0.075}) + cell[14];
4418return { cell[0] + cell[10] + cell[11] + cell[12] + cell[13] + cell[14] + cell[1] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + cell[7] + cell[8] + cell[9] + V{1}, V{0} };
4423template <
typename... FIELDS>
4424struct P1::type<descriptors::D3Q27<FIELDS...>,
momenta::P1Tuple,equilibria::P1> {
4426template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
4429auto x28 =
parameters.template get<olb::collision::P1::ABSORPTION>();
4430auto x27 =
parameters.template get<olb::collision::P1::SCATTERING>();
4431auto x29 = V{0.0952380952380952}*cell[7];
4432auto x30 = V{0.0476190476190476}*cell[0];
4433auto x31 = V{0.0476190476190476}*cell[3];
4434auto x32 = V{0.0476190476190476}*cell[16];
4435auto x33 = V{0.0952380952380952}*cell[10];
4436auto x34 = V{0.0952380952380952}*cell[11];
4437auto x35 = x30 + x31 + x32 + x33 + x34 + V{0.0952380952380952}*cell[4];
4438auto x36 = V{0.0476190476190476}*cell[2];
4439auto x37 = V{0.0476190476190476}*cell[15];
4440auto x38 = V{0.0952380952380952}*cell[12];
4441auto x39 = x36 + x37 + x38 + V{0.0952380952380952}*cell[6];
4442auto x40 = V{0.0952380952380952}*cell[13];
4443auto x41 = x40 + V{0.0952380952380952}*cell[5];
4444auto x42 = V{0.0476190476190476}*cell[21] + V{0.0476190476190476}*cell[22] + V{0.0476190476190476}*cell[8] + V{0.0476190476190476}*cell[9];
4447auto x45 = V{0.0952380952380952}*cell[9];
4448auto x46 = V{0.0952380952380952}*cell[25];
4449auto x47 = V{0.0952380952380952}*cell[26];
4450auto x48 = x46 + x47 + V{0.0952380952380952}*cell[18];
4451auto x49 = V{0.0476190476190476}*cell[1];
4452auto x50 = V{0.0476190476190476}*cell[14];
4453auto x51 = x49 + x50 + V{0.0952380952380952}*cell[8];
4454auto x52 = V{0.0476190476190476}*cell[19] + V{0.0476190476190476}*cell[20] + V{0.0476190476190476}*cell[6] + V{0.0476190476190476}*cell[7];
4455auto x53 = V{0.0952380952380952}*cell[22];
4456auto x54 = V{0.0952380952380952}*cell[24];
4457auto x55 = x30 + x54 + V{0.0952380952380952}*cell[20];
4458auto x56 = V{0.0476190476190476}*cell[17] + V{0.0476190476190476}*cell[18] + V{0.0476190476190476}*cell[4] + V{0.0476190476190476}*cell[5];
4459auto x57 = V{0.0380952380952381}*cell[17];
4460auto x58 = V{0.0380952380952381}*cell[0];
4461auto x59 = V{0.0380952380952381}*cell[13];
4462auto x60 = V{0.0380952380952381}*cell[26];
4463auto x61 = V{0.0761904761904762}*cell[9];
4464auto x62 = x58 + x59 + x60 + x61;
4465auto x63 = V{0.0380952380952381}*cell[12];
4466auto x64 = V{0.0380952380952381}*cell[25];
4467auto x65 = V{0.0761904761904762}*cell[8];
4468auto x66 = x63 + x64 + x65;
4469auto x67 = V{0.0380952380952381}*cell[3];
4470auto x68 = V{0.0380952380952381}*cell[16];
4471auto x69 = V{0.0761904761904762}*cell[1];
4472auto x70 = V{0.0761904761904762}*cell[6];
4473auto x71 = V{0.0761904761904762}*cell[7];
4474auto x72 = x67 + x68 + x69 + x70 + x71;
4475auto x73 = V{0.0380952380952381}*cell[24];
4476auto x74 = -x73 + V{0.114285714285714}*cell[11];
4477auto x75 = V{0.0761904761904762}*cell[2];
4478auto x76 = V{0.0380952380952381}*cell[23];
4479auto x77 = -x76 + V{0.114285714285714}*cell[10];
4480auto x78 = x75 + x77;
4481auto x79 = V{0.0380952380952381}*cell[5];
4482auto x80 = V{0.0380952380952381}*cell[18];
4483auto x81 = x79 + x80;
4484auto x82 = V{1.414214}*x27;
4485auto x83 = V{1.414214}*x28;
4486auto x84 = V{0.0761904761904762}*cell[15];
4487auto x85 = V{0.0761904761904762}*cell[21];
4488auto x86 = V{0.0761904761904762}*cell[22];
4489auto x87 = x84 + x85 + x86;
4490auto x88 = V{0.114285714285714}*cell[12];
4492auto x90 = V{0.0380952380952381}*cell[11];
4493auto x91 = x58 + x73 + x90;
4494auto x92 = x88 + x89 + x91;
4495auto x93 = V{0.114285714285714}*cell[13];
4497auto x95 = V{0.0380952380952381}*cell[10];
4498auto x96 = x76 + x95;
4499auto x97 = x93 + x94 + x96;
4500auto x98 = V{0.0380952380952381}*cell[4];
4501auto x99 = x57 + x98;
4502auto x100 = V{0.0380952380952381}*cell[19];
4503auto x101 = V{0.0761904761904762}*cell[3];
4504auto x102 = V{0.0761904761904762}*cell[4];
4505auto x103 = x101 + x102;
4506auto x104 = V{0.0380952380952381}*cell[2];
4507auto x105 = V{0.0380952380952381}*cell[7];
4508auto x106 = V{0.0380952380952381}*cell[15];
4509auto x107 = V{0.0380952380952381}*cell[20];
4510auto x108 = x104 + x105 + x106 + x107;
4511auto x109 = V{0.0761904761904762}*cell[5];
4512auto x110 = x59 + x60;
4513auto x111 = x109 + x110;
4514auto x112 = V{0.0761904761904762}*cell[16];
4515auto x113 = x112 + x85;
4516auto x114 = x63 + x64;
4517auto x115 = x114 + x58;
4518auto x116 = x102 + x74;
4519auto x117 = V{0.0380952380952381}*cell[6];
4520auto x118 = x100 + x104 + x106 + x117;
4521auto x119 = V{0.0380952380952381}*cell[21];
4522auto x120 = V{0.0380952380952381}*cell[1];
4523auto x121 = V{0.0380952380952381}*cell[14];
4524auto x122 = V{0.0761904761904762}*cell[18];
4525auto x123 = x120 + x121 + x122;
4526auto x124 = V{0.0761904761904762}*cell[20];
4527auto x125 = -x59 + V{0.114285714285714}*cell[26];
4528auto x126 = x124 + x125 + x91;
4529auto x127 = V{0.0380952380952381}*cell[9];
4530auto x128 = V{0.0380952380952381}*cell[22];
4531auto x129 = x114 + x127 + x128;
4532auto x130 = V{0.0761904761904762}*cell[19];
4533auto x131 = x110 + x130;
4534auto x132 = x112 + x71;
4535auto x133 = V{0.0380952380952381}*cell[8];
4536auto x134 = x58 + x96;
4537auto x135 = x119 + x133 + x134;
4538auto x136 = -x63 + V{0.114285714285714}*cell[25];
4539auto x137 = x136 + x75;
4540auto x138 = V{0.0642857142857143}*cell[23];
4541auto x139 = V{0.0321428571428571}*cell[0];
4542auto x140 = V{0.0321428571428571}*cell[9];
4543auto x141 = V{0.0321428571428571}*cell[22];
4544auto x142 = V{0.0642857142857143}*cell[1];
4545auto x143 = V{0.0642857142857143}*cell[11];
4546auto x144 = V{0.0642857142857143}*cell[12];
4547auto x145 = x139 + x140 + x141 + x142 + x143 + x144;
4548auto x146 = V{0.0321428571428571}*cell[5];
4549auto x147 = V{0.0321428571428571}*cell[18];
4550auto x148 = V{0.0642857142857143}*cell[3];
4551auto x149 = V{0.0642857142857143}*cell[26];
4552auto x150 = x146 + x147 + x148 + x149;
4553auto x151 = V{0.0321428571428571}*cell[7];
4554auto x152 = V{0.0321428571428571}*cell[20];
4555auto x153 = V{0.0642857142857143}*cell[2];
4556auto x154 = x151 + x152 + x153;
4557auto x155 = V{0.0321428571428571}*cell[17];
4558auto x156 = -x155 + V{0.0964285714285714}*cell[4];
4559auto x157 = V{0.0321428571428571}*cell[19];
4560auto x158 = -x157 + V{0.0964285714285714}*cell[6];
4561auto x159 = V{0.0321428571428571}*cell[21];
4562auto x160 = -x159 + V{0.0964285714285714}*cell[8];
4563auto x161 = V{1.732051}*x27;
4564auto x162 = V{1.732051}*x28;
4565auto x163 = V{0.0642857142857143}*cell[24];
4566auto x164 = V{0.0321428571428571}*cell[6];
4567auto x165 = V{0.0642857142857143}*cell[16];
4568auto x166 = -x152 + x157 + x164 + x165 + V{0.0964285714285714}*cell[7];
4569auto x167 = V{0.0642857142857143}*cell[10];
4570auto x168 = V{0.0642857142857143}*cell[13];
4571auto x169 = V{0.0321428571428571}*cell[8];
4572auto x170 = x139 + x159 + x169;
4573auto x171 = x142 + x167 + x168 + x170;
4574auto x172 = V{0.0642857142857143}*cell[25];
4575auto x173 = x146 + x147 + x172;
4576auto x174 = -x141 + V{0.0964285714285714}*cell[9];
4577auto x175 = V{0.0642857142857143}*cell[15];
4578auto x176 = -x140 + x175 + V{0.0964285714285714}*cell[22];
4579auto x177 = x151 + x152 + x163;
4580auto x178 = V{0.0321428571428571}*cell[4];
4581auto x179 = x155 + x178;
4582auto x180 = x148 + x179;
4583auto x181 = -x147 + V{0.0964285714285714}*cell[5];
4584auto x182 = x138 + x179;
4585auto x183 = -x169 + x175 + V{0.0964285714285714}*cell[21];
4586auto x184 = V{0.0952380952380952}*cell[23];
4587auto x185 = x184 + x31 + x32 + V{0.0952380952380952}*cell[17];
4588auto x186 = x36 + x37 + V{0.0952380952380952}*cell[19];
4589auto x187 = x30 + x49 + x50 + V{0.0952380952380952}*cell[21];
4590auto x188 = -x95 + V{0.114285714285714}*cell[23];
4591auto x189 = V{0.0761904761904762}*cell[14];
4592auto x190 = x189 + x67 + x68;
4593auto x191 = -x90 + V{0.114285714285714}*cell[24];
4594auto x192 = x124 + x191;
4595auto x193 = V{0.0761904761904762}*cell[17];
4596auto x194 = x188 + x193;
4597auto x195 = x122 + x189;
4598auto x196 = x101 + x193;
4599auto x197 = x120 + x121 + x84;
4600auto x198 = V{0.0642857142857143}*cell[14];
4601auto x199 = -x178 + x198 + V{0.0964285714285714}*cell[17];
4602auto x200 = -x164 + x165 + V{0.0964285714285714}*cell[19];
4603auto x201 = x139 + x140 + x141;
4604auto x202 = -x151 + x157 + x164 + V{0.0964285714285714}*cell[20];
4605auto x203 = -x146 + x198 + V{0.0964285714285714}*cell[18];
4607cell[1] = x43*(x29 + x35 + x39 + x41 + x42 - V{0.904761904761905}*cell[1]) - x44*(cell[1] + V{0.0476190476190476}) + cell[1];
4608cell[2] = x43*(x35 + x45 + x48 + x51 + x52 - V{0.904761904761905}*cell[2]) - x44*(cell[2] + V{0.0476190476190476}) + cell[2];
4609cell[3] = x43*(x33 + x39 + x47 + x51 + x53 + x55 + x56 - V{0.904761904761905}*cell[3]) - x44*(cell[3] + V{0.0476190476190476}) + cell[3];
4610cell[4] = x82*(-x57 + x62 + x66 + x72 + x74 + x78 + x81 - V{0.885714285714286}*cell[4]) - x83*(cell[4] + V{0.0380952380952381}) + cell[4];
4611cell[5] = x82*(x72 - x80 + x87 + x92 + x97 + x99 - V{0.885714285714286}*cell[5]) - x83*(cell[5] + V{0.0380952380952381}) + cell[5];
4612cell[6] = x82*(-x100 + x103 + x108 + x111 + x65 + x69 + x77 + x86 + x92 - V{0.885714285714286}*cell[6]) - x83*(cell[6] + V{0.0380952380952381}) + cell[6];
4613cell[7] = x82*(-x107 + x109 + x113 + x115 + x116 + x118 + x61 + x69 + x97 - V{0.885714285714286}*cell[7]) - x83*(cell[7] + V{0.0380952380952381}) + cell[7];
4614cell[8] = x82*(x103 - x119 + x123 + x126 + x129 + x70 + x78 - V{0.885714285714286}*cell[8]) - x83*(cell[8] + V{0.0380952380952381}) + cell[8];
4615cell[9] = x82*(x116 + x123 - x128 + x131 + x132 + x135 + x137 - V{0.885714285714286}*cell[9]) - x83*(cell[9] + V{0.0380952380952381}) + cell[9];
4616cell[10] = x161*(-x138 + x145 + x150 + x154 + x156 + x158 + x160 - V{0.871428571428571}*cell[10]) - x162*(cell[10] + V{0.0321428571428571}) + cell[10];
4617cell[11] = x161*(x153 + x156 - x163 + x166 + x171 + x173 + x174 - V{0.871428571428571}*cell[11]) - x162*(cell[11] + V{0.0321428571428571}) + cell[11];
4618cell[12] = x161*(x158 + x171 - x172 + x176 + x177 + x180 + x181 - V{0.871428571428571}*cell[12]) - x162*(cell[12] + V{0.0321428571428571}) + cell[12];
4619cell[13] = x161*(x145 - x149 + x166 + x181 + x182 + x183 - V{0.871428571428571}*cell[13]) - x162*(cell[13] + V{0.0321428571428571}) + cell[13];
4620cell[14] = x43*(x185 + x186 + x42 + x48 + x55 - V{0.904761904761905}*cell[14]) - x44*(cell[14] + V{0.0476190476190476}) + cell[14];
4621cell[15] = x43*(x185 + x187 + x38 + x41 + x52 + x53 + x54 - V{0.904761904761905}*cell[15]) - x44*(cell[15] + V{0.0476190476190476}) + cell[15];
4622cell[16] = x43*(x184 + x186 + x187 + x29 + x34 + x40 + x45 + x46 + x56 - V{0.904761904761905}*cell[16]) - x44*(cell[16] + V{0.0476190476190476}) + cell[16];
4623cell[17] = x82*(x115 + x131 + x188 + x190 + x192 + x81 + x87 - x98 - V{0.885714285714286}*cell[17]) - x83*(cell[17] + V{0.0380952380952381}) + cell[17];
4624cell[18] = x82*(x126 + x130 + x137 + x190 + x61 + x65 - x79 + x96 + x99 - V{0.885714285714286}*cell[18]) - x83*(cell[18] + V{0.0380952380952381}) + cell[18];
4625cell[19] = x82*(x108 + x113 - x117 + x136 + x194 + x195 + x62 + x73 + x90 - V{0.885714285714286}*cell[19]) - x83*(cell[19] + V{0.0380952380952381}) + cell[19];
4626cell[20] = x82*(-x105 + x118 + x125 + x134 + x191 + x195 + x196 + x66 + x86 - V{0.885714285714286}*cell[20]) - x83*(cell[20] + V{0.0380952380952381}) + cell[20];
4627cell[21] = x82*(x109 + x129 + x130 + x132 - x133 + x194 + x197 + x91 + x93 + x94 - V{0.885714285714286}*cell[21]) - x83*(cell[21] + V{0.0380952380952381}) + cell[21];
4628cell[22] = x82*(x111 - x127 + x135 + x192 + x196 + x197 + x70 + x88 + x89 - V{0.885714285714286}*cell[22]) - x83*(cell[22] + V{0.0380952380952381}) + cell[22];
4629cell[23] = x161*(-x167 + x168 + x173 + x177 + x183 + x199 + x200 + x201 - V{0.871428571428571}*cell[23]) - x162*(cell[23] + V{0.0321428571428571}) + cell[23];
4630cell[24] = x161*(x138 - x143 + x144 + x150 + x170 + x176 + x199 + x202 - V{0.871428571428571}*cell[24]) - x162*(cell[24] + V{0.0321428571428571}) + cell[24];
4631cell[25] = x161*(x143 - x144 + x149 + x154 + x170 + x174 + x182 + x200 + x203 - V{0.871428571428571}*cell[25]) - x162*(cell[25] + V{0.0321428571428571}) + cell[25];
4632cell[26] = x161*(x153 + x160 + x163 + x167 - x168 + x172 + x180 + x201 + x202 + x203 - V{0.871428571428571}*cell[26]) - x162*(cell[26] + V{0.0321428571428571}) + cell[26];
4633return { cell[0] + cell[10] + cell[11] + cell[12] + cell[13] + cell[14] + cell[15] + cell[16] + cell[17] + cell[18] + cell[19] + cell[1] + cell[20] + cell[21] + cell[22] + cell[23] + cell[24] + cell[25] + cell[26] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + cell[7] + cell[8] + cell[9] + V{1}, V{0} };
4639template <
typename... FIELDS>
4642template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
4645auto x22 =
parameters.template get<olb::descriptors::OMEGA>();
4646auto x20 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(1);
4647auto x21 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(2);
4648auto x19 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(0);
4649auto x23 = x22 + V{-1};
4650auto x24 = x19 + V{-1};
4651auto x25 = cell[0] + cell[11] + cell[12] + cell[17] + cell[18] + V{2}*cell[1] + cell[2] + cell[3] + V{2}*cell[4] + V{2}*cell[5] + V{2}*cell[6] + V{2}*cell[7] + cell[8] + cell[9] + V{1};
4654auto x28 = V{1.5}*x27;
4656auto x30 = V{1.5}*x29;
4658auto x32 = V{1.5}*x31;
4659auto x33 = x30 + x32 + V{-1};
4660auto x34 = x28 + x33;
4661auto x35 = V{0.0555555555555556}*x22;
4664auto x38 = x28 + V{-1};
4666auto x40 = V{0.0277777777777778}*x22;
4667auto x41 = x19 + x20;
4669auto x43 = x34 + x36;
4671auto x45 = x19 - x20;
4673auto x47 = x19 + x21;
4677auto x51 = x19 + x50;
4679auto x53 = x20 + x21;
4681auto x55 = x34 + x37;
4682auto x56 = x20 + x50;
4685auto x59 = V{1} - x32;
4686auto x60 = x58 + x59;
4687auto x61 = x36 + x60;
4689auto x63 = x37 + x62;
4690auto x64 = x39 + x62;
4692auto x66 = x34 + x39;
4693cell[0] = -V{0.333333333333333}*x22*(x26*x34 + V{1}) - x23*cell[0];
4694cell[1] = -x23*cell[1] - x35*(-x26*(V{3}*x27 - x33 - x36) + V{1});
4695cell[2] = -x23*cell[2] - x35*(-x26*(V{3}*x29 - x32 - x37 - x38) + V{1});
4696cell[3] = -x23*cell[3] - x35*(-x26*(-x30 + V{3}*x31 - x38 - x39) + V{1});
4697cell[4] = -x23*cell[4] - x40*(-x26*(-x37 + V{4.5}*x42 - x43) + V{1});
4698cell[5] = -x23*cell[5] - x40*(x26*(x43 + x44 - V{4.5}*x46*x46) + V{1});
4699cell[6] = -x23*cell[6] - x40*(-x26*(-x39 - x43 + V{4.5}*x48) + V{1});
4700cell[7] = -x23*cell[7] - x40*(x26*(x43 + x49 - V{4.5}*x52*x52) + V{1});
4701cell[8] = -x23*cell[8] - x40*(-x26*(-x39 + V{4.5}*x54 - x55) + V{1});
4702cell[9] = -x23*cell[9] - x40*(x26*(x49 + x55 - V{4.5}*x57*x57) + V{1});
4703cell[10] = -x23*cell[10] - x35*(-x26*(V{3}*x27 + x61) + V{1});
4704cell[11] = -x23*cell[11] - x35*(-x26*(V{3}*x29 + x59 + x63) + V{1});
4705cell[12] = -x23*cell[12] - x35*(-x26*(V{3}*x31 + x58 + x64 + V{1}) + V{1});
4706cell[13] = -x23*cell[13] - x40*(-x26*(V{4.5}*x42 + x61 + x63) + V{1});
4707cell[14] = -x23*cell[14] - x40*(x26*(x55 + x65 - V{4.5}*x45*x45) + V{1});
4708cell[15] = -x23*cell[15] - x40*(-x26*(V{4.5}*x48 + x61 + x64) + V{1});
4709cell[16] = -x23*cell[16] - x40*(x26*(x65 + x66 - V{4.5}*x51*x51) + V{1});
4710cell[17] = -x23*cell[17] - x40*(-x26*(x39 + V{4.5}*x54 + x60 + x63) + V{1});
4711cell[18] = -x23*cell[18] - x40*(x26*(x44 + x66 - V{4.5}*x56*x56) + V{1});
4712return { -V{1}*x25/x24, x27 + x29 + x31 };
4717template <
typename... FIELDS>
4720template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
4723auto x22 =
parameters.template get<olb::descriptors::OMEGA>();
4724auto x20 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(1);
4725auto x21 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(2);
4726auto x19 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(0);
4727auto x23 = x22 + V{-1};
4728auto x24 = (cell[0] + V{2}*cell[10] + cell[11] + cell[12] + V{2}*cell[13] + V{2}*cell[14] + V{2}*cell[15] + V{2}*cell[16] + cell[17] + cell[18] + cell[2] + cell[3] + cell[8] + cell[9] + V{1})/(x19 + V{1});
4730auto x26 = V{1.5}*x25;
4732auto x28 = V{1.5}*x27;
4734auto x30 = V{1.5}*x29;
4735auto x31 = x28 + x30 + V{-1};
4736auto x32 = x26 + x31;
4737auto x33 = V{0.0555555555555556}*x22;
4740auto x36 = x26 + V{-1};
4742auto x38 = V{0.0277777777777778}*x22;
4743auto x39 = x19 + x20;
4745auto x41 = x32 + x34;
4747auto x43 = x19 - x20;
4749auto x45 = x19 + x21;
4753auto x49 = x19 + x48;
4755auto x51 = x20 + x21;
4757auto x53 = x32 + x35;
4758auto x54 = x20 + x48;
4761auto x57 = V{1} - x30;
4762auto x58 = x56 + x57;
4763auto x59 = x34 + x58;
4765auto x61 = x35 + x60;
4766auto x62 = x37 + x60;
4768auto x64 = x32 + x37;
4769cell[0] = -V{0.333333333333333}*x22*(x24*x32 + V{1}) - x23*cell[0];
4770cell[1] = -x23*cell[1] - x33*(-x24*(V{3}*x25 - x31 - x34) + V{1});
4771cell[2] = -x23*cell[2] - x33*(-x24*(V{3}*x27 - x30 - x35 - x36) + V{1});
4772cell[3] = -x23*cell[3] - x33*(-x24*(-x28 + V{3}*x29 - x36 - x37) + V{1});
4773cell[4] = -x23*cell[4] - x38*(-x24*(-x35 + V{4.5}*x40 - x41) + V{1});
4774cell[5] = -x23*cell[5] - x38*(x24*(x41 + x42 - V{4.5}*x44*x44) + V{1});
4775cell[6] = -x23*cell[6] - x38*(-x24*(-x37 - x41 + V{4.5}*x46) + V{1});
4776cell[7] = -x23*cell[7] - x38*(x24*(x41 + x47 - V{4.5}*x50*x50) + V{1});
4777cell[8] = -x23*cell[8] - x38*(-x24*(-x37 + V{4.5}*x52 - x53) + V{1});
4778cell[9] = -x23*cell[9] - x38*(x24*(x47 + x53 - V{4.5}*x55*x55) + V{1});
4779cell[10] = -x23*cell[10] - x33*(-x24*(V{3}*x25 + x59) + V{1});
4780cell[11] = -x23*cell[11] - x33*(-x24*(V{3}*x27 + x57 + x61) + V{1});
4781cell[12] = -x23*cell[12] - x33*(-x24*(V{3}*x29 + x56 + x62 + V{1}) + V{1});
4782cell[13] = -x23*cell[13] - x38*(-x24*(V{4.5}*x40 + x59 + x61) + V{1});
4783cell[14] = -x23*cell[14] - x38*(x24*(x53 + x63 - V{4.5}*x43*x43) + V{1});
4784cell[15] = -x23*cell[15] - x38*(-x24*(V{4.5}*x46 + x59 + x62) + V{1});
4785cell[16] = -x23*cell[16] - x38*(x24*(x63 + x64 - V{4.5}*x49*x49) + V{1});
4786cell[17] = -x23*cell[17] - x38*(-x24*(x37 + V{4.5}*x52 + x58 + x61) + V{1});
4787cell[18] = -x23*cell[18] - x38*(x24*(x42 + x64 - V{4.5}*x54*x54) + V{1});
4788return { V{1}*x24, x25 + x27 + x29 };
4793template <
typename... FIELDS>
4796template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
4799auto x22 =
parameters.template get<olb::descriptors::OMEGA>();
4800auto x20 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(1);
4801auto x21 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(2);
4802auto x19 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(0);
4803auto x23 = x22 + V{-1};
4804auto x24 = x20 + V{-1};
4805auto x25 = cell[0] + cell[10] + cell[12] + V{2}*cell[14] + cell[15] + cell[16] + cell[1] + V{2}*cell[2] + cell[3] + V{2}*cell[4] + cell[6] + cell[7] + V{2}*cell[8] + V{2}*cell[9] + V{1};
4808auto x28 = V{1.5}*x27;
4810auto x30 = V{1.5}*x29;
4812auto x32 = V{1.5}*x31;
4813auto x33 = x30 + x32 + V{-1};
4814auto x34 = x28 + x33;
4815auto x35 = V{0.0555555555555556}*x22;
4818auto x38 = x28 + V{-1};
4820auto x40 = V{0.0277777777777778}*x22;
4821auto x41 = x19 + x20;
4823auto x43 = x34 + x36;
4825auto x45 = x19 - x20;
4827auto x47 = x19 + x21;
4831auto x51 = x19 + x50;
4833auto x53 = x20 + x21;
4835auto x55 = x34 + x37;
4836auto x56 = x20 + x50;
4839auto x59 = V{1} - x32;
4840auto x60 = x58 + x59;
4841auto x61 = x36 + x60;
4843auto x63 = x37 + x62;
4844auto x64 = x39 + x62;
4846auto x66 = x34 + x39;
4847cell[0] = -V{0.333333333333333}*x22*(x26*x34 + V{1}) - x23*cell[0];
4848cell[1] = -x23*cell[1] - x35*(-x26*(V{3}*x27 - x33 - x36) + V{1});
4849cell[2] = -x23*cell[2] - x35*(-x26*(V{3}*x29 - x32 - x37 - x38) + V{1});
4850cell[3] = -x23*cell[3] - x35*(-x26*(-x30 + V{3}*x31 - x38 - x39) + V{1});
4851cell[4] = -x23*cell[4] - x40*(-x26*(-x37 + V{4.5}*x42 - x43) + V{1});
4852cell[5] = -x23*cell[5] - x40*(x26*(x43 + x44 - V{4.5}*x46*x46) + V{1});
4853cell[6] = -x23*cell[6] - x40*(-x26*(-x39 - x43 + V{4.5}*x48) + V{1});
4854cell[7] = -x23*cell[7] - x40*(x26*(x43 + x49 - V{4.5}*x52*x52) + V{1});
4855cell[8] = -x23*cell[8] - x40*(-x26*(-x39 + V{4.5}*x54 - x55) + V{1});
4856cell[9] = -x23*cell[9] - x40*(x26*(x49 + x55 - V{4.5}*x57*x57) + V{1});
4857cell[10] = -x23*cell[10] - x35*(-x26*(V{3}*x27 + x61) + V{1});
4858cell[11] = -x23*cell[11] - x35*(-x26*(V{3}*x29 + x59 + x63) + V{1});
4859cell[12] = -x23*cell[12] - x35*(-x26*(V{3}*x31 + x58 + x64 + V{1}) + V{1});
4860cell[13] = -x23*cell[13] - x40*(-x26*(V{4.5}*x42 + x61 + x63) + V{1});
4861cell[14] = -x23*cell[14] - x40*(x26*(x55 + x65 - V{4.5}*x45*x45) + V{1});
4862cell[15] = -x23*cell[15] - x40*(-x26*(V{4.5}*x48 + x61 + x64) + V{1});
4863cell[16] = -x23*cell[16] - x40*(x26*(x65 + x66 - V{4.5}*x51*x51) + V{1});
4864cell[17] = -x23*cell[17] - x40*(-x26*(x39 + V{4.5}*x54 + x60 + x63) + V{1});
4865cell[18] = -x23*cell[18] - x40*(x26*(x44 + x66 - V{4.5}*x56*x56) + V{1});
4866return { -V{1}*x25/x24, x27 + x29 + x31 };
4871template <
typename... FIELDS>
4874template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
4877auto x22 =
parameters.template get<olb::descriptors::OMEGA>();
4878auto x20 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(1);
4879auto x21 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(2);
4880auto x19 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(0);
4881auto x23 = x22 + V{-1};
4882auto x24 = (cell[0] + cell[10] + V{2}*cell[11] + cell[12] + V{2}*cell[13] + cell[15] + cell[16] + V{2}*cell[17] + V{2}*cell[18] + cell[1] + cell[3] + V{2}*cell[5] + cell[6] + cell[7] + V{1})/(x20 + V{1});
4884auto x26 = V{1.5}*x25;
4886auto x28 = V{1.5}*x27;
4888auto x30 = V{1.5}*x29;
4889auto x31 = x28 + x30 + V{-1};
4890auto x32 = x26 + x31;
4891auto x33 = V{0.0555555555555556}*x22;
4894auto x36 = x26 + V{-1};
4896auto x38 = V{0.0277777777777778}*x22;
4897auto x39 = x19 + x20;
4899auto x41 = x32 + x34;
4901auto x43 = x19 - x20;
4903auto x45 = x19 + x21;
4907auto x49 = x19 + x48;
4909auto x51 = x20 + x21;
4911auto x53 = x32 + x35;
4912auto x54 = x20 + x48;
4915auto x57 = V{1} - x30;
4916auto x58 = x56 + x57;
4917auto x59 = x34 + x58;
4919auto x61 = x35 + x60;
4920auto x62 = x37 + x60;
4922auto x64 = x32 + x37;
4923cell[0] = -V{0.333333333333333}*x22*(x24*x32 + V{1}) - x23*cell[0];
4924cell[1] = -x23*cell[1] - x33*(-x24*(V{3}*x25 - x31 - x34) + V{1});
4925cell[2] = -x23*cell[2] - x33*(-x24*(V{3}*x27 - x30 - x35 - x36) + V{1});
4926cell[3] = -x23*cell[3] - x33*(-x24*(-x28 + V{3}*x29 - x36 - x37) + V{1});
4927cell[4] = -x23*cell[4] - x38*(-x24*(-x35 + V{4.5}*x40 - x41) + V{1});
4928cell[5] = -x23*cell[5] - x38*(x24*(x41 + x42 - V{4.5}*x44*x44) + V{1});
4929cell[6] = -x23*cell[6] - x38*(-x24*(-x37 - x41 + V{4.5}*x46) + V{1});
4930cell[7] = -x23*cell[7] - x38*(x24*(x41 + x47 - V{4.5}*x50*x50) + V{1});
4931cell[8] = -x23*cell[8] - x38*(-x24*(-x37 + V{4.5}*x52 - x53) + V{1});
4932cell[9] = -x23*cell[9] - x38*(x24*(x47 + x53 - V{4.5}*x55*x55) + V{1});
4933cell[10] = -x23*cell[10] - x33*(-x24*(V{3}*x25 + x59) + V{1});
4934cell[11] = -x23*cell[11] - x33*(-x24*(V{3}*x27 + x57 + x61) + V{1});
4935cell[12] = -x23*cell[12] - x33*(-x24*(V{3}*x29 + x56 + x62 + V{1}) + V{1});
4936cell[13] = -x23*cell[13] - x38*(-x24*(V{4.5}*x40 + x59 + x61) + V{1});
4937cell[14] = -x23*cell[14] - x38*(x24*(x53 + x63 - V{4.5}*x43*x43) + V{1});
4938cell[15] = -x23*cell[15] - x38*(-x24*(V{4.5}*x46 + x59 + x62) + V{1});
4939cell[16] = -x23*cell[16] - x38*(x24*(x63 + x64 - V{4.5}*x49*x49) + V{1});
4940cell[17] = -x23*cell[17] - x38*(-x24*(x37 + V{4.5}*x52 + x58 + x61) + V{1});
4941cell[18] = -x23*cell[18] - x38*(x24*(x42 + x64 - V{4.5}*x54*x54) + V{1});
4942return { V{1}*x24, x25 + x27 + x29 };
4947template <
typename... FIELDS>
4950template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
4953auto x22 =
parameters.template get<olb::descriptors::OMEGA>();
4954auto x20 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(1);
4955auto x21 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(2);
4956auto x19 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(0);
4957auto x23 = x22 + V{-1};
4958auto x24 = x21 + V{-1};
4959auto x25 = cell[0] + cell[10] + cell[11] + cell[13] + cell[14] + V{2}*cell[16] + V{2}*cell[18] + cell[1] + cell[2] + V{2}*cell[3] + cell[4] + cell[5] + V{2}*cell[6] + V{2}*cell[8] + V{1};
4962auto x28 = V{1.5}*x27;
4964auto x30 = V{1.5}*x29;
4966auto x32 = V{1.5}*x31;
4967auto x33 = x30 + x32 + V{-1};
4968auto x34 = x28 + x33;
4969auto x35 = V{0.0555555555555556}*x22;
4972auto x38 = x28 + V{-1};
4974auto x40 = V{0.0277777777777778}*x22;
4975auto x41 = x19 + x20;
4977auto x43 = x34 + x36;
4979auto x45 = x19 - x20;
4981auto x47 = x19 + x21;
4985auto x51 = x19 + x50;
4987auto x53 = x20 + x21;
4989auto x55 = x34 + x37;
4990auto x56 = x20 + x50;
4993auto x59 = V{1} - x32;
4994auto x60 = x58 + x59;
4995auto x61 = x36 + x60;
4997auto x63 = x37 + x62;
4998auto x64 = x39 + x62;
5000auto x66 = x34 + x39;
5001cell[0] = -V{0.333333333333333}*x22*(x26*x34 + V{1}) - x23*cell[0];
5002cell[1] = -x23*cell[1] - x35*(-x26*(V{3}*x27 - x33 - x36) + V{1});
5003cell[2] = -x23*cell[2] - x35*(-x26*(V{3}*x29 - x32 - x37 - x38) + V{1});
5004cell[3] = -x23*cell[3] - x35*(-x26*(-x30 + V{3}*x31 - x38 - x39) + V{1});
5005cell[4] = -x23*cell[4] - x40*(-x26*(-x37 + V{4.5}*x42 - x43) + V{1});
5006cell[5] = -x23*cell[5] - x40*(x26*(x43 + x44 - V{4.5}*x46*x46) + V{1});
5007cell[6] = -x23*cell[6] - x40*(-x26*(-x39 - x43 + V{4.5}*x48) + V{1});
5008cell[7] = -x23*cell[7] - x40*(x26*(x43 + x49 - V{4.5}*x52*x52) + V{1});
5009cell[8] = -x23*cell[8] - x40*(-x26*(-x39 + V{4.5}*x54 - x55) + V{1});
5010cell[9] = -x23*cell[9] - x40*(x26*(x49 + x55 - V{4.5}*x57*x57) + V{1});
5011cell[10] = -x23*cell[10] - x35*(-x26*(V{3}*x27 + x61) + V{1});
5012cell[11] = -x23*cell[11] - x35*(-x26*(V{3}*x29 + x59 + x63) + V{1});
5013cell[12] = -x23*cell[12] - x35*(-x26*(V{3}*x31 + x58 + x64 + V{1}) + V{1});
5014cell[13] = -x23*cell[13] - x40*(-x26*(V{4.5}*x42 + x61 + x63) + V{1});
5015cell[14] = -x23*cell[14] - x40*(x26*(x55 + x65 - V{4.5}*x45*x45) + V{1});
5016cell[15] = -x23*cell[15] - x40*(-x26*(V{4.5}*x48 + x61 + x64) + V{1});
5017cell[16] = -x23*cell[16] - x40*(x26*(x65 + x66 - V{4.5}*x51*x51) + V{1});
5018cell[17] = -x23*cell[17] - x40*(-x26*(x39 + V{4.5}*x54 + x60 + x63) + V{1});
5019cell[18] = -x23*cell[18] - x40*(x26*(x44 + x66 - V{4.5}*x56*x56) + V{1});
5020return { -V{1}*x25/x24, x27 + x29 + x31 };
5025template <
typename... FIELDS>
5028template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
5031auto x22 =
parameters.template get<olb::descriptors::OMEGA>();
5032auto x20 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(1);
5033auto x21 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(2);
5034auto x19 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(0);
5035auto x23 = x22 + V{-1};
5036auto x24 = (cell[0] + cell[10] + cell[11] + V{2}*cell[12] + cell[13] + cell[14] + V{2}*cell[15] + V{2}*cell[17] + cell[1] + cell[2] + cell[4] + cell[5] + V{2}*cell[7] + V{2}*cell[9] + V{1})/(x21 + V{1});
5038auto x26 = V{1.5}*x25;
5040auto x28 = V{1.5}*x27;
5042auto x30 = V{1.5}*x29;
5043auto x31 = x28 + x30 + V{-1};
5044auto x32 = x26 + x31;
5045auto x33 = V{0.0555555555555556}*x22;
5048auto x36 = x26 + V{-1};
5050auto x38 = V{0.0277777777777778}*x22;
5051auto x39 = x19 + x20;
5053auto x41 = x32 + x34;
5055auto x43 = x19 - x20;
5057auto x45 = x19 + x21;
5061auto x49 = x19 + x48;
5063auto x51 = x20 + x21;
5065auto x53 = x32 + x35;
5066auto x54 = x20 + x48;
5069auto x57 = V{1} - x30;
5070auto x58 = x56 + x57;
5071auto x59 = x34 + x58;
5073auto x61 = x35 + x60;
5074auto x62 = x37 + x60;
5076auto x64 = x32 + x37;
5077cell[0] = -V{0.333333333333333}*x22*(x24*x32 + V{1}) - x23*cell[0];
5078cell[1] = -x23*cell[1] - x33*(-x24*(V{3}*x25 - x31 - x34) + V{1});
5079cell[2] = -x23*cell[2] - x33*(-x24*(V{3}*x27 - x30 - x35 - x36) + V{1});
5080cell[3] = -x23*cell[3] - x33*(-x24*(-x28 + V{3}*x29 - x36 - x37) + V{1});
5081cell[4] = -x23*cell[4] - x38*(-x24*(-x35 + V{4.5}*x40 - x41) + V{1});
5082cell[5] = -x23*cell[5] - x38*(x24*(x41 + x42 - V{4.5}*x44*x44) + V{1});
5083cell[6] = -x23*cell[6] - x38*(-x24*(-x37 - x41 + V{4.5}*x46) + V{1});
5084cell[7] = -x23*cell[7] - x38*(x24*(x41 + x47 - V{4.5}*x50*x50) + V{1});
5085cell[8] = -x23*cell[8] - x38*(-x24*(-x37 + V{4.5}*x52 - x53) + V{1});
5086cell[9] = -x23*cell[9] - x38*(x24*(x47 + x53 - V{4.5}*x55*x55) + V{1});
5087cell[10] = -x23*cell[10] - x33*(-x24*(V{3}*x25 + x59) + V{1});
5088cell[11] = -x23*cell[11] - x33*(-x24*(V{3}*x27 + x57 + x61) + V{1});
5089cell[12] = -x23*cell[12] - x33*(-x24*(V{3}*x29 + x56 + x62 + V{1}) + V{1});
5090cell[13] = -x23*cell[13] - x38*(-x24*(V{4.5}*x40 + x59 + x61) + V{1});
5091cell[14] = -x23*cell[14] - x38*(x24*(x53 + x63 - V{4.5}*x43*x43) + V{1});
5092cell[15] = -x23*cell[15] - x38*(-x24*(V{4.5}*x46 + x59 + x62) + V{1});
5093cell[16] = -x23*cell[16] - x38*(x24*(x63 + x64 - V{4.5}*x49*x49) + V{1});
5094cell[17] = -x23*cell[17] - x38*(-x24*(x37 + V{4.5}*x52 + x58 + x61) + V{1});
5095cell[18] = -x23*cell[18] - x38*(x24*(x42 + x64 - V{4.5}*x54*x54) + V{1});
5096return { V{1}*x24, x25 + x27 + x29 };
5102template <
typename... FIELDS>
5105template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
5108auto x20 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(1);
5109auto x19 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(0);
5110auto x21 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(2);
5111auto x22 =
parameters.template get<olb::descriptors::OMEGA>();
5112auto x23 = x22 + V{-1};
5113auto x24 = V{1} / (x19 + V{-1});
5114auto x25 = V{2}*cell[4] + V{2}*cell[5] + V{2}*cell[6] + V{2}*cell[7];
5115auto x26 = x25 + cell[0] + cell[11] + cell[12] + cell[17] + cell[18] + V{2}*cell[1] + cell[2] + cell[3] + cell[8] + cell[9] + V{1};
5117auto x28 = V{0.0555555555555556}*x27;
5119auto x30 = V{1.5}*x29;
5124auto x35 = V{1.5}*x34;
5125auto x36 = x35 + V{-1};
5126auto x37 = x30 + x31 - x33 + x36;
5128auto x39 = V{0.0277777777777778}*x27;
5130auto x41 = x20 + x21;
5131auto x42 = V{4.5}*(x41*x41);
5133auto x44 = V{1.5}*x32;
5134auto x45 = x30 + x44 + V{-1};
5135auto x46 = x35 + x45;
5136auto x47 = x43 + x46;
5137auto x48 = x40 - x42 + x47;
5141auto x52 = x20 + x51;
5143auto x54 = x47 + x50 - V{4.5}*x53*x53;
5146auto x57 = V{1} - x44;
5147auto x58 = x56 + x57;
5148auto x59 = x43 + x58;
5150auto x61 = x40 + x60;
5151auto x62 = x42 + x59 + x61;
5154auto x65 = x40 + x46;
5155auto x66 = x64 + x65 - V{4.5}*x52*x52;
5158auto x69 = x59 + x68;
5160auto x71 = x57 + x61 + x70;
5161auto x72 = x40 + x45 - x70;
5162auto x73 = x36 + x43 + x44 - x68;
5163auto x74 = x19 + x20;
5164auto x75 = V{4.5}*(x74*x74);
5165auto x76 = x31 + x47 - x75;
5166auto x77 = x19 + x21;
5167auto x78 = V{4.5}*(x77*x77);
5168auto x79 = x31 + x65 - x78;
5169auto x80 = x19 - x20;
5171auto x82 = x31 + x46;
5172auto x83 = x64 + x82 - V{4.5}*x81*x81;
5173auto x84 = x19 + x51;
5175auto x86 = x50 + x82 - V{4.5}*x85*x85;
5176auto x87 = V{0.0833333333333333}*cell[2];
5177auto x88 = V{0.0833333333333333}*cell[3];
5178auto x89 = V{0.0833333333333333}*cell[11];
5179auto x90 = V{0.0833333333333333}*cell[12];
5180auto x91 = V{0.00462962962962963}*x27;
5183auto x94 = V{0.00462962962962963}*x27;
5188auto x99 = x23*(V{0.00462962962962963}*x24*x26*x48 + V{0.00462962962962963}*x24*x26*x54 + V{0.00462962962962963}*x24*x26*x66 + V{0.00462962962962963}*x24*x26*x72 + V{0.00462962962962963}*x24*x26*x73 - V{0.0185185185185185}*x27*x37 - x62*x91 - x87 - x88 - x89 - x90 - x92 - x93 - x95 - x96 - x97 - x98 - V{0.166666666666667}*cell[17] - V{0.166666666666667}*cell[18] + V{0.333333333333333}*cell[1] + V{0.166666666666667}*cell[4] + V{0.166666666666667}*cell[5] + V{0.166666666666667}*cell[6] + V{0.166666666666667}*cell[7] - V{0.166666666666667}*cell[8] - V{0.166666666666667}*cell[9] + V{6.93889390390723e-18}) + V{0.0555555555555556};
5189auto x100 = V{0.00925925925925926}*x27;
5190auto x101 = V{0.00925925925925926}*x27;
5191auto x102 = V{0.00231481481481482}*x27;
5192auto x103 = x100*x37 - x102*x48 - x102*x54 + x102*x62 - x102*x66 + V{0.0833333333333334}*cell[17] + V{0.0833333333333334}*cell[18] - V{0.166666666666667}*cell[1] + V{0.0833333333333334}*cell[8] + V{0.0833333333333334}*cell[9] + V{6.93889390390723e-18};
5193auto x104 = x23*(x100*x79 + x100*x86 + x101*x69 - x101*x73 + x103 + x72*x91 - x88 - x90 - x93 - x95 - x97 + V{0.166666666666667}*cell[11] + V{0.166666666666667}*cell[2] + V{0.166666666666667}*cell[4] + V{0.166666666666667}*cell[5] - V{0.333333333333333}*cell[6] - V{0.333333333333333}*cell[7]) + V{0.0555555555555556};
5194auto x105 = x23*(x100*x76 + x100*x83 + x101*x71 - x101*x72 + x103 + x73*x91 - x87 - x89 - x92 - x96 - x98 + V{0.166666666666667}*cell[12] + V{0.166666666666667}*cell[3] - V{0.333333333333333}*cell[4] - V{0.333333333333333}*cell[5] + V{0.166666666666667}*cell[6] + V{0.166666666666667}*cell[7]) + V{0.0555555555555556};
5195auto x106 = V{0.00462962962962963}*x27;
5196auto x107 = V{0.0231481481481481}*x27;
5197auto x108 = V{0.00231481481481481}*x27;
5198auto x109 = V{0.00462962962962963}*x27;
5199auto x110 = -x102*x79 - x102*x86 + x109*x69 - x109*x73 + V{0.0833333333333333}*cell[11] + V{0.0833333333333333}*cell[2] + V{0.0833333333333334}*cell[6] + V{0.0833333333333334}*cell[7] + V{0.0416666666666667};
5200auto x111 = V{0.00115740740740741}*x27;
5201auto x112 = -x101*x37 - x111*x48 - x111*x54 + x111*x62 - x111*x66 + V{0.0416666666666667}*cell[17] + V{0.0416666666666667}*cell[18] + V{0.166666666666667}*cell[1] + V{0.0416666666666667}*cell[8] + V{0.0416666666666667}*cell[9];
5202auto x113 = -x108*x71 + x108*x72 + x110 + x112 - V{0.0416666666666667}*cell[12] - V{0.0416666666666667}*cell[3];
5203auto x114 = x23*(x106*x83 - x107*x76 + x113 + V{0.833333333333333}*cell[4] - V{0.166666666666667}*cell[5]) + V{0.0277777777777778};
5204auto x115 = x23*(x106*x76 - x107*x83 + x113 - V{0.166666666666667}*cell[4] + V{0.833333333333333}*cell[5]) + V{0.0277777777777778};
5205auto x116 = -x102*x76 - x102*x83 + x109*x71 - x109*x72 + V{0.0833333333333333}*cell[12] + V{0.0833333333333333}*cell[3] + V{0.0833333333333334}*cell[4] + V{0.0833333333333334}*cell[5];
5206auto x117 = -x108*x69 + x108*x73 + x112 + x116 - V{0.0416666666666667}*cell[11] - V{0.0416666666666667}*cell[2] + V{0.0416666666666667};
5207auto x118 = x23*(x106*x86 - x107*x79 + x117 + V{0.833333333333333}*cell[6] - V{0.166666666666667}*cell[7]) + V{0.0277777777777778};
5208auto x119 = x23*(x106*x79 - x107*x86 + x117 - V{0.166666666666667}*cell[6] + V{0.833333333333333}*cell[7]) + V{0.0277777777777778};
5209auto x120 = V{0.0115740740740741}*x27;
5210auto x121 = V{0.00231481481481481}*x27;
5211auto x122 = x110 + x116 + x37*x91 - V{0.0833333333333333}*cell[1];
5212auto x123 = x23*(-x120*x48 + x120*x62 + x121*x54 + x121*x66 + x122 + V{0.416666666666667}*cell[17] - V{0.0833333333333333}*cell[18] + V{0.416666666666667}*cell[8] - V{0.0833333333333333}*cell[9]) + V{0.0277777777777778};
5213auto x124 = x23*(-x120*x54 - x120*x66 + x121*x48 - x121*x62 + x122 - V{0.0833333333333333}*cell[17] + V{0.416666666666667}*cell[18] - V{0.0833333333333333}*cell[8] + V{0.416666666666667}*cell[9]) + V{0.0277777777777778};
5214auto x125 = x31 + x60;
5216auto x0 = x23*(x25 - x28*x76 - x28*x79 - x28*x83 - x28*x86 + x38 + x39*x69 + x39*x71 - x39*x72 - x39*x73 + x49 + x55 + x63 + x67 + V{0.5}*cell[11] + V{0.5}*cell[12] + V{1}*cell[17] + V{1}*cell[18] + V{1}*cell[1] + V{0.5}*cell[2] + V{0.5}*cell[3] + V{1}*cell[8] + V{1}*cell[9] + V{0.5}) + V{0.333333333333333}*x27*x46 + V{-0.333333333333333};
5217auto x1 = -x38 - x99;
5218auto x2 = -x104 + V{0.0555555555555556}*x24*x26*x73;
5219auto x3 = -x105 + V{0.0555555555555556}*x24*x26*x72;
5220auto x4 = -x114 + V{0.0277777777777778}*x24*x26*x76;
5221auto x5 = -x115 + V{0.0277777777777778}*x24*x26*x83;
5222auto x6 = -x118 + V{0.0277777777777778}*x24*x26*x79;
5223auto x7 = -x119 + V{0.0277777777777778}*x24*x26*x86;
5224auto x8 = -x123 - x49;
5225auto x9 = -x124 - x55;
5226auto x10 = -x28*(x125 + x33 + x56 + V{1}) - x99;
5227auto x11 = -x104 - x28*x69;
5228auto x12 = -x105 - x28*x71;
5229auto x13 = -x114 - x39*(x125 + x59 + x75);
5230auto x14 = -x115 + V{0.0277777777777778}*x24*x26*(x126 + x47 - V{4.5}*x80*x80);
5231auto x15 = -x118 - x39*(x31 + x58 + x61 + x78);
5232auto x16 = -x119 + V{0.0277777777777778}*x24*x26*(x126 + x65 - V{4.5}*x84*x84);
5233auto x17 = -x123 - x63;
5234auto x18 = -x124 - x67;
5254return { -V{1}*x27, x29 + x32 + x34 };
5259template <
typename... FIELDS>
5262template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
5265auto x20 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(1);
5266auto x19 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(0);
5267auto x21 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(2);
5268auto x22 =
parameters.template get<olb::descriptors::OMEGA>();
5269auto x23 = x22 + V{-1};
5270auto x24 = V{1} / (x19 + V{1});
5271auto x25 = V{2}*cell[13] + V{2}*cell[14] + V{2}*cell[15] + V{2}*cell[16];
5272auto x26 = x25 + cell[0] + V{2}*cell[10] + cell[11] + cell[12] + cell[17] + cell[18] + cell[2] + cell[3] + cell[8] + cell[9] + V{1};
5274auto x28 = V{0.0555555555555556}*x27;
5276auto x30 = V{1.5}*x29;
5281auto x35 = V{1.5}*x34;
5284auto x38 = x36 + x37;
5285auto x39 = x31 + x33 + x38 + V{1};
5287auto x41 = V{0.0277777777777778}*x27;
5288auto x42 = x20 + x21;
5291auto x45 = V{1.5}*x32;
5292auto x46 = V{1} - x45;
5293auto x47 = x31 + x46;
5294auto x48 = x44 + x47;
5296auto x50 = x36 + x49;
5297auto x51 = V{4.5}*x43 + x48 + x50;
5299auto x53 = V{3}*x34 + x48;
5300auto x54 = V{3}*x29 + x46 + x50;
5301auto x55 = x30 + x45 + V{-1};
5302auto x56 = -V{3}*x34 + x44 + x55;
5303auto x57 = x35 + V{-1};
5304auto x58 = -V{3}*x29 + x45 + x49 + x57;
5307auto x61 = x20 + x60;
5308auto x62 = x35 + x55;
5309auto x63 = x49 + x62;
5310auto x64 = x59 + x63 - V{4.5}*x61*x61;
5313auto x67 = x44 + x62;
5314auto x68 = x65 + x67 - V{4.5}*x66*x66;
5315auto x69 = -V{4.5}*x43 + x44 + x63;
5316auto x70 = x19 + x20;
5317auto x71 = V{4.5}*(x70*x70);
5318auto x72 = x38 + x48 + x71;
5319auto x73 = x19 + x21;
5320auto x74 = V{4.5}*(x73*x73);
5321auto x75 = x37 + x47 + x50 + x74;
5322auto x76 = -V{3}*x19;
5323auto x77 = x19 - x20;
5324auto x78 = x67 + x76 - V{4.5}*x77*x77;
5325auto x79 = x19 + x60;
5326auto x80 = x63 + x76 - V{4.5}*x79*x79;
5327auto x81 = V{0.0833333333333333}*cell[2];
5328auto x82 = V{0.0833333333333333}*cell[3];
5329auto x83 = V{0.0833333333333333}*cell[11];
5330auto x84 = V{0.0833333333333333}*cell[12];
5331auto x85 = V{0.00462962962962963}*x27;
5334auto x88 = V{0.00462962962962963}*x27;
5337auto x91 = x23*(V{0.00462962962962963}*x24*x26*x51 + V{0.00462962962962963}*x24*x26*x53 + V{0.00462962962962963}*x24*x26*x54 + V{0.00462962962962963}*x24*x26*x78 + V{0.00462962962962963}*x24*x26*x80 - V{0.0185185185185185}*x27*x39 - x64*x85 - x68*x85 - x69*x85 - x81 - x82 - x83 - x84 - x86 - x87 - x89 - x90 + V{0.333333333333333}*cell[10] + V{0.166666666666667}*cell[13] + V{0.166666666666667}*cell[14] + V{0.166666666666667}*cell[15] + V{0.166666666666667}*cell[16] - V{0.166666666666667}*cell[17] - V{0.166666666666667}*cell[18] - V{0.166666666666667}*cell[8] - V{0.166666666666667}*cell[9] + V{6.93889390390723e-18}) + V{0.0555555555555556};
5338auto x92 = V{0.00925925925925926}*x27;
5339auto x93 = V{0.00925925925925926}*x27;
5340auto x94 = V{0.00231481481481482}*x27;
5341auto x95 = x39*x92 - x51*x94 + x64*x94 + x68*x94 + x69*x94 - V{0.166666666666667}*cell[10] + V{0.0833333333333334}*cell[17] + V{0.0833333333333334}*cell[18] + V{0.0833333333333334}*cell[8] + V{0.0833333333333334}*cell[9] + V{6.93889390390723e-18};
5342auto x96 = x23*(-x53*x93 + x54*x85 + x56*x93 + x75*x92 + x78*x88 - x80*x92 - x82 - x84 - x86 - x89 + x95 + V{0.166666666666667}*cell[11] + V{0.166666666666667}*cell[13] + V{0.166666666666667}*cell[14] - V{0.333333333333333}*cell[15] - V{0.333333333333333}*cell[16] + V{0.166666666666667}*cell[2]) + V{0.0555555555555556};
5343auto x97 = x23*(x53*x85 - x54*x93 + x58*x93 + x72*x92 - x78*x92 + x80*x88 - x81 - x83 - x87 - x90 + x95 + V{0.166666666666667}*cell[12] - V{0.333333333333333}*cell[13] - V{0.333333333333333}*cell[14] + V{0.166666666666667}*cell[15] + V{0.166666666666667}*cell[16] + V{0.166666666666667}*cell[3]) + V{0.0555555555555556};
5344auto x98 = V{0.0231481481481481}*x27;
5345auto x99 = V{0.00462962962962963}*x27;
5346auto x100 = V{0.00231481481481481}*x27;
5347auto x101 = V{0.00462962962962963}*x27;
5348auto x102 = -x101*x53 + x101*x56 - x75*x94 + x80*x94 + V{0.0833333333333333}*cell[11] + V{0.0833333333333334}*cell[15] + V{0.0833333333333334}*cell[16] + V{0.0833333333333333}*cell[2] + V{0.0416666666666667};
5349auto x103 = V{0.00115740740740741}*x27;
5350auto x104 = -x103*x51 + x103*x64 + x103*x68 + x103*x69 - x39*x93 + V{0.166666666666667}*cell[10] + V{0.0416666666666667}*cell[17] + V{0.0416666666666667}*cell[18] + V{0.0416666666666667}*cell[8] + V{0.0416666666666667}*cell[9];
5351auto x105 = x100*x54 - x100*x58 + x102 + x104 - V{0.0416666666666667}*cell[12] - V{0.0416666666666667}*cell[3];
5352auto x106 = x23*(x105 - x72*x98 - x78*x99 + V{0.833333333333333}*cell[13] - V{0.166666666666667}*cell[14]) + V{0.0277777777777778};
5354auto x108 = x37 + x62;
5355auto x109 = x23*(x105 + x72*x99 + x78*x98 - V{0.166666666666667}*cell[13] + V{0.833333333333333}*cell[14]) + V{0.0277777777777778};
5356auto x110 = -x101*x54 + x101*x58 - x72*x94 + x78*x94 + V{0.0833333333333333}*cell[12] + V{0.0833333333333334}*cell[13] + V{0.0833333333333334}*cell[14] + V{0.0833333333333333}*cell[3];
5357auto x111 = x100*x53 - x100*x56 + x104 + x110 - V{0.0416666666666667}*cell[11] - V{0.0416666666666667}*cell[2] + V{0.0416666666666667};
5358auto x112 = x23*(x111 - x75*x98 - x80*x99 + V{0.833333333333333}*cell[15] - V{0.166666666666667}*cell[16]) + V{0.0277777777777778};
5360auto x114 = x23*(x111 + x75*x99 + x80*x98 - V{0.166666666666667}*cell[15] + V{0.833333333333333}*cell[16]) + V{0.0277777777777778};
5361auto x115 = V{0.0115740740740741}*x27;
5362auto x116 = V{0.00231481481481481}*x27;
5363auto x117 = x102 + x110 + x39*x85 - V{0.0833333333333333}*cell[10];
5364auto x118 = x23*(-x115*x51 + x115*x69 - x116*x64 - x116*x68 + x117 + V{0.416666666666667}*cell[17] - V{0.0833333333333333}*cell[18] + V{0.416666666666667}*cell[8] - V{0.0833333333333333}*cell[9]) + V{0.0277777777777778};
5365auto x119 = x23*(x115*x64 + x115*x68 + x116*x51 - x116*x69 + x117 - V{0.0833333333333333}*cell[17] + V{0.416666666666667}*cell[18] - V{0.0833333333333333}*cell[8] + V{0.416666666666667}*cell[9]) + V{0.0277777777777778};
5366auto x0 = x23*(x25 - x28*x72 - x28*x75 + x28*x78 + x28*x80 + x40 - x41*x53 - x41*x54 + x41*x56 + x41*x58 + x41*x64 + x41*x68 + x41*x69 + x52 + V{1}*cell[10] + V{0.5}*cell[11] + V{0.5}*cell[12] + V{1}*cell[17] + V{1}*cell[18] + V{0.5}*cell[2] + V{0.5}*cell[3] + V{1}*cell[8] + V{1}*cell[9] + V{0.5}) - V{0.333333333333333}*x27*x62 + V{-0.333333333333333};
5367auto x1 = -x28*(x30 - x33 + x37 + x57) - x91;
5368auto x2 = -x28*x56 - x96;
5369auto x3 = -x28*x58 - x97;
5370auto x4 = -x106 - x41*(x37 + x67 - x71);
5371auto x5 = -x109 - x41*(x108 + x59 - V{4.5}*x107*x107);
5372auto x6 = -x112 - x41*(x37 + x63 - x74);
5373auto x7 = -x114 - x41*(x108 + x65 - V{4.5}*x113*x113);
5374auto x8 = -x118 - x41*x69;
5375auto x9 = -x119 - x41*x68;
5376auto x10 = -x40 - x91;
5377auto x11 = V{0.0555555555555556}*x24*x26*x53 - x96;
5378auto x12 = V{0.0555555555555556}*x24*x26*x54 - x97;
5379auto x13 = -x106 + V{0.0277777777777778}*x24*x26*x72;
5380auto x14 = -x109 - x41*x78;
5381auto x15 = -x112 + V{0.0277777777777778}*x24*x26*x75;
5382auto x16 = -x114 - x41*x80;
5383auto x17 = -x118 - x52;
5384auto x18 = -x119 - x41*x64;
5404return { V{1}*x27, x29 + x32 + x34 };
5409template <
typename... FIELDS>
5412template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
5415auto x20 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(1);
5416auto x19 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(0);
5417auto x21 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(2);
5418auto x22 =
parameters.template get<olb::descriptors::OMEGA>();
5419auto x23 = x22 + V{-1};
5420auto x24 = V{1} / (x20 + V{-1});
5421auto x25 = V{2}*cell[14] + V{2}*cell[4] + V{2}*cell[8] + V{2}*cell[9];
5422auto x26 = x25 + cell[0] + cell[10] + cell[12] + cell[15] + cell[16] + cell[1] + V{2}*cell[2] + cell[3] + cell[6] + cell[7] + V{1};
5424auto x28 = V{0.0555555555555556}*x27;
5426auto x30 = V{1.5}*x29;
5431auto x35 = V{1.5}*x34;
5432auto x36 = x35 + V{-1};
5433auto x37 = x30 + x31 - x33 + x36;
5435auto x39 = V{0.0277777777777778}*x27;
5437auto x41 = x19 + x21;
5438auto x42 = V{4.5}*(x41*x41);
5440auto x44 = V{1.5}*x32;
5441auto x45 = x30 + x44 + V{-1};
5442auto x46 = x35 + x45;
5443auto x47 = x43 + x46;
5444auto x48 = x40 - x42 + x47;
5448auto x52 = x19 + x51;
5450auto x54 = x47 + x50 - V{4.5}*x53*x53;
5453auto x57 = V{1} - x44;
5454auto x58 = x56 + x57;
5455auto x59 = x43 + x58;
5457auto x61 = x40 + x60;
5458auto x62 = x42 + x59 + x61;
5461auto x65 = x40 + x46;
5462auto x66 = x64 + x65 - V{4.5}*x52*x52;
5465auto x69 = x59 + x68;
5467auto x71 = x57 + x61 + x70;
5468auto x72 = x40 + x45 - x70;
5469auto x73 = x36 + x43 + x44 - x68;
5470auto x74 = x19 + x20;
5471auto x75 = V{4.5}*(x74*x74);
5472auto x76 = x31 + x47 - x75;
5473auto x77 = x20 + x21;
5474auto x78 = V{4.5}*(x77*x77);
5475auto x79 = x31 + x65 - x78;
5476auto x80 = x19 - x20;
5477auto x81 = x31 + x46;
5478auto x82 = x64 + x81 - V{4.5}*x80*x80;
5479auto x83 = x20 + x51;
5481auto x85 = x50 + x81 - V{4.5}*x84*x84;
5482auto x86 = V{0.0833333333333333}*cell[3];
5483auto x87 = V{0.0833333333333333}*cell[12];
5484auto x88 = V{0.00462962962962963}*x27;
5485auto x89 = V{0.00925925925925926}*x27;
5486auto x90 = V{0.00925925925925926}*x27;
5488auto x92 = V{0.00462962962962963}*x27;
5491auto x95 = V{0.00231481481481482}*x27;
5492auto x96 = x37*x89 - x48*x95 - x54*x95 + x62*x95 - x66*x95 + V{0.0833333333333334}*cell[15] + V{0.0833333333333334}*cell[16] - V{0.166666666666667}*cell[2] + V{0.0833333333333334}*cell[6] + V{0.0833333333333334}*cell[7] + V{6.93889390390723e-18};
5493auto x97 = x23*(x69*x90 + x72*x88 - x73*x90 + x79*x89 + x85*x89 - x86 - x87 - x91 - x93 - x94 + x96 + V{0.166666666666667}*cell[10] + V{0.166666666666667}*cell[14] + V{0.166666666666667}*cell[1] + V{0.166666666666667}*cell[4] - V{0.333333333333333}*cell[8] - V{0.333333333333333}*cell[9]) + V{0.0555555555555556};
5494auto x98 = V{0.0833333333333333}*cell[1];
5495auto x99 = V{0.0833333333333333}*cell[10];
5499auto x103 = x23*(-x100 - x101 - x102 + V{0.00462962962962963}*x24*x26*x48 + V{0.00462962962962963}*x24*x26*x54 + V{0.00462962962962963}*x24*x26*x66 + V{0.00462962962962963}*x24*x26*x72 + V{0.00462962962962963}*x24*x26*x73 - V{0.0185185185185185}*x27*x37 - x62*x88 - x86 - x87 - x91 - x93 - x94 - x98 - x99 + V{0.166666666666667}*cell[14] - V{0.166666666666667}*cell[15] - V{0.166666666666667}*cell[16] + V{0.333333333333333}*cell[2] + V{0.166666666666667}*cell[4] - V{0.166666666666667}*cell[6] - V{0.166666666666667}*cell[7] + V{0.166666666666667}*cell[8] + V{0.166666666666667}*cell[9] + V{6.93889390390723e-18}) + V{0.0555555555555556};
5500auto x104 = x23*(-x100 - x101 - x102 + x71*x90 - x72*x90 + x73*x88 + x76*x89 + x82*x89 + x96 - x98 - x99 + V{0.166666666666667}*cell[12] - V{0.333333333333333}*cell[14] + V{0.166666666666667}*cell[3] - V{0.333333333333333}*cell[4] + V{0.166666666666667}*cell[8] + V{0.166666666666667}*cell[9]) + V{0.0555555555555556};
5501auto x105 = V{0.00462962962962963}*x27;
5502auto x106 = V{0.0231481481481481}*x27;
5503auto x107 = V{0.00231481481481481}*x27;
5504auto x108 = V{0.00462962962962963}*x27;
5505auto x109 = x108*x69 - x108*x73 - x79*x95 - x85*x95 + V{0.0833333333333333}*cell[10] + V{0.0833333333333333}*cell[1] + V{0.0833333333333334}*cell[8] + V{0.0833333333333334}*cell[9] + V{0.0416666666666667};
5506auto x110 = V{0.00115740740740741}*x27;
5507auto x111 = -x110*x48 - x110*x54 + x110*x62 - x110*x66 - x37*x90 + V{0.0416666666666667}*cell[15] + V{0.0416666666666667}*cell[16] + V{0.166666666666667}*cell[2] + V{0.0416666666666667}*cell[6] + V{0.0416666666666667}*cell[7];
5508auto x112 = -x107*x71 + x107*x72 + x109 + x111 - V{0.0416666666666667}*cell[12] - V{0.0416666666666667}*cell[3];
5509auto x113 = x23*(x105*x82 - x106*x76 + x112 - V{0.166666666666667}*cell[14] + V{0.833333333333333}*cell[4]) + V{0.0277777777777778};
5512auto x116 = x23*(x105*x76 - x106*x82 + x112 + V{0.833333333333333}*cell[14] - V{0.166666666666667}*cell[4]) + V{0.0277777777777778};
5513auto x117 = V{0.0115740740740741}*x27;
5514auto x118 = V{0.00231481481481481}*x27;
5515auto x119 = x108*x71 - x108*x72 - x76*x95 - x82*x95 + V{0.0833333333333333}*cell[12] + V{0.0833333333333334}*cell[14] + V{0.0833333333333333}*cell[3] + V{0.0833333333333334}*cell[4];
5516auto x120 = x109 + x119 + x37*x88 - V{0.0833333333333333}*cell[2];
5517auto x121 = x23*(-x117*x48 + x117*x62 + x118*x54 + x118*x66 + x120 + V{0.416666666666667}*cell[15] - V{0.0833333333333333}*cell[16] + V{0.416666666666667}*cell[6] - V{0.0833333333333333}*cell[7]) + V{0.0277777777777778};
5518auto x122 = x23*(-x117*x54 - x117*x66 + x118*x48 - x118*x62 + x120 - V{0.0833333333333333}*cell[15] + V{0.416666666666667}*cell[16] - V{0.0833333333333333}*cell[6] + V{0.416666666666667}*cell[7]) + V{0.0277777777777778};
5519auto x123 = -x107*x69 + x107*x73 + x111 + x119 - V{0.0416666666666667}*cell[10] - V{0.0416666666666667}*cell[1] + V{0.0416666666666667};
5520auto x124 = x23*(x105*x85 - x106*x79 + x123 + V{0.833333333333333}*cell[8] - V{0.166666666666667}*cell[9]) + V{0.0277777777777778};
5521auto x125 = x23*(x105*x79 - x106*x85 + x123 - V{0.166666666666667}*cell[8] + V{0.833333333333333}*cell[9]) + V{0.0277777777777778};
5522auto x126 = x31 + x60;
5523auto x0 = x23*(x25 - x28*x76 - x28*x79 - x28*x82 - x28*x85 + x38 + x39*x69 + x39*x71 - x39*x72 - x39*x73 + x49 + x55 + x63 + x67 + V{0.5}*cell[10] + V{0.5}*cell[12] + V{1}*cell[15] + V{1}*cell[16] + V{0.5}*cell[1] + V{1}*cell[2] + V{0.5}*cell[3] + V{1}*cell[6] + V{1}*cell[7] + V{0.5}) + V{0.333333333333333}*x27*x46 + V{-0.333333333333333};
5524auto x1 = V{0.0555555555555556}*x24*x26*x73 - x97;
5525auto x2 = -x103 - x38;
5526auto x3 = -x104 + V{0.0555555555555556}*x24*x26*x72;
5527auto x4 = -x113 + V{0.0277777777777778}*x24*x26*x76;
5528auto x5 = -x116 + V{0.0277777777777778}*x24*x26*(x114 + x47 - V{4.5}*x115*x115);
5529auto x6 = -x121 - x49;
5530auto x7 = -x122 - x55;
5531auto x8 = -x124 + V{0.0277777777777778}*x24*x26*x79;
5532auto x9 = -x125 + V{0.0277777777777778}*x24*x26*x85;
5533auto x10 = -x28*x69 - x97;
5534auto x11 = -x103 - x28*(x126 + x33 + x56 + V{1});
5535auto x12 = -x104 - x28*x71;
5536auto x13 = -x113 - x39*(x126 + x59 + x75);
5537auto x14 = -x116 + V{0.0277777777777778}*x24*x26*x82;
5538auto x15 = -x121 - x63;
5539auto x16 = -x122 - x67;
5540auto x17 = -x124 - x39*(x31 + x58 + x61 + x78);
5541auto x18 = -x125 + V{0.0277777777777778}*x24*x26*(x114 + x65 - V{4.5}*x83*x83);
5561return { -V{1}*x27, x29 + x32 + x34 };
5566template <
typename... FIELDS>
5569template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
5572auto x20 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(1);
5573auto x19 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(0);
5574auto x21 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(2);
5575auto x22 =
parameters.template get<olb::descriptors::OMEGA>();
5576auto x23 = x22 + V{-1};
5577auto x24 = V{1} / (x20 + V{1});
5578auto x25 = V{2}*cell[13] + V{2}*cell[17] + V{2}*cell[18] + V{2}*cell[5];
5579auto x26 = x25 + cell[0] + cell[10] + V{2}*cell[11] + cell[12] + cell[15] + cell[16] + cell[1] + cell[3] + cell[6] + cell[7] + V{1};
5581auto x28 = V{0.0555555555555556}*x27;
5583auto x30 = V{1.5}*x29;
5588auto x35 = V{1.5}*x34;
5591auto x38 = x36 + x37;
5592auto x39 = x31 + x33 + x38 + V{1};
5594auto x41 = V{0.0277777777777778}*x27;
5595auto x42 = x19 + x21;
5598auto x45 = V{1.5}*x32;
5599auto x46 = V{1} - x45;
5600auto x47 = x31 + x46;
5601auto x48 = x44 + x47;
5603auto x50 = x36 + x49;
5604auto x51 = V{4.5}*x43 + x48 + x50;
5606auto x53 = V{3}*x34 + x48;
5607auto x54 = V{3}*x29 + x46 + x50;
5608auto x55 = x30 + x45 + V{-1};
5609auto x56 = -V{3}*x34 + x44 + x55;
5610auto x57 = x35 + V{-1};
5611auto x58 = -V{3}*x29 + x45 + x49 + x57;
5614auto x61 = x19 + x60;
5615auto x62 = x35 + x55;
5616auto x63 = x49 + x62;
5617auto x64 = x59 + x63 - V{4.5}*x61*x61;
5620auto x67 = x44 + x62;
5621auto x68 = x65 + x67 - V{4.5}*x66*x66;
5622auto x69 = -V{4.5}*x43 + x44 + x63;
5623auto x70 = x19 + x20;
5624auto x71 = V{4.5}*(x70*x70);
5625auto x72 = x38 + x48 + x71;
5626auto x73 = x20 + x21;
5627auto x74 = V{4.5}*(x73*x73);
5628auto x75 = x37 + x47 + x50 + x74;
5629auto x76 = -V{3}*x20;
5630auto x77 = x19 - x20;
5632auto x79 = x67 + x76 - V{4.5}*x78*x78;
5633auto x80 = x20 + x60;
5634auto x81 = x63 + x76 - V{4.5}*x80*x80;
5635auto x82 = V{0.0833333333333333}*cell[3];
5636auto x83 = V{0.0833333333333333}*cell[12];
5637auto x84 = V{0.00462962962962963}*x27;
5638auto x85 = V{0.00925925925925926}*x27;
5639auto x86 = V{0.00462962962962963}*x27;
5640auto x87 = V{0.00925925925925926}*x27;
5643auto x90 = V{0.00231481481481482}*x27;
5644auto x91 = x39*x85 - x51*x90 + x64*x90 + x68*x90 + x69*x90 - V{0.166666666666667}*cell[11] + V{0.0833333333333334}*cell[15] + V{0.0833333333333334}*cell[16] + V{0.0833333333333334}*cell[6] + V{0.0833333333333334}*cell[7] + V{6.93889390390723e-18};
5645auto x92 = x23*(-x53*x87 + x54*x84 + x56*x87 + x75*x85 + x79*x86 - x81*x85 - x82 - x83 - x88 - x89 + x91 + V{0.166666666666667}*cell[10] + V{0.166666666666667}*cell[13] - V{0.333333333333333}*cell[17] - V{0.333333333333333}*cell[18] + V{0.166666666666667}*cell[1] + V{0.166666666666667}*cell[5]) + V{0.0555555555555556};
5646auto x93 = V{0.0833333333333333}*cell[1];
5647auto x94 = V{0.0833333333333333}*cell[10];
5650auto x97 = x23*(V{0.00462962962962963}*x24*x26*x51 + V{0.00462962962962963}*x24*x26*x53 + V{0.00462962962962963}*x24*x26*x54 + V{0.00462962962962963}*x24*x26*x79 + V{0.00462962962962963}*x24*x26*x81 - V{0.0185185185185185}*x27*x39 - x64*x84 - x68*x84 - x69*x84 - x82 - x83 - x88 - x89 - x93 - x94 - x95 - x96 + V{0.333333333333333}*cell[11] + V{0.166666666666667}*cell[13] - V{0.166666666666667}*cell[15] - V{0.166666666666667}*cell[16] + V{0.166666666666667}*cell[17] + V{0.166666666666667}*cell[18] + V{0.166666666666667}*cell[5] - V{0.166666666666667}*cell[6] - V{0.166666666666667}*cell[7] + V{6.93889390390723e-18}) + V{0.0555555555555556};
5651auto x98 = x23*(x53*x84 - x54*x87 + x58*x87 + x72*x85 - x79*x85 + x81*x86 + x91 - x93 - x94 - x95 - x96 + V{0.166666666666667}*cell[12] - V{0.333333333333333}*cell[13] + V{0.166666666666667}*cell[17] + V{0.166666666666667}*cell[18] + V{0.166666666666667}*cell[3] - V{0.333333333333333}*cell[5]) + V{0.0555555555555556};
5652auto x99 = V{0.0231481481481481}*x27;
5653auto x100 = V{0.00462962962962963}*x27;
5654auto x101 = V{0.00231481481481481}*x27;
5655auto x102 = V{0.00462962962962963}*x27;
5656auto x103 = -x102*x53 + x102*x56 - x75*x90 + x81*x90 + V{0.0833333333333333}*cell[10] + V{0.0833333333333334}*cell[17] + V{0.0833333333333334}*cell[18] + V{0.0833333333333333}*cell[1] + V{0.0416666666666667};
5657auto x104 = V{0.00115740740740741}*x27;
5658auto x105 = -x104*x51 + x104*x64 + x104*x68 + x104*x69 - x39*x87 + V{0.166666666666667}*cell[11] + V{0.0416666666666667}*cell[15] + V{0.0416666666666667}*cell[16] + V{0.0416666666666667}*cell[6] + V{0.0416666666666667}*cell[7];
5659auto x106 = x101*x54 - x101*x58 + x103 + x105 - V{0.0416666666666667}*cell[12] - V{0.0416666666666667}*cell[3];
5660auto x107 = x23*(-x100*x79 + x106 - x72*x99 + V{0.833333333333333}*cell[13] - V{0.166666666666667}*cell[5]) + V{0.0277777777777778};
5661auto x108 = x23*(x100*x72 + x106 + x79*x99 - V{0.166666666666667}*cell[13] + V{0.833333333333333}*cell[5]) + V{0.0277777777777778};
5662auto x109 = V{0.0115740740740741}*x27;
5663auto x110 = V{0.00231481481481481}*x27;
5664auto x111 = -x102*x54 + x102*x58 - x72*x90 + x79*x90 + V{0.0833333333333333}*cell[12] + V{0.0833333333333334}*cell[13] + V{0.0833333333333333}*cell[3] + V{0.0833333333333334}*cell[5];
5665auto x112 = x103 + x111 + x39*x84 - V{0.0833333333333333}*cell[11];
5666auto x113 = x23*(-x109*x51 + x109*x69 - x110*x64 - x110*x68 + x112 + V{0.416666666666667}*cell[15] - V{0.0833333333333333}*cell[16] + V{0.416666666666667}*cell[6] - V{0.0833333333333333}*cell[7]) + V{0.0277777777777778};
5667auto x114 = x23*(x109*x64 + x109*x68 + x110*x51 - x110*x69 + x112 - V{0.0833333333333333}*cell[15] + V{0.416666666666667}*cell[16] - V{0.0833333333333333}*cell[6] + V{0.416666666666667}*cell[7]) + V{0.0277777777777778};
5668auto x115 = x101*x53 - x101*x56 + x105 + x111 - V{0.0416666666666667}*cell[10] - V{0.0416666666666667}*cell[1] + V{0.0416666666666667};
5669auto x116 = x23*(-x100*x81 + x115 - x75*x99 + V{0.833333333333333}*cell[17] - V{0.166666666666667}*cell[18]) + V{0.0277777777777778};
5671auto x118 = x37 + x62;
5672auto x119 = x23*(x100*x75 + x115 + x81*x99 - V{0.166666666666667}*cell[17] + V{0.833333333333333}*cell[18]) + V{0.0277777777777778};
5673auto x0 = x23*(x25 - x28*x72 - x28*x75 + x28*x79 + x28*x81 + x40 - x41*x53 - x41*x54 + x41*x56 + x41*x58 + x41*x64 + x41*x68 + x41*x69 + x52 + V{0.5}*cell[10] + V{1}*cell[11] + V{0.5}*cell[12] + V{1}*cell[15] + V{1}*cell[16] + V{0.5}*cell[1] + V{0.5}*cell[3] + V{1}*cell[6] + V{1}*cell[7] + V{0.5}) - V{0.333333333333333}*x27*x62 + V{-0.333333333333333};
5674auto x1 = -x28*x56 - x92;
5675auto x2 = -x28*(x30 - x33 + x37 + x57) - x97;
5676auto x3 = -x28*x58 - x98;
5677auto x4 = -x107 - x41*(x37 + x67 - x71);
5678auto x5 = -x108 - x41*x79;
5679auto x6 = -x113 - x41*x69;
5680auto x7 = -x114 - x41*x68;
5681auto x8 = -x116 - x41*(x37 + x63 - x74);
5682auto x9 = -x119 - x41*(x118 + x65 - V{4.5}*x117*x117);
5683auto x10 = V{0.0555555555555556}*x24*x26*x53 - x92;
5684auto x11 = -x40 - x97;
5685auto x12 = V{0.0555555555555556}*x24*x26*x54 - x98;
5686auto x13 = -x107 + V{0.0277777777777778}*x24*x26*x72;
5687auto x14 = -x108 - x41*(x118 + x59 - V{4.5}*x77*x77);
5688auto x15 = -x113 - x52;
5689auto x16 = -x114 - x41*x64;
5690auto x17 = -x116 + V{0.0277777777777778}*x24*x26*x75;
5691auto x18 = -x119 - x41*x81;
5711return { V{1}*x27, x29 + x32 + x34 };
5716template <
typename... FIELDS>
5719template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
5722auto x20 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(1);
5723auto x19 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(0);
5724auto x21 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(2);
5725auto x22 =
parameters.template get<olb::descriptors::OMEGA>();
5726auto x23 = x22 + V{-1};
5727auto x24 = V{1} / (x21 + V{-1});
5728auto x25 = V{2}*cell[16] + V{2}*cell[18] + V{2}*cell[6] + V{2}*cell[8];
5729auto x26 = x25 + cell[0] + cell[10] + cell[11] + cell[13] + cell[14] + cell[1] + cell[2] + V{2}*cell[3] + cell[4] + cell[5] + V{1};
5731auto x28 = V{0.0555555555555556}*x27;
5733auto x30 = V{1.5}*x29;
5738auto x35 = V{1.5}*x34;
5739auto x36 = x35 + V{-1};
5740auto x37 = x30 + x31 - x33 + x36;
5742auto x39 = V{0.0277777777777778}*x27;
5744auto x41 = x19 + x20;
5745auto x42 = V{4.5}*(x41*x41);
5747auto x44 = V{1.5}*x32;
5748auto x45 = x30 + x44 + V{-1};
5749auto x46 = x35 + x45;
5750auto x47 = x43 + x46;
5751auto x48 = x40 - x42 + x47;
5754auto x51 = x19 - x20;
5756auto x53 = x47 + x50 - V{4.5}*x52*x52;
5759auto x56 = V{1} - x44;
5760auto x57 = x55 + x56;
5761auto x58 = x43 + x57;
5763auto x60 = x40 + x59;
5764auto x61 = x42 + x58 + x60;
5767auto x64 = x40 + x46;
5768auto x65 = x63 + x64 - V{4.5}*x51*x51;
5771auto x68 = x58 + x67;
5773auto x70 = x56 + x60 + x69;
5774auto x71 = x40 + x45 - x69;
5775auto x72 = x36 + x43 + x44 - x67;
5776auto x73 = x19 + x21;
5777auto x74 = V{4.5}*(x73*x73);
5778auto x75 = x31 + x47 - x74;
5779auto x76 = x20 + x21;
5780auto x77 = V{4.5}*(x76*x76);
5781auto x78 = x31 + x64 - x77;
5783auto x80 = x19 + x79;
5784auto x81 = x31 + x46;
5785auto x82 = x63 + x81 - V{4.5}*x80*x80;
5786auto x83 = x20 + x79;
5787auto x84 = x50 + x81 - V{4.5}*x83*x83;
5788auto x85 = V{0.0833333333333333}*cell[2];
5789auto x86 = V{0.0833333333333333}*cell[11];
5790auto x87 = V{0.00462962962962963}*x27;
5791auto x88 = V{0.00925925925925926}*x27;
5792auto x89 = V{0.00925925925925926}*x27;
5794auto x91 = V{0.00462962962962963}*x27;
5797auto x94 = V{0.00231481481481482}*x27;
5798auto x95 = x37*x88 - x48*x94 - x53*x94 + x61*x94 - x65*x94 + V{0.0833333333333334}*cell[13] + V{0.0833333333333334}*cell[14] - V{0.166666666666667}*cell[3] + V{0.0833333333333334}*cell[4] + V{0.0833333333333334}*cell[5] + V{6.93889390390723e-18};
5799auto x96 = x23*(x68*x89 + x71*x87 - x72*x89 + x78*x88 + x84*x88 - x85 - x86 - x90 - x92 - x93 + x95 + V{0.166666666666667}*cell[10] + V{0.166666666666667}*cell[16] - V{0.333333333333333}*cell[18] + V{0.166666666666667}*cell[1] + V{0.166666666666667}*cell[6] - V{0.333333333333333}*cell[8]) + V{0.0555555555555556};
5800auto x97 = V{0.0833333333333333}*cell[1];
5801auto x98 = V{0.0833333333333333}*cell[10];
5805auto x102 = x23*(-x100 - x101 + x70*x89 - x71*x89 + x72*x87 + x75*x88 + x82*x88 + x95 - x97 - x98 - x99 + V{0.166666666666667}*cell[11] - V{0.333333333333333}*cell[16] + V{0.166666666666667}*cell[18] + V{0.166666666666667}*cell[2] - V{0.333333333333333}*cell[6] + V{0.166666666666667}*cell[8]) + V{0.0555555555555556};
5806auto x103 = x23*(-x100 - x101 + V{0.00462962962962963}*x24*x26*x48 + V{0.00462962962962963}*x24*x26*x53 + V{0.00462962962962963}*x24*x26*x65 + V{0.00462962962962963}*x24*x26*x71 + V{0.00462962962962963}*x24*x26*x72 - V{0.0185185185185185}*x27*x37 - x61*x87 - x85 - x86 - x90 - x92 - x93 - x97 - x98 - x99 - V{0.166666666666667}*cell[13] - V{0.166666666666667}*cell[14] + V{0.166666666666667}*cell[16] + V{0.166666666666667}*cell[18] + V{0.333333333333333}*cell[3] - V{0.166666666666667}*cell[4] - V{0.166666666666667}*cell[5] + V{0.166666666666667}*cell[6] + V{0.166666666666667}*cell[8] + V{6.93889390390723e-18}) + V{0.0555555555555556};
5807auto x104 = V{0.0115740740740741}*x27;
5808auto x105 = V{0.00231481481481481}*x27;
5809auto x106 = V{0.00462962962962963}*x27;
5810auto x107 = x106*x68 - x106*x72 - x78*x94 - x84*x94 + V{0.0833333333333333}*cell[10] + V{0.0833333333333334}*cell[18] + V{0.0833333333333333}*cell[1] + V{0.0833333333333334}*cell[8] + V{0.0416666666666667};
5811auto x108 = x106*x70 - x106*x71 - x75*x94 - x82*x94 + V{0.0833333333333333}*cell[11] + V{0.0833333333333334}*cell[16] + V{0.0833333333333333}*cell[2] + V{0.0833333333333334}*cell[6];
5812auto x109 = x107 + x108 + x37*x87 - V{0.0833333333333333}*cell[3];
5813auto x110 = x23*(-x104*x48 + x104*x61 + x105*x53 + x105*x65 + x109 + V{0.416666666666667}*cell[13] - V{0.0833333333333333}*cell[14] + V{0.416666666666667}*cell[4] - V{0.0833333333333333}*cell[5]) + V{0.0277777777777778};
5814auto x111 = x23*(-x104*x53 - x104*x65 + x105*x48 - x105*x61 + x109 - V{0.0833333333333333}*cell[13] + V{0.416666666666667}*cell[14] - V{0.0833333333333333}*cell[4] + V{0.416666666666667}*cell[5]) + V{0.0277777777777778};
5815auto x112 = V{0.00462962962962963}*x27;
5816auto x113 = V{0.0231481481481481}*x27;
5817auto x114 = V{0.00231481481481481}*x27;
5818auto x115 = V{0.00115740740740741}*x27;
5819auto x116 = -x115*x48 - x115*x53 + x115*x61 - x115*x65 - x37*x89 + V{0.0416666666666667}*cell[13] + V{0.0416666666666667}*cell[14] + V{0.166666666666667}*cell[3] + V{0.0416666666666667}*cell[4] + V{0.0416666666666667}*cell[5];
5820auto x117 = x107 - x114*x70 + x114*x71 + x116 - V{0.0416666666666667}*cell[11] - V{0.0416666666666667}*cell[2];
5821auto x118 = x23*(x112*x82 - x113*x75 + x117 - V{0.166666666666667}*cell[16] + V{0.833333333333333}*cell[6]) + V{0.0277777777777778};
5824auto x121 = x23*(x112*x75 - x113*x82 + x117 + V{0.833333333333333}*cell[16] - V{0.166666666666667}*cell[6]) + V{0.0277777777777778};
5825auto x122 = x108 - x114*x68 + x114*x72 + x116 - V{0.0416666666666667}*cell[10] - V{0.0416666666666667}*cell[1] + V{0.0416666666666667};
5826auto x123 = x23*(x112*x84 - x113*x78 + x122 - V{0.166666666666667}*cell[18] + V{0.833333333333333}*cell[8]) + V{0.0277777777777778};
5828auto x125 = x23*(x112*x78 - x113*x84 + x122 + V{0.833333333333333}*cell[18] - V{0.166666666666667}*cell[8]) + V{0.0277777777777778};
5829auto x126 = x31 + x59;
5830auto x0 = x23*(x25 - x28*x75 - x28*x78 - x28*x82 - x28*x84 + x38 + x39*x68 + x39*x70 - x39*x71 - x39*x72 + x49 + x54 + x62 + x66 + V{0.5}*cell[10] + V{0.5}*cell[11] + V{1}*cell[13] + V{1}*cell[14] + V{0.5}*cell[1] + V{0.5}*cell[2] + V{1}*cell[3] + V{1}*cell[4] + V{1}*cell[5] + V{0.5}) + V{0.333333333333333}*x27*x46 + V{-0.333333333333333};
5831auto x1 = V{0.0555555555555556}*x24*x26*x72 - x96;
5832auto x2 = -x102 + V{0.0555555555555556}*x24*x26*x71;
5833auto x3 = -x103 - x38;
5834auto x4 = -x110 - x49;
5835auto x5 = -x111 - x54;
5836auto x6 = -x118 + V{0.0277777777777778}*x24*x26*x75;
5837auto x7 = -x121 + V{0.0277777777777778}*x24*x26*(x119 + x47 - V{4.5}*x120*x120);
5838auto x8 = -x123 + V{0.0277777777777778}*x24*x26*x78;
5839auto x9 = -x125 + V{0.0277777777777778}*x24*x26*(x119 + x64 - V{4.5}*x124*x124);
5840auto x10 = -x28*x68 - x96;
5841auto x11 = -x102 - x28*x70;
5842auto x12 = -x103 - x28*(x126 + x33 + x55 + V{1});
5843auto x13 = -x110 - x62;
5844auto x14 = -x111 - x66;
5845auto x15 = -x118 - x39*(x126 + x58 + x74);
5846auto x16 = -x121 + V{0.0277777777777778}*x24*x26*x82;
5847auto x17 = -x123 - x39*(x31 + x57 + x60 + x77);
5848auto x18 = -x125 + V{0.0277777777777778}*x24*x26*x84;
5868return { -V{1}*x27, x29 + x32 + x34 };
5873template <
typename... FIELDS>
5876template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
5879auto x20 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(1);
5880auto x19 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(0);
5881auto x21 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(2);
5882auto x22 =
parameters.template get<olb::descriptors::OMEGA>();
5883auto x23 = x22 + V{-1};
5884auto x24 = V{1} / (x21 + V{1});
5885auto x25 = V{2}*cell[15] + V{2}*cell[17] + V{2}*cell[7] + V{2}*cell[9];
5886auto x26 = x25 + cell[0] + cell[10] + cell[11] + V{2}*cell[12] + cell[13] + cell[14] + cell[1] + cell[2] + cell[4] + cell[5] + V{1};
5888auto x28 = V{0.0555555555555556}*x27;
5890auto x30 = V{1.5}*x29;
5895auto x35 = V{1.5}*x34;
5898auto x38 = x36 + x37;
5899auto x39 = x31 + x33 + x38 + V{1};
5901auto x41 = V{0.0277777777777778}*x27;
5902auto x42 = x19 + x20;
5905auto x45 = V{1.5}*x32;
5906auto x46 = V{1} - x45;
5907auto x47 = x31 + x46;
5908auto x48 = x44 + x47;
5910auto x50 = x36 + x49;
5911auto x51 = V{4.5}*x43 + x48 + x50;
5913auto x53 = V{3}*x34 + x48;
5914auto x54 = V{3}*x29 + x46 + x50;
5915auto x55 = x30 + x45 + V{-1};
5916auto x56 = -V{3}*x34 + x44 + x55;
5917auto x57 = x35 + V{-1};
5918auto x58 = -V{3}*x29 + x45 + x49 + x57;
5920auto x60 = x19 - x20;
5921auto x61 = x35 + x55;
5922auto x62 = x49 + x61;
5923auto x63 = x59 + x62 - V{4.5}*x60*x60;
5926auto x66 = x44 + x61;
5927auto x67 = x64 + x66 - V{4.5}*x65*x65;
5928auto x68 = -V{4.5}*x43 + x44 + x62;
5929auto x69 = x19 + x21;
5930auto x70 = V{4.5}*(x69*x69);
5931auto x71 = x38 + x48 + x70;
5932auto x72 = x20 + x21;
5933auto x73 = V{4.5}*(x72*x72);
5934auto x74 = x37 + x47 + x50 + x73;
5935auto x75 = -V{3}*x21;
5937auto x77 = x19 + x76;
5939auto x79 = x66 + x75 - V{4.5}*x78*x78;
5940auto x80 = x20 + x76;
5942auto x82 = x62 + x75 - V{4.5}*x81*x81;
5943auto x83 = V{0.0833333333333333}*cell[2];
5944auto x84 = V{0.0833333333333333}*cell[11];
5945auto x85 = V{0.00462962962962963}*x27;
5946auto x86 = V{0.00925925925925926}*x27;
5947auto x87 = V{0.00462962962962963}*x27;
5948auto x88 = V{0.00925925925925926}*x27;
5951auto x91 = V{0.00231481481481482}*x27;
5952auto x92 = x39*x86 - x51*x91 + x63*x91 + x67*x91 + x68*x91 - V{0.166666666666667}*cell[12] + V{0.0833333333333334}*cell[13] + V{0.0833333333333334}*cell[14] + V{0.0833333333333334}*cell[4] + V{0.0833333333333334}*cell[5] + V{6.93889390390723e-18};
5953auto x93 = x23*(-x53*x88 + x54*x85 + x56*x88 + x74*x86 + x79*x87 - x82*x86 - x83 - x84 - x89 - x90 + x92 + V{0.166666666666667}*cell[10] + V{0.166666666666667}*cell[15] - V{0.333333333333333}*cell[17] + V{0.166666666666667}*cell[1] + V{0.166666666666667}*cell[7] - V{0.333333333333333}*cell[9]) + V{0.0555555555555556};
5954auto x94 = V{0.0833333333333333}*cell[1];
5955auto x95 = V{0.0833333333333333}*cell[10];
5958auto x98 = x23*(x53*x85 - x54*x88 + x58*x88 + x71*x86 - x79*x86 + x82*x87 + x92 - x94 - x95 - x96 - x97 + V{0.166666666666667}*cell[11] - V{0.333333333333333}*cell[15] + V{0.166666666666667}*cell[17] + V{0.166666666666667}*cell[2] - V{0.333333333333333}*cell[7] + V{0.166666666666667}*cell[9]) + V{0.0555555555555556};
5959auto x99 = x23*(V{0.00462962962962963}*x24*x26*x51 + V{0.00462962962962963}*x24*x26*x53 + V{0.00462962962962963}*x24*x26*x54 + V{0.00462962962962963}*x24*x26*x79 + V{0.00462962962962963}*x24*x26*x82 - V{0.0185185185185185}*x27*x39 - x63*x85 - x67*x85 - x68*x85 - x83 - x84 - x89 - x90 - x94 - x95 - x96 - x97 + V{0.333333333333333}*cell[12] - V{0.166666666666667}*cell[13] - V{0.166666666666667}*cell[14] + V{0.166666666666667}*cell[15] + V{0.166666666666667}*cell[17] - V{0.166666666666667}*cell[4] - V{0.166666666666667}*cell[5] + V{0.166666666666667}*cell[7] + V{0.166666666666667}*cell[9] + V{6.93889390390723e-18}) + V{0.0555555555555556};
5960auto x100 = V{0.0115740740740741}*x27;
5961auto x101 = V{0.00231481481481481}*x27;
5962auto x102 = V{0.00462962962962963}*x27;
5963auto x103 = -x102*x53 + x102*x56 - x74*x91 + x82*x91 + V{0.0833333333333333}*cell[10] + V{0.0833333333333334}*cell[17] + V{0.0833333333333333}*cell[1] + V{0.0833333333333334}*cell[9] + V{0.0416666666666667};
5964auto x104 = -x102*x54 + x102*x58 - x71*x91 + x79*x91 + V{0.0833333333333333}*cell[11] + V{0.0833333333333334}*cell[15] + V{0.0833333333333333}*cell[2] + V{0.0833333333333334}*cell[7];
5965auto x105 = x103 + x104 + x39*x85 - V{0.0833333333333333}*cell[12];
5966auto x106 = x23*(-x100*x51 + x100*x68 - x101*x63 - x101*x67 + x105 + V{0.416666666666667}*cell[13] - V{0.0833333333333333}*cell[14] + V{0.416666666666667}*cell[4] - V{0.0833333333333333}*cell[5]) + V{0.0277777777777778};
5967auto x107 = x23*(x100*x63 + x100*x67 + x101*x51 - x101*x68 + x105 - V{0.0833333333333333}*cell[13] + V{0.416666666666667}*cell[14] - V{0.0833333333333333}*cell[4] + V{0.416666666666667}*cell[5]) + V{0.0277777777777778};
5968auto x108 = V{0.0231481481481481}*x27;
5969auto x109 = V{0.00462962962962963}*x27;
5970auto x110 = V{0.00231481481481481}*x27;
5971auto x111 = V{0.00115740740740741}*x27;
5972auto x112 = -x111*x51 + x111*x63 + x111*x67 + x111*x68 - x39*x88 + V{0.166666666666667}*cell[12] + V{0.0416666666666667}*cell[13] + V{0.0416666666666667}*cell[14] + V{0.0416666666666667}*cell[4] + V{0.0416666666666667}*cell[5];
5973auto x113 = x103 + x110*x54 - x110*x58 + x112 - V{0.0416666666666667}*cell[11] - V{0.0416666666666667}*cell[2];
5974auto x114 = x23*(-x108*x71 - x109*x79 + x113 + V{0.833333333333333}*cell[15] - V{0.166666666666667}*cell[7]) + V{0.0277777777777778};
5975auto x115 = x23*(x108*x79 + x109*x71 + x113 - V{0.166666666666667}*cell[15] + V{0.833333333333333}*cell[7]) + V{0.0277777777777778};
5976auto x116 = x104 + x110*x53 - x110*x56 + x112 - V{0.0416666666666667}*cell[10] - V{0.0416666666666667}*cell[1] + V{0.0416666666666667};
5977auto x117 = x23*(-x108*x74 - x109*x82 + x116 + V{0.833333333333333}*cell[17] - V{0.166666666666667}*cell[9]) + V{0.0277777777777778};
5978auto x118 = x23*(x108*x82 + x109*x74 + x116 - V{0.166666666666667}*cell[17] + V{0.833333333333333}*cell[9]) + V{0.0277777777777778};
5979auto x119 = x37 + x61;
5980auto x0 = x23*(x25 - x28*x71 - x28*x74 + x28*x79 + x28*x82 + x40 - x41*x53 - x41*x54 + x41*x56 + x41*x58 + x41*x63 + x41*x67 + x41*x68 + x52 + V{0.5}*cell[10] + V{0.5}*cell[11] + V{1}*cell[12] + V{1}*cell[13] + V{1}*cell[14] + V{0.5}*cell[1] + V{0.5}*cell[2] + V{1}*cell[4] + V{1}*cell[5] + V{0.5}) - V{0.333333333333333}*x27*x61 + V{-0.333333333333333};
5981auto x1 = -x28*x56 - x93;
5982auto x2 = -x28*x58 - x98;
5983auto x3 = -x28*(x30 - x33 + x37 + x57) - x99;
5984auto x4 = -x106 - x41*x68;
5985auto x5 = -x107 - x41*x67;
5986auto x6 = -x114 - x41*(x37 + x66 - x70);
5987auto x7 = -x115 - x41*x79;
5988auto x8 = -x117 - x41*(x37 + x62 - x73);
5989auto x9 = -x118 - x41*x82;
5990auto x10 = V{0.0555555555555556}*x24*x26*x53 - x93;
5991auto x11 = V{0.0555555555555556}*x24*x26*x54 - x98;
5992auto x12 = -x40 - x99;
5993auto x13 = -x106 - x52;
5994auto x14 = -x107 - x41*x63;
5995auto x15 = -x114 + V{0.0277777777777778}*x24*x26*x71;
5996auto x16 = -x115 - x41*(x119 + x59 - V{4.5}*x77*x77);
5997auto x17 = -x117 + V{0.0277777777777778}*x24*x26*x74;
5998auto x18 = -x118 - x41*(x119 + x64 - V{4.5}*x80*x80);
6018return { V{1}*x27, x29 + x32 + x34 };
6024template <
typename... FIELDS>
6027template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
6030auto x22 =
parameters.template get<olb::descriptors::OMEGA>();
6031auto x20 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(1);
6032auto x21 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(2);
6033auto x23 =
parameters.template get<olb::statistics::AVERAGE_RHO>();
6034auto x19 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(0);
6035auto x24 = x22 + V{-1};
6036auto x25 = x19 + V{-1};
6037auto x26 = V{1} / (x25);
6038auto x27 = V{2}*cell[1] + V{2}*cell[4] + V{2}*cell[5] + V{2}*cell[6] + V{2}*cell[7] + V{1};
6039auto x28 = x27 + cell[0] + cell[11] + cell[12] + cell[17] + cell[18] + cell[2] + cell[3] + cell[8] + cell[9];
6042auto x31 = V{1.5}*x30;
6044auto x33 = V{1.5}*x32;
6046auto x35 = V{1.5}*x34;
6047auto x36 = x33 + x35 + V{-1};
6048auto x37 = x31 + x36;
6049auto x38 = x23 + V{-1};
6050auto x39 = x25*x38/x28 + V{1};
6051auto x40 = V{0.0555555555555556}*x29;
6054auto x43 = x36 + x41 - x42;
6057auto x46 = x31 + V{-1};
6058auto x47 = x35 + x44 - x45 + x46;
6061auto x50 = x33 + x46 + x48 - x49;
6062auto x51 = V{0.0277777777777778}*x29;
6063auto x52 = x19 + x20;
6064auto x53 = V{4.5}*(x52*x52);
6065auto x54 = x37 + x41;
6066auto x55 = x44 - x53 + x54;
6068auto x57 = x19 - x20;
6070auto x59 = x54 + x56 - V{4.5}*x58*x58;
6071auto x60 = x19 + x21;
6072auto x61 = V{4.5}*(x60*x60);
6073auto x62 = x48 + x54 - x61;
6076auto x65 = x19 + x64;
6078auto x67 = x54 + x63 - V{4.5}*x66*x66;
6079auto x68 = x20 + x21;
6080auto x69 = V{4.5}*(x68*x68);
6081auto x70 = x37 + x44;
6082auto x71 = x48 - x69 + x70;
6083auto x72 = x20 + x64;
6085auto x74 = x63 + x70 - V{4.5}*x73*x73;
6087auto x76 = V{1} - x35;
6088auto x77 = x75 + x76;
6089auto x78 = x41 + x77;
6090auto x79 = x42 + x78;
6093auto x82 = x44 + x81;
6094auto x83 = x45 + x76 + x82;
6095auto x84 = x48 + x81;
6096auto x85 = x49 + x75 + x84 + V{1};
6097auto x86 = x53 + x78 + x82;
6100auto x89 = x70 + x88 - V{4.5}*x57*x57;
6101auto x90 = x61 + x78 + x84;
6102auto x91 = x37 + x48;
6103auto x92 = x88 + x91 - V{4.5}*x65*x65;
6104auto x93 = x48 + x69 + x77 + x82;
6105auto x94 = x56 + x91 - V{4.5}*x72*x72;
6106cell[0] = -x24*(-V{0.333333333333333}*x29*x37 + cell[0] + V{0.333333333333333}) + V{0.333333333333333}*x26*x28*x37*x39 + V{-0.333333333333333};
6107cell[1] = -x24*(-x40*x43 + cell[1] + V{0.0555555555555556}) + V{0.0555555555555556}*x26*x28*x39*x43 + V{-0.0555555555555556};
6108cell[2] = -x24*(-x40*x47 + cell[2] + V{0.0555555555555556}) + V{0.0555555555555556}*x26*x28*x39*x47 + V{-0.0555555555555556};
6109cell[3] = -x24*(-x40*x50 + cell[3] + V{0.0555555555555556}) + V{0.0555555555555556}*x26*x28*x39*x50 + V{-0.0555555555555556};
6110cell[4] = -x24*(-x51*x55 + cell[4] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x55 + V{-0.0277777777777778};
6111cell[5] = -x24*(-x51*x59 + cell[5] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x59 + V{-0.0277777777777778};
6112cell[6] = -x24*(-x51*x62 + cell[6] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x62 + V{-0.0277777777777778};
6113cell[7] = -x24*(-x51*x67 + cell[7] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x67 + V{-0.0277777777777778};
6114cell[8] = -x24*(-x51*x71 + cell[8] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x71 + V{-0.0277777777777778};
6115cell[9] = -x24*(-x51*x74 + cell[9] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x74 + V{-0.0277777777777778};
6116cell[10] = -x24*(x40*x79 + cell[10] + V{0.0555555555555556}) - x79*x80 + V{-0.0555555555555556};
6117cell[11] = -x24*(x40*x83 + cell[11] + V{0.0555555555555556}) - x80*x83 + V{-0.0555555555555556};
6118cell[12] = -x24*(x40*x85 + cell[12] + V{0.0555555555555556}) - x80*x85 + V{-0.0555555555555556};
6119cell[13] = -x24*(x51*x86 + cell[13] + V{0.0277777777777778}) - x86*x87 + V{-0.0277777777777778};
6120cell[14] = -x24*(-x51*x89 + cell[14] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x89 + V{-0.0277777777777778};
6121cell[15] = -x24*(x51*x90 + cell[15] + V{0.0277777777777778}) - x87*x90 + V{-0.0277777777777778};
6122cell[16] = -x24*(-x51*x92 + cell[16] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x92 + V{-0.0277777777777778};
6123cell[17] = -x24*(x51*x93 + cell[17] + V{0.0277777777777778}) - x87*x93 + V{-0.0277777777777778};
6124cell[18] = -x24*(-x51*x94 + cell[18] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x94 + V{-0.0277777777777778};
6125return { -x26*(x27 + V{1}*cell[0] + V{1}*cell[11] + V{1}*cell[12] + V{1}*cell[17] + V{1}*cell[18] + V{1}*cell[2] + V{1}*cell[3] + V{1}*cell[8] + V{1}*cell[9]) - x38, x30 + x32 + x34 };
6130template <
typename... FIELDS>
6133template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
6136auto x22 =
parameters.template get<olb::descriptors::OMEGA>();
6137auto x20 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(1);
6138auto x21 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(2);
6139auto x23 =
parameters.template get<olb::statistics::AVERAGE_RHO>();
6140auto x19 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(0);
6141auto x24 = x22 + V{-1};
6142auto x25 = x19 + V{1};
6143auto x26 = V{1} / (x25);
6144auto x27 = V{2}*cell[10] + V{2}*cell[13] + V{2}*cell[14] + V{2}*cell[15] + V{2}*cell[16] + V{1};
6145auto x28 = x27 + cell[0] + cell[11] + cell[12] + cell[17] + cell[18] + cell[2] + cell[3] + cell[8] + cell[9];
6147auto x30 = V{0.333333333333333}*x29;
6149auto x32 = V{1.5}*x31;
6151auto x34 = V{1.5}*x33;
6153auto x36 = V{1.5}*x35;
6154auto x37 = x34 + x36 + V{-1};
6155auto x38 = x32 + x37;
6156auto x39 = -x25*(x23 + V{-1})/x28 + V{1};
6157auto x40 = V{0.0555555555555556}*x29;
6160auto x43 = x37 + x41 - x42;
6164auto x47 = x32 + V{-1};
6165auto x48 = x36 + x45 - x46 + x47;
6168auto x51 = x34 + x47 + x49 - x50;
6169auto x52 = V{0.0277777777777778}*x29;
6170auto x53 = x19 + x20;
6171auto x54 = V{4.5}*(x53*x53);
6172auto x55 = x38 + x41;
6173auto x56 = x45 - x54 + x55;
6176auto x59 = x19 - x20;
6178auto x61 = x55 + x58 - V{4.5}*x60*x60;
6179auto x62 = x19 + x21;
6180auto x63 = V{4.5}*(x62*x62);
6181auto x64 = x49 + x55 - x63;
6184auto x67 = x19 + x66;
6186auto x69 = x55 + x65 - V{4.5}*x68*x68;
6187auto x70 = x20 + x21;
6188auto x71 = V{4.5}*(x70*x70);
6189auto x72 = x38 + x45;
6190auto x73 = x49 - x71 + x72;
6191auto x74 = x20 + x66;
6193auto x76 = x65 + x72 - V{4.5}*x75*x75;
6195auto x78 = V{1} - x36;
6196auto x79 = x77 + x78;
6197auto x80 = x41 + x79;
6198auto x81 = x42 + x80;
6200auto x83 = x45 + x82;
6201auto x84 = x46 + x78 + x83;
6202auto x85 = x49 + x82;
6203auto x86 = x50 + x77 + x85 + V{1};
6204auto x87 = x54 + x80 + x83;
6206auto x89 = x72 + x88 - V{4.5}*x59*x59;
6207auto x90 = x63 + x80 + x85;
6208auto x91 = x38 + x49;
6209auto x92 = x88 + x91 - V{4.5}*x67*x67;
6210auto x93 = x49 + x71 + x79 + x83;
6211auto x94 = x58 + x91 - V{4.5}*x74*x74;
6212cell[0] = -x24*(x30*x38 + cell[0] + V{0.333333333333333}) - x30*x38*x39 + V{-0.333333333333333};
6213cell[1] = -x24*(x40*x43 + cell[1] + V{0.0555555555555556}) - x43*x44 + V{-0.0555555555555556};
6214cell[2] = -x24*(x40*x48 + cell[2] + V{0.0555555555555556}) - x44*x48 + V{-0.0555555555555556};
6215cell[3] = -x24*(x40*x51 + cell[3] + V{0.0555555555555556}) - x44*x51 + V{-0.0555555555555556};
6216cell[4] = -x24*(x52*x56 + cell[4] + V{0.0277777777777778}) - x56*x57 + V{-0.0277777777777778};
6217cell[5] = -x24*(x52*x61 + cell[5] + V{0.0277777777777778}) - x57*x61 + V{-0.0277777777777778};
6218cell[6] = -x24*(x52*x64 + cell[6] + V{0.0277777777777778}) - x57*x64 + V{-0.0277777777777778};
6219cell[7] = -x24*(x52*x69 + cell[7] + V{0.0277777777777778}) - x57*x69 + V{-0.0277777777777778};
6220cell[8] = -x24*(x52*x73 + cell[8] + V{0.0277777777777778}) - x57*x73 + V{-0.0277777777777778};
6221cell[9] = -x24*(x52*x76 + cell[9] + V{0.0277777777777778}) - x57*x76 + V{-0.0277777777777778};
6222cell[10] = -x24*(-x40*x81 + cell[10] + V{0.0555555555555556}) + V{0.0555555555555556}*x26*x28*x39*x81 + V{-0.0555555555555556};
6223cell[11] = -x24*(-x40*x84 + cell[11] + V{0.0555555555555556}) + V{0.0555555555555556}*x26*x28*x39*x84 + V{-0.0555555555555556};
6224cell[12] = -x24*(-x40*x86 + cell[12] + V{0.0555555555555556}) + V{0.0555555555555556}*x26*x28*x39*x86 + V{-0.0555555555555556};
6225cell[13] = -x24*(-x52*x87 + cell[13] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x87 + V{-0.0277777777777778};
6226cell[14] = -x24*(x52*x89 + cell[14] + V{0.0277777777777778}) - x57*x89 + V{-0.0277777777777778};
6227cell[15] = -x24*(-x52*x90 + cell[15] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x90 + V{-0.0277777777777778};
6228cell[16] = -x24*(x52*x92 + cell[16] + V{0.0277777777777778}) - x57*x92 + V{-0.0277777777777778};
6229cell[17] = -x24*(-x52*x93 + cell[17] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x93 + V{-0.0277777777777778};
6230cell[18] = -x24*(x52*x94 + cell[18] + V{0.0277777777777778}) - x57*x94 + V{-0.0277777777777778};
6231return { -x23 + x26*(x27 + V{1}*cell[0] + V{1}*cell[11] + V{1}*cell[12] + V{1}*cell[17] + V{1}*cell[18] + V{1}*cell[2] + V{1}*cell[3] + V{1}*cell[8] + V{1}*cell[9]) + V{1}, x31 + x33 + x35 };
6236template <
typename... FIELDS>
6239template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
6242auto x22 =
parameters.template get<olb::descriptors::OMEGA>();
6243auto x20 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(1);
6244auto x21 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(2);
6245auto x23 =
parameters.template get<olb::statistics::AVERAGE_RHO>();
6246auto x19 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(0);
6247auto x24 = x22 + V{-1};
6248auto x25 = x20 + V{-1};
6249auto x26 = V{1} / (x25);
6250auto x27 = V{2}*cell[14] + V{2}*cell[2] + V{2}*cell[4] + V{2}*cell[8] + V{2}*cell[9] + V{1};
6251auto x28 = x27 + cell[0] + cell[10] + cell[12] + cell[15] + cell[16] + cell[1] + cell[3] + cell[6] + cell[7];
6254auto x31 = V{1.5}*x30;
6256auto x33 = V{1.5}*x32;
6258auto x35 = V{1.5}*x34;
6259auto x36 = x33 + x35 + V{-1};
6260auto x37 = x31 + x36;
6261auto x38 = x23 + V{-1};
6262auto x39 = x25*x38/x28 + V{1};
6263auto x40 = V{0.0555555555555556}*x29;
6266auto x43 = x36 + x41 - x42;
6269auto x46 = x31 + V{-1};
6270auto x47 = x35 + x44 - x45 + x46;
6273auto x50 = x33 + x46 + x48 - x49;
6274auto x51 = V{0.0277777777777778}*x29;
6275auto x52 = x19 + x20;
6276auto x53 = V{4.5}*(x52*x52);
6277auto x54 = x37 + x41;
6278auto x55 = x44 - x53 + x54;
6280auto x57 = x19 - x20;
6282auto x59 = x54 + x56 - V{4.5}*x58*x58;
6283auto x60 = x19 + x21;
6284auto x61 = V{4.5}*(x60*x60);
6285auto x62 = x48 + x54 - x61;
6288auto x65 = x19 + x64;
6290auto x67 = x54 + x63 - V{4.5}*x66*x66;
6291auto x68 = x20 + x21;
6292auto x69 = V{4.5}*(x68*x68);
6293auto x70 = x37 + x44;
6294auto x71 = x48 - x69 + x70;
6295auto x72 = x20 + x64;
6297auto x74 = x63 + x70 - V{4.5}*x73*x73;
6299auto x76 = V{1} - x35;
6300auto x77 = x75 + x76;
6301auto x78 = x41 + x77;
6302auto x79 = x42 + x78;
6305auto x82 = x44 + x81;
6306auto x83 = x45 + x76 + x82;
6307auto x84 = x48 + x81;
6308auto x85 = x49 + x75 + x84 + V{1};
6309auto x86 = x53 + x78 + x82;
6312auto x89 = x70 + x88 - V{4.5}*x57*x57;
6313auto x90 = x61 + x78 + x84;
6314auto x91 = x37 + x48;
6315auto x92 = x88 + x91 - V{4.5}*x65*x65;
6316auto x93 = x48 + x69 + x77 + x82;
6317auto x94 = x56 + x91 - V{4.5}*x72*x72;
6318cell[0] = -x24*(-V{0.333333333333333}*x29*x37 + cell[0] + V{0.333333333333333}) + V{0.333333333333333}*x26*x28*x37*x39 + V{-0.333333333333333};
6319cell[1] = -x24*(-x40*x43 + cell[1] + V{0.0555555555555556}) + V{0.0555555555555556}*x26*x28*x39*x43 + V{-0.0555555555555556};
6320cell[2] = -x24*(-x40*x47 + cell[2] + V{0.0555555555555556}) + V{0.0555555555555556}*x26*x28*x39*x47 + V{-0.0555555555555556};
6321cell[3] = -x24*(-x40*x50 + cell[3] + V{0.0555555555555556}) + V{0.0555555555555556}*x26*x28*x39*x50 + V{-0.0555555555555556};
6322cell[4] = -x24*(-x51*x55 + cell[4] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x55 + V{-0.0277777777777778};
6323cell[5] = -x24*(-x51*x59 + cell[5] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x59 + V{-0.0277777777777778};
6324cell[6] = -x24*(-x51*x62 + cell[6] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x62 + V{-0.0277777777777778};
6325cell[7] = -x24*(-x51*x67 + cell[7] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x67 + V{-0.0277777777777778};
6326cell[8] = -x24*(-x51*x71 + cell[8] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x71 + V{-0.0277777777777778};
6327cell[9] = -x24*(-x51*x74 + cell[9] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x74 + V{-0.0277777777777778};
6328cell[10] = -x24*(x40*x79 + cell[10] + V{0.0555555555555556}) - x79*x80 + V{-0.0555555555555556};
6329cell[11] = -x24*(x40*x83 + cell[11] + V{0.0555555555555556}) - x80*x83 + V{-0.0555555555555556};
6330cell[12] = -x24*(x40*x85 + cell[12] + V{0.0555555555555556}) - x80*x85 + V{-0.0555555555555556};
6331cell[13] = -x24*(x51*x86 + cell[13] + V{0.0277777777777778}) - x86*x87 + V{-0.0277777777777778};
6332cell[14] = -x24*(-x51*x89 + cell[14] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x89 + V{-0.0277777777777778};
6333cell[15] = -x24*(x51*x90 + cell[15] + V{0.0277777777777778}) - x87*x90 + V{-0.0277777777777778};
6334cell[16] = -x24*(-x51*x92 + cell[16] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x92 + V{-0.0277777777777778};
6335cell[17] = -x24*(x51*x93 + cell[17] + V{0.0277777777777778}) - x87*x93 + V{-0.0277777777777778};
6336cell[18] = -x24*(-x51*x94 + cell[18] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x94 + V{-0.0277777777777778};
6337return { -x26*(x27 + V{1}*cell[0] + V{1}*cell[10] + V{1}*cell[12] + V{1}*cell[15] + V{1}*cell[16] + V{1}*cell[1] + V{1}*cell[3] + V{1}*cell[6] + V{1}*cell[7]) - x38, x30 + x32 + x34 };
6342template <
typename... FIELDS>
6345template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
6348auto x22 =
parameters.template get<olb::descriptors::OMEGA>();
6349auto x20 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(1);
6350auto x21 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(2);
6351auto x23 =
parameters.template get<olb::statistics::AVERAGE_RHO>();
6352auto x19 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(0);
6353auto x24 = x22 + V{-1};
6354auto x25 = x20 + V{1};
6355auto x26 = V{1} / (x25);
6356auto x27 = V{2}*cell[11] + V{2}*cell[13] + V{2}*cell[17] + V{2}*cell[18] + V{2}*cell[5] + V{1};
6357auto x28 = x27 + cell[0] + cell[10] + cell[12] + cell[15] + cell[16] + cell[1] + cell[3] + cell[6] + cell[7];
6359auto x30 = V{0.333333333333333}*x29;
6361auto x32 = V{1.5}*x31;
6363auto x34 = V{1.5}*x33;
6365auto x36 = V{1.5}*x35;
6366auto x37 = x34 + x36 + V{-1};
6367auto x38 = x32 + x37;
6368auto x39 = -x25*(x23 + V{-1})/x28 + V{1};
6369auto x40 = V{0.0555555555555556}*x29;
6372auto x43 = x37 + x41 - x42;
6376auto x47 = x32 + V{-1};
6377auto x48 = x36 + x45 - x46 + x47;
6380auto x51 = x34 + x47 + x49 - x50;
6381auto x52 = V{0.0277777777777778}*x29;
6382auto x53 = x19 + x20;
6383auto x54 = V{4.5}*(x53*x53);
6384auto x55 = x38 + x41;
6385auto x56 = x45 - x54 + x55;
6388auto x59 = x19 - x20;
6390auto x61 = x55 + x58 - V{4.5}*x60*x60;
6391auto x62 = x19 + x21;
6392auto x63 = V{4.5}*(x62*x62);
6393auto x64 = x49 + x55 - x63;
6396auto x67 = x19 + x66;
6398auto x69 = x55 + x65 - V{4.5}*x68*x68;
6399auto x70 = x20 + x21;
6400auto x71 = V{4.5}*(x70*x70);
6401auto x72 = x38 + x45;
6402auto x73 = x49 - x71 + x72;
6403auto x74 = x20 + x66;
6405auto x76 = x65 + x72 - V{4.5}*x75*x75;
6407auto x78 = V{1} - x36;
6408auto x79 = x77 + x78;
6409auto x80 = x41 + x79;
6410auto x81 = x42 + x80;
6412auto x83 = x45 + x82;
6413auto x84 = x46 + x78 + x83;
6414auto x85 = x49 + x82;
6415auto x86 = x50 + x77 + x85 + V{1};
6416auto x87 = x54 + x80 + x83;
6418auto x89 = x72 + x88 - V{4.5}*x59*x59;
6419auto x90 = x63 + x80 + x85;
6420auto x91 = x38 + x49;
6421auto x92 = x88 + x91 - V{4.5}*x67*x67;
6422auto x93 = x49 + x71 + x79 + x83;
6423auto x94 = x58 + x91 - V{4.5}*x74*x74;
6424cell[0] = -x24*(x30*x38 + cell[0] + V{0.333333333333333}) - x30*x38*x39 + V{-0.333333333333333};
6425cell[1] = -x24*(x40*x43 + cell[1] + V{0.0555555555555556}) - x43*x44 + V{-0.0555555555555556};
6426cell[2] = -x24*(x40*x48 + cell[2] + V{0.0555555555555556}) - x44*x48 + V{-0.0555555555555556};
6427cell[3] = -x24*(x40*x51 + cell[3] + V{0.0555555555555556}) - x44*x51 + V{-0.0555555555555556};
6428cell[4] = -x24*(x52*x56 + cell[4] + V{0.0277777777777778}) - x56*x57 + V{-0.0277777777777778};
6429cell[5] = -x24*(x52*x61 + cell[5] + V{0.0277777777777778}) - x57*x61 + V{-0.0277777777777778};
6430cell[6] = -x24*(x52*x64 + cell[6] + V{0.0277777777777778}) - x57*x64 + V{-0.0277777777777778};
6431cell[7] = -x24*(x52*x69 + cell[7] + V{0.0277777777777778}) - x57*x69 + V{-0.0277777777777778};
6432cell[8] = -x24*(x52*x73 + cell[8] + V{0.0277777777777778}) - x57*x73 + V{-0.0277777777777778};
6433cell[9] = -x24*(x52*x76 + cell[9] + V{0.0277777777777778}) - x57*x76 + V{-0.0277777777777778};
6434cell[10] = -x24*(-x40*x81 + cell[10] + V{0.0555555555555556}) + V{0.0555555555555556}*x26*x28*x39*x81 + V{-0.0555555555555556};
6435cell[11] = -x24*(-x40*x84 + cell[11] + V{0.0555555555555556}) + V{0.0555555555555556}*x26*x28*x39*x84 + V{-0.0555555555555556};
6436cell[12] = -x24*(-x40*x86 + cell[12] + V{0.0555555555555556}) + V{0.0555555555555556}*x26*x28*x39*x86 + V{-0.0555555555555556};
6437cell[13] = -x24*(-x52*x87 + cell[13] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x87 + V{-0.0277777777777778};
6438cell[14] = -x24*(x52*x89 + cell[14] + V{0.0277777777777778}) - x57*x89 + V{-0.0277777777777778};
6439cell[15] = -x24*(-x52*x90 + cell[15] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x90 + V{-0.0277777777777778};
6440cell[16] = -x24*(x52*x92 + cell[16] + V{0.0277777777777778}) - x57*x92 + V{-0.0277777777777778};
6441cell[17] = -x24*(-x52*x93 + cell[17] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x93 + V{-0.0277777777777778};
6442cell[18] = -x24*(x52*x94 + cell[18] + V{0.0277777777777778}) - x57*x94 + V{-0.0277777777777778};
6443return { -x23 + x26*(x27 + V{1}*cell[0] + V{1}*cell[10] + V{1}*cell[12] + V{1}*cell[15] + V{1}*cell[16] + V{1}*cell[1] + V{1}*cell[3] + V{1}*cell[6] + V{1}*cell[7]) + V{1}, x31 + x33 + x35 };
6448template <
typename... FIELDS>
6451template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
6454auto x22 =
parameters.template get<olb::descriptors::OMEGA>();
6455auto x20 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(1);
6456auto x21 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(2);
6457auto x23 =
parameters.template get<olb::statistics::AVERAGE_RHO>();
6458auto x19 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(0);
6459auto x24 = x22 + V{-1};
6460auto x25 = x21 + V{-1};
6461auto x26 = V{1} / (x25);
6462auto x27 = V{2}*cell[16] + V{2}*cell[18] + V{2}*cell[3] + V{2}*cell[6] + V{2}*cell[8] + V{1};
6463auto x28 = x27 + cell[0] + cell[10] + cell[11] + cell[13] + cell[14] + cell[1] + cell[2] + cell[4] + cell[5];
6466auto x31 = V{1.5}*x30;
6468auto x33 = V{1.5}*x32;
6470auto x35 = V{1.5}*x34;
6471auto x36 = x33 + x35 + V{-1};
6472auto x37 = x31 + x36;
6473auto x38 = x23 + V{-1};
6474auto x39 = x25*x38/x28 + V{1};
6475auto x40 = V{0.0555555555555556}*x29;
6478auto x43 = x36 + x41 - x42;
6481auto x46 = x31 + V{-1};
6482auto x47 = x35 + x44 - x45 + x46;
6485auto x50 = x33 + x46 + x48 - x49;
6486auto x51 = V{0.0277777777777778}*x29;
6487auto x52 = x19 + x20;
6488auto x53 = V{4.5}*(x52*x52);
6489auto x54 = x37 + x41;
6490auto x55 = x44 - x53 + x54;
6492auto x57 = x19 - x20;
6494auto x59 = x54 + x56 - V{4.5}*x58*x58;
6495auto x60 = x19 + x21;
6496auto x61 = V{4.5}*(x60*x60);
6497auto x62 = x48 + x54 - x61;
6500auto x65 = x19 + x64;
6502auto x67 = x54 + x63 - V{4.5}*x66*x66;
6503auto x68 = x20 + x21;
6504auto x69 = V{4.5}*(x68*x68);
6505auto x70 = x37 + x44;
6506auto x71 = x48 - x69 + x70;
6507auto x72 = x20 + x64;
6509auto x74 = x63 + x70 - V{4.5}*x73*x73;
6511auto x76 = V{1} - x35;
6512auto x77 = x75 + x76;
6513auto x78 = x41 + x77;
6514auto x79 = x42 + x78;
6517auto x82 = x44 + x81;
6518auto x83 = x45 + x76 + x82;
6519auto x84 = x48 + x81;
6520auto x85 = x49 + x75 + x84 + V{1};
6521auto x86 = x53 + x78 + x82;
6524auto x89 = x70 + x88 - V{4.5}*x57*x57;
6525auto x90 = x61 + x78 + x84;
6526auto x91 = x37 + x48;
6527auto x92 = x88 + x91 - V{4.5}*x65*x65;
6528auto x93 = x48 + x69 + x77 + x82;
6529auto x94 = x56 + x91 - V{4.5}*x72*x72;
6530cell[0] = -x24*(-V{0.333333333333333}*x29*x37 + cell[0] + V{0.333333333333333}) + V{0.333333333333333}*x26*x28*x37*x39 + V{-0.333333333333333};
6531cell[1] = -x24*(-x40*x43 + cell[1] + V{0.0555555555555556}) + V{0.0555555555555556}*x26*x28*x39*x43 + V{-0.0555555555555556};
6532cell[2] = -x24*(-x40*x47 + cell[2] + V{0.0555555555555556}) + V{0.0555555555555556}*x26*x28*x39*x47 + V{-0.0555555555555556};
6533cell[3] = -x24*(-x40*x50 + cell[3] + V{0.0555555555555556}) + V{0.0555555555555556}*x26*x28*x39*x50 + V{-0.0555555555555556};
6534cell[4] = -x24*(-x51*x55 + cell[4] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x55 + V{-0.0277777777777778};
6535cell[5] = -x24*(-x51*x59 + cell[5] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x59 + V{-0.0277777777777778};
6536cell[6] = -x24*(-x51*x62 + cell[6] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x62 + V{-0.0277777777777778};
6537cell[7] = -x24*(-x51*x67 + cell[7] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x67 + V{-0.0277777777777778};
6538cell[8] = -x24*(-x51*x71 + cell[8] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x71 + V{-0.0277777777777778};
6539cell[9] = -x24*(-x51*x74 + cell[9] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x74 + V{-0.0277777777777778};
6540cell[10] = -x24*(x40*x79 + cell[10] + V{0.0555555555555556}) - x79*x80 + V{-0.0555555555555556};
6541cell[11] = -x24*(x40*x83 + cell[11] + V{0.0555555555555556}) - x80*x83 + V{-0.0555555555555556};
6542cell[12] = -x24*(x40*x85 + cell[12] + V{0.0555555555555556}) - x80*x85 + V{-0.0555555555555556};
6543cell[13] = -x24*(x51*x86 + cell[13] + V{0.0277777777777778}) - x86*x87 + V{-0.0277777777777778};
6544cell[14] = -x24*(-x51*x89 + cell[14] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x89 + V{-0.0277777777777778};
6545cell[15] = -x24*(x51*x90 + cell[15] + V{0.0277777777777778}) - x87*x90 + V{-0.0277777777777778};
6546cell[16] = -x24*(-x51*x92 + cell[16] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x92 + V{-0.0277777777777778};
6547cell[17] = -x24*(x51*x93 + cell[17] + V{0.0277777777777778}) - x87*x93 + V{-0.0277777777777778};
6548cell[18] = -x24*(-x51*x94 + cell[18] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x94 + V{-0.0277777777777778};
6549return { -x26*(x27 + V{1}*cell[0] + V{1}*cell[10] + V{1}*cell[11] + V{1}*cell[13] + V{1}*cell[14] + V{1}*cell[1] + V{1}*cell[2] + V{1}*cell[4] + V{1}*cell[5]) - x38, x30 + x32 + x34 };
6554template <
typename... FIELDS>
6557template <CONCEPT(MinimalCell) CELL,
typename PARAMETERS,
typename V=
typename CELL::value_t>
6560auto x22 =
parameters.template get<olb::descriptors::OMEGA>();
6561auto x20 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(1);
6562auto x21 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(2);
6563auto x23 =
parameters.template get<olb::statistics::AVERAGE_RHO>();
6564auto x19 = cell.template getFieldComponent<olb::momenta::FixedVelocityMomentumGeneric::VELOCITY>(0);
6565auto x24 = x22 + V{-1};
6566auto x25 = x21 + V{1};
6567auto x26 = V{1} / (x25);
6568auto x27 = V{2}*cell[12] + V{2}*cell[15] + V{2}*cell[17] + V{2}*cell[7] + V{2}*cell[9] + V{1};
6569auto x28 = x27 + cell[0] + cell[10] + cell[11] + cell[13] + cell[14] + cell[1] + cell[2] + cell[4] + cell[5];
6571auto x30 = V{0.333333333333333}*x29;
6573auto x32 = V{1.5}*x31;
6575auto x34 = V{1.5}*x33;
6577auto x36 = V{1.5}*x35;
6578auto x37 = x34 + x36 + V{-1};
6579auto x38 = x32 + x37;
6580auto x39 = -x25*(x23 + V{-1})/x28 + V{1};
6581auto x40 = V{0.0555555555555556}*x29;
6584auto x43 = x37 + x41 - x42;
6588auto x47 = x32 + V{-1};
6589auto x48 = x36 + x45 - x46 + x47;
6592auto x51 = x34 + x47 + x49 - x50;
6593auto x52 = V{0.0277777777777778}*x29;
6594auto x53 = x19 + x20;
6595auto x54 = V{4.5}*(x53*x53);
6596auto x55 = x38 + x41;
6597auto x56 = x45 - x54 + x55;
6600auto x59 = x19 - x20;
6602auto x61 = x55 + x58 - V{4.5}*x60*x60;
6603auto x62 = x19 + x21;
6604auto x63 = V{4.5}*(x62*x62);
6605auto x64 = x49 + x55 - x63;
6608auto x67 = x19 + x66;
6610auto x69 = x55 + x65 - V{4.5}*x68*x68;
6611auto x70 = x20 + x21;
6612auto x71 = V{4.5}*(x70*x70);
6613auto x72 = x38 + x45;
6614auto x73 = x49 - x71 + x72;
6615auto x74 = x20 + x66;
6617auto x76 = x65 + x72 - V{4.5}*x75*x75;
6619auto x78 = V{1} - x36;
6620auto x79 = x77 + x78;
6621auto x80 = x41 + x79;
6622auto x81 = x42 + x80;
6624auto x83 = x45 + x82;
6625auto x84 = x46 + x78 + x83;
6626auto x85 = x49 + x82;
6627auto x86 = x50 + x77 + x85 + V{1};
6628auto x87 = x54 + x80 + x83;
6630auto x89 = x72 + x88 - V{4.5}*x59*x59;
6631auto x90 = x63 + x80 + x85;
6632auto x91 = x38 + x49;
6633auto x92 = x88 + x91 - V{4.5}*x67*x67;
6634auto x93 = x49 + x71 + x79 + x83;
6635auto x94 = x58 + x91 - V{4.5}*x74*x74;
6636cell[0] = -x24*(x30*x38 + cell[0] + V{0.333333333333333}) - x30*x38*x39 + V{-0.333333333333333};
6637cell[1] = -x24*(x40*x43 + cell[1] + V{0.0555555555555556}) - x43*x44 + V{-0.0555555555555556};
6638cell[2] = -x24*(x40*x48 + cell[2] + V{0.0555555555555556}) - x44*x48 + V{-0.0555555555555556};
6639cell[3] = -x24*(x40*x51 + cell[3] + V{0.0555555555555556}) - x44*x51 + V{-0.0555555555555556};
6640cell[4] = -x24*(x52*x56 + cell[4] + V{0.0277777777777778}) - x56*x57 + V{-0.0277777777777778};
6641cell[5] = -x24*(x52*x61 + cell[5] + V{0.0277777777777778}) - x57*x61 + V{-0.0277777777777778};
6642cell[6] = -x24*(x52*x64 + cell[6] + V{0.0277777777777778}) - x57*x64 + V{-0.0277777777777778};
6643cell[7] = -x24*(x52*x69 + cell[7] + V{0.0277777777777778}) - x57*x69 + V{-0.0277777777777778};
6644cell[8] = -x24*(x52*x73 + cell[8] + V{0.0277777777777778}) - x57*x73 + V{-0.0277777777777778};
6645cell[9] = -x24*(x52*x76 + cell[9] + V{0.0277777777777778}) - x57*x76 + V{-0.0277777777777778};
6646cell[10] = -x24*(-x40*x81 + cell[10] + V{0.0555555555555556}) + V{0.0555555555555556}*x26*x28*x39*x81 + V{-0.0555555555555556};
6647cell[11] = -x24*(-x40*x84 + cell[11] + V{0.0555555555555556}) + V{0.0555555555555556}*x26*x28*x39*x84 + V{-0.0555555555555556};
6648cell[12] = -x24*(-x40*x86 + cell[12] + V{0.0555555555555556}) + V{0.0555555555555556}*x26*x28*x39*x86 + V{-0.0555555555555556};
6649cell[13] = -x24*(-x52*x87 + cell[13] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x87 + V{-0.0277777777777778};
6650cell[14] = -x24*(x52*x89 + cell[14] + V{0.0277777777777778}) - x57*x89 + V{-0.0277777777777778};
6651cell[15] = -x24*(-x52*x90 + cell[15] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x90 + V{-0.0277777777777778};
6652cell[16] = -x24*(x52*x92 + cell[16] + V{0.0277777777777778}) - x57*x92 + V{-0.0277777777777778};
6653cell[17] = -x24*(-x52*x93 + cell[17] + V{0.0277777777777778}) + V{0.0277777777777778}*x26*x28*x39*x93 + V{-0.0277777777777778};
6654cell[18] = -x24*(x52*x94 + cell[18] + V{0.0277777777777778}) - x57*x94 + V{-0.0277777777777778};
6655return { -x23 + x26*(x27 + V{1}*cell[0] + V{1}*cell[10] + V{1}*cell[11] + V{1}*cell[13] + V{1}*cell[14] + V{1}*cell[1] + V{1}*cell[2] + V{1}*cell[4] + V{1}*cell[5]) + V{1}, x31 + x33 + x35 };
Descriptor for all types of 2D and 3D lattices.
Tuple< BulkDensity, P1Momentum, ZeroStress, DefineToNEq > P1Tuple
Tuple< BulkDensity, BulkMomentum, BulkStress, DefineToNEq > BulkTuple
Standard computation of momenta from the populations in the bulk.
Tuple< VelocityBoundaryDensity< direction, orientation >, FixedVelocityMomentumGeneric, RegularizedBoundaryStress< direction, orientation >, DefineSeparately > RegularizedVelocityBoundaryTuple
Regularized velocity boundary node.
Tuple< VelocityBoundaryDensity< direction, orientation >, FixedVelocityMomentumGeneric, BulkStress, DefineSeparately > BasicDirichletVelocityBoundaryTuple
Velocity boundary node.
Tuple< BulkDensity, PoissonMomentum, ZeroStress, DefineToNEq > PoissonTuple
Top level namespace for all of OpenLB.
CellStatistic< V > apply(CELL &cell, PARAMETERS ¶meters) any_platform
typename meta::list< descriptors::OMEGA > parameters
CellStatistic< V > apply(CELL &cell, PARAMETERS ¶meters) any_platform
typename meta::list< descriptors::OMEGA, statistics::AVERAGE_RHO > parameters
CellStatistic< V > apply(CELL &cell, PARAMETERS ¶meters) any_platform
typename meta::list< SCATTERING, ABSORPTION > parameters
CellStatistic< V > apply(CELL &cell, PARAMETERS ¶meters) any_platform
typename meta::list< OMEGA > parameters
CellStatistic< V > apply(CELL &cell, PARAMETERS ¶meters) any_platform
typename meta::list< descriptors::OMEGA, SINK > parameters
CellStatistic< V > apply(CELL &cell, PARAMETERS ¶meters) any_platform
typename meta::list< descriptors::OMEGA > parameters
CellStatistic< V > apply(CELL &cell, PARAMETERS ¶meters) any_platform
typename meta::list< descriptors::OMEGA, MAGIC > parameters