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::BGK, dynamics::DefaultCombination > > Struct Template Reference

#include <9374ee757ff276ed43b7092659abdf7f3a086d2995b9dd41b521318aed71e6ca.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::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< 0, 1 >, momenta::FixedVelocityMomentumGeneric, momenta::BulkStress, momenta::DefineSeparately >, equilibria::SecondOrder, collision::BGK, dynamics::DefaultCombination > >

Definition at line 38 of file 9374ee757ff276ed43b7092659abdf7f3a086d2995b9dd41b521318aed71e6ca.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::BGK, dynamics::DefaultCombination > >::collide ( CELL & cell,
PARAMETERS & parameters )
inline

Definition at line 40 of file 9374ee757ff276ed43b7092659abdf7f3a086d2995b9dd41b521318aed71e6ca.cse.h.

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

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