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

#include <2bb77ad4326049922b42caa24f9ddf59ff7d73ec0cc69e6ef52c2e9c45901aee.cse.h>

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

Definition at line 38 of file 2bb77ad4326049922b42caa24f9ddf59ff7d73ec0cc69e6ef52c2e9c45901aee.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::Porous< momenta::Tuple< momenta::BulkDensity, momenta::BulkMomentum, momenta::BulkStress, momenta::DefineToNEq > >, equilibria::SecondOrder, collision::BGK, dynamics::DefaultCombination > >::collide ( CELL & cell,
PARAMETERS & parameters )
inline

Definition at line 40 of file 2bb77ad4326049922b42caa24f9ddf59ff7d73ec0cc69e6ef52c2e9c45901aee.cse.h.

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

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