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

#include <aef91cbb0a6a00436ce9edaa801e1ef7b63d676aac9ba3dddf1f093462414c1a.cse.h>

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

Definition at line 38 of file aef91cbb0a6a00436ce9edaa801e1ef7b63d676aac9ba3dddf1f093462414c1a.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::FixedDensity, momenta::FixedPressureMomentum< 1, 1 >, momenta::BulkStress, momenta::DefineSeparately >, equilibria::SecondOrder, collision::BGK, dynamics::DefaultCombination > >::collide ( CELL & cell,
PARAMETERS & parameters )
inline

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

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

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