OpenLB 1.7
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
olb::momenta::ForcedMomentum< MOMENTUM > Struct Template Reference

#include <elements.h>

+ Collaboration diagram for olb::momenta::ForcedMomentum< MOMENTUM >:

Public Member Functions

template<typename TYPE , typename CELL , typename J , typename V = typename CELL::value_t, typename DESCRIPTOR = typename CELL::descriptor_t>
void compute (CELL &cell, J &j) any_platform
 
template<typename TYPE , typename CELL , typename U , typename V = typename CELL::value_t, typename DESCRIPTOR = typename CELL::descriptor_t>
void computeU (CELL &cell, U &u) any_platform
 
template<typename TYPE , typename CELL , typename U , typename DESCRIPTOR = typename CELL::descriptor_t>
void define (CELL &cell, const U &u) any_platform
 
template<typename TYPE , typename CELL >
void initialize (CELL &cell) any_platform
 
template<typename TYPE , typename CELL , typename U , typename V = typename CELL::value_t, typename DESCRIPTOR = typename CELL::descriptor_t>
void inverseShift (CELL &cell, U &u) any_platform
 

Static Public Member Functions

static std::string getName ()
 

Detailed Description

template<typename MOMENTUM>
struct olb::momenta::ForcedMomentum< MOMENTUM >

Definition at line 1082 of file elements.h.

Member Function Documentation

◆ compute()

template<typename MOMENTUM >
template<typename TYPE , typename CELL , typename J , typename V = typename CELL::value_t, typename DESCRIPTOR = typename CELL::descriptor_t>
void olb::momenta::ForcedMomentum< MOMENTUM >::compute ( CELL & cell,
J & j )
inline

Definition at line 1084 of file elements.h.

1085 {
1086 MOMENTUM().template compute<TYPE>(cell, j);
1087 }

◆ computeU()

template<typename MOMENTUM >
template<typename TYPE , typename CELL , typename U , typename V = typename CELL::value_t, typename DESCRIPTOR = typename CELL::descriptor_t>
void olb::momenta::ForcedMomentum< MOMENTUM >::computeU ( CELL & cell,
U & u )
inline

Definition at line 1090 of file elements.h.

1091 {
1092 MOMENTUM().template computeU<TYPE>(cell, u);
1093 const auto force = cell.template getFieldPointer<descriptors::FORCE>();
1094 for (int iVel=0; iVel < DESCRIPTOR::d; ++iVel) {
1095 u[iVel] += force[iVel] * V(0.5);
1096 }
1097 }

◆ define()

template<typename MOMENTUM >
template<typename TYPE , typename CELL , typename U , typename DESCRIPTOR = typename CELL::descriptor_t>
void olb::momenta::ForcedMomentum< MOMENTUM >::define ( CELL & cell,
const U & u )
inline

Definition at line 1100 of file elements.h.

1101 {
1102 MOMENTUM().template define<TYPE>(cell, u);
1103 }

◆ getName()

template<typename MOMENTUM >
static std::string olb::momenta::ForcedMomentum< MOMENTUM >::getName ( )
inlinestatic

Definition at line 1119 of file elements.h.

1119 {
1120 return "ForcedMomentum<" + MOMENTUM().getName() + ">";
1121 }

◆ initialize()

template<typename MOMENTUM >
template<typename TYPE , typename CELL >
void olb::momenta::ForcedMomentum< MOMENTUM >::initialize ( CELL & cell)
inline

Definition at line 1106 of file elements.h.

1107 {
1108 MOMENTUM().template initialize<TYPE>(cell);
1109 }

◆ inverseShift()

template<typename MOMENTUM >
template<typename TYPE , typename CELL , typename U , typename V = typename CELL::value_t, typename DESCRIPTOR = typename CELL::descriptor_t>
void olb::momenta::ForcedMomentum< MOMENTUM >::inverseShift ( CELL & cell,
U & u )
inline

Definition at line 1112 of file elements.h.

1112 {
1113 const auto force = cell.template getFieldPointer<descriptors::FORCE>();
1114 for (int iVel=0; iVel < DESCRIPTOR::d; ++iVel) {
1115 u[iVel] -= force[iVel] * V(0.5);
1116 }
1117 }

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