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

#include <5ea6da6193b9bd947f021948e4523d22a2b417b625a4e919be432526d5b7c545.cse.h>

+ Collaboration diagram for olb::dynamics::CSE< dynamics::Tuple< T, descriptors::D3Q19< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::FixedVelocityMomentumGeneric, momenta::BulkStress, momenta::DefineUSeparatelyTrace >, equilibria::SecondOrder, collision::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::FixedVelocityMomentumGeneric, momenta::BulkStress, momenta::DefineUSeparatelyTrace >, equilibria::SecondOrder, collision::BGK, dynamics::DefaultCombination > >

Definition at line 38 of file 5ea6da6193b9bd947f021948e4523d22a2b417b625a4e919be432526d5b7c545.cse.h.

Member Function Documentation

◆ collide()

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

Definition at line 40 of file 5ea6da6193b9bd947f021948e4523d22a2b417b625a4e919be432526d5b7c545.cse.h.

40 {
41auto x22 = parameters.template get<descriptors::OMEGA>();
42auto x21 = cell.template getFieldComponent<momenta::FixedVelocityMomentumGeneric::VELOCITY>(2);
43auto x19 = cell.template getFieldComponent<momenta::FixedVelocityMomentumGeneric::VELOCITY>(0);
44auto x20 = cell.template getFieldComponent<momenta::FixedVelocityMomentumGeneric::VELOCITY>(1);
45auto x23 = x22 + V{-1};
46auto x24 = 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];
47auto x25 = x24 + V{1};
48auto x26 = x19*x19;
49auto x27 = V{1.5}*x26;
50auto x28 = x20*x20;
51auto x29 = V{1.5}*x28;
52auto x30 = x21*x21;
53auto x31 = V{1.5}*x30;
54auto x32 = x29 + x31 + V{-1};
55auto x33 = x27 + x32;
56auto x34 = V{0.0555555555555556}*x22;
57auto x35 = V{3}*x19;
58auto x36 = V{3}*x26;
59auto x37 = V{3}*x20;
60auto x38 = V{3}*x28;
61auto x39 = x27 + V{-1};
62auto x40 = V{3}*x21;
63auto x41 = V{3}*x30;
64auto x42 = V{0.0277777777777778}*x22;
65auto x43 = x19 + x20;
66auto x44 = V{4.5}*(x43*x43);
67auto x45 = x33 + x35;
68auto x46 = -x37;
69auto x47 = x19 - x20;
70auto x48 = -x47;
71auto x49 = x19 + x21;
72auto x50 = V{4.5}*(x49*x49);
73auto x51 = -x40;
74auto x52 = -x21;
75auto x53 = x19 + x52;
76auto x54 = -x53;
77auto x55 = x20 + x21;
78auto x56 = V{4.5}*(x55*x55);
79auto x57 = x33 + x37;
80auto x58 = x20 + x52;
81auto x59 = -x58;
82auto x60 = -x29;
83auto x61 = V{1} - x31;
84auto x62 = x60 + x61;
85auto x63 = x35 + x62;
86auto x64 = -x27;
87auto x65 = x37 + x64;
88auto x66 = x40 + x64;
89auto x67 = -x35;
90auto x68 = x33 + x40;
91auto x0 = -cell[0]*x23 - V{0.333333333333333}*x22*(x25*x33 + V{1});
92auto x1 = -cell[1]*x23 - x34*(x25*(x32 + x35 - x36) + V{1});
93auto x2 = -cell[2]*x23 - x34*(x25*(x31 + x37 - x38 + x39) + V{1});
94auto x3 = -cell[3]*x23 - x34*(x25*(x29 + x39 + x40 - x41) + V{1});
95auto x4 = -cell[4]*x23 - x42*(x25*(x37 - x44 + x45) + V{1});
96auto x5 = -(cell[5]*x23 + x42*(x25*(x45 + x46 - V{4.5}*x48*x48) + V{1}));
97auto x6 = -cell[6]*x23 - x42*(x25*(x40 + x45 - x50) + V{1});
98auto x7 = -(cell[7]*x23 + x42*(x25*(x45 + x51 - V{4.5}*x54*x54) + V{1}));
99auto x8 = -cell[8]*x23 - x42*(x25*(x40 - x56 + x57) + V{1});
100auto x9 = -(cell[9]*x23 + x42*(x25*(x51 + x57 - V{4.5}*x59*x59) + V{1}));
101auto x10 = -cell[10]*x23 + x34*(x25*(x36 + x63) + V{-1});
102auto x11 = -cell[11]*x23 + x34*(x25*(x38 + x61 + x65) + V{-1});
103auto x12 = -cell[12]*x23 + x34*(x25*(x41 + x60 + x66 + V{1}) + V{-1});
104auto x13 = -cell[13]*x23 + x42*(x25*(x44 + x63 + x65) + V{-1});
105auto x14 = -(cell[14]*x23 + x42*(x25*(x57 + x67 - V{4.5}*x47*x47) + V{1}));
106auto x15 = -cell[15]*x23 + x42*(x25*(x50 + x63 + x66) + V{-1});
107auto x16 = -(cell[16]*x23 + x42*(x25*(x67 + x68 - V{4.5}*x53*x53) + V{1}));
108auto x17 = -cell[17]*x23 + x42*(x25*(x40 + x56 + x62 + x65) + V{-1});
109auto x18 = -(cell[18]*x23 + x42*(x25*(x46 + x68 - V{4.5}*x58*x58) + V{1}));
110cell[0] = x0;
111cell[1] = x1;
112cell[2] = x2;
113cell[3] = x3;
114cell[4] = x4;
115cell[5] = x5;
116cell[6] = x6;
117cell[7] = x7;
118cell[8] = x8;
119cell[9] = x9;
120cell[10] = x10;
121cell[11] = x11;
122cell[12] = x12;
123cell[13] = x13;
124cell[14] = x14;
125cell[15] = x15;
126cell[16] = x16;
127cell[17] = x17;
128cell[18] = x18;
129return { x24 + V{1}, x26 + x28 + x30 };
130}

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