OpenLB 1.8.1
Loading...
Searching...
No Matches
olb::dynamics::CSE< dynamics::Tuple< T, descriptors::D3Q19< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::FixedVelocityMomentum, momenta::BulkStress, momenta::DefineUSeparately >, equilibria::CahnHilliardZerothOrder, collision::BGK, forcing::WellBalancedCahnHilliard > > Struct Template Reference

#include <f48166e195fe23f1b9867442d39c1932514ca787a4b850d2faf6cf8274b21c07.cse.h>

+ Collaboration diagram for olb::dynamics::CSE< dynamics::Tuple< T, descriptors::D3Q19< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::FixedVelocityMomentum, momenta::BulkStress, momenta::DefineUSeparately >, equilibria::CahnHilliardZerothOrder, collision::BGK, forcing::WellBalancedCahnHilliard > >:

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::D3Q19< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::FixedVelocityMomentum, momenta::BulkStress, momenta::DefineUSeparately >, equilibria::CahnHilliardZerothOrder, collision::BGK, forcing::WellBalancedCahnHilliard > >

Definition at line 38 of file f48166e195fe23f1b9867442d39c1932514ca787a4b850d2faf6cf8274b21c07.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::D3Q19< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::FixedVelocityMomentum, momenta::BulkStress, momenta::DefineUSeparately >, equilibria::CahnHilliardZerothOrder, collision::BGK, forcing::WellBalancedCahnHilliard > >::collide ( CELL & cell,
PARAMETERS & parameters )
inline

Definition at line 40 of file f48166e195fe23f1b9867442d39c1932514ca787a4b850d2faf6cf8274b21c07.cse.h.

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

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