OpenLB 1.8.1
Loading...
Searching...
No Matches
olb::dynamics::CSE< AdvectionDiffusionBoundariesDynamics< T, descriptors::D3Q19< FIELDS... >, dynamics::Tuple< T, descriptors::D3Q19< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::BulkMomentum, momenta::NoStress, momenta::DefineToEq >, equilibria::FirstOrder, collision::AdvectionDiffusionRLB, AdvectionDiffusionExternalVelocityCollision >, momenta::Tuple< momenta::FixedDensity, momenta::FixedVelocityMomentumGeneric, momenta::ZeroStress, momenta::DefineSeparately >, 1, 1 > > Struct Template Reference

#include <90da621e143d0be192cc959c6f69bb8aac5afb7bd10e991a4df4f519aad369b0.cse.h>

+ Collaboration diagram for olb::dynamics::CSE< AdvectionDiffusionBoundariesDynamics< T, descriptors::D3Q19< FIELDS... >, dynamics::Tuple< T, descriptors::D3Q19< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::BulkMomentum, momenta::NoStress, momenta::DefineToEq >, equilibria::FirstOrder, collision::AdvectionDiffusionRLB, AdvectionDiffusionExternalVelocityCollision >, momenta::Tuple< momenta::FixedDensity, momenta::FixedVelocityMomentumGeneric, momenta::ZeroStress, momenta::DefineSeparately >, 1, 1 > >:

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< AdvectionDiffusionBoundariesDynamics< T, descriptors::D3Q19< FIELDS... >, dynamics::Tuple< T, descriptors::D3Q19< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::BulkMomentum, momenta::NoStress, momenta::DefineToEq >, equilibria::FirstOrder, collision::AdvectionDiffusionRLB, AdvectionDiffusionExternalVelocityCollision >, momenta::Tuple< momenta::FixedDensity, momenta::FixedVelocityMomentumGeneric, momenta::ZeroStress, momenta::DefineSeparately >, 1, 1 > >

Definition at line 38 of file 90da621e143d0be192cc959c6f69bb8aac5afb7bd10e991a4df4f519aad369b0.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< AdvectionDiffusionBoundariesDynamics< T, descriptors::D3Q19< FIELDS... >, dynamics::Tuple< T, descriptors::D3Q19< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::BulkMomentum, momenta::NoStress, momenta::DefineToEq >, equilibria::FirstOrder, collision::AdvectionDiffusionRLB, AdvectionDiffusionExternalVelocityCollision >, momenta::Tuple< momenta::FixedDensity, momenta::FixedVelocityMomentumGeneric, momenta::ZeroStress, momenta::DefineSeparately >, 1, 1 > >::collide ( CELL & cell,
PARAMETERS & parameters )
inline

Definition at line 40 of file 90da621e143d0be192cc959c6f69bb8aac5afb7bd10e991a4df4f519aad369b0.cse.h.

40 {
41auto x22 = cell.template getFieldComponent<momenta::FixedDensity::RHO>(0);
42auto x20 = cell.template getFieldComponent<descriptors::VELOCITY>(1);
43auto x21 = cell.template getFieldComponent<descriptors::VELOCITY>(2);
44auto x19 = cell.template getFieldComponent<descriptors::VELOCITY>(0);
45auto x23 = V{3}*x20;
46auto x24 = x23 + V{-1};
47auto x25 = x23 + V{1};
48auto x26 = V{3}*x19;
49auto x27 = V{0.0277777777777778}*x22;
50auto x28 = V{3}*x21;
51auto x29 = V{1} - x23;
52auto x0 = cell[0];
53auto x1 = cell[1];
54auto x2 = -cell[11] - V{0.0555555555555556}*x22*x24 + V{0.0555555555555556}*x22*x25 + V{-0.111111111111111};
55auto x3 = cell[3];
56auto x4 = -cell[13] + V{0.0277777777777778}*x22*(x25 + x26) - x27*(x24 + x26) + V{-0.0555555555555556};
57auto x5 = cell[5];
58auto x6 = cell[6];
59auto x7 = cell[7];
60auto x8 = -cell[17] + V{0.0277777777777778}*x22*(x25 + x28) - x27*(x24 + x28) + V{-0.0555555555555556};
61auto x9 = -cell[18] + V{0.0277777777777778}*x22*(x25 - x28) + V{0.0277777777777778}*x22*(x28 + x29) + V{-0.0555555555555556};
62auto x10 = cell[10];
63auto x11 = cell[11];
64auto x12 = cell[12];
65auto x13 = cell[13];
66auto x14 = -cell[5] + V{0.0277777777777778}*x22*(x25 - x26) + V{0.0277777777777778}*x22*(x26 + x29) + V{-0.0555555555555556};
67auto x15 = cell[15];
68auto x16 = cell[16];
69auto x17 = cell[17];
70auto x18 = cell[18];
71cell[0] = x0;
72cell[1] = x1;
73cell[2] = x2;
74cell[3] = x3;
75cell[4] = x4;
76cell[5] = x5;
77cell[6] = x6;
78cell[7] = x7;
79cell[8] = x8;
80cell[9] = x9;
81cell[10] = x10;
82cell[11] = x11;
83cell[12] = x12;
84cell[13] = x13;
85cell[14] = x14;
86cell[15] = x15;
87cell[16] = x16;
88cell[17] = x17;
89cell[18] = x18;
90return { V{-1}, V{-1} };
91}

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