OpenLB 1.7
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
olb::guoZhao::GuoZhaoForcing< Forced >::combined_collision< DESCRIPTOR, MOMENTA, EQUILIBRIUM, COLLISION > Struct Template Reference

#include <guoZhaoDynamics.h>

+ Collaboration diagram for olb::guoZhao::GuoZhaoForcing< Forced >::combined_collision< DESCRIPTOR, MOMENTA, EQUILIBRIUM, COLLISION >:

Public Types

using MomentaF = typename Forced<MOMENTA>::template type<DESCRIPTOR>
 
using CollisionO = typename COLLISION::template type<DESCRIPTOR,Forced<MOMENTA>,EQUILIBRIUM>
 

Public Member Functions

template<typename CELL , typename PARAMETERS , typename V = typename CELL::value_t>
CellStatistic< V > apply (CELL &cell, PARAMETERS &parameters) any_platform
 

Detailed Description

template<template< typename > typename Forced = momenta::Forced>
template<typename DESCRIPTOR, typename MOMENTA, typename EQUILIBRIUM, typename COLLISION>
struct olb::guoZhao::GuoZhaoForcing< Forced >::combined_collision< DESCRIPTOR, MOMENTA, EQUILIBRIUM, COLLISION >

Definition at line 159 of file guoZhaoDynamics.h.

Member Typedef Documentation

◆ CollisionO

template<template< typename > typename Forced = momenta::Forced>
template<typename DESCRIPTOR , typename MOMENTA , typename EQUILIBRIUM , typename COLLISION >
using olb::guoZhao::GuoZhaoForcing< Forced >::combined_collision< DESCRIPTOR, MOMENTA, EQUILIBRIUM, COLLISION >::CollisionO = typename COLLISION::template type<DESCRIPTOR,Forced<MOMENTA>,EQUILIBRIUM>

Definition at line 161 of file guoZhaoDynamics.h.

◆ MomentaF

template<template< typename > typename Forced = momenta::Forced>
template<typename DESCRIPTOR , typename MOMENTA , typename EQUILIBRIUM , typename COLLISION >
using olb::guoZhao::GuoZhaoForcing< Forced >::combined_collision< DESCRIPTOR, MOMENTA, EQUILIBRIUM, COLLISION >::MomentaF = typename Forced<MOMENTA>::template type<DESCRIPTOR>

Definition at line 160 of file guoZhaoDynamics.h.

Member Function Documentation

◆ apply()

template<template< typename > typename Forced = momenta::Forced>
template<typename DESCRIPTOR , typename MOMENTA , typename EQUILIBRIUM , typename COLLISION >
template<typename CELL , typename PARAMETERS , typename V = typename CELL::value_t>
CellStatistic< V > olb::guoZhao::GuoZhaoForcing< Forced >::combined_collision< DESCRIPTOR, MOMENTA, EQUILIBRIUM, COLLISION >::apply ( CELL & cell,
PARAMETERS & parameters )
inline

Definition at line 167 of file guoZhaoDynamics.h.

167 {
168 V rho, u[DESCRIPTOR::d];
169 MomentaF().computeRhoU(cell, rho, u);
170 CollisionO().apply(cell, parameters);
171 const V omega = parameters.template get<descriptors::OMEGA>();
172 const V epsilon = cell.template getField<descriptors::EPSILON>();
173 const V k = cell.template getField<descriptors::K>();
174 const V nu = cell.template getField<descriptors::NU>();
175 auto force = cell.template getField<descriptors::FORCE>();
176 auto bodyF = cell.template getField<descriptors::BODY_FORCE>();
177 guoZhao_lbm<DESCRIPTOR>::updateExternalForce(cell, u,epsilon, k, nu, force, bodyF);
178 guoZhao_lbm<DESCRIPTOR>::addExternalForce(cell, rho, u, omega, epsilon, k, nu, force);
179 return {rho, util::normSqr<V,DESCRIPTOR::d>(u)};
180 };
typename COLLISION::template type< DESCRIPTOR, Forced< MOMENTA >, EQUILIBRIUM > CollisionO
typename Forced< MOMENTA >::template type< DESCRIPTOR > MomentaF
static void updateExternalForce(CELL &cell, const U &u, const EPSILON &epsilon, const K &k, const NU &nu, FORCE &force, BODY_F &bodyF) any_platform
Updates the force terms with the reaction from the porous matrix, before applying it.
static void addExternalForce(CELL &cell, const RHO &rho, const U &u, const OMEGA &omega, const EPSILON &epsilon, const K &k, const NU &nu, const FORCE &force) any_platform
Add a force term after BGK collision.

References olb::guoZhao::guoZhao_lbm< DESCRIPTOR >::addExternalForce(), and olb::guoZhao::guoZhao_lbm< DESCRIPTOR >::updateExternalForce().

+ Here is the call graph for this function:

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