OpenLB 1.8.1
Loading...
Searching...
No Matches
olb::dynamics::CSE< dynamics::Tuple< T, descriptors::D3Q27< FIELDS... >, momenta::Tuple< momenta::VelocityBoundaryDensity< 2, 1 >, momenta::FixedVelocityMomentumGeneric, momenta::BulkStress, momenta::DefineSeparately >, equilibria::SecondOrder, collision::BGK, dynamics::DefaultCombination > > Struct Template Reference

#include <bddb5d177753e594d3b61fce9319e5efe67a8fcb21aa171269df73d4bc5e0b45.cse.h>

+ Collaboration diagram for olb::dynamics::CSE< dynamics::Tuple< T, descriptors::D3Q27< FIELDS... >, momenta::Tuple< momenta::VelocityBoundaryDensity< 2, 1 >, momenta::FixedVelocityMomentumGeneric, momenta::BulkStress, momenta::DefineSeparately >, 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::D3Q27< FIELDS... >, momenta::Tuple< momenta::VelocityBoundaryDensity< 2, 1 >, momenta::FixedVelocityMomentumGeneric, momenta::BulkStress, momenta::DefineSeparately >, equilibria::SecondOrder, collision::BGK, dynamics::DefaultCombination > >

Definition at line 38 of file bddb5d177753e594d3b61fce9319e5efe67a8fcb21aa171269df73d4bc5e0b45.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::D3Q27< FIELDS... >, momenta::Tuple< momenta::VelocityBoundaryDensity< 2, 1 >, momenta::FixedVelocityMomentumGeneric, momenta::BulkStress, momenta::DefineSeparately >, equilibria::SecondOrder, collision::BGK, dynamics::DefaultCombination > >::collide ( CELL & cell,
PARAMETERS & parameters )
inline

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

