OpenLB 1.8.1
Loading...
Searching...
No Matches
olb::dynamics::CSE< dynamics::Tuple< T, descriptors::D2Q9< FIELDS... >, momenta::Tuple< momenta::FreeEnergyInletOutletDensity, momenta::FreeEnergyInletOutletMomentum< 0, 1 >, momenta::RegularizedBoundaryStress< 0, 1 >, momenta::DefineSeparately >, equilibria::FreeEnergy, collision::FreeEnergyInletOutlet< 0, 1 >, dynamics::DefaultCombination > > Struct Template Reference

#include <59e11552c673a9c3b93e4e1d3d17832bc66be5f22a50ce77716e36973bb21985.cse.h>

+ Collaboration diagram for olb::dynamics::CSE< dynamics::Tuple< T, descriptors::D2Q9< FIELDS... >, momenta::Tuple< momenta::FreeEnergyInletOutletDensity, momenta::FreeEnergyInletOutletMomentum< 0, 1 >, momenta::RegularizedBoundaryStress< 0, 1 >, momenta::DefineSeparately >, equilibria::FreeEnergy, collision::FreeEnergyInletOutlet< 0, 1 >, 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::FreeEnergyInletOutletDensity, momenta::FreeEnergyInletOutletMomentum< 0, 1 >, momenta::RegularizedBoundaryStress< 0, 1 >, momenta::DefineSeparately >, equilibria::FreeEnergy, collision::FreeEnergyInletOutlet< 0, 1 >, dynamics::DefaultCombination > >

Definition at line 38 of file 59e11552c673a9c3b93e4e1d3d17832bc66be5f22a50ce77716e36973bb21985.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::FreeEnergyInletOutletDensity, momenta::FreeEnergyInletOutletMomentum< 0, 1 >, momenta::RegularizedBoundaryStress< 0, 1 >, momenta::DefineSeparately >, equilibria::FreeEnergy, collision::FreeEnergyInletOutlet< 0, 1 >, dynamics::DefaultCombination > >::collide ( CELL & cell,
PARAMETERS & parameters )
inline

Definition at line 40 of file 59e11552c673a9c3b93e4e1d3d17832bc66be5f22a50ce77716e36973bb21985.cse.h.

40 {
41auto x10 = cell.template getFieldComponent<descriptors::FORCE>(1);
42auto x13 = parameters.template get<descriptors::OMEGA>();
43auto x9 = cell.template getFieldComponent<descriptors::FORCE>(0);
44auto x11 = x13 + V{-1};
45auto x12 = cell[0]*x11;
46auto x14 = x10*x10;
47auto x15 = x9*(V{1.5}*x14 + V{-1}) + V{1};
48auto x16 = cell[4]*x11;
49auto x17 = cell[5]*x11;
50auto x18 = cell[6]*x11;
51auto x19 = cell[7]*x11;
52auto x20 = cell[8]*x11;
53auto x21 = V{0.111111111111111}*x13;
54auto x22 = V{0.0277777777777778}*x13*x9;
55auto x23 = x9*(V{3}*x10 + V{3}*x14 + V{1}) + V{-1};
56auto x24 = V{0.166666666666667}*x12 - V{0.0277777777777778}*x13*x23 + x15*x21 + V{0.166666666666667}*x16 + V{0.166666666666667}*x17 + V{0.166666666666667}*x18 + V{0.166666666666667}*x19 + V{0.166666666666667}*x20 - x22 + V{0.166666666666667}*x9 + V{-0.166666666666667};
57auto x25 = V{0.111111111111111}*x13;
58auto x26 = x25*x9;
59auto x27 = x15*x25 + x26;
60auto x28 = -V{0.0277777777777778}*x13*x23 + x22;
61cell[0] = -x12 - V{0.444444444444444}*x13*x15 + V{0.555555555555556}*x13*x9;
62cell[1] = x24;
63cell[2] = V{0.666666666666667}*x12 + V{0.444444444444444}*x13*x15 + V{0.666666666666667}*x16 + V{0.666666666666667}*x17 + V{0.666666666666667}*x18 + V{0.666666666666667}*x19 + V{0.666666666666667}*x20 - x21*x23 - x26 + V{0.666666666666667}*x9 + V{-0.666666666666667};
64cell[3] = x24;
65cell[4] = -x16 - x27;
66cell[5] = -x17 - x28;
67cell[6] = V{0.111111111111111}*x13*x23 - x18 - x26;
68cell[7] = -x19 - x28;
69cell[8] = -x20 - x27;
70return { x9, x14 };
71}

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