OpenLB 1.7
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | List of all members
olb::zeroGradientLatticePostProcessor3D< T, DESCRIPTOR > Struct Template Reference

#include <zeroGradientLatticePostProcessor3D.h>

+ Collaboration diagram for olb::zeroGradientLatticePostProcessor3D< T, DESCRIPTOR >:

Public Member Functions

int getPriority () const
 
template<typename CELL >
void apply (CELL &cell) any_platform
 

Static Public Attributes

static constexpr OperatorScope scope = OperatorScope::PerCell
 

Detailed Description

template<typename T, typename DESCRIPTOR>
struct olb::zeroGradientLatticePostProcessor3D< T, DESCRIPTOR >

Definition at line 40 of file zeroGradientLatticePostProcessor3D.h.

Member Function Documentation

◆ apply()

template<typename T , typename DESCRIPTOR >
template<typename CELL >
void olb::zeroGradientLatticePostProcessor3D< T, DESCRIPTOR >::apply ( CELL & cell)
inline

Definition at line 49 of file zeroGradientLatticePostProcessor3D.h.

49 {
50 for(int iPop = 0; iPop<DESCRIPTOR::q; iPop++){
51 const auto c = descriptors::c<DESCRIPTOR>(iPop);
52 T v = T{0.};
53 T fluidN = cell.neighbor({c[0], c[1], c[2]}).template getField<descriptors::NEIGHBOR>();
54 T fluidNN = cell.neighbor({2*c[0], 2*c[1], 2*c[2]}).template getField<descriptors::NEIGHBOR>();
55 v = fluidN * cell.neighbor({c[0], c[1], c[2]})[iPop] + fluidN * fluidNN * cell.neighbor({2*c[0], 2*c[1], 2*c[2]})[iPop];
56 v *= (fluidN - T{0.5} * fluidN * fluidNN);
57 cell[iPop] = v;
58 }
59}
platform_constant int c[Q][D]

◆ getPriority()

template<typename T , typename DESCRIPTOR >
int olb::zeroGradientLatticePostProcessor3D< T, DESCRIPTOR >::getPriority ( ) const
inline

Definition at line 44 of file zeroGradientLatticePostProcessor3D.h.

44 {
45 return 0;
46 }

Member Data Documentation

◆ scope

template<typename T , typename DESCRIPTOR >
constexpr OperatorScope olb::zeroGradientLatticePostProcessor3D< T, DESCRIPTOR >::scope = OperatorScope::PerCell
staticconstexpr

Definition at line 42 of file zeroGradientLatticePostProcessor3D.h.


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