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::FirstOrder, collision::BGK, forcing::AllenCahn > > Struct Template Reference

#include <a69e497df9752b474fb63811774b9eddd97ffbb4e497c3359c655d0fce87fcc2.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::FirstOrder, collision::BGK, forcing::AllenCahn > >:

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::FirstOrder, collision::BGK, forcing::AllenCahn > >

Definition at line 38 of file a69e497df9752b474fb63811774b9eddd97ffbb4e497c3359c655d0fce87fcc2.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::FirstOrder, collision::BGK, forcing::AllenCahn > >::collide ( CELL & cell,
PARAMETERS & parameters )
inline

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

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

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