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::BGK, dynamics::DefaultCombination > > Struct Template Reference

#include <b550090bd934e5c75c1604512d552f3147f9c291d524942812207d2ebbab8aaa.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::BGK, 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::BGK, dynamics::DefaultCombination > >

Definition at line 38 of file b550090bd934e5c75c1604512d552f3147f9c291d524942812207d2ebbab8aaa.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::BGK, dynamics::DefaultCombination > >::collide ( CELL & cell,
PARAMETERS & parameters )
inline

Definition at line 40 of file b550090bd934e5c75c1604512d552f3147f9c291d524942812207d2ebbab8aaa.cse.h.

40 {
41auto x19 = parameters.template get<descriptors::OMEGA>();
42auto x20 = x19 + V{-1};
43auto x21 = cell[10] + cell[14];
44auto x22 = cell[12] + cell[7];
45auto x23 = 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] + x21 + x22;
46auto x24 = x23 + V{1};
47auto x25 = x23 + 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] + x21;
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] + x22;
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{0.0555555555555556}*x19;
79auto x57 = V{1} / (x25);
80auto x58 = V{3}*cell[14];
81auto x59 = V{3}*cell[16];
82auto x60 = V{3}*cell[5];
83auto x61 = V{3}*cell[7];
84auto x62 = V{3}*cell[13] - V{3}*cell[4];
85auto x63 = V{3}*cell[15] - V{3}*cell[6];
86auto x64 = x57*(V{3}*cell[10] - V{3}*cell[1] + x58 + x59 - x60 - x61 + x62 + x63);
87auto x65 = V{3}*x26;
88auto x66 = x36*x65;
89auto x67 = V{3}*cell[18];
90auto x68 = V{3}*cell[9];
91auto x69 = V{3}*cell[17] - V{3}*cell[8];
92auto x70 = x57*(V{3}*cell[11] - V{3}*cell[2] - x58 + x60 + x62 + x67 - x68 + x69);
93auto x71 = x44*x65;
94auto x72 = x37 + V{-1};
95auto x73 = x57*(V{3}*cell[12] - V{3}*cell[3] - x59 + x61 + x63 - x67 + x68 + x69);
96auto x74 = x52*x65;
97auto x75 = V{0.0277777777777778}*x19;
98auto x76 = V{4.5}*x26;
99auto x77 = cell[10] + x33;
100auto x78 = cell[11] + V{2}*cell[13] - V{2}*cell[4] + x40 + x41 + x46 + x77;
101auto x79 = x76*(x78*x78);
102auto x80 = x55 + x64;
103auto x81 = -x70;
104auto x82 = -cell[17] + cell[8];
105auto x83 = -cell[11] + V{2}*cell[14] + cell[2] - V{2}*cell[5] + x29 + x48 + x77 + x82;
106auto x84 = -x83;
107auto x85 = x31 + x34;
108auto x86 = cell[12] + V{2}*cell[15] - V{2}*cell[6] + x39 + x49 + x85;
109auto x87 = x76*(x86*x86);
110auto x88 = -x73;
111auto x89 = -cell[12] + cell[3] + x28;
112auto x90 = V{2}*cell[16] - V{2}*cell[7] + x40 + x82 + x85 + x89;
113auto x91 = -x90;
114auto x92 = V{2}*cell[17] - V{2}*cell[8] + x30 + x42 + x47 + x50;
115auto x93 = x76*(x92*x92);
116auto x94 = x55 + x70;
117auto x95 = -cell[15] + V{2}*cell[18] + cell[6] - V{2}*cell[9] + x32 + x42 + x89;
118auto x96 = -x95;
119auto x97 = -x45;
120auto x98 = V{1} - x53;
121auto x99 = x97 + x98;
122auto x100 = x64 + x99;
123auto x101 = -x37;
124auto x102 = x101 + x70;
125auto x103 = x101 + x73;
126auto x104 = -x64;
127auto x105 = x55 + x73;
128auto x0 = -cell[0]*x20 - V{0.333333333333333}*x19*(x24*x55 + V{1});
129auto x1 = -cell[1]*x20 - x56*(x24*(x54 + x64 - x66) + V{1});
130auto x2 = -cell[2]*x20 - x56*(x24*(x53 + x70 - x71 + x72) + V{1});
131auto x3 = -cell[3]*x20 - x56*(x24*(x45 + x72 + x73 - x74) + V{1});
132auto x4 = -cell[4]*x20 - x75*(x24*(x70 - x79 + x80) + V{1});
133auto x5 = -(cell[5]*x20 + x75*(x24*(-x76*x84*x84 + x80 + x81) + V{1}));
134auto x6 = -cell[6]*x20 - x75*(x24*(x73 + x80 - x87) + V{1});
135auto x7 = -(cell[7]*x20 + x75*(x24*(-x76*x91*x91 + x80 + x88) + V{1}));
136auto x8 = -cell[8]*x20 - x75*(x24*(x73 - x93 + x94) + V{1});
137auto x9 = -(cell[9]*x20 + x75*(x24*(-x76*x96*x96 + x88 + x94) + V{1}));
138auto x10 = -cell[10]*x20 + x56*(x24*(x100 + x66) + V{-1});
139auto x11 = -cell[11]*x20 + x56*(x24*(x102 + x71 + x98) + V{-1});
140auto x12 = -cell[12]*x20 + x56*(x24*(x103 + x74 + x97 + V{1}) + V{-1});
141auto x13 = -cell[13]*x20 + x75*(x24*(x100 + x102 + x79) + V{-1});
142auto x14 = -(cell[14]*x20 + x75*(x24*(x104 - x76*x83*x83 + x94) + V{1}));
143auto x15 = -cell[15]*x20 + x75*(x24*(x100 + x103 + x87) + V{-1});
144auto x16 = -(cell[16]*x20 + x75*(x24*(x104 + x105 - x76*x90*x90) + V{1}));
145auto x17 = -cell[17]*x20 + x75*(x24*(x102 + x73 + x93 + x99) + V{-1});
146auto x18 = -(cell[18]*x20 + x75*(x24*(x105 - x76*x95*x95 + x81) + V{1}));
147cell[0] = x0;
148cell[1] = x1;
149cell[2] = x2;
150cell[3] = x3;
151cell[4] = x4;
152cell[5] = x5;
153cell[6] = x6;
154cell[7] = x7;
155cell[8] = x8;
156cell[9] = x9;
157cell[10] = x10;
158cell[11] = x11;
159cell[12] = x12;
160cell[13] = x13;
161cell[14] = x14;
162cell[15] = x15;
163cell[16] = x16;
164cell[17] = x17;
165cell[18] = x18;
166return { x25, V{1}*x26*(x36 + x44 + x52) };
167}

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