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

#include <68d19ad1b5f82b07960e6817c3f674f0fb22dd4b0ddf2fe758cdd9dd313ae5dd.cse.h>

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

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

Definition at line 40 of file 68d19ad1b5f82b07960e6817c3f674f0fb22dd4b0ddf2fe758cdd9dd313ae5dd.cse.h.

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

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