OpenLB 1.8.1
Loading...
Searching...
No Matches
olb::dynamics::CSE< dynamics::Tuple< T, descriptors::D2Q9< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::FixedVelocityMomentum, momenta::BulkStress, momenta::DefineUSeparately >, equilibria::SecondOrder, collision::BGK, forcing::ShanChen > > Struct Template Reference

#include <3d2cb48a7812aeb8a8832f6e8ffd97cae574a565c7c090c10574d71f74c17478.cse.h>

+ Collaboration diagram for olb::dynamics::CSE< dynamics::Tuple< T, descriptors::D2Q9< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::FixedVelocityMomentum, momenta::BulkStress, momenta::DefineUSeparately >, equilibria::SecondOrder, collision::BGK, forcing::ShanChen > >:

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::D2Q9< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::FixedVelocityMomentum, momenta::BulkStress, momenta::DefineUSeparately >, equilibria::SecondOrder, collision::BGK, forcing::ShanChen > >

Definition at line 38 of file 3d2cb48a7812aeb8a8832f6e8ffd97cae574a565c7c090c10574d71f74c17478.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::D2Q9< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::FixedVelocityMomentum, momenta::BulkStress, momenta::DefineUSeparately >, equilibria::SecondOrder, collision::BGK, forcing::ShanChen > >::collide ( CELL & cell,
PARAMETERS & parameters )
inline

Definition at line 40 of file 3d2cb48a7812aeb8a8832f6e8ffd97cae574a565c7c090c10574d71f74c17478.cse.h.

40 {
41auto x11 = cell.template getFieldComponent<descriptors::VELOCITY>(0);
42auto x10 = cell.template getFieldComponent<descriptors::FORCE>(1);
43auto x9 = cell.template getFieldComponent<descriptors::FORCE>(0);
44auto x13 = parameters.template get<descriptors::OMEGA>();
45auto x12 = cell.template getFieldComponent<descriptors::VELOCITY>(1);
46auto x14 = x13 + V{-1};
47auto x15 = cell[0] + cell[1] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + cell[7] + cell[8];
48auto x16 = x15 + V{1};
49auto x17 = V{1} / (x13);
50auto x18 = x17*x9;
51auto x19 = x11 + x18;
52auto x20 = x19*x19;
53auto x21 = V{1.5}*x20;
54auto x22 = x10*x17;
55auto x23 = x12 + x22;
56auto x24 = x23*x23;
57auto x25 = V{1.5}*x24;
58auto x26 = x25 + V{-1};
59auto x27 = x21 + x26;
60auto x28 = V{0.0277777777777778}*x13;
61auto x29 = -x11 - x18 + x23;
62auto x30 = V{1} - x25;
63auto x31 = V{3}*x12 + V{3}*x22;
64auto x32 = -x21 + x31;
65auto x33 = V{3}*x11;
66auto x34 = V{3}*x18;
67auto x35 = -x33 - x34;
68auto x36 = V{0.111111111111111}*x13;
69auto x37 = V{3}*x20;
70auto x38 = x33 + x34;
71auto x39 = x19 + x23;
72auto x40 = V{4.5}*(x39*x39);
73auto x41 = x27 + x31;
74auto x42 = V{3}*x24;
75auto x43 = -x29;
76auto x44 = x30 + x38;
77auto x45 = x11 + V{0.5}*x9;
78auto x46 = V{0.5}*x10 + x12;
79auto x0 = -cell[0]*x14 - V{0.444444444444444}*x13*(x16*x27 + V{1});
80auto x1 = -cell[1]*x14 + x28*(x16*(x30 + x32 + x35 + V{4.5}*(x29*x29)) + V{-1});
81auto x2 = -cell[2]*x14 - x36*(x16*(x26 - x37 + x38) + V{1});
82auto x3 = -cell[3]*x14 - x28*(x16*(x38 - x40 + x41) + V{1});
83auto x4 = -cell[4]*x14 - x36*(x16*(x21 + x31 - x42 + V{-1}) + V{1});
84auto x5 = -(cell[5]*x14 + x28*(x16*(x35 + x41 - V{4.5}*x43*x43) + V{1}));
85auto x6 = -cell[6]*x14 + x36*(x16*(x37 + x44) + V{-1});
86auto x7 = -cell[7]*x14 + x28*(x16*(x32 + x40 + x44) + V{-1});
87auto x8 = -cell[8]*x14 + x36*(x16*(x32 + x42 + V{1}) + V{-1});
88cell[0] = x0;
89cell[1] = x1;
90cell[2] = x2;
91cell[3] = x3;
92cell[4] = x4;
93cell[5] = x5;
94cell[6] = x6;
95cell[7] = x7;
96cell[8] = x8;
97return { x15 + V{1}, x45*x45 + x46*x46 };
98}

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