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

#include <1f84914cae7b175ffa4f093794ce77bd514eba361cd9d4cc1b0933eb07744111.cse.h>

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

Public Member Functions

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

Detailed Description

template<typename T, typename... FIELDS>
struct olb::dynamics::CSE< dynamics::Tuple< T, descriptors::D3Q19< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::BulkMomentum, momenta::BulkStress, momenta::DefineToNEq >, equilibria::SecondOrder, collision::ConstRhoBGK, dynamics::DefaultCombination > >

Definition at line 38 of file 1f84914cae7b175ffa4f093794ce77bd514eba361cd9d4cc1b0933eb07744111.cse.h.

Member Function Documentation

◆ collide()

template<typename T , typename... FIELDS>
template<concepts::Cell CELL, concepts::Parameters PARAMETERS, concepts::BaseType V = typename CELL::value_t>
CellStatistic< V > olb::dynamics::CSE< dynamics::Tuple< T, descriptors::D3Q19< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::BulkMomentum, momenta::BulkStress, momenta::DefineToNEq >, equilibria::SecondOrder, collision::ConstRhoBGK, dynamics::DefaultCombination > >::collide ( CELL & cell,
PARAMETERS & parameters )
inline

Definition at line 40 of file 1f84914cae7b175ffa4f093794ce77bd514eba361cd9d4cc1b0933eb07744111.cse.h.

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

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