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

#include <cada6c16a3d3f81e5777100fcd6af3c71d86275f9f1cb6dc9c7c4d9799c2febd.cse.h>

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

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

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

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

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