OpenLB 1.8.1
Loading...
Searching...
No Matches
olb::dynamics::CSE< SourcedAdvectionDiffusionBGKdynamics< T, descriptors::D3Q7< FIELDS... > > > Struct Template Reference

#include <470e1c8a901b03cfb11df33b2a3e79a1db6d02b5c1c14c161b981b0f85132c49.cse.h>

+ Collaboration diagram for olb::dynamics::CSE< SourcedAdvectionDiffusionBGKdynamics< T, descriptors::D3Q7< FIELDS... > > >:

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< SourcedAdvectionDiffusionBGKdynamics< T, descriptors::D3Q7< FIELDS... > > >

Definition at line 38 of file 470e1c8a901b03cfb11df33b2a3e79a1db6d02b5c1c14c161b981b0f85132c49.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< SourcedAdvectionDiffusionBGKdynamics< T, descriptors::D3Q7< FIELDS... > > >::collide ( CELL & cell,
PARAMETERS & parameters )
inline

Definition at line 40 of file 470e1c8a901b03cfb11df33b2a3e79a1db6d02b5c1c14c161b981b0f85132c49.cse.h.

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

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