40 {
41auto x29 = cell.template getFieldComponent<momenta::FixedVelocityMomentumGeneric::VELOCITY>(2);
42auto x30 = parameters.template get<descriptors::OMEGA>();
43auto x28 = cell.template getFieldComponent<momenta::FixedVelocityMomentumGeneric::VELOCITY>(1);
44auto x27 = cell.template getFieldComponent<momenta::FixedVelocityMomentumGeneric::VELOCITY>(0);
45auto x31 = x30 + V{-1};
46auto x32 = (cell[0] + V{2}*cell[11] + V{2}*cell[13] + cell[14] + cell[15] + V{2}*cell[16] + cell[17] + cell[18] + V{2}*cell[19] + cell[1] + V{2}*cell[21] + V{2}*cell[23] + V{2}*cell[25] + cell[2] + cell[4] + cell[5] + V{2}*cell[7] + V{2}*cell[9] + V{1})/(x29 + V{1});
47auto x33 = x27*x27;
48auto x34 = V{1.5}*x33;
49auto x35 = x28*x28;
50auto x36 = V{1.5}*x35;
51auto x37 = x29*x29;
52auto x38 = V{1.5}*x37;
53auto x39 = x36 + x38 + V{-1};
54auto x40 = x34 + x39;
55auto x41 = V{0.0740740740740741}*x30;
56auto x42 = V{3}*x27;
57auto x43 = V{3}*x28;
58auto x44 = x34 + V{-1};
59auto x45 = V{3}*x29;
60auto x46 = V{0.0185185185185185}*x30;
61auto x47 = x27 + x28;
62auto x48 = x47*x47;
63auto x49 = x40 + x42;
64auto x50 = x43 + x49;
65auto x51 = x27 - x28;
66auto x52 = -x51;
67auto x53 = -x43;
68auto x54 = x49 + x53;
69auto x55 = x27 + x29;
70auto x56 = x55*x55;
71auto x57 = -x45;
72auto x58 = -x29;
73auto x59 = x27 + x58;
74auto x60 = -x59;
75auto x61 = x28 + x29;
76auto x62 = x61*x61;
77auto x63 = x40 + x43;
78auto x64 = x45 + x63;
79auto x65 = x28 + x58;
80auto x66 = -x65;
81auto x67 = V{0.00462962962962963}*x30;
82auto x68 = x29 + x47;
83auto x69 = x68*x68;
84auto x70 = x47 + x58;
85auto x71 = -x70;
86auto x72 = x29 + x51;
87auto x73 = -x72;
88auto x74 = -x42;
89auto x75 = -x27 + x61;
90auto x76 = -x36;
91auto x77 = V{1} - x38;
92auto x78 = x76 + x77;
93auto x79 = -x34;
94auto x80 = x43 + x79;
95auto x81 = x45 + x78 + x80;
96auto x82 = x42 + x78;
97auto x83 = x45 + x79;
98auto x84 = x80 + x82;
99auto x85 = x82 + x83;
100auto x86 = x40 + x45;
101auto x87 = -x75;
102auto x0 = -cell[0]*x31 - V{0.296296296296296}*x30*(x32*x40 + V{1});
103auto x1 = -cell[1]*x31 - x41*(-x32*(V{3}*x33 - x39 - x42) + V{1});
104auto x2 = -cell[2]*x31 - x41*(-x32*(V{3}*x35 - x38 - x43 - x44) + V{1});
105auto x3 = -cell[3]*x31 - x41*(-x32*(-x36 + V{3}*x37 - x44 - x45) + V{1});
106auto x4 = -cell[4]*x31 - x46*(-x32*(V{4.5}*x48 - x50) + V{1});
107auto x5 = -(cell[5]*x31 + x46*(x32*(x54 - V{4.5}*x52*x52) + V{1}));
108auto x6 = -cell[6]*x31 - x46*(-x32*(-x45 - x49 + V{4.5}*x56) + V{1});
109auto x7 = -(cell[7]*x31 + x46*(x32*(x49 + x57 - V{4.5}*x60*x60) + V{1}));
110auto x8 = -cell[8]*x31 - x46*(-x32*(V{4.5}*x62 - x64) + V{1});
111auto x9 = -(cell[9]*x31 + x46*(x32*(x57 + x63 - V{4.5}*x66*x66) + V{1}));
112auto x10 = -cell[10]*x31 - x67*(-x32*(-x45 - x50 + V{4.5}*x69) + V{1});
113auto x11 = -(cell[11]*x31 + x67*(x32*(x50 + x57 - V{4.5}*x71*x71) + V{1}));
114auto x12 = -(cell[12]*x31 + x67*(x32*(x45 + x54 - V{4.5}*x73*x73) + V{1}));
115auto x13 = -(cell[13]*x31 + x67*(-x32*(x74 + x81 + V{4.5}*(x75*x75)) + V{1}));
116auto x14 = -cell[14]*x31 - x41*(-x32*(V{3}*x33 + x82) + V{1});
117auto x15 = -cell[15]*x31 - x41*(-x32*(V{3}*x35 + x77 + x80) + V{1});
118auto x16 = -cell[16]*x31 - x41*(-x32*(V{3}*x37 + x76 + x83 + V{1}) + V{1});
119auto x17 = -cell[17]*x31 - x46*(-x32*(V{4.5}*x48 + x84) + V{1});
120auto x18 = -(cell[18]*x31 + x46*(x32*(x63 + x74 - V{4.5}*x51*x51) + V{1}));
121auto x19 = -cell[19]*x31 - x46*(-x32*(V{4.5}*x56 + x85) + V{1});
122auto x20 = -(cell[20]*x31 + x46*(x32*(x74 + x86 - V{4.5}*x59*x59) + V{1}));
123auto x21 = -cell[21]*x31 - x46*(-x32*(V{4.5}*x62 + x81) + V{1});
124auto x22 = -(cell[22]*x31 + x46*(x32*(x53 + x86 - V{4.5}*x65*x65) + V{1}));
125auto x23 = -cell[23]*x31 - x67*(-x32*(x45 + V{4.5}*x69 + x84) + V{1});
126auto x24 = -(cell[24]*x31 + x67*(-x32*(x57 + x84 + V{4.5}*(x70*x70)) + V{1}));
127auto x25 = -(cell[25]*x31 + x67*(-x32*(x53 + x85 + V{4.5}*(x72*x72)) + V{1}));
128auto x26 = -(cell[26]*x31 + x67*(x32*(x64 + x74 - V{4.5}*x87*x87) + V{1}));
129cell[0] = x0;
130cell[1] = x1;
131cell[2] = x2;
132cell[3] = x3;
133cell[4] = x4;
134cell[5] = x5;
135cell[6] = x6;
136cell[7] = x7;
137cell[8] = x8;
138cell[9] = x9;
139cell[10] = x10;
140cell[11] = x11;
141cell[12] = x12;
142cell[13] = x13;
143cell[14] = x14;
144cell[15] = x15;
145cell[16] = x16;
146cell[17] = x17;
147cell[18] = x18;
148cell[19] = x19;
149cell[20] = x20;
150cell[21] = x21;
151cell[22] = x22;
152cell[23] = x23;
153cell[24] = x24;
154cell[25] = x25;
155cell[26] = x26;
156return { V{1}*x32, x33 + x35 + x37 };
157}

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