OpenLB 1.8.1
Loading...
Searching...
No Matches
olb::dynamics::CSE< AdvectionDiffusionCornerDynamics2D< T, descriptors::D2Q5< FIELDS... >, dynamics::Tuple< T, descriptors::D2Q5< 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 <acbf79f8085fae17387d31069689c667a2519ad7ffa026bd5d36ca3321e0a657.cse.h>

+ Collaboration diagram for olb::dynamics::CSE< AdvectionDiffusionCornerDynamics2D< T, descriptors::D2Q5< FIELDS... >, dynamics::Tuple< T, descriptors::D2Q5< 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< AdvectionDiffusionCornerDynamics2D< T, descriptors::D2Q5< FIELDS... >, dynamics::Tuple< T, descriptors::D2Q5< 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 acbf79f8085fae17387d31069689c667a2519ad7ffa026bd5d36ca3321e0a657.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< AdvectionDiffusionCornerDynamics2D< T, descriptors::D2Q5< FIELDS... >, dynamics::Tuple< T, descriptors::D2Q5< 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 acbf79f8085fae17387d31069689c667a2519ad7ffa026bd5d36ca3321e0a657.cse.h.

40 {
41auto x10 = parameters.template get<descriptors::OMEGA>();
42auto x6 = cell.template getFieldComponent<descriptors::VELOCITY>(1);
43auto x5 = cell.template getFieldComponent<descriptors::VELOCITY>(0);
44auto x7 = cell.template getFieldComponent<momenta::FixedDensity::RHO>(0);
45auto x8 = V{3}*x5;
46auto x9 = x8 + V{1};
47auto x11 = V{0.0555555555555556}*x7;
48auto x12 = V{3}*x6;
49auto x13 = x12 + V{1};
50auto x14 = x8 + V{-1};
51auto x15 = x12 + V{-1};
52auto x16 = V{0.0277777777777778}*x7;
53auto x17 = V{0.166666666666667}*cell[0] + x13*x16 + x16*x9 + V{0.0555555555555556};
54auto x18 = -x14*x16 - x15*x16 + x17;
55auto x19 = x14*x18;
56auto x20 = x10 + V{-1};
57auto x21 = -x14;
58auto x22 = -V{0.5}*x15*x16 + V{0.5}*x16*x21 + V{0.5}*x17;
59auto x23 = V{0.0833333333333333}*x7;
60auto x24 = V{1}*cell[3] - x23*x9 + V{0.166666666666667};
61auto x25 = x13*x18;
62auto x26 = x15*x18;
63auto x27 = x20*(V{1}*cell[2] - x13*x23 + x15*x23 + V{0.5}*x25 + V{0.5}*x26 + V{0.166666666666667});
64auto x28 = V{0.166666666666667}*x7;
65auto x0 = V{0.333333333333333}*cell[0] + x11*x13 - x11*x14 - x11*x15 + x11*x9 + V{-0.222222222222222};
66auto x1 = -x19 + x20*(x21*x22 - x21*x23 - x22*x9 + x24) + V{-0.166666666666667};
67auto x2 = -x26 - x27 + V{-0.166666666666667};
68auto x3 = x18*x9 - x20*(x14*x23 - V{0.5}*x18*x9 - V{0.5}*x19 + x24) + V{-0.166666666666667};
69auto x4 = x25 + x27 + V{-0.166666666666667};
70cell[0] = x0;
71cell[1] = x1;
72cell[2] = x2;
73cell[3] = x3;
74cell[4] = x4;
75return { cell[0] + x13*x28 - x14*x28 - x15*x28 + x28*x9 + V{0.333333333333333}, x5*x5 + x6*x6 };
76}

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