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

#include <182eded7f649df5aee83c05485b7e4139eadceda0d03bc0903033fae537f6165.cse.h>

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

Definition at line 38 of file 182eded7f649df5aee83c05485b7e4139eadceda0d03bc0903033fae537f6165.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::VelocityBoundaryDensity< 1, -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 182eded7f649df5aee83c05485b7e4139eadceda0d03bc0903033fae537f6165.cse.h.

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

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