#include <setBouzidiBoundary.h>
Definition at line 186 of file setBouzidiBoundary.h.
◆ apply()
template<typename CELL , typename V = typename CELL::value_t>
void olb::YuPostProcessor::apply |
( |
CELL & | x_b | ) |
|
|
inline |
Definition at line 195 of file setBouzidiBoundary.h.
195 {
196 using DESCRIPTOR = typename CELL::descriptor_t;
197 const auto q = x_b.template getFieldPointer<descriptors::BOUZIDI_DISTANCE>();
198 for (int iPop=1; iPop < descriptors::q<DESCRIPTOR>(); ++iPop) {
199 if (q[iPop] >= 0) {
200 const auto c = descriptors::c<DESCRIPTOR>(iPop);
201 const int iPop_opposite = descriptors::opposite<DESCRIPTOR>(iPop);
202 auto x_s = x_b.neighbor(c);
203 auto x_f = x_b.neighbor(descriptors::c<DESCRIPTOR>(iPop_opposite));
204 auto f_tmp = x_b[iPop] +
q[iPop]*(x_s[iPop] - x_b[iPop]);
205 x_b[iPop_opposite] = f_tmp +
q[iPop]/(V{1}+
q[iPop]) * (x_f[iPop_opposite] - f_tmp);
206 }
207 }
208 }
platform_constant int c[Q][D]
constexpr int q() any_platform
◆ getPriority()
int olb::YuPostProcessor::getPriority |
( |
| ) |
const |
|
inline |
◆ scope
The documentation for this class was generated from the following file: