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

#include <bbb7aff621faf6c6dbcab9aec00bfff173cf0711921d733925c9885a1fe8bb92.cse.h>

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

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

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

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

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