OpenLB 1.8.1
Loading...
Searching...
No Matches
olb::dynamics::CSE< AdvectionDiffusionBoundariesDynamics< T, descriptors::D3Q7< FIELDS... >, dynamics::Tuple< T, descriptors::D3Q7< 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 >, 0, 1 > > Struct Template Reference

#include <38f0bd0a3084ee6b4696b560da264fd4f9528ad81e4287b9c27c6ab519e3ecb6.cse.h>

+ Collaboration diagram for olb::dynamics::CSE< AdvectionDiffusionBoundariesDynamics< T, descriptors::D3Q7< FIELDS... >, dynamics::Tuple< T, descriptors::D3Q7< 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 >, 0, 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::D3Q7< FIELDS... >, dynamics::Tuple< T, descriptors::D3Q7< 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 >, 0, 1 > >

Definition at line 38 of file 38f0bd0a3084ee6b4696b560da264fd4f9528ad81e4287b9c27c6ab519e3ecb6.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::D3Q7< FIELDS... >, dynamics::Tuple< T, descriptors::D3Q7< 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 >, 0, 1 > >::collide ( CELL & cell,
PARAMETERS & parameters )
inline

Definition at line 40 of file 38f0bd0a3084ee6b4696b560da264fd4f9528ad81e4287b9c27c6ab519e3ecb6.cse.h.

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

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