OpenLB 1.7
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
olb::equilibria::Incompressible::type< DESCRIPTOR, MOMENTA > Struct Template Reference

#include <equilibrium.h>

+ Collaboration diagram for olb::equilibria::Incompressible::type< DESCRIPTOR, MOMENTA >:

Public Types

using MomentaF = typename MOMENTA::template type<DESCRIPTOR>
 

Public Member Functions

template<typename RHO , typename U , typename V = RHO>
auto compute (int iPop, const RHO &rho, const U &u) any_platform
 
template<typename CELL , typename PARAMETERS , typename FEQ , typename V = typename CELL::value_t>
CellStatistic< V > compute (CELL &cell, PARAMETERS &parameters, FEQ &fEq) any_platform
 

Detailed Description

template<typename DESCRIPTOR, typename MOMENTA>
struct olb::equilibria::Incompressible::type< DESCRIPTOR, MOMENTA >

Definition at line 151 of file equilibrium.h.

Member Typedef Documentation

◆ MomentaF

template<typename DESCRIPTOR , typename MOMENTA >
using olb::equilibria::Incompressible::type< DESCRIPTOR, MOMENTA >::MomentaF = typename MOMENTA::template type<DESCRIPTOR>

Definition at line 152 of file equilibrium.h.

Member Function Documentation

◆ compute() [1/2]

template<typename DESCRIPTOR , typename MOMENTA >
template<typename CELL , typename PARAMETERS , typename FEQ , typename V = typename CELL::value_t>
CellStatistic< V > olb::equilibria::Incompressible::type< DESCRIPTOR, MOMENTA >::compute ( CELL & cell,
PARAMETERS & parameters,
FEQ & fEq )
inline

Definition at line 165 of file equilibrium.h.

165 {
166 V rho, j[DESCRIPTOR::d];
167 MomentaF().computeRhoJ(cell, rho, j);
168 const V pressure = rho / descriptors::invCs2<V,DESCRIPTOR>();
169 const V jSqr = util::normSqr<V,DESCRIPTOR::d>(j);
170 for (int iPop=0; iPop < DESCRIPTOR::q; ++iPop) {
171 fEq[iPop] = equilibrium<DESCRIPTOR>::incompressible(iPop, j, jSqr, pressure);
172 }
173 return {rho, jSqr / (rho*rho)};
174 };
typename MOMENTA::template type< DESCRIPTOR > MomentaF
static V incompressible(int iPop, const J &j, const JSQR &jSqr, const PRESSURE &pressure) any_platform
Definition lbm.h:87

References olb::equilibrium< DESCRIPTOR >::incompressible().

+ Here is the call graph for this function:

◆ compute() [2/2]

template<typename DESCRIPTOR , typename MOMENTA >
template<typename RHO , typename U , typename V = RHO>
auto olb::equilibria::Incompressible::type< DESCRIPTOR, MOMENTA >::compute ( int iPop,
const RHO & rho,
const U & u )
inline

Definition at line 155 of file equilibrium.h.

155 {
156 const V pressure = rho / descriptors::invCs2<V,DESCRIPTOR>();
157 V j[DESCRIPTOR::d] { };
158 for (unsigned iD=0; iD < DESCRIPTOR::d; ++iD) {
159 j[iD] = u[iD] * rho;
160 }
161 return equilibrium<DESCRIPTOR>::incompressible(iPop, j, pressure);
162 }

References olb::equilibrium< DESCRIPTOR >::incompressible().

+ Here is the call graph for this function:

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