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

#include <391dd0286b8ff36d100cd7045324028600b16f575e5c33500d9b566e7c4bdc2e.cse.h>

+ Collaboration diagram for olb::dynamics::CSE< dynamics::Tuple< T, descriptors::D2Q9< 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::D2Q9< FIELDS... >, momenta::Tuple< momenta::BulkDensity, momenta::FixedVelocityMomentum, momenta::BulkStress, momenta::DefineUSeparately >, equilibria::CahnHilliardZerothOrder, collision::BGK, forcing::WellBalancedCahnHilliard > >

Definition at line 38 of file 391dd0286b8ff36d100cd7045324028600b16f575e5c33500d9b566e7c4bdc2e.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::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 391dd0286b8ff36d100cd7045324028600b16f575e5c33500d9b566e7c4bdc2e.cse.h.

40 {
41auto x13 = parameters.template get<descriptors::OMEGA>();
42auto x9 = cell.template getFieldComponent<descriptors::CHEM_POTENTIAL>(0);
43auto x10 = cell.template getFieldComponent<descriptors::SOURCE>(0);
44auto x11 = cell.template getFieldComponent<descriptors::VELOCITY>(0);
45auto x12 = cell.template getFieldComponent<descriptors::VELOCITY>(1);
46auto x14 = x13 + V{-1};
47auto x15 = cell[0] + cell[1] + cell[2] + cell[3] + cell[4] + cell[5] + cell[6] + cell[7] + cell[8];
48auto x16 = x9 + V{-1};
49auto x17 = V{0.0277777777777778}*x10 + V{0.0277777777777778}*x13*x16;
50auto x18 = V{0.0555555555555556}*x10 - V{0.111111111111111}*x13*x16;
51auto x0 = -cell[0]*x14 - V{0.888888888888889}*x10 + x13*(x15 - V{0.555555555555556}*x9 + V{0.555555555555556});
52auto x1 = -cell[1]*x14 + x17;
53auto x2 = -cell[2]*x14 - x18;
54auto x3 = -cell[3]*x14 + x17;
55auto x4 = -cell[4]*x14 - x18;
56auto x5 = -cell[5]*x14 + x17;
57auto x6 = -cell[6]*x14 - x18;
58auto x7 = -cell[7]*x14 + x17;
59auto x8 = -cell[8]*x14 - x18;
60cell[0] = x0;
61cell[1] = x1;
62cell[2] = x2;
63cell[3] = x3;
64cell[4] = x4;
65cell[5] = x5;
66cell[6] = x6;
67cell[7] = x7;
68cell[8] = x8;
69return { x15 + V{1}, x11*x11 + x12*x12 };
70}

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